How to Model ARR and MRR in Excel
MRR and ARR measure the recurring revenue a subscription business can count on each month and each year. The clean way to model them is a roll-forward: start with last month's MRR, add new and expansion revenue, subtract contraction and churn, and land on this month's ending MRR. That single equation drives the whole subscription model and makes every movement traceable.
What an ARR and MRR roll-forward does
Monthly recurring revenue (MRR) is the normalized monthly subscription revenue at a point in time. Annual recurring revenue (ARR) is simply MRR * 12. The roll-forward decomposes the change in MRR into its drivers so you can see why revenue grew or shrank, not just that it did.
It fits the model as the revenue engine. Ending MRR feeds the income statement, the components feed retention and churn metrics, and the new revenue line links back to sales and marketing spend in a unit economics build.
Build it step by step
Lay out months across the columns and the five roll-forward lines down the rows: beginning, new, expansion, contraction, churn, and ending. Each month's ending feeds the next month's beginning.
Drive new MRR from a sales assumption, and drive expansion, contraction, and churn from rates applied to the beginning balance.
- Set beginning MRR equal to the prior month ending:
=B12pointing at last month. - Add new MRR from new bookings, and expansion MRR as
=beginning * expansion_rate. - Subtract contraction as
=-beginning * contraction_rateand churn as=-beginning * churn_rate. - Ending MRR is
=beginning + new + expansion - contraction - churn. - Compute ARR on a separate line as
=ending_MRR * 12.
| Line | Month 1 |
|---|---|
| Beginning | 100000 |
| New | 15000 |
| Expansion | 3000 |
| Contraction | -2000 |
| Churn | -5000 |
| Ending | 111000 |
=100000+15000+3000-2000-5000 lands ending MRR at 111,000.
The formulas and the linked metrics
The core identity is ending = beginning + new + expansion - contraction - churn. Keep contraction and churn as negative numbers if you sum the row, or as positive numbers you subtract, but be consistent so the total ties.
Net revenue retention is =(beginning + expansion - contraction - churn) / beginning, which deliberately excludes new MRR because retention measures the existing base only. Gross revenue retention drops expansion: =(beginning - contraction - churn) / beginning. ARR is always =MRR * 12, so an ending MRR of 111,000 implies ARR of =111000*12, or 1,332,000.
- Ending MRR:
=beginning + new + expansion - contraction - churn. - ARR:
=ending_MRR * 12. - Net revenue retention:
=(beginning + expansion - contraction - churn) / beginning. - Gross revenue retention:
=(beginning - contraction - churn) / beginning.
Pitfalls and what reviewers check
A frequent mistake is mixing one-time revenue into MRR. Setup fees, professional services, and usage overages are not recurring and inflate ARR if included. Keep them on a separate non-recurring line.
Reviewers trace the ending MRR back through its components to confirm the roll-forward identity holds every month, check that net retention excludes new MRR, and verify ARR is exactly twelve times MRR rather than a separately maintained number that can drift. A broken link between one month's ending and the next month's beginning is the most common error and is easy to catch by tracing precedents.
Formula Trace
Formula Trace walks the precedents of ending MRR so you can confirm the roll-forward links from beginning to ending hold each month.
Get ModelMint See how it worksFAQ
Should ARR include one-time fees?
No. ARR captures only recurring subscription revenue. Setup fees, professional services, and usage overages are one-time or variable, so they belong on a separate non-recurring revenue line and should be excluded from the MRR roll-forward.
What is the difference between gross and net revenue retention?
Gross revenue retention measures how much of the existing base remains after contraction and churn, excluding expansion. Net revenue retention adds expansion back, so it can exceed 100 percent when upsell outweighs lost revenue. Both exclude new MRR.
Why is ARR just MRR times 12?
ARR annualizes the monthly recurring revenue at a point in time. Multiplying ending MRR by twelve assumes the current run rate holds for a year. Maintain ARR as a formula on MRR rather than a separate input so the two never drift apart.