Financial
SaaS MRR waterfall: Ending MRR, Gross Retention (GRR), and Net Dollar Retention (NDR)
Reconcile Starting, New, Expansion, Contraction, and Churned MRR and compute commonly used GRR and NDR percentages.
Separate New Logo MRR from Existing-Cohort NDR & GRR
Ending MRR equals StartingMRR + NewMRR + ExpansionMRR - ContractionMRR - ChurnedMRR (100,000 + 15,000 + 12,000 - 3,000 - 4,000 = 120,000).
Investor retention metrics exclude NewMRR completely to test the existing customer base: Gross Revenue Retention (GRR) = (Starting - Contraction - Churn) / Starting (never > 100%, here 93%), while Net Dollar Retention (NDR / NRR) adds Expansion = (Starting + Expansion - Contraction - Churn) / Starting (here 105%).
| StartMRR (A) | NewMRR (B) | Expansion (C) | Contraction (D) | Churn (E) |
|---|---|---|---|---|
| 100000 | 15000 | 12000 | 3000 | 4000 |
Ending MRR, NDR (NRR), and GRR formulas
Keep Contraction and Churn stored as positive numbers and subtract them explicitly so formulas read naturally.
=ROUND((A2 + C2 - D2 - E2) / A2, 4)Gross revenue retention
GRR measures retained recurring revenue from the starting cohort, excluding expansion. It is different from customer-count retention.
=ROUND((A2 - D2 - E2) / A2, 4)Ending MRR
Add new customers separately from changes within the existing cohort.
=A2 + B2 + C2 - D2 - E2Inputs and interpretation
Use a positive starting MRR, nonnegative movements and mutually exclusive categories from the same period, currency and starting cohort. Contraction plus churn must not exceed starting MRR in this simplified model. Definitions for reactivations and foreign-exchange effects vary; document your policy. No formula silently caps invalid inputs.
Try the example
Use the original values or change them to test your understanding.