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

DocsDeprecated

Revenue Model

The default revenue model in the Standard Financial Model is prebuilt to handle a wide variety of business models. Here's an explainer on how it works.

The Standard Model is built as a modular model that seperates the financial core – financial statements, operating costs, hiring plan, cap table, valuation, and actuals reporting – from the growth and revenue projections, allowing you to change or replace the default revenue model built into the Standard Model.

More about this under Bring Your Own Model ›

But the default revenue model built into the Standard Model is designed to handle a wide variety of growth and revenue models, in an effort to make it as simple as possible for users to model their businesses. Most users of the Standard Model choose to use the default revenue model because it can reduce the time to create a growth and revenue forecast down to minutes.

The prebuilt growth, conversions, retention, and revenues functions are currently a feature in the Standard Financial Model. For a model without any prebuilt opinions on growth and revenue structures, check out the Starter Finacial Model.

Here's an overview of how its components work, and how it can be used to model a few common business types. This is a fairly in-depth post to explain technically how the structure works, but if you're only interested in how to use it to model your type of business, skip to the key usage examples below, each of which has a explainer and video on how to use the model for each business type.

The specific documentation below refers to v4.5 and above; for v3 versions, refer to the v3 documentation, and for intermediate v4 versions, the theory behind the documentation below remains the same, while the tactics are a little different. Contact me anytime for detailed and specific support.

How to use

The prebuilt revenue model lives across two sheets:

  • Get Started is where the most important inputs live, and is intended to be the primary place for user interation
  • Forecast is where the calculations live, and is intended to be the place for more detailed assumptions and detailed insights into the business

When getting started, first start with the conversion funnel setup. The conversion funnel inputs ask for:

  • Label for growth source: what you want to call this growth source or channel
  • Metric: the name of the metric that is relevant for this growth source
  • Conversion: the name for what this metric converts into
  • Revenue type: a dropdown selection for whether the retention and revenues for this channel are transaction-style or recurring-style, or not applicable

The model is prebuilt to model a single conversion step from two channels (e.g. website sessions converting to orders, and website sessions converting to subscribers), or a two-step conversion process that starts from one channel (e.g. website sessions converting to free users, with free users converting to subscribers, or leads converting to hardware sales, which then convert to subscriptions).

Once that is setup, the labels for all of the rest of the inputs will change, and we can progress to using the rest of our inputs.

The prebuilt revenue model consists of a couple core components:

  • Growth, which represents the growth in the business from 1 or more acquisition channels
  • Conversions, which uses conversion rates to model conversions
  • Retention (and churn), which models the retention of conversions over time
  • Revenues, which calculates bookings, billings, and revenues based on new and retained conversions over time

Growth

A growth channel consists of a set of calculations that model the base growth, any seasonal adjustments, and any manual additions, which sum into the total acquisitions per month for that metric, and then assumptions for the % of those acquisitions that are acquired by paid methods, and the cost per acquisition for those paid acquisitions.

The prebuilt channels can be used to reflect all paid traffic (e.g. Google, Facebook, all paid acquisition efforts), a single paid channel (e.g. Facebook only), or all growth (e.g. all paid and organic). The inputs for each growth channel are on Get Started, and can be modified on Forecast for a few additional assumptions around changes over time for cost per acquisition and the percentage that are acquired by paid channels.

A growth channel can be copied and replicated to create more channels, see Common Modifications section below.

On Forecast you can additionally select if you want to use seasonality to adjust growth - seasonality inputs are on Get Started - and you can also input growth manually on the manual input line, which is useful for growth curves that don't reflect a consistent recurring rate, or for inserting one-time spikes, directly into the model.

Conversions

The label for the conversion rates will change based on the labels in the conversion funnel setup. By default this reflects the conversion rate percentage for new acquisitions each period, N months from when they are first acquired. This can be extended to cover a conversion window - i.e. a rate of adoption - in # terms - or conversion - in % terms - over a number of months, with a rate that changes over time using the forecasting methods, on the Forecast sheet.

A key note is that the conversion rate can be used for model:

  • Simple conversions, e.g. a percentage or number of conversions in current month tied to the number of new acquisitions in current month
  • Lagged conversions, e.g. a percentage or number of conversions each month tied to the number of new acquisitions N months in the past
  • Conversion windows, e.g. a percentage or number of conversions per month applied to each monthly cohort of new acquisitions through a period of N months, with conversion or adoption rates that change per month

That is why the conversion rate assumptions on Forecast sheet in the assumption lines are not conversion rate per month; they are conversion rates N months from month of first acquisition, and applied in the cohorts below that assumption line. If you are assuming a one-time conversion, e.g. 5% of people convert in the month when you acquire them, and never again, then the row will read with 5% in the first cell, and all zeros after. That is correct; if you look into the cohorts you will see the 5% is applied per cohort for the first month of acquisition, which results in a 5% conversion rate per period.

