Note · This applies to the v4x series. Click here for current model documentation →

DocsDeprecated

Forecasting Drivers

How to use the prebuilt Forecasting Drivers to easily create dynamic forecasts.

The Forecasting Drivers (or Forecasting Methods in pre-v4.5.3 versions) is an easy way to create dynamic forecasts by simply selecting the appropriate driver and prebuilt rate of change, the start date, and the start amount, and the model will automatically create a dynamic forecast of the metric tied to that driver. This structure is prebuilt into all relevant growth, revenue, and expense lines on Forecast, and can easily be adapted and modified for your specific desired forecasting needs.

Actually, the formula that creates the forecast from the driver does even more; it optionally pulls in Actuals instead of creating a forecast when Actuals are present in Hooks, and it pulls in data from the external data source in Hooks when used.

Here's an example of what that means. It's common to build a forecast by assuming a 10% growth rate over all periods. We create a line for a metric, say "revenues", and then assume a growth rate, and that creates a forecast of revenues. But in the real world, that method creates problems pretty quickly. A rate of growth rarely stays the same, or to be more specific, it rarely stays at the same average over a long period of time. Your growth in new app downloads may go up slowly, then really fast, then go down over time. Churn may decrease over time as cohorts age. Examples from real life abound.

Seasonality is applied a bit differently; the forecasting drivers create rates of change over time, while seasonality adjusts for seasonal or specific calendar month variations by redistributing a year's rate of change over the time period.

In addition, many costs or revenues may be intrinsically derived from an operating metric. Revenue per user, cost of sales per order, customer support staff needed as the number of clients increase, marketing costs may increase in total as new customer acquisition increase, but decrease or increase on the basis of a per new user; all of those are prebuilt through the Forecasting Drivers so that you do not have to custom build in changing rates of change, but instead, can use a dropdown selection to select the desired driver, the start date, and the starting amount.

How to use

Many revenue, expense, and growth lines in the model on the Forecast sheet are prebuilt with a "select" option to choose a driver. The process to use them is straightforward:

  • In column G, use the dropdown to choose the desired driver
  • In column H, input the start date for the driver
  • In column I, input the starting amount, as a #, $, or %, depending on the context of the driver.

The forecast from column K onward then uses these inputs to create a forecast combining those inputs. A couple notes:

  • Column G is commonly used to set rate of change. So if you input "100" in column I, the model will use the rate of change selected from column G to grow or decrease from 100.
  • Column H has a couple contextual quirks; often it sets the start date for when a forecast starts, but it can also be applied on a cohort basis to define the behavior of a forecast N months from the beginning. For example, when applied for conversion rates on a per-monthly cohort basis, the selection sets the conversion N months from the start of each monthly cohort, so choosing a date of the first month in the model doesn't mean it's the first date, it means it's N months from the start of the cohort. [1]
  • You may have to change the formatting of the inputs in column I to match the desired formatting, i.e. set it as a percentage or number.
  • In some contexts, column I can be used to shape the rate itself; inputting a "1" would keep the rate the same from the base driver, but inputting .5 or 50% would create a rate that's half of the driver.
  • The base drivers can all be audited in the Forecasting Drivers section on Forecast.
  • The base drivers can all be edited, and you are not limited to the selections in the dropdown. All numbers, rates of change, and dates can be edited directly in the Forecasting Drivers section, and once edited, then become available as options in all dropdowns.
  • There are blank rows labeled as "Manual Input" in column B that allow you set create custom curves or distribution functions.

How it works

The forecasting drivers section on Forecast consists of a number of prebuilt curves, generally organized into groups of similar methods.

Here's an overview of the different types of drivers:

  • Select and No change: By default set to be the same in all periods, i.e. no change over time.
  • Reoccur every N months, increasing/decreasing/staying constant: creates a periodic driver that can change on each reoccurance. Commonly used for annual expenses paid once per year, quarterly expenses paid 4 times a year, revenues from reoccuring events, etc.
  • Reoccur every month, increasing/decreasing/staying constant every N months: creates a driver that occurs every month, stays the same every month, except for every N months, where it increases or decreases. Commonly used for salaries that have annual salary increases.
  • N percentage growth, slowing/increasing/staying constant N percentage per month
  • Growing/Declining/Staying constant by N % per month from (start date) to (end date), then Growing/Declining/Staying constant by N % per month. Commonly used to create inflection points in rates of change.
  • Growth channel, changing N per month. These are prebuilt from the Get Started inputs, and used in the default revenue model setup.
  • Constant, for N months.
  • Seasonality Input, from the seasonality assumptions on Get Started.
  • Manual Input, for creating custom functions.
  • Average Revenue per metric per growth channel. These are prebuilt from the Get Started inputs, and used in the default revenue model setup.
  • Average Revenue per metric per growth channel. These are pprebuilt from the Pricing sheet, if used.
  • Average Gross Margin per operating metric. Used in LTV calculations
  • Number of lifetime purchases, per growth metric, adjusted for churn and not. Used for LTV calculations.
  • Number of months ramp to full effectiveness. Prebuilt for creating onboarding ramps for sales teams.
  • Percentage of Revenues. There are a number of options to select % of total revenues, segment revenues, revenue types, and to set the rate of change as compare to the revenue rate of change calculated in hte model.
  • Percentage of Salaries.
  • Normal and Triangular Distribution
  • Log rate of decline/incline. Commonly used for creating retention curves, and often used in the churn settings combined with the contract cycle input to create churn calculations.
  • Average of trailing N months. This uses the numbers in previous cells in that line to calculate rolling averages. Commonly used in combination with actual financial results to forecast based on past financials.
  • Currency 1 per month per 1 new operating metric. These are commonly used to set an expense or growth based on one of the operating metrics, to set a revenue or expense directly tied to that driver.

Inputs

Inputs for the the drivers are in the Forecasting Drivers section, mainly in columns D, E, and F, with a couple using column J. All inputs are labeled accordingly, and the labels in column B and E will automatically change to reflect the inputs.

Common Modifications

Modifying the forecasting drivers is a common use of the feature, and fall into a couple areas:

  • Inputting different rates into the drivers. Requires no structural changes, just changing the inputs.
  • Inputting different rates by creating new drivers. Straightforward to do, simply insert a row next to the driver you want to copy, then copy the row and paste down the entire formula, then edit the inputs. There are many types of drivers prebuilt, and use many different construction techniques.
  • Creating a manual driver by creating your own function.
  • Creating new drivers from the operational metrics.

Questions, contact me.


  1. It's easier than it sounds. ↩︎