Why this matters
Net dollar retention (NDR), also called net revenue retention (NRR), answers one question: if you stopped acquiring new customers today, would your revenue grow or shrink?
Above 100%, your existing customers grow faster than they leave. Every new cohort you add sits on top of a base that is already expanding, and growth compounds. Below 100%, you have to replace lost revenue before you can grow at all, so acquisition spend works harder for less.
That is why investors read NDR closely and why it is the final lesson in this course. It pulls together everything before it: activation decides who sticks, retention decides who stays, and pricing and upsells decide how much the ones who stay grow.
The framework
Pick a fixed cohort: every customer paying at the start of the period. Track only their revenue over the period. Split every change into one of three buckets.
- Expansion. More revenue from the same customer: upgrades, more seats, more usage, add-ons, price increases.
- Contraction. Less revenue from a customer who stays: downgrades, fewer seats, lower usage, discounts at renewal.
- Churn. Revenue lost from customers who leave completely.
Definitions differ, so read the fine print
Public companies define NDR in their own way. Snowflake’s 10-K, for example, uses a trailing two-year window. The cohort is customers under capacity contracts who used the platform in the first month of the first year, and the rate divides that cohort’s product revenue in year two by its product revenue in year one. Customers who stopped using the platform stay in at zero. Datadog reports a trailing 12-month figure as a range. Before you compare your number with anyone’s, check the window, the cohort rule and which revenue is counted.
Use the slider to feel GRR leakage
GRR is a funnel: you start with 100% of the cohort’s revenue, and churn and downgrades take slices out. Set the two retention rates below to see how much revenue survives before any expansion.
- 92% step conv. · −80,000 lost
- 96% step conv. · −36,800 lost
Overall conversion: 88% (883,200 of 1,000,000 $ ARR)
Weakest step: Kept after logo churn converts only 92% of the previous stage (Starting ARR from the cohort ($)), losing 80,000 $ ARR.
Step-by-step playbook
- Build a revenue movement table. For every customer, every month: starting MRR, ending MRR, and a tag for new, expansion, contraction, churn or reactivation. Do it in your billing data, not your CRM.
- Lock the cohort. For a trailing 12-month NDR, take all customers paying 12 months ago. Sum their MRR then and now. Churned customers stay in at zero. Customers who joined since are excluded.
- Calculate NDR and GRR together. Report both every month as trailing 12-month figures, and split them by segment (SMB, mid-market, enterprise), plan, region and acquisition channel.
- Find the biggest leak. Rank churn and contraction reasons by revenue, not by count. One lost enterprise account can matter more than 50 small ones.
- Fix GRR first. Typical high-return fixes: onboarding to activation, a customer health score with alerts, a renewal playbook that starts 90 days before the date, failed-payment recovery (card updater, retries, dunning emails), and save offers like pause or downgrade instead of cancel.
- Then build expansion. Use the triggers from the previous lesson: usage allowances, seat growth, add-ons and gated features. Add a regular price-increase review for existing customers, with notice and grandfathering.
- Set targets by segment. Enterprise accounts usually expand more and churn less than SMB, so a single company-wide target hides a lot. Set NDR and GRR targets per segment.
- Review quarterly with finance. Reconcile the movement table with recognised revenue so that the number is trusted in board meetings.
Levers that raise NDR
The biggest lever for most SMB-heavy businesses.
- Onboarding that reaches activation in the first week
- Health score built from usage, support tickets and payment status
- Renewal playbook starting 90 days out
- Failed-payment recovery: retries, card updater, dunning emails
Downgrades often signal low adoption, not low budget.
- Find accounts paying for seats or usage they do not use, and help them adopt before renewal
- Offer annual commits with a discount to lock in volume
- Train customer success to sell value, not to give discounts
Make the bill grow as the customer grows.
- Usage or hybrid pricing on the value metric
- Seat and limit triggers with one-click upgrades
- Add-on modules for advanced needs
- Multi-product cross-sell, the pattern Datadog describes
Often the fastest lever, and the riskiest.
- Raise prices on new plans first, then for existing customers with 30 to 90 days notice
- Pair every increase with visible new value
- Track GRR closely for two quarters after any increase
Worked example
Hypothetical. Say a B2B SaaS has customers paying $1,000,000 ARR on 1 January. Over the year, the same cohort shows:
| Movement | Amount |
|---|---|
| Starting ARR | $1,000,000 |
| Expansion (upgrades, seats, usage, add-ons) | +$220,000 |
| Contraction (downgrades, fewer seats) | −$40,000 |
| Churn (customers who left) | −$80,000 |
| New customers won during the year | +$350,000 (excluded) |
NDR:
NDR = (1,000,000 + 220,000 − 40,000 − 80,000) ÷ 1,000,000
= 1,100,000 ÷ 1,000,000 = 110%
GRR:
GRR = (1,000,000 − 40,000 − 80,000) ÷ 1,000,000
= 880,000 ÷ 1,000,000 = 88%
Decomposition:
Expansion rate = 220,000 ÷ 1,000,000 = 22%
Contraction rate = 40,000 ÷ 1,000,000 = 4%
Churn rate = 80,000 ÷ 1,000,000 = 8%
Check: 100% + 22% − 4% − 8% = 110%
Total ending ARR is 1,100,000 + 350,000 = $1,450,000, 45% growth. Of that 45 points, 10 came from the existing base and 35 from new customers.
What-if. Halve churn to $40,000 with a better onboarding and renewal programme:
New NDR = (1,000,000 + 220,000 − 40,000 − 40,000) ÷ 1,000,000 = 114%
New GRR = (1,000,000 − 40,000 − 40,000) ÷ 1,000,000 = 92%
Now look at the next year. At 110% NDR, this year’s ending ARR of $1,450,000 becomes about 1,450,000 × 1.10 = $1,595,000 before any new sales. At 114% it becomes about 1,450,000 × 1.14 = $1,653,000. The 4-point gain is worth about $58,000 of extra ARR next year with no new acquisition spend, and the gap widens every year after.
B2B SaaS vs D2C: what changes
D2C brands rarely report NDR, but the same idea works with cohort revenue retention.
Hypothetical. A D2C coffee brand acquires 20,000 customers in 2025 who spend ₹2.4 crore that year. In 2026 the same customers spend ₹1.56 crore. Cohort revenue retention is 1.56 ÷ 2.4 = 65%. If subscribers within that cohort retain at 90% and one-time buyers at 45%, the clearest lever is moving more buyers onto subscription.
| Topic | B2B SaaS | D2C |
|---|---|---|
| Metric name | NDR / NRR and GRR | Cohort revenue retention, repeat revenue share |
| Expansion | Upgrades, seats, usage, add-ons, price rises | Higher AOV, more orders per year, subscriptions, new categories |
| Contraction | Downgrades, fewer seats | Smaller baskets, longer gaps between orders |
| Churn | Contract not renewed, cancellation | No purchase in a defined window (for example 180 days) |
| Main levers | Health scores, renewals, usage pricing | Replenishment reminders, subscribe and save, loyalty, cross-sell |
How to measure it
| Metric | Numerator | Denominator | Window and segment |
|---|---|---|---|
| NDR | Cohort’s current recurring revenue (churned at zero) | Same cohort’s recurring revenue at start | Trailing 12 months; by segment, plan, region, channel |
| GRR | Cohort’s starting revenue minus contraction and churn | Cohort’s starting revenue | Trailing 12 months; cap each customer at their starting value |
| Expansion rate | Expansion revenue from the cohort | Cohort’s starting revenue | Same window |
| Contraction rate | Contraction revenue | Cohort’s starting revenue | Same window |
| Revenue churn rate | Revenue from customers who left | Cohort’s starting revenue | Same window |
| D2C cohort revenue retention | Cohort revenue in year N | Cohort revenue in year 1 | Annual cohorts by first-order month and channel |
A few rules keep the number honest:
- Use recurring revenue only. Leave out one-time setup fees and services.
- Hold currency constant. For multi-currency businesses, convert at a fixed rate so exchange moves do not look like expansion.
- Cap GRR per customer. A customer who downgrades in March and upgrades in June counts at no more than their starting value in GRR.
- Treat reactivations separately. A churned customer who returns is not expansion. Track them on their own line.
- No universal benchmark. Published figures depend on segment, pricing model and definition. Benchmark against your own trend and against companies whose definition you have read.
Templates
Monthly NDR report
| Segment | Starting ARR | Expansion | Contraction | Churn | NDR | GRR |
|---|---|---|---|---|---|---|
| SMB | ||||||
| Mid-market | ||||||
| Enterprise | ||||||
| Total |
Add three lines under the table every month: the top churn reason by revenue, the top expansion source by revenue, and the one action you are taking next month.