Net revenue retention: benchmarks and how product work improves it
Median NRR for private B2B SaaS sits around 101% to 102%. Here is how to calculate NRR and GRR, what good looks like, and the product levers that move it.
In short: Net revenue retention (NRR) is the revenue you keep from last year's customers, including their upgrades, divided by what they paid last year. Gross revenue retention (GRR) is the same number with upgrades stripped out. The median private B2B SaaS company lands around 101% to 102% NRR and 84% to 91% GRR depending on the survey, and for e-commerce apps with small contract values the medians are lower. The product levers that move NRR are usage-based tiers, upsell moments placed after a merchant gets a result, and fewer downgrades.
What is net revenue retention, and how is it different from gross?
Both metrics start with the same cohort, the customers you had twelve months ago, and ask what that cohort pays you today.
SaaS Capital's 2025 retention benchmarks define NRR as the MRR in December 2024 from customers who were already customers in December 2023, divided by total MRR in December 2023. GRR uses the same formula but excludes upsells, cross-sells and price increases. That is why GRR can never go above 100% and NRR can.
A worked example for a Shopify app. In January you have 500 merchants paying a combined $100,000 a month. Over the year:
| Movement | Monthly revenue effect |
|---|---|
| 40 merchants uninstall | minus $8,000 |
| 30 merchants downgrade a tier | minus $4,000 |
| 60 merchants upgrade a tier or grow into a higher usage band | plus $15,000 |
GRR = ($100,000 minus $8,000 minus $4,000) / $100,000 = 88%.
NRR = ($100,000 minus $8,000 minus $4,000 plus $15,000) / $100,000 = 103%.
The same cohort, two different stories. GRR says you leaked 12% of the base. NRR says the base still grew 3% without a single new install. New merchants added in the year do not count in either number.
NRR tells you whether the business can grow on its existing customers. GRR tells you how big the hole is that expansion has to fill. A company with 105% NRR and 80% GRR is running hard to stand still. The same NRR on 92% GRR is healthy.
What is a good net revenue retention benchmark?
Two recent surveys give a consistent picture, and the cuts by segment matter more than the headline.
SaaS Capital's 2025 survey, its 14th annual, had more than 1,000 private B2B SaaS companies respond. Across all of them the median NRR was 101% and the median GRR was 91%. Its chart by annual contract value (which excludes companies under $1M ARR) shows the under-$12k ACV band at 98% median NRR and 90% median GRR. Multi-year contracts sit at 103% NRR and 94% GRR, annual contracts at 101% and 90%, and month-to-month at 100% and 89%.
Aleph's summary of the 2026 Aleph x Benchmarkit report, built on full-year 2025 data from 342 SaaS and AI-native companies (230 of which reported NRR), puts the median NRR at 102%, the top quartile at 110% and the bottom quartile at 92%. Companies under $5M ARR had a 94% median. Its GRR page reports a median GRR of 84% across 226 reporting companies, with product-led companies at 79% and sub-$5k ACV companies at 80%.
How I read it for e-commerce SaaS:
| Situation | NRR | GRR |
|---|---|---|
| Most Shopify apps (month-to-month, ACV under $12k) | around 98% to 100% | around 89% to 90% |
| Median private B2B SaaS | 101% to 102% | 84% to 91% |
| Top quartile | 110% and up | 91% and up |
Three caveats. These are self-reported surveys, not audited numbers. The two samples differ, which is why the GRR medians are 7 points apart. And most Shopify and TikTok Shop apps sit at the small-contract end, where the benchmarks are lowest and the spread is widest. If you charge $29 to $299 a month and your NRR is 100%, you are at the median for your segment, not behind it.
One more number from SaaS Capital: moving NRR from the 100% to 110% band into the 110% to 120% band came with a 9 point higher median growth rate. Its summary puts it plainly. GRR of at least 90% is table stakes, and growth correlates with NRR, not GRR.
Why is NRR lower for e-commerce apps than for enterprise SaaS?
Because the contract is small and the merchant can leave in two clicks. Enterprise software has a sales cycle, an implementation, and an account manager. A $49 a month Shopify app has an install button and an uninstall button. SaaS Capital's data shows net and gross retention rising with ACV for exactly that reason.
There is a second reason specific to this market. Merchant revenue is seasonal and uneven. A brand that did $2M in Q4 may do $400k in Q1, and if your pricing scales with their orders or affiliate revenue, your MRR from them drops in January through no fault of yours. The same thing happens when a TikTok Shop seller's hero product stops converting. Your NRR inherits their volatility.
So the question for a product team is not "how do we get to 120% NRR like a database company". It is "how do we get the merchants who are growing to grow with us, and how do we stop the flat ones from leaving or downgrading".
Which product levers move NRR?
NRR has three inputs you can design for. Expansion, contraction, and churn.
Usage-based tiers that grow with the merchant
Aleph's summary of the Aleph x Benchmarkit data reports usage-based companies at a median NRR of 108% against 98% for seat-based. That is a 10 point gap that comes from pricing structure alone, before any upsell work.
For an e-commerce app the usage unit should be the thing the merchant already measures success by. Orders. Affiliate-attributed revenue. Creators messaged. When the merchant grows, they cross into the next band and your revenue grows with them. They never had to decide to upgrade.
Two rules from shipping this. The unit must be something the merchant sees as a win, not a cost. "You tracked $50,000 in affiliate sales this month" feels like growth. "You used 10,000 API calls" feels like a bill. And warn before the band changes, not after. A surprise invoice is the fastest route from expansion to a downgrade request.
Upsell moments inside the product, after a result
The upgrade prompt belongs at the moment the merchant has just seen the value of the thing the next tier unlocks. First affiliate sale on screen, then "want to add a second commission tier for your top affiliates?". First creator reply in the inbox, then "automate the follow-up for the other 40 you messaged". Not on login.
I cover placement, cohort targeting and copy in in-app upsell design. The short version: an upsell shown to a merchant who has not had a result yet is noise, and it costs you the trust you need for the next one.
Fewer downgrades
Contraction is the lever nobody owns. It sits between customer success and product, and it shows up in NRR a quarter after the cause.
Downgrades in e-commerce apps usually come from three places:
- The merchant hit a limit, got charged or blocked, and moved down in protest. Fix: show the limit before they hit it, and make the upgrade dialog show what they keep.
- The merchant's own revenue dropped (seasonal, a product discontinued, a channel dried up) and your plan looked expensive against it. Fix: a usage-based tier that floats down automatically keeps the merchant instead of forcing a choice.
- The merchant only uses one feature of a multi-feature plan. Fix: that is a churn signal, and the answer is activation on the second feature, not a discount.
The plan picker matters here too. A downgrade flow that shows exactly which affiliates, workflows or creator conversations will pause produces fewer downgrades than one that just shows a cheaper price.
Price increases, carefully
NRR counts price increases as expansion, which is why some companies report 110% NRR while their customers use less. It works once. In a market where every merchant reads App Store reviews before installing, a price increase with no new result behind it shows up as a one-star review and a GRR problem the following year.
How do I measure NRR in a way that leads to product decisions?
The annual cohort number is for the board. For product work you need the same calculation at a monthly grain, split by the things you can change.
- NRR by plan. If the $99 tier has 94% NRR and the $299 tier has 112%, the question is what gets a merchant from one to the other, and the answer is usually a specific feature.
- NRR by acquisition channel. App Store installs, agency referrals and TikTok Shop partner listings behave differently.
- Expansion, contraction and churn as three separate lines. One going the right way can mask another going the wrong way.
- Expansion attributed to a prompt versus organic. Tag every in-product upsell with the surface it came from. If none of your expansion is attributed to prompts, they are either not working or not tracked.
I moved from customer success into product design at Social Snowball, and the retention view I would build first anywhere is not the headline number. It is the list of merchants who downgraded in the last 30 days with the reason next to each one, because most of those reasons are things a product change can remove. More on that path on the about page.
If you have a customer health score, NRR by health band is the most useful cut of all. It tells you whether expansion is coming from healthy merchants (sustainable) or from merchants you are about to lose (not).
Where to start
- Calculate NRR and GRR for the cohort of merchants you had twelve months ago, using the SaaS Capital formula above. Write both numbers down side by side.
- Split the last 90 days of MRR movement into three lists: upgrades, downgrades and uninstalls. Read every downgrade reason. That list is your product roadmap for contraction.
- Check whether your pricing unit is something the merchant celebrates or something they resent. If it is the second, that is the first thing to change.
- Find the one moment in your product where a merchant sees their first real result. Put your only upsell there, and tag it so you can see the expansion it produces.
- Set a monthly NRR view by plan in your analytics tool and look at it every month with the person who owns customer success.
Frequently asked questions
What is a good net revenue retention rate for a Shopify app?
For apps on month-to-month billing with contract values under $12,000 a year, SaaS Capital's 2025 survey shows medians of around 98% to 100% NRR and 89% to 90% GRR. Anything above 100% means your existing merchants are growing with you, and 110% would put you in the top quartile of all private B2B SaaS.
Can net revenue retention be over 100%?
Yes. NRR includes upgrades, cross-sells and price increases from existing customers, so it can go well above 100% when expansion outweighs churn and downgrades. Gross revenue retention excludes those gains and so is always 100% or lower.
Does NRR include new customers?
No. Both NRR and GRR only look at the customers you had at the start of the period and what that same group pays at the end. Revenue from merchants who installed during the period is excluded, which is what makes the metric a measure of retention and expansion rather than growth.
Is usage-based pricing better for net revenue retention?
The Aleph x Benchmarkit data on full-year 2025 reports usage-based companies at a median NRR of 108% compared with 98% for seat-based. The gap exists because growing customers expand automatically, but usage pricing also lets revenue fall when a merchant's volume drops, so it raises both the ceiling and the variance.