Free tool

NRR & GRR calculator

Net and gross revenue retention side by side — because the gap between them is the number that actually tells you something. Add periods to see whether it is widening. Runs entirely in your browser.

Your cohort

Take every customer who was a customer at the start of the period and track only what happened to their revenue. New logos won during the period are excluded — that is the whole point of retention. Add a period to see whether the trend is improving.

Period Starting ARR Expansion Contraction Churn New business Remove

New business is optional — it is excluded from NRR and GRR by definition, and used only for the quick ratio.

Latest period
Net revenue retention

 

Gross revenue retention

 

Expansion gap

How many points of NRR are expansion rather than retention.

Quick ratio

Revenue gained for every dollar lost.

Where the revenue went

The movement from starting cohort ARR to ending cohort ARR.

What this is telling you

The formulas

Net revenue retention

NRR = (Starting ARR + Expansion − Contraction − Churn) ÷ Starting ARR

Includes expansion, so it can exceed 100%. Above 100% means the existing base grows with zero new sales.

Gross revenue retention

GRR = (Starting ARR − Contraction − Churn) ÷ Starting ARR

Expansion removed, so it is capped at 100%. This is the leak, with nothing covering it up.

Pick a definition and hold it constant

NRR is easy to move accidentally. The number changes materially depending on whether you measure over twelve months or annualise a quarter, whether you include customers who were mid-implementation at the start, whether a downgrade-then-upgrade inside the period nets to zero or counts as both movements, and whether usage overage is expansion or base revenue. None of those choices is wrong — but if the definition moves between periods, the trend line means nothing.

The terms behind the numbers

Definitions for everything this calculator touches.

Where did these numbers come from?

If assembling expansion, contraction and churn took a week of spreadsheet work, that is the real problem. Bunny computes retention from live billing data, because quoting, subscriptions, usage and invoicing share one system of record.

FAQ

Frequently asked questions

How is net revenue retention calculated?
NRR = (Starting ARR + Expansion − Contraction − Churn) ÷ Starting ARR. Take every customer who was a customer at the start of the period, add the expansion revenue they generated, subtract downgrades and cancellations, and divide by what that same group was worth at the start. New customers won during the period are excluded — NRR measures only what happened to the existing base.
How is gross revenue retention calculated?
GRR = (Starting ARR − Contraction − Churn) ÷ Starting ARR. It is NRR with expansion removed, so it can never exceed 100%. GRR measures how leaky the bucket is; NRR measures whether the base grows on its own.
What is a good NRR for B2B SaaS?
Benchmarks vary by segment, but roughly: below 90% is a leaky bucket, 100 to 110% is healthy, and above 120% is exceptional and usually driven by usage-based or seat-expansion pricing. Compare against companies with a similar pricing model — a usage-based business will post higher NRR than a flat-fee business for structural reasons rather than because it is better run.
What is a good GRR?
Most healthy B2B SaaS businesses sit between 85% and 95%, with enterprise-weighted businesses at the higher end and SMB-weighted businesses lower. Below 80% means a fifth of the base leaves every period.
Why does the gap between NRR and GRR matter?
The gap is the share of your NRR that comes from expansion rather than retention. A company can post 115% NRR while GRR falls from 92% to 84% — the headline looks fine, but a small number of accounts are expanding fast enough to mask a growing hole in the base. When expansion slows, the churn is suddenly visible with nothing offsetting it. A widening gap is a warning, not a win.
Should I include new business in the calculation?
No. Both NRR and GRR deliberately exclude customers acquired during the period, because the question they answer is whether the existing base grows or shrinks on its own. New business is used here only to compute the quick ratio, which measures revenue gained against revenue lost across the whole engine.
Does this tool send my numbers anywhere?
No. Everything runs in your browser. Nothing is transmitted, stored or logged, and the CSV export is generated locally.