You are on a call with an investor. You have just finished explaining your MRR growth. They nod, then ask: "What is your NRR?"
This is not a casual question. NRR — Net Revenue Retention — has become the single most important metric in SaaS valuation. It tells investors something MRR growth cannot: whether your existing customers are staying, expanding, or quietly leaving.
A business with 115% NRR is growing its revenue base from existing customers alone. A business with 85% NRR is losing ground every month even if it is acquiring new customers fast enough to hide it. These two businesses look similar on a revenue growth chart. They look completely different to an investor who knows what NRR reveals.
This guide explains exactly what NRR measures, how to calculate it correctly from Stripe data, what the benchmarks are by company segment, and why it has become the defining health metric for SaaS in 2026.
What Net Revenue Retention Actually Measures
NRR measures what happened to the revenue from your existing customers over a period of time. It captures four things simultaneously:
- Retained revenue — customers who stayed and paid the same amount
- Expansion revenue — customers who upgraded, added seats, or increased usage
- Contraction revenue — customers who downgraded or reduced their plan
- Churned revenue — customers who cancelled entirely
The formula combines all four into a single percentage that tells you the net direction of your existing revenue base.
NRR = (Starting MRR + Expansion MRR − Contraction MRR − Churned MRR) ÷ Starting MRR × 100
The key word is "existing." NRR deliberately excludes new customers acquired during the measurement period. This is what makes it so revealing — it isolates the health of your existing relationship with current customers from the noise of new customer acquisition.
NRR vs GRR: Understanding the Difference
NRR and GRR are often confused. They measure related but different things.
GRR (Gross Revenue Retention) measures how much of your existing revenue you kept, without counting expansion. It can never exceed 100% because it only captures retention and churn — expansion is excluded by definition.
GRR = (Starting MRR − Contraction MRR − Churned MRR) ÷ Starting MRR × 100
NRR includes expansion revenue on top of retention, so it can exceed 100% when customers are growing their spend faster than others are churning or contracting.
| Metric | Includes expansion? | Can exceed 100%? | What it shows |
|---|---|---|---|
| GRR | No | Never | Retention floor |
| NRR | Yes | Yes | Net revenue trajectory |
GRR is your floor — the worst case if you had no expansion at all. NRR is your actual trajectory. Both metrics together tell a complete story. Strong GRR with weak NRR means you are keeping customers but not growing their accounts. Weak GRR with strong NRR means expansion is masking a churn problem — dangerous because expansion can slow.
A Worked Example: Calculating NRR Step by Step
Let's take a SaaS business with 50 customers at the start of January. Total MRR from these 50 customers: $40,000.
By the end of January, here is what happened to these same 50 customers (no new customers counted):
| Event | Customers | MRR Impact |
|---|---|---|
| Stayed at same plan | 38 | $0 |
| Upgraded plan | 6 | +$3,200 |
| Downgraded plan | 3 | −$800 |
| Churned | 3 | −$2,100 |
| Ending cohort MRR | $40,300 |
NRR = ($40,000 + $3,200 − $800 − $2,100) ÷ $40,000 × 100
NRR = $40,300 ÷ $40,000 × 100 = 100.75%
NRR of 100.75% means this cohort of existing customers is slightly growing. Expansion revenue ($3,200) more than offset churn ($2,100) and contraction ($800). For every $100 in starting MRR, this business now has $100.75 from the same customers — without acquiring anyone new.
Now let's calculate GRR for the same cohort:
GRR = ($40,000 − $800 − $2,100) ÷ $40,000 × 100
GRR = $37,100 ÷ $40,000 × 100 = 92.75%
GRR of 92.75% shows the retention floor — without expansion, this business would be losing 7.25% of its existing revenue base each month. Expansion revenue is doing a lot of work here.
NRR Benchmarks by Segment
What counts as "good" NRR depends heavily on your customer segment. Enterprise customers have longer contracts and lower churn — but also lower expansion velocity. SMB customers churn faster but can expand quickly through seat-based pricing.
| Segment | Concerning | Healthy | Best-in-class |
|---|---|---|---|
| SMB SaaS | Below 85% | 90–100% | 105%+ |
| Mid-market SaaS | Below 90% | 100–110% | 115%+ |
| Enterprise SaaS | Below 100% | 110–120% | 130%+ |
| Usage-based SaaS | Below 95% | 110–120% | 140%+ |
Usage-based pricing models — where customers pay for what they consume — tend to produce the highest NRR because expansion happens naturally as customers grow. Snowflake's NRR exceeded 150% during its peak growth phase entirely because of consumption-driven expansion.
Why NRR Has Become the Defining SaaS Metric
Before 2022, investors rewarded growth at almost any cost. MRR growth rate was the primary metric. If you were growing 100% year over year, churn was a secondary concern.
After the market correction of 2022–2023, the calculus changed completely. Capital became expensive. The ability to grow efficiently — to extract more revenue from existing customers without burning cash on acquisition — became the primary value signal.
NRR above 100% means something specific: your business can grow without new customers. In a world where CAC is high and conversion rates are unpredictable, this is the most valuable property a SaaS business can have.
The math of compounding makes this dramatic over time. Consider two businesses both starting at $1M ARR:
| Year | 80% NRR (no new customers) | 120% NRR (no new customers) |
|---|---|---|
| Year 1 | $800k | $1.2M |
| Year 2 | $640k | $1.44M |
| Year 3 | $512k | $1.73M |
| Year 5 | $328k | $2.49M |
Starting from the same base, five years of compounding produces a 7.6x difference in revenue — without acquiring a single new customer. This is why NRR matters more than almost any other metric.
How to Calculate NRR Correctly from Stripe Data
Calculating NRR from Stripe is harder than it sounds. The main challenges are correctly classifying expansion events, handling involuntary churn separately from voluntary churn, and building consistent cohorts.
Step 1: Define your cohort
Pick a start date and identify all customers who had active subscriptions on that date. This is your cohort. Only these customers are included in the NRR calculation — new customers acquired after the start date are excluded.
Step 2: Calculate starting MRR for the cohort
Sum the normalized monthly value of all subscriptions for cohort customers on the start date. Annual contracts divide by 12. Quarterly contracts divide by 3.
Step 3: Identify expansion events
In Stripe, expansion shows up as subscription updates where the amount increases. Look for customer.subscription.updated events where the new plan amount is higher than the previous amount. Be careful to exclude new subscriptions from new customers — only subscription upgrades from existing cohort customers count as expansion.
Step 4: Identify contraction events
Contraction is the reverse — subscription updates where the amount decreases. Downgrade events in Stripe fire as customer.subscription.updated with a lower plan amount. Paused subscriptions also count as contraction if they reduce billed amount.
Step 5: Identify churn
Churn in Stripe fires as customer.subscription.deleted. Critically, separate voluntary churn (customer explicitly cancelled) from involuntary churn (subscription cancelled due to payment failure after dunning exhausted). These two types require different responses and should be reported separately even though both reduce NRR.
Step 6: Calculate ending cohort MRR
Ending cohort MRR = Starting MRR + Expansion − Contraction − Churn
Step 7: Calculate NRR
NRR = Ending cohort MRR ÷ Starting cohort MRR × 100
The most common mistake is including new customer revenue in the ending cohort MRR. This inflates NRR and produces a number that looks like strong retention but actually reflects new customer acquisition.
Common NRR Calculation Mistakes
- Including new customers in the cohort. NRR only measures what happened to customers who existed at the start of the period. Any new customer acquired during the period is excluded entirely.
- Mixing voluntary and involuntary churn. Involuntary churn from failed payments is recoverable. Voluntary churn signals product or pricing problems. Mixing them gives you a misleading composite number and obscures which intervention is needed.
- Not normalizing annual contracts. A customer who upgrades from a $1,200 annual plan to a $2,400 annual plan generates $100/month expansion — not $1,200 in one month. NRR must be calculated on normalized monthly values.
- Calculating NRR on total revenue instead of cohort revenue. Some teams calculate NRR by comparing total MRR at the end of a period to total MRR at the start, then subtracting new customer MRR. This produces errors when customers have partial-month subscriptions or when the definition of "new" is inconsistent.
- Using a one-month window for NRR. Monthly NRR is noisy — a few large churns or upgrades in one month can swing the number dramatically. The most meaningful NRR calculation uses a 12-month trailing cohort.
How to Improve NRR
NRR has two levers: reduce revenue leaving (churn and contraction) and increase revenue expanding (upgrades and upsells).
Reducing churn and contraction
- Fix involuntary churn first — it is the easiest win. A proper dunning sequence recovers 50-70% of failed payments. See our complete guide to Stripe failed payment recovery.
- Identify at-risk customers early using health scores based on usage, login frequency, and support ticket volume.
- Build a proactive customer success motion for accounts showing declining engagement before they churn.
- Investigate downgrade patterns — customers who downgrade are signalling they are getting less value than they pay for.
Increasing expansion
- Build natural expansion paths into your pricing — seat-based, usage-based, or feature-gated tiers that customers grow into as they get value.
- Track product usage to identify customers who are hitting plan limits and proactively offer upgrades before they feel constrained.
- Time expansion conversations around value moments — renewals, successful outcomes, new team members added.
What Dnoise Shows You
Dnoise calculates NRR from Stripe source events using proper cohort logic — existing customers only, with expansion, contraction, voluntary churn, and involuntary churn tracked as separate streams.
- Cohort-based calculation. NRR is calculated on defined cohorts of existing customers, not on total MRR movements. New customers never inflate the number.
- Churn separation. Voluntary and involuntary churn are tracked separately. Your NRR report shows both the headline number and a breakdown of what is driving it.
- Trailing 12-month view. NRR is shown as a 12-month trailing metric to smooth out monthly noise, alongside the monthly trend so you can see the direction of change.
- GRR alongside NRR. Both metrics are shown together so you can immediately see how much work expansion is doing to offset churn.
Every number is traced to source Stripe events. If your NRR drops this month, Dnoise shows you exactly which cohort customers churned, which downgraded, and which failed to pay. See also: NRR definition in the Metrics Library and GRR definition.
See your real NRR in minutes.
Connect Stripe and Dnoise calculates your NRR, GRR, and full cohort breakdown — with every number traced to source events.
See live demo Connect Stripe — freeSummary
NRR is the metric that reveals the compounding power — or the compounding decay — of your existing customer base. It answers the question investors care most about: if you stopped acquiring new customers tomorrow, would your revenue grow, stay flat, or shrink?
Above 100%, you have net negative churn. Your existing customers are growing their spend faster than others are leaving. This is the most powerful growth dynamic in SaaS and the primary driver of high valuations in the current market.
Below 100%, every month you need to acquire new customers just to replace the revenue you are losing from existing ones. Growth is possible but expensive and fragile.
The correct NRR calculation uses proper cohorts, separates voluntary from involuntary churn, normalizes all contract values to monthly, and excludes new customers entirely. Most Stripe dashboards do not calculate this correctly. Understanding the difference between your reported NRR and your actual NRR is the first step to improving it.
Frequently Asked Questions
What is a good NRR for SaaS?
It depends on your segment. For SMB SaaS, 90–100% is healthy. For mid-market SaaS, 100–110% is strong. For enterprise SaaS, 120%+ is best-in-class. Usage-based models can reach 140%+ due to natural consumption expansion. Below 85% in any segment signals a retention problem that will compound over time and needs immediate attention.
What is the difference between NRR and GRR?
NRR includes expansion revenue so it can exceed 100%. GRR only measures revenue retained without counting expansion, so it is always 100% or below. GRR shows your retention floor — what you keep if no one expands. NRR shows net trajectory including growth from existing customers. Both together reveal whether expansion is masking a churn problem, or whether retention is strong enough to support the business without heavy expansion.
How do you calculate NRR from Stripe data?
Define a cohort of customers active at the start of a period. Sum their starting MRR. At the end of the period, calculate the MRR from that same cohort: add expansion from upgrades, subtract contraction from downgrades, subtract churned MRR. Divide ending cohort MRR by starting cohort MRR and multiply by 100. The critical rule: never include new customers acquired during the period in the ending cohort MRR. See the full NRR formula in the Metrics Library.
Can NRR exceed 100%?
Yes. NRR exceeds 100% when expansion revenue from existing customers — through upsells, seat additions, usage growth, or plan upgrades — is greater than revenue lost to churn and downgrades. This is called net negative churn. A business with 110% NRR grows its revenue from existing customers by 10% every period, independent of new customer acquisition. This is the most powerful compounding dynamic in SaaS.
Why do investors focus on NRR?
NRR reveals the compounding power of the existing customer base. High NRR means the business can grow without acquiring new customers, which reduces CAC dependency and demonstrates strong product-market fit. In the current funding environment, NRR above 100% is one of the primary signals investors use to assess whether a SaaS business has durable, scalable economics. It is also harder to manipulate than MRR growth, which can be inflated by aggressive new customer acquisition.