For the complete documentation index, see llms.txt. This page is also available as Markdown.

Build a Recurring Revenue Forecast

This guide describes how to model recurring revenue such as subscriptions, retainers or contracts using Model Reef’s timing and driver engine.

Before you start

You should understand:

  • The types of recurring revenue you have (monthly subscriptions, annual licences, retainers).

  • Expected churn, retention and expansion patterns.

  • Billing frequency and payment terms.

What you will build

  • Variables and drivers for subscribers, price and churn.

  • Recurring revenue profiles with appropriate timing.

  • Cash behaviour based on billing cycles and delays.

  • Visibility of recurring revenue in statements and the Cash Waterfall.


Steps

1

Define your subscription structure

Decide how you want to segment recurring revenue:

  • By product tier (Basic, Pro, Enterprise).

  • By customer segment (SMB, Mid market, Enterprise).

  • By region.

Create a separate revenue variable per segment if needed.

2

Create subscriber and ARPU drivers

In the Data Library:

  • Create a subscriber count driver for each segment (e.g., Subs - Basic, Subs - Pro).

    • Enter starting subscriber numbers.

    • Enter monthly net adds or growth rates.

  • Create an ARPU driver (Average Revenue Per User) per segment (e.g., ARPU - Basic, ARPU - Pro).

    • Enter current prices and any planned price increases.

3

Build recurring revenue variables

For each segment:

  • Create a Revenue variable named clearly, for example Revenue - Subscriptions - Basic.

  • In the revenue modal:

    • Use a formula: Revenue = Subscribers × ARPU.

    • Link to the subscriber and ARPU drivers from the Data Library.

    • Set frequency to monthly (or your billing cycle).

    • Set start date and end date as appropriate.

  • For annual subscriptions:

    • Use a schedule that triggers revenue recognition annually.

    • Or model accrual monthly and billing annually via separate cash timing logic.

4

Add churn, retention and expansion

Churn and retention can be represented as drivers:

  • Create churn rate drivers (e.g., Churn - Basic, Churn - Pro).

  • Incorporate churn into subscriber drivers, for example:

    • Subscribers_t = Subscribers_t_minus_1 × (1 minus churn_rate) + new_subscribers_t.

  • For expansion:

    • Create drivers for ARPU uplift or seat expansion.

    • Factor them into ARPU or subscriber counts.

This can be implemented either inside the driver definitions or through custom formulas referencing multiple drivers.

5

Configure cash timing

Billing and cash timing are handled by delays:

  • In each subscription revenue variable:

    • Set Delay based on billing terms:

      • For monthly billing with immediate payment, delay might be 0 to 7 days.

      • For annual billing paid in advance, revenue may accrue over the year but cash arrives at the start.

  • Model these explicitly:

    • Accrual pattern via schedule and formula.

    • Cash timing via delay settings.

This will automatically generate AR where accrual and cash timing differ.

6

Layer in subscription specific costs

To understand unit economics:

  • Create COGS variables for hosting, payment processing or direct support.

  • Create Staff variables for success and support teams.

  • Link these costs to drivers:

    • Cost per subscriber.

    • Cost per active user.

    • Cost per seat.

This allows you to see gross margin and contribution per segment.

7

Review outputs and unit economics

Use:

  • P&L to review recurring revenue, COGS and margins.

  • Cashflow Statement and Cash Waterfall to understand cash generation.

  • Custom charts to track:

    • Subscribers.

    • ARR and MRR.

    • Churn and retention trends.

    • Contribution margin per segment.


Check your work

  • Recurring revenue levels follow subscriber and ARPU patterns.

  • Churn and retention have the expected effect on subscriber counts.

  • Cash timing reflects actual billing terms.

  • COGS and staff costs are correctly linked to subscriber activity.


Troubleshooting

Revenue does not match expected ARR or MRR

Recheck formulas and the relationship between subscribers and ARPU.

Cash pattern is weird

Inspect delays. A mismatch between accrual and cash delays can create large AR swings.

Churn logic looks wrong

Confirm that growth and churn drivers are applied in the right order and scale.


Last updated

Was this helpful?