> For the complete documentation index, see [llms.txt](https://help.modelreef.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.modelreef.io/use-cases/telecommunications-and-it-services/contract-renewal-forecasting.md).

# Contract Renewal Forecasting

This use case explains how to model contract renewals, term structures and retention for telecommunications and IT services businesses in Model Reef.

You will:

* Represent contract terms and cohorts for key products and segments.
* Build drivers for renewal, churn and regrading at end of term.
* Connect renewal behaviour to recurring revenue and device economics.
* Use scenarios to test retention, pricing and re contract strategies.

Model Reef is not a CRM or contract management platform. It models contract behaviour at cohort or segment level, not individual accounts.

## When to use this pattern

Use this pattern when:

* You sell fixed term contracts such as 12, 24 or 36 month plans.
* Renewal behaviour and retention are key value drivers.
* You need forward visibility on contracts rolling off and being renewed or lost.
* You want to test different re contract, pricing and upgrade strategies.

It complements:

* Recurring Services Revenue Model
* Hardware or Device Cost Modelling
* Support or Service Team Capacity

## Architecture overview

Contract renewal forecasting uses:

* Contract cohorts
  * New contracts written in a given period and plan.
  * Remaining term structure per cohort.
* Renewal and churn drivers
  * Renewal rates at end of term.
  * Churn on expiry.
  * Upgrades or downgrades to different plans.
* Revenue and margin impacts
  * ARPU changes on renewal or migration.
  * Device and subsidy impacts where relevant.
  * Cash timing via billing and payment terms.
* Scenario analysis
  * Different retention and re contract strategies.
  * Portfolio shifts between legacy and new products.

{% stepper %}
{% step %}

### Define contract cohorts and terms

Start by defining contract cohorts at the level you want to track, for example:

* Product and plan level for major offerings.
* Broad contract types for smaller or legacy portfolios.

In the Data Library, create drivers such as:

* New Contracts Written per Period per Cohort.
* Contract Term in months (for example 12, 24, 36).
* Contract Type (for example handset inclusive vs SIM only).

These become the base for renewal and churn modelling.
{% endstep %}

{% step %}

### Track in force contracts over time

For each cohort, approximate the number of in force contracts over time. A simple approximation is:

* In Force Contracts(t) = Previous In Force minus Normalised Mid Term Churn until expiry.

Where you want more detail, you can model:

* Scheduled expiry period based on term.
* Mid term churn before expiry.
* End of term behaviour at renewal decision point.

Keep this at cohort level rather than individual contract level to keep the model tractable.
{% endstep %}

{% step %}

### Apply renewal, churn and migration rules at expiry

Define drivers for end of term behaviour per cohort, such as:

* Renewal Rate (percentage of contracts that renew on a new term).
* Churn on Expiry (percentage that leave).
* Migration Split (percentage that move to each available new plan).

At the end of each cohort's term, allocate in force contracts into:

* Renewed contracts in the same or new plan cohorts.
* Churned customers.
* Upgraded or downgraded plan cohorts.

This can be implemented using formulas that move counts between cohort driver series at the appropriate period.
{% endstep %}

{% step %}

### Link renewed and migrated contracts to revenue

Connect contract cohort behaviour to revenue by:

* Associating each cohort and plan with an ARPU or pricing profile.
* Applying different ARPU profiles to renewed, upgraded and downgraded contracts.
* Updating Revenue variables to reference updated cohort based active subscriber counts.

This allows you to see:

* How much revenue is at risk at each renewal point.
* The effect of price changes and re contract offers on ARPU.
* The transition of customers from legacy to new products over time.
  {% endstep %}

{% step %}

### Integrate device and subsidy effects where relevant

If you bundle devices with contracts, combine this pattern with Hardware and Device Cost Modelling by:

* Linking device subsidies and repayment plans to specific cohorts.
* Ensuring that churn and renewal behaviour carries associated device economics, for example residual instalments or early termination fees.
* Adjusting device replacement cycles for customers who re contract early and receive new hardware.

For simplicity, you can approximate these effects at cohort level using average values.
{% endstep %}

{% step %}

### Use scenarios for retention, pricing and migration strategies

Clone the base model into scenario models to explore:

* Different renewal and churn rates at end of term.
* Stronger upgrade programs to move customers to higher value plans.
* More aggressive or conservative price increases on renewal.
* Shifts in contract term structures, for example moving more customers to 24 month terms.
* Campaigns targeting specific cohorts nearing expiry.

In each scenario, adjust:

* Renewal, churn and migration drivers.
* ARPU and pricing profiles for renewed and migrated cohorts.
* Device replacement and subsidy assumptions.

Compare scenarios using:

* Revenue retention and growth over the forecast horizon.
* Margin and device payback metrics.
* Customer lifetime value where you choose to calculate it.
* Cashflow and valuation changes arising from different strategies.
  {% endstep %}
  {% endstepper %}

<details>

<summary>Check your work</summary>

* Contract cohort sizes and timing reconcile with historical contract and billing data.
* Renewal and churn assumptions are consistent with observed behaviour.
* Migration flows between products are plausible and align with commercial strategy.
* Scenario results support decision making rather than creating noise.

</details>

<details>

<summary>Troubleshooting</summary>

* **In force contract counts behave unexpectedly**\
  Check term assumptions and ensure mid term churn and expiry treatments are consistent and not double counted.
* **Revenue diverges from simpler subscriber models**\
  Ensure that the link between cohort based counts and ARPU is correctly implemented and that you are not summing both cohort and non cohort counts.
* **Too many cohorts to track**\
  Aggregate cohorts into broader groups by product, term and vintage and use average behaviours rather than modelling each small group separately.

</details>

## Related guides

* [Build a Pricing Model](/how-tos/operations-and-unit-economics/build-a-pricing-model.md)
* [Build a Relative Valuation Using Fundamentals](/how-tos/valuation/build-a-relative-valuation-using-fundamentals.md)
* [Model Archiving](/help/workspace-and-organisation/model-archiving.md)
* [Common Size Mode](/syntax/chart-and-table-syntax/common-size-mode.md)
