Blog · Finance metrics and formulas · Software
SaaS ARR annualizes recurring subscription charges under a stated company policy. Calculate it from contract lines, reconcile customer movements and keep it separate from bookings and recognized revenue.
SaaS ARR is the annualized value of eligible recurring subscription charges at a reporting date, measured under a stated company policy. It is a recurring run rate, not GAAP revenue, cash collected or the full value of signed contracts. A valid calculation needs both the contract rows and the rules that decide which rows qualify.
ARR is a company-defined operating measure. CFI's ARR guide explains why contract structures and inclusion policies differ and why companies should apply their definition consistently.
For the US software company below, the policy is: include fixed recurring subscription and support charges active on October 31, 2026; annualize their current contractual rate; exclude one-time services, uncommitted usage and contracts that have not started. An unchanged renewal replaces the old subscription row when it becomes effective.
That last rule prevents a customer from appearing twice. Finance should own the definition, sales operations should confirm effective dates, and the contract owner should resolve amendments. Keep the approved policy beside the reporting workbook.
A monthly cancellable subscription can qualify under this policy. Its annualized amount remains a run rate; the annualization does not extend the customer's legal commitment. For prepaid contracts, use the covered service months rather than the invoice month.
Line ARR = Eligible recurring charge / Months covered × 12
Company ARR = Sum of eligible line ARR at the reporting date
Closing ARR = Opening ARR + New ARR + Expansion ARR − Contraction ARR − Churned ARR
The first formula assumes a flat recurring rate throughout the stated coverage interval. For a ramped contract, use the rate effective at the reporting date under this example's policy, rather than averaging future price increases into today's ARR.
The exclusion of setup and professional service fees is consistent with Wall Street Prep's ARR calculation. Do not divide an entire mixed contract value by its term before separating those charges.
Export customer ID, contract ID, line ID, charge type, recurring amount, months covered, effective start, effective end and currency. Include amendment references and a reporting-date eligibility flag. Billing rows alone may repeat an annual charge across several documents, so identify the underlying contract line before summing.
All eligible lines below are active on October 31, 2026. Amounts are USD; monthly equivalents and ARR are exact, with no rounding needed.
| Customer and recurring line | Charge (USD) | Months covered | Monthly equivalent (USD) | ARR (USD) |
|---|---|---|---|---|
| Northstar, core subscription | 120,000 | 12 | 10,000 | 120,000 |
| Mariner, prepaid platform | 180,000 | 24 | 7,500 | 90,000 |
| Pine, monthly subscription | 6,000 | 1 | 6,000 | 72,000 |
| Northstar, recurring support | 12,000 | 12 | 1,000 | 12,000 |
| Beacon, fixed subscription | 45,000 | 6 | 7,500 | 90,000 |
| Total | 363,000 | 32,000 | 384,000 |
The charge column totals charges covering different lengths of service. Its $363,000 total is an export control, not a comparable annual measure. Monthly equivalents total $32,000, and multiplying that total by twelve proves the $384,000 ARR.
With charge in B, months in C, monthly equivalent in D and ARR in E, enter these formulas in row 2 and fill through row 6:
=B2/C2
=D2*12
The total check is:
=SUM(E2:E6)-SUM(D2:D6)*12
It must return zero. Reject blank or zero coverage months before applying the formulas; silently replacing them with zero ARR hides missing contract information.
These excluded lines remain visible in a separate control table:
| Export line | Amount (USD) | Reason excluded |
|---|---|---|
| Northstar implementation | 10,000 | One-time service |
| Mariner variable consumption | 8,000 | Uncommitted usage |
| Orchard annual subscription | 60,000 | Starts November 1, 2026 |
Compare customer totals at September 30 and October 31, using the same eligibility rules. Northstar's closing total combines its core subscription and recurring support from the preceding table.
| Customer | Opening ARR (USD) | New (USD) | Expansion (USD) | Contraction (USD) | Churn (USD) | Closing ARR (USD) |
|---|---|---|---|---|---|---|
| Northstar | 120,000 | 0 | 12,000 | 0 | 0 | 132,000 |
| Mariner | 96,000 | 0 | 0 | 6,000 | 0 | 90,000 |
| Pine | 0 | 72,000 | 0 | 0 | 0 | 72,000 |
| Beacon | 90,000 | 0 | 0 | 0 | 0 | 90,000 |
| Cedar | 36,000 | 0 | 0 | 0 | 36,000 | 0 |
| Total | 342,000 | 72,000 | 12,000 | 6,000 | 36,000 | 384,000 |
The proof is $342,000 + $72,000 + $12,000 − $6,000 − $36,000 = $384,000. The bridge and the independent closing contract calculation agree. An unchanged renewal has no movement; reactivation would need its own category if a previously churned customer returned.
This identifies different operating questions. Pine explains new customer growth. Northstar's amendment explains expansion. Mariner requires a downgrade review, while Cedar requires a cancellation review. Seat utilization can inform a renewal conversation, but unused seats do not reduce contracted ARR until the effective commercial terms change.
Keep the bookings versus ARR bridge separate: a signed future contract can enter bookings before this policy includes it in ARR. The accounting reconciliation belongs in bookings, billings and revenue.
Bring a sample of your own billing and contract export, with recurring flags and effective dates, to Covirage. Covirage maps the columns, and its tools compute customer ARR and check the opening-to-closing reconciliation; the external AI model explains the movements with every figure traced to its rows. Create a free Covirage account, which takes about a minute, then set up your business and bring your file.
See Covirage for SaaS businesses for the industry context.
One-time implementation fees do not belong in recurring subscription ARR. Keep them on separate contract lines so they can reconcile to bookings or invoices without entering the recurring total. Recurring support can qualify when the written policy includes it.
Yes, if the company policy includes active monthly subscriptions. Annualizing the current monthly charge describes a run rate; it does not mean the customer committed to pay that amount for a full year. Disclose cancellation terms separately.
No. ARR measures a recurring run rate at a point in time, while annual revenue measures recognized revenue across a reporting period. Subscription changes, service fees and different contract start dates can make those figures differ substantially.
Use a written policy that distinguishes committed recurring minimums from variable consumption. This example includes only fixed recurring charges. If your company annualizes usage, document the observation window and show that component separately so changes remain explainable.