Get ready for 2021. Save $35 with code BYE2020

Custom revenue models and additional revenue streams

The revenue model in the Standard Model enables you to model up to two revenue streams from one or two user bases. Here's how you can add in more revenue streams or build your own custom revenue model.

A common question I get asked is “how do I build a new revenue model or in additional revenue streams”?

The default revenue model forecasts up to two revenue streams from one or two user bases, but you may find yourself needing to add in more revenue streams or more user bases. For example, the Standard’s structure handles up to 2 different revenue streams from 1 customer base, but perhaps you need 3 revenue streams, or 2 revenue streams across 2 customer bases. What do you do?

Here’s an overview on how the prebuilt revenue streams feed into the model, and how you can add in additional revenue items or replace the prebuilt ones:

To provide more detail to the video, there’s a couple ways to add in additional custom revenue streams: 1

Add new revenue stream(s) to the prebuilt revenue model

This is a fairly simple and common method. If the default revenue model is a good structure for calculating some of your revenue streams, and you want to add a new revenue stream that is either not a great fit for the default structure, or a new revenue stream that is tied to a new user base, then I’ll create a new set of calculations for this new revenue stream. If it’s really simple, I’ll just do it at the top of the Forecast, or if it’s more complex, or I want to make it separate from the default structure, I’ll create a new sheet for it.

With those new calculations, I’ll link them into the model: revenues link into the Revenues section on Forecast, expenses go into the Expenses section on Forecast, and any operating metrics (customers, leads, subscribers, etc.) or custom override calculations (e.g. custom schedules for receivables, payables, inventory, VAT) link into Hooks. You can edit and add as many rows to the revenues, expenses, and metrics sections as necessary.

Remember that each of the labels on the revenue, expenses, and operating metric lines are also inputs; by default they link to the revenues and contra-revenues forecasted in the default revenue model, but if those default accounts are not relevant, you can overwrite them and replace them with new revenue lines.

Use the prebuilt Forecasting Drivers

You can also use the prebuilt forecasting drivers embedded in the blank revenue lines to create additional revenue streams based on growth rates, percentages of other revenue streams, or based on operating metrics calculated in the model. Learn more at Forecasting Drivers.

Use an existing revenue model

This follows the Bring Your Own Model approach by allowing you to use your existing revenue forecast and simply link in the revenues, billings (optional), bookings (optional), and any cost of sales, acquisition, and other expenses you may calculate in the process of creating your revenue forecast. Perhaps you already have a revenue forecast you like, whether you built it or you’re using a non-Foresight template. And let’s say you like the revenue forecast, but don’t think it does cash forecasting, or funding forecasts, or the cap table, or LTV, CAC, or other metrics reporting as well as Foresight.

Here’s how to link your non-Foresight revenue model into the Standard Model.

  • Duplicate the revenue forecast sheets from the non-Foresight model into the Standard Model
  • Evaluate the timescale and see if you need to make any edits so that the timescales match up between the models
  • Then link it into Forecast and Hooks sheets in the same way as described above, using the relevant lines as needed. It’s not required to do anything fancy: just find the relevant information in your non-Foresight model, and link it into the Hooks and Forecast inputs laid out.
  • This integrates the two models, and allows you to use your own revenue forecast method with the Standard Model structure. Everything will flow into the rest of the model to create financial statements, charts, and summaries.

Typically it’s best if the existing (or custom) revenue forecast is done on a monthly basis. If it’s quarterly or annual, usually I create a formula so that it pulls in the numbers from the existing model per quarter and then straight-lines it across the time period. For example, if I have a quarterly forecast, I’ll link the relevant quarters in the model dividing by three to convert it to months; and for robust and time-efficient links, I’ll create a formula that compares the quarters from the existing or custom revenue model and the default timescale to find the relevant periods, so that I can create one formula that automatically aligns the timescales. Contact me with questions on that optimization.

Custom revenue forecast

Essentially this is the same as adding a new revenue stream or using an existing non-Foresight revenue forecast.. Create a new blank sheet (or insert rows at the top of Forecast, if you want) and create your custom logic for a revenue forecast, and link the resulting revenues and billings into the revenues section on Forecast. If you don’t need the prebuilt revenue model, it can safely be deleted, contact me if you need help on that.

One important note: the model treats billings (cash) and revenues (recognized revenues) separately, to handle the difference between billings and revenue recognition. For any custom revenue stream you add, best practice is to add a line for revenues and a line for billings (simply select “billings” from the dropdown in the Revenue category column), and you can simply make a formula in the Billings row that equals the revenues calcs, use a “% of revenues category” driver to set billings equal to 100% of the relevant revenue category, or create your own billings logic if it varies from that.

After I add in a custom revenue stream, best practice is to link any operating metrics used in your revenue calculations (e.g. clients, customers, orders, subscribers, leads, stores, MQLs) into the operating metrics section on Hooks, so that those metrics can be reported in charts and used to calculate any revenue or expense items using the Drivers.

Using Causal Models

A side case to creating a custom revenue model is the ability to use the model with a Causal model. Causal creates probabilistic forecasts that allow you to create inputs based on distribution ranges, and then show the results of the model as a distribution. This allows you to understand forecasts at a deeper level than a single point estimate, and understand the range and probability of outcomes based on your inputs.

You can create a model in Causal - for example, creating your custom growth and revenue model using Causal’s web app - and then export the results into Excel. Simply copy that export sheet into the Standard Model (in Excel or Google Sheets), input the name of the sheet that you imported, define the metrics to be pulled in from an excel export, and the Foresight model will automatically pull in the data and insert them into Forecast for the appropriate periods and metrics. In this way, you can create probabilistic models in Causal, perhaps for your growth forecast, and then use Foresight for your revenues, expenses, funding, and consolidated financial and management reporting and analysis

Want to get started using Causal? Test out the SaaS Forecasting Tool, created in partnership with Causal, and create an account at Causal ›


  1. If you are using the Starter Model, adding in new revenue streams is fairly easy since the default structure has no prebuilt logic for growth and revenues, so it’s easy to build in your own however you want. Simply add them to the Forecast sheet or create a new sheet for Revenues to forecast your revenue streams.