SaaS Revenue Forecasting: ARR Movements, Renewal Forecasts, Bookings and HubSpot Configuration
SaaS revenue forecasting explained: the four ARR movements, renewals as a dated book, why bookings misstate revenue, and where HubSpot records each input.
Paul Maxwell, PhD
AUTHOR
GET WEEKLY REVOPS INSIGHTS
No spam. Unsubscribe anytime.
A subscription business can close the largest quarter in its forecast tool's history and end it with less annual recurring revenue than it started with. With renewals in the same pipeline, the forecast tool adds each at full value, as though existing revenue were new, and a customer who leaves becomes a closed-lost deal worth nothing, so a revenue forecast built on closed won reports growth while the installed base shrinks.
This article explains how a SaaS revenue forecast is built and where HubSpot holds its inputs. It starts with the four ARR movements and the renewal book, uses a sample ARR bridge to show why bookings misstate subscription revenue, and states what that sample can and cannot establish. It then maps where HubSpot records recurring revenue, as documented in October 2026, lists the symptoms of a bookings-based forecast, gives a procedure for assembling the bridge, and ends on what the bridge costs and returns.
Annual recurring revenue (ARR) is the annualised value of the subscription contracts in force on a date, and monthly recurring revenue (MRR) is the same quantity per month. Bookings are the value of contracts signed in a period, dated by signature. An ARR bridge reconciles two ARR figures: opening ARR, plus new business and expansion, minus contraction and churn, equals closing ARR. The renewal book for a period comprises every contract whose term ends inside it.
The Four ARR Movements
Every change in ARR between two dates belongs to one of four movements. New business is ARR from customers who held no contract at the opening date; expansion is an existing customer's added ARR from more seats, a higher plan or another product; contraction is a decrease short of ending the relationship; and churn is the ARR of a contract that ends without renewal.
New business and expansion are forecast from open deals, the pipeline material of general revenue forecasting; contraction and churn from signed contracts whose end dates are known in advance.
Renewals as a Forecastable Book
A renewal book is the input a subscription business can forecast best, because its dates and amounts are written into contracts before the period begins. What remains uncertain is one outcome per contract: renewal at the same value, renewal at a different value, or no renewal.
Forecasting that outcome contract by contract, or in groups sharing a risk signal, keeps information a single churn rate discards: renewal rates rise with tenure as customers prone to leaving go first, the pattern Fader and Hardie's shifted-beta-geometric model describes, so one blended rate overstates churn among long-tenured customers and understates it among first renewals.
Bookings and the Misstatement of Subscription Revenue
A bookings forecast misstates subscription revenue through three mechanisms. Renewal is the first: a renewed $100,000 contract is $100,000 of closed-won value in a bookings total and nothing in the ARR bridge, which held the same $100,000 before and after. Loss is the second: a contract that ends leaves a closed-lost renewal deal, which a bookings total ignores, and a renewal at fewer seats appears as a smaller positive booking rather than as a contraction.
Term and timing are the third: HubSpot defines Amount as the total value of the deal, so a bookings total places a contract's whole term in the month of signature rather than across its months of service.
An ARR Bridge on Sample Data
The figures below are sample data, not a client. A business selling annual contracts forecasts, on 1 October, the quarter ending 31 December, from opening ARR of $6,000,000 and a renewal book of $1,800,000. Two renewing customers worth $240,000 have agreed to renew at $150,000 with fewer seats, $360,000 of the book carries a risk flag such as falling usage, and the other $1,200,000 carries none. Amount on each deal carries its ARR, and on an upgrade deal only the ARR added.
| Bridge line | Basis | ARR |
|---|---|---|
| Bridge lineOpening ARR | BasisIn force on 1 October | ARR$6,000,000 |
| Bridge lineNew business | Basis$600,000 of open deals, weighted by stage | ARR+$180,000 |
| Bridge lineExpansion | Basis$300,000 of upgrade deals, weighted by stage | ARR+$150,000 |
| Bridge lineContraction | BasisTwo renewals, $240,000 to $150,000 | ARR−$90,000 |
| Bridge lineChurn, no risk flag | Basis10% of $1,200,000 | ARR−$120,000 |
| Bridge lineChurn, risk flag | Basis50% of $360,000 | ARR−$180,000 |
| Bridge lineClosing ARR | BasisSum of the lines above | ARR$5,940,000 |
Where finance recognises subscriptions evenly across their service period, a quarter's revenue is its average ARR divided by four, so opening ARR gives a run rate of $1,500,000. With each movement taking effect on average halfway through the quarter, a movement changes the quarter's revenue by one eighth of its ARR: new business and expansion add $41,250, contraction and churn remove $48,750, and recognised revenue is $1,492,500.
If the quarter ends as forecast, a forecast tool that includes renewal deals reports $1,740,000 closed won, $1,410,000 of it renewals: $247,500 more than the quarter's recognised revenue, in a quarter in which ARR fell.
Scope and Evidence Limits
The sample's renewal probabilities are assumptions, and nothing here measures forecast accuracy across companies: the claim that a bookings total cannot serve as a subscription revenue forecast rests on definitions. This article excludes revenue recognition policy; the distinction between bookings, revenue and billings; month-to-month plans, which have no renewal book; usage-based pricing, where ARR is not contracted in advance; and the measurement of ARR and retention from billing, which RevOps for SaaS sets out.
Product behaviour is as documented in October 2026, when direct contract creation ran through the Direct Create, Edit, and Renew HubSpot Contracts beta and contract revenue reports through the Revenue Reporting from Contracts beta; HubSpot's documentation is authoritative wherever the product has moved.
Recurring Revenue Records in HubSpot
HubSpot's forecast surfaces read only deal properties. The forecast tool, on Sales Hub or Service Hub Professional and Enterprise, values each deal at Weighted amount, Total amount or the legacy Forecast amount, each derived from Amount, and its default forecast uses Amount and Close date. A Super Admin can build a custom forecast type on any currency deal property, but HubSpot notes that recurring revenue properties such as Annual recurring revenue do not recur in it: the amount lands once, on the chosen date. Both surfaces therefore sum a deal value on a single date, which is a bookings forecast whatever the property is called.
The recurring revenue records hold ARR and its recorded movements, and project forward only revenue already signed. Annual recurring revenue on a deal is calculated from its recurring line items on Sales Hub Professional or Enterprise, so its sum across closed-won deals is ARR booked, including customers who have since left. Recurring revenue tracking, on Sales Hub or Service Hub Enterprise, adds four deal properties from the Revenue report under Reporting → Reports → Sales → Forecast & Revenue: Recurring revenue amount, a monthly value entered by hand; Recurring revenue deal type (New business, Renewal, Upgrade or Downgrade); and Recurring revenue inactive date and inactive reason (Churned, Renewal, Upgrade or Downgrade).
Only closed-won deals count, from their close date. An upgrade or downgrade sets the original deal's inactive date and recreates the deal at its updated total amount. A renewal sets the original's inactive date with reason Renewal and recreates the deal as a Renewal with no recurring amount entered. HubSpot says this keeps the original in reports, although its stated test for a month (close date before it, deal type and amount filled, inactive date blank or later) excludes both deals once the date passes. For future dates, the report projects revenue from known closed-won deals only: no open pipeline, no renewal probability and no churn until an inactive date is entered.
Contracts carry MRR, ARR and renewal dates, and need a Revenue Hub subscription and seat unless the account is in the Direct Create, Edit, and Renew HubSpot Contracts beta, which lets any subscription create them directly. The contract revenue reports classify each MRR change as new, expansion, contraction or churn. The Contract Revenue (Scheduled) data source, offered to support internal forecasting, holds one record per line item per billing month: revenue already committed, with no forecast of new business, renewal or churn.
Subscriptions, on all products and plans, bill until cancelled or for a fixed number of payments. On Professional or Enterprise, the revenue analytics suite reports New subscriptions value and Churn subscriptions value as summed ARR and MRR, with no documented expansion or contraction report.
| Record | Edition | Supplies to the bridge |
|---|---|---|
| RecordDeal Amount and close date | EditionSales or Service Hub Professional (forecast tool) | Supplies to the bridgeNew and expansion bookings, once Default deal amount is ARR |
| RecordAnnual recurring revenue on deals | EditionSales Hub Professional or Enterprise | Supplies to the bridgeThe ARR each deal booked, not ARR in force |
| RecordRecurring revenue tracking | EditionSales or Service Hub Enterprise | Supplies to the bridgeOpening ARR and recorded movements |
| RecordContracts | EditionRevenue Hub, or any subscription in the direct-create beta | Supplies to the bridgeOpening ARR, movements, renewal dates, committed schedule |
| RecordSubscriptions | EditionAll plans; reports on Professional or Enterprise | Supplies to the bridgeNew and churned subscription ARR only |
Symptoms of a Bookings-Based SaaS Forecast
The forecast tool shows a record quarter in which ARR falls. Renewal deals share its view with new business; a separate renewals pipeline removes them.
One three-year deal books three years of revenue in the month it closes, because Amount holds total contract value until Default deal amount is set to ARR and the deal's line items are saved again.
The Revenue report shows more new recurring revenue than new business closed. Upgrades count toward new recurring revenue at their recreated total. HubSpot's two statements on the replaced amount disagree: lost revenue includes any deal with an inactive date, but its list of deals counted as negative amounts omits Upgrade. One test upgrade shows which the portal applies.
Lost recurring revenue looks low against known cancellations. Churned deals carry an inactive reason without an inactive date, and HubSpot removes a churned deal from Existing recurring revenue only when both are filled, whereas a date without a reason counts as a negative amount. A saved deal view filtered to a known reason and an unknown date finds them.
The Bridge Forecast Procedure
- Choose one record for ARR in force, contracts where the portal uses them and otherwise the tracking properties, and write the choice into the portal's documentation.
- In Settings → Data Management → Objects → Deals → Setup, set Default deal amount to Annual recurring revenue (ARR). The setting changes no existing deal, and line items imported or written through the API leave Amount unchanged, so re-save older open deals' line items with the amount updated.
- Put only the added seats or products on an upgrade deal, so that Amount is the ARR added; under HubSpot's tracking procedure, Recurring revenue amount takes the new monthly total.
- In Settings → Data Management → Objects → Deals → Pipelines, keep new business, upgrades and renewals in separate pipelines, so the forecast view for new business contains no renewals.
- Give each renewal deal the ARR being renewed as its Amount and the contract end date as its Close date, and set each renewal stage's deal probability: in the sample, 90% for a renewal due, 50% for one at risk and 100% once agreed. Store the pre-renewal value in a custom number property formatted as currency, such as
arr_before_renewal. - On the first day of the period, read opening MRR from the chosen record and multiply it by 12: the MRR waterfall by month for contracts, or, for the tracking properties, the Existing recurring revenue the Revenue report calculates from that start date, after renewing one test deal to confirm it counts once.
- In Settings → Objects → Forecast, set Forecast deal amount to Weighted amount and read the weighted pipeline in the new-business and upgrade pipelines, which steps 2 and 3 make weighted ARR.
- In a deal report on the renewals pipeline for the period, the sum of Amount less the sum of Weighted amount is expected churn, closed-lost renewals included ($1,710,000 less $1,410,000 in the sample). Expected contraction is
arr_before_renewalminus Amount, summed across renewals agreed at a lower value. - Compute closing ARR and revenue, and hand the bridge to finance with each line's record, report and date named.
- At period end, rebuild the bridge from actuals: opening ARR plus recorded new business and expansion, minus recorded contraction and churn, must equal closing ARR from the same record, and a residual marks deals the balance and movement reports treat differently, such as a half-filled inactive pair. A movement recorded nowhere leaves no residual, so closing ARR must also match a second source, such as billing MRR times 12; a gap is a movement the record never received.
The Business Case for an ARR Bridge Forecast
The bridge buys a revenue forecast finance can adopt and a churn forecast that names contracts at risk while there is time to act; net new ARR reported beside closed won shows weak renewals as a fall in ARR.
It costs an entry on every renewal, upgrade, downgrade and churn and, for native support, more than the forecast tool needs: Enterprise for recurring revenue tracking, or Revenue Hub and a seat per editing user for contracts, unless the portal joins the direct-create beta. The firm implements HubSpot, an interest to keep in view; on lower editions, a spreadsheet fed by deal reports and a billing export performs the same arithmetic.
The case is strongest for annual or multi-year contracts sold and renewed in HubSpot, where the renewal book is large and dated. It is weakest for self-serve monthly plans billed in Stripe, whose billing analytics already classify each MRR change as new, reactivation, expansion, contraction or churn; there the bridge belongs beside the billing data, and HubSpot supplies the new-business pipeline.
In Summary
A SaaS revenue forecast is an ARR bridge run forward: new business and expansion come from the pipeline, contraction and churn from the renewal book, forecast contract by contract or by risk group because churn varies with tenure, and revenue follows from the ARR in force.
HubSpot's forecast tool sums Amount by close date and a custom forecast type places ARR once, so both forecast bookings. The Revenue report projects only closed-won deals and the contract schedule only committed revenue, so neither applies open pipeline, renewal probability or expected churn, and nothing in HubSpot assembles the bridge. Counting renewals in full and churn not at all, the bookings view in the sample reports $1,740,000 closed won in a quarter whose ARR falls by $60,000.
In a portal, the method rests on four practices: Default deal amount set to ARR, renewals in a pipeline of their own, opening ARR read from one record and checked against billing, and net new ARR reported beside closed won. An entry on every renewal buys a churn forecast while the contracts at risk are still in force: the sample's renewal book is forecast to lose $390,000 of ARR, more than the $330,000 the pipeline adds.