1. Scope
Projects MRR/ARR at 3/6/12 months, Net Revenue Retention, and months to a target ARR. Deterministic compounding; does not model revenue risk distributions.
2. Inputs and outputs
Inputs
- currentMrr number (currency)
- netNewMrrPerMonth number (currency)
- monthlyChurnPercent percent
- expansionMrrPerMonth number (currency) default: 0
- targetArr number (currency)
Outputs
- projectedMrr
MRR at 3, 6, 12 months.
- ndr
(starting MRR − churned + expansion) / starting MRR.
- monthsToTargetArr
Solve for m such that mrr_m × 12 ≥ targetArr.
Engine source: src/lib/mrr-arr-growth-calculator/engine.ts
3. Formula / scoring logic
mrr_m = mrr_{m-1} + net_new - (mrr_{m-1} * churn) + expansion
ndr = (starting_mrr - churned + expansion) / starting_mrr 4. Assumptions
- Net-new and expansion MRR are constant. Most businesses see ramp and plateau rather than constant growth.
- Churn is applied to current MRR each month.
5. Data sources
6. Known limitations
- Constant-growth past year one is rarely accurate. Segment by stage.
- Expansion revenue mechanics (seat growth, tier upgrades) are bundled into a single input.
7. Reproducibility
Input
currentMrr = $10,000, netNew = $2,000, churn = 4%, expansion = $500, targetArr = $500,000.
Expected output
mrr_12 ≈ $25,500, ndr ≈ 100.5%, monthsToTargetArr ≈ 22.
8. Change log
- 2026-04-24 methodology page first published.