Skip to main content
aibizhub
Structured methodology As of 2026-04-24

How MRR / ARR Growth Calculator works

What the tool assumes, what data it pulls from, and what it cannot tell you.

Education · General business information, not legal, tax, or financial advice. Editorial standards Sponsor disclosure Corrections

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

  • current_mrr number (currency)
  • new_subscribers_per_month number

    New MRR each month = new_subscribers × arpu; zero if arpu is not set.

  • arpu number (currency)

    Drives new MRR from the subscriber count.

  • churn_rate_percent percent
  • expansion_mrr_per_month number (currency) default: 0
  • projection_months number

    1–60.

  • target_arr number (currency)

    Optional target for monthsToTargetArr.

Outputs

  • projectedMrr3m / 6m / 12m

    MRR at 3, 6, and 12 months (12m clamped to the horizon).

  • netRevenueRetention

    (1 − churn + expansion/current_mrr) × 100 — a single-period monthly factor.

  • monthsToTargetArr

    First month projected ARR ≥ target_arr, or null within the horizon.

Engine source: src/lib/mrr-arr-growth-calculator/engine.ts

3. Formula / scoring logic

new_mrr = new_subscribers_per_month * arpu
mrr_m   = mrr_{m-1} - (mrr_{m-1} * churn) + new_mrr + expansion
nrr     = (1 - churn + expansion / current_mrr) * 100

4. Assumptions

  • New MRR comes from new_subscribers × arpu — there is no direct net-new-MRR input.
  • New and expansion MRR are constant per month; churn is applied to current MRR each month.
  • NRR is the single-period monthly factor, not a 12-month compounded value.

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
current_mrr = $10,000, new_subscribers_per_month = 50, arpu = $40 (new MRR $2,000), churn_rate_percent = 4, expansion_mrr_per_month = $500, projection_months = 12, target_arr = $500,000.

Expected output
projectedMrr12m ≈ $30,332.74, netRevenueRetention = 101.0, monthsToTargetArr = null (ARR reaches ~$364K within the 12-month horizon, below the $500K target).

8. Change log

  • 2026-04-24 methodology page first published.

Worked example

Run live against the same engine this site ships (/engines/mrr-arr-growth-calculator.js). The inputs and outputs below are recomputed on every build and independently re-verified in CI — they are never hand-authored.

Input

tool
mrr_arr_growth_calculator
current_mrr
25000
arpu
99
new_subscribers_per_month
50
churn_rate_percent
3
expansion_mrr_per_month
500
projection_months
12
target_arr
500000

Output

currentMrr
25000
currentArr
300000
projectedMrr3m
38681.23
projectedMrr6m
51167.72
projectedMrr12m
72964.7
projectedArr12m
875576.4
netRevenueRetention
99
monthsToTargetArr
4
projectionPoints[0].month
1
projectionPoints[0].mrr
29700
projectionPoints[0].arr
356400
projectionPoints[1].month
2
projectionPoints[1].mrr
34259
projectionPoints[1].arr
411108
projectionPoints[2].month
3
projectionPoints[2].mrr
38681.23
projectionPoints[2].arr
464174.76
projectionPoints[3].month
4
projectionPoints[3].mrr
42970.79
projectionPoints[3].arr
515649.48
projectionPoints[4].month
5
projectionPoints[4].mrr
47131.67
projectionPoints[4].arr
565580.04
projectionPoints[5].month
6
projectionPoints[5].mrr
51167.72
projectionPoints[5].arr
614012.64
projectionPoints[6].month
7
projectionPoints[6].mrr
55082.69
projectionPoints[6].arr
660992.28
projectionPoints[7].month
8
projectionPoints[7].mrr
58880.21
projectionPoints[7].arr
706562.52
projectionPoints[8].month
9
projectionPoints[8].mrr
62563.8
projectionPoints[8].arr
750765.6
projectionPoints[9].month
10
projectionPoints[9].mrr
66136.89
projectionPoints[9].arr
793642.68
projectionPoints[10].month
11
projectionPoints[10].mrr
69602.78
projectionPoints[10].arr
835233.36
projectionPoints[11].month
12
projectionPoints[11].mrr
72964.7
projectionPoints[11].arr
875576.4
growthRate3m
54.7
growthRate12m
191.9

Frequently asked questions

What does the MRR / ARR Growth Calculator calculate?
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.
What inputs does the MRR / ARR Growth Calculator need?
It takes 7 inputs: current_mrr, new_subscribers_per_month, arpu, churn_rate_percent, expansion_mrr_per_month (default 0), projection_months, target_arr. Outputs returned: projectedMrr3m / 6m / 12m, netRevenueRetention, monthsToTargetArr.
What formula does the MRR / ARR Growth Calculator use?
The exact computation is: new_mrr = new_subscribers_per_month * arpu; mrr_m = mrr_{m-1} - (mrr_{m-1} * churn) + new_mrr + expansion; nrr = (1 - churn + expansion / current_mrr) * 100
Can I verify the MRR / ARR Growth Calculator with a worked example?
Yes. With current_mrr = $10,000, new_subscribers_per_month = 50, arpu = $40 (new MRR $2,000), churn_rate_percent = 4, expansion_mrr_per_month = $500, projection_months = 12, target_arr = $500,000. the tool returns projectedMrr12m ≈ $30,332.74, netRevenueRetention = 101.0, monthsToTargetArr = null (ARR reaches ~$364K within the 12-month horizon, below the $500K target).
Where does the MRR / ARR Growth Calculator get its benchmark data?
Reference data is sourced from: OpenView SaaS Benchmarks 2024 (NDR percentiles) (as of 2024).
What can the MRR / ARR Growth Calculator not tell me?
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.