Measurement / calculator / Free to use
Fixed-Cohort GRR, NRR & Retention Bridge Calculator
Calculate snapshot-based gross, net and logo retention from anonymised account MRR endpoints. Inspect churn, contraction, expansion and excluded outside-cohort revenue.
Growthcraft Editorial · 2026-09-21. AI-assisted research and implementation. Examples are synthetic; Akshay's personal review is not claimed.
Enable JavaScript to change inputs in the interactive calculator. The complete formulas, default example and limitations are available below.
A fixed-cohort snapshot convention
Enter monthly-normalised recurring amounts at two precise snapshot times. Include all accounts in the intended base and explicitly confirm both endpoints. Only accounts with positive starting MRR join the retention cohort. Accounts starting at zero contribute only to the outside-cohort diagnostic, even if they were active before this period. This is not a vendor event importer or a cash-revenue calculator.
Formulas, units and constraints
For each starting account i, let sᵢ be starting MRR and eᵢ ending MRR in the same currency. S = sum(sᵢ), E = sum(eᵢ), G = sum(min(sᵢ,eᵢ)). GRR = G/S; NRR = E/S. Churn C sums sᵢ where eᵢ = 0. Contraction D sums max(0,sᵢ − eᵢ) for positive eᵢ. Expansion X sums max(0,eᵢ − sᵢ). Then S − C − D + X = E and S − C − D = G. Logo retention counts positive ending accounts divided by starting accounts.
Inputs are currency units with up to two decimals. Internally the model sums integer minor units, 100 per currency unit, and exports those units explicitly. Up to 1,000 unique account rows and 1 billion per endpoint are supported; unsupported precision, negative numbers, blanks, duplicates and non-finite values fail validation. A blank endpoint is unknown, never an implied zero. Other currency precision conventions require preprocessing and an approved conversion policy, not silent rounding.
Synthetic known-answer example
A: 100 → 140; B: 200 → 150; C: 100 → 0; D: 0 → 90. Starting MRR 400 minus churn 100 minus contraction 50 plus expansion 40 equals ending cohort MRR 290. GRR is 62.5%; NRR is 72.5%; logo retention is 66.67% rounded. Outside-cohort ending MRR is 90 and is excluded. Use Reset example to reproduce these values; Copy bridge and Download JSON preserve scope and results without exporting account IDs.
Interpret the gap, not just the headline
NRR can exceed 100% because expansion is included; this snapshot GRR cannot. If starting MRR is zero, both rates are undefined. Accounts with zero at both endpoints do not enter either denominator. Neither rate establishes customer satisfaction, causal campaign impact, contribution profit or the next period's forecast. A 10 percentage-point difference between NRR and GRR is not a 10% relative increase.
The observation interval must be stated. Do not compare a monthly cohort with a twelve-month cohort or annualise one month's losses as a prediction. The calculator does not inspect billing settings, detect omitted accounts or verify source completeness. Its arithmetic can be correct while an incomplete export is wrong.
What two snapshots cannot tell you
Churn followed by reactivation inside the interval, multiple plan movements, currency effects and intra-period concentration changes require additional records. Freeze segments and currency rates consistently. Review movement-based vendor outputs separately rather than forcing them to match endpoint netting. This tool is free and local; it does not send CSV to an LLM or use the homepage audit allowance.
Method background: ChartMogul GRR documentation, updated 11 September 2026, describes exclusions and segment settings. Stripe Billing analytics documentation, accessed 21 September 2026, documents configurable billing definitions and downloadable subscriber snapshots. This original snapshot method is not a vendor-certified reproduction of either platform.