NDR = (starting revenue + expansion − contraction − churn) ÷ starting revenue
One cohort, followed forward. New customers never appear.
Stripe describes net revenue retention the same way: it captures expansion, contraction, and churn together for the existing base.
New customers must stay out
This is the error that makes most published NDR figures unusable. Including new business turns the metric into a growth number, and a fast-growing company can report NDR well above 100% while its existing customers leave steadily.
The cohort is fixed on day one of the window. Anyone who arrives after is someone else's metric.
The three movements
| Movement | Means |
|---|---|
| Expansion | Seats, tiers, volume, a second product. See expansion rate |
| Contraction | Downgrades and seat reductions. The customer stayed, the revenue fell |
| Churn | The customer left. See churn rate |
Contraction is the one teams forget. A base with no logo churn and steady downgrades looks perfectly retained on a customer count and is quietly shrinking.
Above 100% is not automatically good
NDR of 115% means the base grew 15% without acquisition, which is genuinely strong. But two businesses can report 115% and be nothing alike:
- Broad expansion: most customers grew a little. Durable.
- Concentrated expansion: two accounts tripled and everyone else was flat
or shrank. Fragile, and it reverses the quarter one of them leaves.
Report the distribution, or at least the contribution of the top five accounts. A single ratio cannot distinguish these and the difference is the whole story.
A worked example
A cohort of 250 customers worth $2,000,000 at the start of the year. Twelve months later: $310,000 of expansion, $74,000 of contraction, $180,000 churned.
NDR = (2,000,000 + 310,000 − 74,000 − 180,000) ÷ 2,000,000 = 102.8%
Just above flat. The headline hides that expansion of 15.5% was almost entirely consumed by 12.7% of losses, which is a retention problem wearing a passing grade. Reporting expansion and churn separately is what surfaces it.
The definition choices to state
- Window. Twelve months is standard. Quarterly annualised is noisier and
not comparable to it.
- Downgrades. In contraction, always. Some teams net them into expansion,
which flatters.
- Reactivation. A customer who churned and returned: new, or restored? Both
are defensible, and the choice changes the number.
- Currency. Constant or actual. FX movement can shift NDR by points.
The traps
- New customers in the numerator.
- Logo-based rather than revenue-based, which is a different metric entirely.
- Comparing to a benchmark without matching the window.
- Reading NDR without gross churn beside it.
- Changing the treatment of downgrades mid-series.
Where this sits
NDR is Measurement in the Tenbound Pipeline Architecture Standard, and it is the metric that most reliably exposes a Market problem. Accounts acquired outside the ICP expand less and churn more, so a persistent NDR problem is usually a targeting finding arriving a year late.