The model is built this way so that it can handle conversion windows or rates of adoption per cohort, allowing for lags in conversion, or conversions over multiple months where the rate of conversion changes. For example, you could assume that 5% convert in the first month when you acquire someone, and then 2% in the second month post-acquisition, and 1% in the third month post-acquisition, for a total 8% conversion over time, and the model will apply that per-cohort so that each cohort has a separate conversion rate, and the overall conversion rate will be an average of the rates and sizes of each cohort. More complicated, and also far more powerful.

Retention

Retention - the inverse of churn - is calculated by default using a log curve to show a decline over time in retained or repeated usage, using the input on Get Started to set how fast retention declines over time.

To see what the retention curve looks like from your assumption, consult the actual retention curve calculated on Forecast.

The contract length is set using the assumption for contract length / number of months bookings, and this sets the length of the contract for churn purposes. The retention curve can be mapped explicitly to the contract cycle, or it can be set more generally for per month, but only used on the contract cycle. The details of churns and retentions per month, per cohort, are all on the Forecast sheet.

Revenues

The revenues section first asks you to choose whether you want to want to model revenues based on one average user/subscriber/customer, or multiple. If you select average, use the inputs below to set the average per month/per order, with any associated rate of change; if you select multiple, the inputs for that selection will disappear, and you will want to setup all revenue assumptions per channel on the Pricing sheet (details, Pricing). The model will use the assumptions for billing cycle to calculate all billings, revenues, and deferred revenues automatically.

How it works

Each component is constructured to use monthly cohorts, which means that the prebuilt structure calculates almost all metrics on a per-cohort basis. While this may be more than is necessary for many specific usecases, this enables a great deal of power to forecast changing rates over time, or rates that change as a function of a time.

Let's take modeling churn as an example. Churn can be modeled using an assumption of % of beginning subscribers that churn off in that period, and for many usecases that's perfectly acceptable. For other users, it may be important to model churn as a function of how long someone has been a user, for example many games or apps that exhibit high churn rates in the first week or months, but lower churn rates as the time that a person has been a user increases. By using cohorts, we are able to create churn curves that apply to each monthly cohort of new users as a function of how many months it has been since they became a new user, and thus overall churn will be a function of the sum of churns across all cohorts. The prebuilt revenue model supports all metrics related to this by default.

Another example is calculating revenues based on a "land and expand" strategy. By using cohorts, we can assume that a user's average monthly revenues increases over time the longer they are a user, and thus discretely model the expansion revenues from that strategy. The prebuilt revenue model supports all metrics related to this by default.

The model heavily leverages the Forecasting Methods on the Forecast sheet, which means that beyond the default selections from the inputs, you can alter the specific method used to forecast any metric by changing the inputs on the specific line

The Forecasting Drivers are a prebuilt selection of curves that can be applied to any growth, revenue, and expense line in the model, simply by selecting a dropdown, and are highly customizable by changing the specific number inputs for each line. They represent a base library of curves to cover one time, monthly recurring, and periodic recurring incidents that stay the same or change over time. Details at Forecasting Drivers ›

The prebuilt revenue model links into the financial core of the model the same way any other model would:

  • Billings, bookings, and revenues link into the Revenues section on the Forecast sheet. The financial core will handle any deferred revenues, accounts receivable, and cash collection automatically.
  • Acquisition expenses, cost of goods sold, or any costs related to revenues link in to the Expenses section on the Forecast sheet.
  • Operating metrics link into the Operating Metrics section on Hooks. More details on how Hooks work are at Hooks.

Inputs

The most important inputs are on the Get Started sheet, and for some inputs there is the potential for additional modifications for rates of change over time on the Forecast sheet.

Common Modifications

The prebuilt revenue model is highly customizable, there are a couple common modifications:

  • Adding extra growth channels. By default there are 1 or 2 growth channels, depending on whether you using the second prebuilt channel to convert from the first or not. The block of growth calculations can be copied and pasted on Forecast to create new growth channels, and then linked into the a) total growth sources for the relevant conversion step and b) any acquisition expenses from this channel, to allow you to create as many different growth channels as desired. Simply copy a "block" of calcs that models a unique growth channel - for example, rows 16 to 23 on Forecast - and Insert Copied Cells to create a new growth channel. You can create links for this on Get Started if desired (not required for the calculations to work, simply for user experience), just set the dates and label to fix the #REF errors, and link in to the channel you want to add the new growth calculations to sum into.
  • Adding additional conversion steps. To add additional conversion steps, we just edit the calculations on Forecast - and often add in the inputs into Get Started, for a consistent user experience - to capture additional conversions, to whatever level of detail is useful for the business. Questions, support, or customization help, check out Support & Customization.
  • Adding additional revenue streams. The model allows you to use the prebuilt forecasting methods in the Revenues section to quickly model any revenues that are based off an operating metric calculated in the revenue model, simply by selecting that metric in the forecasting method dropdown column, and then assuming the $ per metric that applies (i.e. # of subscribers from the prebuilt section, and then assume an average monthly revenue for that specific line). You can also build in any new revenue source based on any business logic you want, simply by inserting new rows and creating new calculations, and then linking into the model in the Revenues section on the Forecast sheet. For more details, see Custom revenue models and additional revenue streams →

Questions, support, or customization help, check out Support & Customization.