---
title: How to build a revenue forecast from your contract book
description: Build a SaaS revenue forecast from your contract book: contracted revenue, weighted renewals, expansion, churn, cohort rates and a ledger reconciliation.
canonical: https://www.scalexp.com/blog/revenue-forecast-contract-book-method/
---
# How to build a revenue forecast from your contract book

Build a SaaS revenue forecast from your contract book: contracted revenue, weighted renewals, expansion, churn, cohort rates and a ledger reconciliation.

Key takeaways

- The contract book method forecasts revenue in layers: contracted revenue, probability-weighted renewals, expansion, churn and new business.
- Contracted revenue comes from the revenue schedule, so it follows the same recognition rules as the ledger.
- Renewal probabilities and expansion rates are most reliable when based on your own cohort history rather than a single blanket rate.
- Churn should be counted once, either inside renewal probabilities or as a separate line, not in both.
- Each month, actual revenue in the forecast should equal recognized revenue in the ledger, and forecast variances should be explained by layer.

**Short answer:** To build a revenue forecast from your contract book, start with the revenue already contracted and scheduled, add renewals weighted by their probability of renewing, apply expansion and churn assumptions drawn from your own customer cohorts, add a cautious layer of new business, and then reconcile the result to the revenue recognized in your ledger.

For a SaaS business, most of next quarter's revenue is usually already under contract. A forecast built from those contracts, rather than from a top-down growth rate, is easier to explain to a board, easier to test against actual results and easier to keep consistent with the accounts in Xero, QuickBooks Online or Zoho Books.

## What the contract book method is

The contract book is the full list of customer contracts in force: who the customer is, what they bought, the contract value, the start and end dates and the billing terms. The contract book method builds the revenue forecast up from those contracts, one layer at a time:

1. **Contracted revenue:** revenue that will be recognized from contracts already signed, during their current term.
2. **Renewals:** revenue from contracts that end during the forecast period and may renew.
3. **Expansion and churn:** upgrades, seat increases, downgrades and cancellations.
4. **New business:** revenue from deals not yet signed.

Each layer has a different level of certainty, and keeping them separate lets the board see how much of the forecast is already contracted and how much depends on assumptions.

## Start with contracted revenue from the revenue schedule

The most certain layer is revenue from signed contracts during their current term. It should come from the revenue schedule, the same schedule that drives deferred revenue and recognized revenue in the ledger, not from a separate spreadsheet of contract values.

