Recurring Services Revenue Model
This use case explains how to model recurring subscription and service revenue for telecommunications and IT services businesses in Model Reef.
You will:
Represent products, plans and segments in branches and categories.
Build drivers for subscribers, ARPU and churn.
Model contract revenue timing, upgrades and downgrades.
Connect recurring revenue to P&L, Cashflow and valuation outputs.
Model Reef is not a billing or CRM system. It uses aggregated commercial and subscriber assumptions to generate financial statements, cashflows and scenarios.
When to use this pattern
Use this pattern when:
You sell recurring connectivity, SaaS, managed services or support contracts.
ARPU, churn and net adds are core KPIs.
You want to connect commercial metrics to full three statement outputs.
You need to test pricing, bundling or acquisition scenarios.
Works well with:
Hardware or Device Cost Modelling
Contract Renewal Forecasting
Support or Service Team Capacity
Build a Recurring Revenue Forecast
Architecture overview
Recurring services revenue modelling uses:
Structure
Branches for countries, business units or product lines.
Categories for services, add ons and one off fees.
Subscriber and contract drivers
Opening subscribers per product or plan.
Gross adds, churn and migrations.
Contract term and renewal patterns.
Revenue drivers
ARPU or ARPA per segment.
Price increases, discounts and promotions.
One off activation, installation or hardware revenue where applicable.
Financial outputs
Recurring revenue and margin by product, segment and region.
Cashflow timing from billing cycles and payment terms.
Inputs to valuation via FCFF or FCFE logic.
Define products, plans and segments
Start by deciding how to structure your recurring services, for example:
Product lines: Mobile, Fixed, Data, Cloud, Managed Services.
Plans: Entry, Standard, Premium.
Segments: Consumer, Small business, Enterprise.
Implement this using a combination of:
Branches for geographies or business units, such as Region - UK, Region - EU, Region - APAC.
Categories and variable names for product and plan combinations, such as Revenue - Mobile - Premium - Consumer.
Choose a level of granularity that matches how you track KPIs and how often offerings change.
Build subscriber and contract base drivers
In the Data Library, set up time series for each product or plan, including:
Opening Subscribers.
Gross Adds per period.
Churned Subscribers per period.
Net Adds per period = Gross Adds minus Churn.
Contract Mix, for example share of customers on 12 month, 24 month or month to month.
Compute Active Subscribers per period as:
Active Subscribers(t) = Active Subscribers(t minus 1) + Gross Adds(t) − Churned Subscribers(t).
Where you have clear contract terms, you can also model:
Renewal rates at end of term.
Early termination rates.
Migration between plans (upgrades and downgrades).
Keep these as drivers so you can adjust them in scenarios.
Create ARPU and pricing drivers
For each product, plan and segment combination, create drivers such as:
ARPU (Average Revenue per User) per period.
List Price and Discount Percentage where you want to separate base price and discount.
Price Increase Events (for example scheduled increases each year or in specific months).
Bundled and unbundled price structures where relevant.
You can then express revenue per product as:
Revenue = Active Subscribers × ARPU or
Revenue = Active Subscribers × List Price × (1 − Discount Percentage).
Use seasonality and promotions via modifiers if you have pronounced intra‑year patterns.
Account for one off and ancillary revenue
Create separate Revenue variables for one off items such as:
Activation and installation fees.
Upfront hardware or device sales.
Professional services associated with onboarding or customisation.
Penalty or exit fees where material.
Keep these distinct from recurring revenue so you can analyse the recurring base on its own. Timing of these items will generally follow events such as new subscriptions, migrations or terminations.
Model cash timing through billing cycles and payment terms
Set payment timing and delays so that cash behaviour reflects billing practices, for example:
Monthly billing in advance or in arrears.
Quarterly or annual billing for enterprise contracts.
Typical payment terms (for example 14, 30 or 45 days).
Model Reef will create receivables and cashflows according to these settings:
Revenue is accrued when service is delivered or billed according to your policy.
Cashflow statement reflects when cash is actually collected.
Balance Sheet holds receivables for any gap between accrual and cash receipt.
This lets you see the impact of growth or pricing changes on working capital and funding needs.
Use scenarios for growth, pricing and churn strategies
Clone the base model into scenario models to test strategies such as:
Higher or lower subscriber growth in specific products or segments.
ARPU expansion through price increases or upsell of add ons.
Changes in churn due to service improvements or competitive pressure.
Shifts in product mix between legacy and new offerings.
Different contract term structures (more or fewer customers on long term plans).
In each scenario, adjust:
Gross adds, churn and migration drivers.
ARPU and price increase drivers.
Contract mix and renewal assumptions.
Promotion or discount rules.
Compare scenarios using:
Recurring revenue and total revenue by product, plan and region.
Margin when combined with cost models.
Cashflow and valuation metrics.
KPIs such as net adds, churn, ARPU and lifetime value where you choose to compute them.
Check your work
Subscriber, ARPU and churn assumptions reconcile with historical KPIs.
Revenue by product and segment matches recent financial reports when historical drivers are applied.
Scenario results are intuitive to commercial, product and finance teams.
Model complexity reflects your product and pricing catalogue without becoming unmanageable.
Troubleshooting
Related guides
Last updated