Methodology
Recurring Revenue MRR and ARR Planner methodology
Educational only: Business decision support, not accounting, tax or legal advice.
Privacy: Calculations run locally; Margin101 does not receive your commercial inputs.
Update policy: Reviewed when formulas or official dependencies change.
Scope: Market-neutral small-business planning using your own assumptions.
1. Formulas and units
closingMrr = opening + new + expansion − contraction − churnWhere
- openingMrr
- Opening MRR (currency units on one consistent period basis)Source: Business record
- newMrr
- New MRR (currency units on one consistent period basis)Source: Business record
- expansionMrr
- Expansion MRR (currency units on one consistent period basis)Source: Business record
- contractionMrr
- Contraction MRR (currency units on one consistent period basis)Source: Business record
- closingMrr
- Closing MRR (money)Source: Calculated output
arr = closing MRR × 12Where
- closingMrr
- Closing MRR (money)Source: Calculated output
- arr
- Closing ARR (money)Source: Calculated output
grr = (opening − contraction − churn) ÷ openingWhere
- grr
- Gross revenue retention (GRR) (percent)Source: Calculated output
nrr = (opening − contraction − churn + expansion) ÷ openingWhere
- nrr
- Net revenue retention (NRR) (percent)Source: Calculated output
bridgeReconciliation = closing MRR − recomposed bridgeWhere
- closingMrr
- Closing MRR (money)Source: Calculated output
- bridgeReconciliation
- Bridge reconciliation (money)Source: Calculated output
bridgeMovements.opening = opening MRRWhere
- openingMrr
- Opening MRR (currency units on one consistent period basis)Source: Business record
- bridgeMovements.opening
- Opening MRR signed movement (signed currency units)Source: Calculated output
bridgeMovements.new = new MRRWhere
- newMrr
- New MRR (currency units on one consistent period basis)Source: Business record
- bridgeMovements.new
- New MRR signed movement (signed currency units)Source: Calculated output
bridgeMovements.expansion = expansion MRRWhere
- expansionMrr
- Expansion MRR (currency units on one consistent period basis)Source: Business record
- bridgeMovements.expansion
- Expansion MRR signed movement (signed currency units)Source: Calculated output
bridgeMovements.contraction = −contraction MRRWhere
- contractionMrr
- Contraction MRR (currency units on one consistent period basis)Source: Business record
- bridgeMovements.contraction
- Contraction MRR signed movement (signed currency units)Source: Calculated output
bridgeMovements.churn = −churned MRRWhere
- churnedMrr
- Churned MRR (currency units on one consistent period basis)Source: Business record
- bridgeMovements.churn
- Churned MRR signed movement (signed currency units)Source: Calculated output
converterArr = converterRecurringRevenue × 12Where
- arr
- Closing ARR (money)Source: Calculated output
- converterRecurringRevenue
- Entered MRR or ARR run-rate (currency run-rate)Source: Business record
- converterArr
- Converted ARR (annual currency run-rate)Source: Calculated output
converterMrr = converterRecurringRevenue ÷ 12Where
- converterRecurringRevenue
- Entered MRR or ARR run-rate (currency run-rate)Source: Business record
- converterMrr
- Converted MRR (monthly currency run-rate)Source: Calculated output
Money inputs and outputs use the currency selected in the scenario without changing the canonical methodology. Rates, margins, utilisation and buffers are entered as percentages and converted to decimal values for calculation.
2. Worked example
Input assumptions
Worked values below come from the same registered engine and visible default assumptions.
Calculation and outputs
Example
Worked values below come from the same registered engine and visible default assumptions.
- Closing MRR
- 110.00 currency units
- Closing ARR
- 1,320.00 currency units
- Gross revenue retention (GRR)
- 80%
- Net revenue retention (NRR)
- 90%
- Bridge reconciliation
- 0.00 currency units
- Opening MRR signed movement
- 100.00 currency units
- New MRR signed movement
- 20.00 currency units
- Expansion MRR signed movement
- 10.00 currency units
- Contraction MRR signed movement
- -5.00 currency units
- Churned MRR signed movement
- -15.00 currency units
- Converter entered MRR
- 1,000.00 currency units
- Converter resulting ARR
- 12,000.00 currency units
The exact engine-derived outputs are shown in the labelled rows below.
Interpretation
Use the reconciled bridge to explain recurring-revenue movement; treat GRR and NRR as cohort diagnostics rather than forecasts.
3. Validation and boundary checks
- All five movements must be finite and non-negative; contraction plus churn cannot exceed opening MRR.
- Closing MRR must reconcile exactly to opening plus new and expansion less contraction and churn.
- Opening MRR of zero returns unavailable GRR and NRR instead of Infinity or a fabricated rate.
- GRR excludes both expansion and new MRR; NRR includes expansion but excludes new MRR.
- The embedded converter accepts exactly one monthly or annual basis and preserves MRR × 12 = ARR in both directions.
- Zero recurring revenue remains a valid zero run-rate; invalid or non-finite values fail closed.
4. Assumptions and source classification
- All movements use the same monthly recurring-revenue definition and currency basis.
- MRR and ARR are run-rate planning measures, not recognised-revenue measures.
- No provider benchmark, market default, country rule or policy constant is embedded.
- The embedded converter uses the same currency and recurring-revenue definition as the owner bridge.
This planner has no current policy-data dependency. Its commercial assumptions are user supplied. Registered family-level regression suites exercise the shared business-logic engine and worked-result reconciliation.
5. Limitations
- The bridge does not forecast future revenue or imply revenue-recognition treatment.
- The retention modules do not diagnose the causes of contraction, churn or expansion.
- The converter changes cadence only; it does not forecast growth, cash timing or revenue recognition.
- It does not replace financial, accounting, tax or legal advice.
This is educational decision support, not tax, accounting, legal or financial advice. Check the treatment of your actual transactions under the rules that apply to your business and seek qualified advice where appropriate.
6. Update and evidence policy
Registered family-level suites test formula invariants and example reconciliation; the release ledger records that coverage without claiming a separate oracle for every line of public copy. There is no official threshold or benchmark to refresh for this planner. Commercial inputs remain user-supplied because they vary by business and contract.
Change history
- : Initial public release of the planner and methodology after pre-launch calculation, content, source and interaction review.
Related reading
Guides to interpret the decision and its assumptions.
- SaaS Unit Economics: Contribution, CAC, Churn and Cash
Connect contribution, acquisition cost, retention and cash timing while keeping cohort and horizon boundaries explicit.
Read guide