Using the schedule matters because revenue is forecast on the same basis it will be reported. Under [IFRS 15 Revenue from Contracts with Customers](https://www.ifrs.org/issued-standards/list-of-standards/ifrs-15-revenue-from-contracts-with-customers/) (checked October 2026), revenue is recognized as the entity satisfies its performance obligations, when the customer obtains control of the goods or services, which for a subscription usually means evenly over the service period. Our guide to [ASC 606 revenue recognition in SaaS companies](https://www.scalexp.com/blog/asc-606-revenue-recognition-in-saas-companies/) covers the equivalent US standard.

Two points to check in this layer:

- **Billing is not revenue.** An annual invoice raised in October is recognized over twelve months, so the contracted layer follows the schedule, not the invoice dates. Our article on [how to record deferred revenue](https://www.scalexp.com/blog/how-to-record-deferred-revenue/) covers the entries behind this.
- **Signed but not started.** Contracts with a future start date belong in the contracted layer from their start date.

## Add renewals weighted by probability

Contracts that end during the forecast period create renewal revenue only if they renew. List each one with its renewal date and the revenue it would bring for the rest of the period, then apply a probability.

The probabilities are internal judgments. A simple, explainable approach groups renewals by status:

- **Committed:** renewal signed or auto-renewal with no notice given.
- **Likely:** healthy usage, engaged sponsor, no open issues.
- **At risk:** falling usage, a change of sponsor or an open escalation.
- **Notice given:** the customer has said it will not renew.

Assign each status a probability based on how similar renewals have performed in the past, and review the status of the largest renewals with the account owners each month. The renewal date, owner and status usually sit in the CRM, so the finance team and the customer success team need to agree how they are recorded.

## Apply expansion and churn assumptions

Expansion covers seat increases, upgrades and price increases on existing customers. Churn covers downgrades and cancellations. Both can be forecast in two ways:

- **Named:** specific expansions or downgrades the account team expects, each with a date, amount and probability.
- **Rate-based:** a monthly or quarterly expansion and contraction rate applied to the contracted base.

Most teams use named forecasts for the largest customers and a rate for the rest. The point to watch is double counting. If a renewal probability of 80% already allows for the 20% of customers expected to leave, do not apply a separate churn rate to the same contracts. Count churn once, either inside the renewal probabilities or as its own line.

## Use cohorts to set renewal and expansion rates

A cohort is a group of customers that started in the same period, such as all customers who signed in the first quarter of 2025. Tracking each cohort's recurring revenue over time shows how revenue from a given group of customers grows or shrinks, and gives you evidence for the rates used in the forecast.

Two cohort measures are the most useful for forecasting:

- **Gross revenue retention:** recurring revenue kept from a cohort after churn and downgrades, excluding expansion, divided by the cohort's starting recurring revenue.
- **Net revenue retention:** recurring revenue from a cohort including expansion, divided by the cohort's starting recurring revenue.

Cohort history often shows that customers renewing for the first time behave differently from customers on their third renewal, and that customers on annual contracts behave differently from those on monthly plans. Applying the rate observed for each group, rather than one rate for the whole book, makes the forecast more accurate and easier to defend. The [SaaS metrics in ScaleXP](https://www.scalexp.com/saas-metrics/) include the retention measures this section uses.

## Add new business cautiously

New business is the least certain layer. Take open opportunities from the CRM pipeline, weight each by its stage probability, and then convert the weighted contract value into revenue from the expected start date. A deal expected to close in the last month of a quarter adds little revenue to that quarter, even if its contract value is large.

Illustrative example: at September 30, 2026, a company forecasts revenue for the fourth quarter of 2026.

| Forecast layer | Basis | Q4 2026 revenue |
|---|---|---|
| Contracted revenue | Revenue schedule for signed contracts | $2,000,000 |
| Renewals | $400,000 if all renew, weighted at 85% | $340,000 |
| Expansion | Named expansions plus cohort rate | $40,000 |
| New business | Weighted pipeline from start dates | $100,000 |
| Total forecast | Sum of layers | $2,480,000 |

In this example churn is inside the renewal weighting, so there is no separate churn line.

## Reconcile the forecast to the ledger

A forecast that does not agree with the accounts will not be trusted. Three checks keep it aligned:

1. **Actuals match recognized revenue.** For each closed month, revenue in the forecast model should equal revenue in the ledger after the month-end close.
2. **The schedule ties to the balance sheet.** The deferred revenue in the revenue schedule should equal the deferred revenue balance in the ledger. A difference means the contracted layer is also wrong.
3. **Variances are explained by layer.** When a quarter closes, compare actual revenue with the forecast and split the difference into contracted, renewals, expansion, churn and new business. That shows which assumption to change.

The [revenue recognition](https://www.scalexp.com/revenue-recognition/) rules applied in the schedule are what make the first two checks possible.

## How ScaleXP builds forecasts from contracts and CRM data

ScaleXP builds revenue forecasts from CRM data in HubSpot, Salesforce or Pipedrive and accounting data from Xero or QuickBooks. Pipeline, renewals and billing schedules are used as forecast inputs, and revenue schedules show when revenue should be recognized, so the forecast and the ledger work from the same contract data. See [revenue forecasting in ScaleXP](https://www.scalexp.com/revenue-forecast/) for how the inputs fit together.

ScaleXP also prepares the revenue recognition journals from the same schedules, and they are posted once finance approves them.

In the ScaleXP demo company below, the revenue forecast for October to December 2026 is built up in layers, invoiced, future, renewals, new sales in progress and future sales, which add up to the total revenue recognized each month.

![ScaleXP revenue forecast layers: invoiced, future, renewals, new sales in progress and future sales](https://www.scalexp.com/wp-content/uploads/2026/10/scalexp-revenue-forecast-layers-oct-dec-2026-demo.webp)

## Conclusion

A revenue forecast built from the contract book starts with what is already contracted, adds renewals, expansion and new business with explicit probabilities, and uses cohort history to set those probabilities. Keep the layers separate, count churn once, and reconcile actuals and the revenue schedule to the ledger each month so the forecast and the accounts tell the same story.

## Frequently asked questions

### What is a contract-based revenue forecast?

A contract-based revenue forecast builds expected revenue up from the customer contracts in force rather than applying a growth rate to past revenue. It starts with revenue already contracted, then adds renewals, expansion and new business, each with its own probability. Because each layer is visible, the board can see how much of the forecast is already signed.

### How do you forecast renewal revenue?

List each contract that ends during the forecast period with its renewal date and the revenue it would bring if renewed. Group renewals by status, such as committed, likely, at risk and notice given, and apply a probability to each status based on how similar renewals performed in the past. Review the largest renewals with account owners each month.

### How do cohorts improve a revenue forecast?

Cohorts group customers by start period and track their recurring revenue over time. They show how retention and expansion differ between, for example, first renewals and later renewals, or annual and monthly contracts. Using the rate observed for each group, rather than one rate for the whole customer base, gives renewal and expansion assumptions that are based on evidence.

### Should a revenue forecast reconcile to the general ledger?

Yes. For each closed month, revenue in the forecast should equal recognized revenue in the ledger, and the deferred revenue in the revenue schedule should equal the ledger balance. Differences usually point to a contract missing from the schedule or a journal posted to the wrong period. Reconciling regularly keeps the forecast credible with the board and auditors.

### Can ScaleXP forecast revenue from HubSpot, Salesforce or Pipedrive data?

Yes. ScaleXP builds revenue forecasts from CRM data in HubSpot, Salesforce or Pipedrive together with accounting data from Xero or QuickBooks. Pipeline, renewals and billing schedules are used as inputs, and revenue schedules show when revenue should be recognized, so the forecast and the reported revenue are based on the same contracts.

How ScaleXP does this

ScaleXP calculates MRR, ARR, churn, retention and more from your CRM and accounting data, with no spreadsheets. [See ScaleXP’s SaaS metrics](https://www.scalexp.com/saas-metrics/)
