Glossary

Five Ways to Calculate Net Revenue Retention From One Dataset

Taras Shynkarenko
Taras Shynkarenko
Updated: 7 min read
Five Ways to Calculate Net Revenue Retention From One DatasetFive Ways to Calculate Net Revenue Retention From One Dataset

TL;DR, Quick Answer

7 min read

Divide the recurring revenue an existing cohort produces at the end of a period by what the same cohort produced at the start, counting expansion, contraction and churn, and excluding new customers. One cohort of 320 accounts returns 110.3% on a trailing-twelve-month window, 104.5% on a single month, 109.5% against a broader base and 84.0% once expansion is stripped out. Publish the window and the base beside the number or it means nothing.

What is net revenue retention?

SaaS finance teams define net revenue retention as the recurring revenue a fixed group of existing customers produces at the end of a period divided by what that same group produced at the start, counting expansion, contraction and churn, and excluding every dollar from customers acquired during the period. Above 100% means the existing book grew on its own. Below 100% means the company has to sell new logos just to stand still.

This page exists because the formula has real variants and the variants change the answer. One dataset, run five ways, spans 26 points.

What is the net revenue retention formula?

The formula is starting recurring revenue plus expansion minus contraction minus churn, all divided by starting recurring revenue:

NRR = (starting MRR + expansion - contraction - churn) / starting MRR x 100

Take one cohort and work it. A company defines its cohort as the 320 accounts active in January 2026, worth $200,000 of MRR between them. Across the twelve months of 2026 those accounts add $41,000 of expansion MRR, lose $12,000 to downgrades and lose $20,000 to cancellations. Nothing else enters the calculation: the 90 accounts the company signed during 2026 are outside the cohort by definition.

NRR = (200,000 + 41,000 - 12,000 - 20,000) / 200,000 x 100
NRR = 209,000 / 200,000 x 100 = 104.5%

That is one answer. It is not the only defensible one.

Why does the same cohort produce five different retention numbers?

The formula fixes the arithmetic and leaves three decisions open: how long a window you measure, which customers sit in the denominator, and whether expansion counts. Here is the full monthly record for the cohort above, in thousands of dollars of MRR:

Month20252026
January200200
February200208
March200214
April200220
May200226
June200230
July200234
August200234
September200232
October200230
November200211
December200209
Year total2,4002,648

The cohort grew steadily through October 2026, then lost a large account in November. Alongside it, the 2025 signups who are outside the cohort were worth $62,000 of MRR in January 2026 and $78,000 in December 2026. Five accepted methods run over exactly these numbers:

VariantDenominatorNumeratorResult
Trailing twelve months against the prior twelve$2,400,000 (cohort revenue, 2025)$2,648,000 (cohort revenue, 2026)110.3%
Latest quarter annualised against the same quarter a year earlier$2,400,000 (Q4 2025 MRR x 12)$2,600,000 (Q4 2026 average MRR x 12)108.3%
Every customer active at period start, not the year-ago cohort$262,000 (Jan 2026 MRR, all accounts)$287,000 (Dec 2026 MRR, same accounts)109.5%
Single month, end against start$200,000 (Jan 2026 MRR)$209,000 (Dec 2026 MRR)104.5%
Gross retention, expansion removed$200,000 (Jan 2026 MRR)$168,000 (retained MRR)84.0%

Same accounts, same invoices, five numbers between 84.0% and 110.3%. Nobody in that table is cheating.

A finance team studies a monthly revenue chart, the kind of trailing-versus-single-month comparison this section works through.

Three decisions, one number
1
Pick the window. Trailing twelve months, or a single month end to end.
2
Pick the base. The year-ago cohort only, or every account active at period start.
3
Pick the scope. Count expansion for net retention, or strip it out for gross retention.
Same cohort, same invoices. These three choices turn one dataset into five numbers between 84.0% and 110.3%.

Should the window be a trailing twelve months or a single month?

A trailing-twelve-month window sums every invoice the cohort paid across the year, so a strong March still counts in December; a single-month window looks only at the two endpoints and throws the middle away. Run the arithmetic both ways on the cohort above. Twelve months of 2026 revenue is $2,648,000 against $2,400,000 in 2025, which is 110.3%. December 2026 MRR of $209,000 against January 2026 MRR of $200,000 is 104.5%. The 5.8 point gap is entirely the November account loss, which barely dents a twelve-month sum and lands at full weight on a single-month endpoint.

Snowflake takes the long window. Its Form 10-Q for the quarter ended July 31, 2026 sets a measurement period of the trailing two years, fixes the cohort as customers under capacity contracts who used the platform at any point in the first month of the first year, and divides that cohort's second-year product revenue by its first-year product revenue. Cloudflare takes the short one: its Form 10-Q for the quarter ended June 30, 2026 compares annualised revenue from paying customers four quarters prior against annualised revenue from the same set of customers in the most recent quarter. Pick one, write it into the metric definition, and stop switching between them across board decks.

Should the base be the year-ago cohort or every current customer?

The base decides whether recent signups get to lift the number. The strict cohort base holds the January 2026 accounts fixed and returns 104.5%. Widening the base to every account active in January 2026, which adds the 2025 signups at $62,000 of MRR, gives $287,000 over $262,000, or 109.5%. That group retained at 125.8% on its own, because customers in their first full year are still adding seats, and folding them in pulls the blended figure up five points.

Vertex uses the wide base. Its Form 10-Q for the quarter ended June 30, 2026 defines net revenue retention as ARR expansion during the twelve months of the reporting period for all customers in the customer base at the beginning of that period. Snowflake uses the narrow one. Both are disclosed, and neither is comparable to the other.

What is the difference between gross and net revenue retention?

Gross revenue retention removes expansion from the numerator and counts only what survived, so it caps at 100% and exposes the losses that upsells were covering. On the same cohort, $200,000 of starting MRR minus $12,000 of contraction and $20,000 of churn leaves $168,000, or 84.0%. The 20.5 point gap between that and the 104.5% net figure is the expansion revenue doing the hiding.

Vertex reports both from one filing. For the quarter ended June 30, 2026 it reported net revenue retention of 105% and gross revenue retention of 95%, having reported 108% and 95% a year earlier. Net retention fell three points while gross retention held flat, which says the customer losses were steady and the expansion motion slowed. A single net number would have hidden that.

Flowsery
Flowsery

Start FREE Trial

Real-time dashboard

Goal tracking

Cookie-free tracking

What net revenue retention do public SaaS companies report?

Three Form 10-Q filings with the SEC from 2026 give the actual spread. Snowflake reported a net revenue retention rate of 126% as of July 31, 2026, up from 125% at January 31, 2026, on its two-year cohort method. Cloudflare reported a dollar-based net retention rate of 120% for the three months ended June 30, 2026, against 114% for the same quarter in 2025. Vertex reported 105% as of June 30, 2026 on a twelve-month ARR basis. All three use different methods, which is why the 21 point range between them is not a ranking.

The round benchmark numbers that circulate in SaaS posts, the "good is 100%, great is 120%" framing, come without a traceable primary source attached. Treat them as folklore. For a real comparison, pull the filings of three companies with a business model close to yours and read the stated method before the number.

How does net revenue retention relate to churn, retention rate and LTV?

Net revenue retention is the revenue-weighted view of the cohort that customer churn counts by headcount, and the churn rate formula shows how much the choice of denominator moves that count on its own. Logo retention rate answers how many accounts stayed, which can hold at 95% while revenue retention sits at 84% because the accounts that left were the large ones. The customer lifetime value formula consumes retention as an input, so a loosely chosen NRR variant propagates straight into the LTV you plan headcount against. All three read from the same MRR ledger, and all three need cohort boundaries set once in a cohort analysis and left alone.

A support agent at a desk reviews a customer session, the kind of account-level detail behind a contraction number.

Where does contraction actually come from?

Contraction shows up in billing as a downgrade and in the product as a session where somebody failed at something. Flowsery records every user session, groups matching sessions into one issue and ranks issues by how many users hit them, so the broken flow behind a seat reduction has a replay attached. Its revenue tracking pulls attribution from Stripe, Paddle, Polar, Lemon Squeezy and Shopify, putting the money and the session in one view, and funnel analysis shows where the account stopped completing the flow.

Frequently Asked Questions

Is net revenue retention above 100% good?

Above 100% means the existing customer book grew without any new logos, which is the point of the metric. Snowflake reported 126% and Cloudflare 120% in their 2026 SEC filings, both on usage-based pricing where consumption grows on its own. A subscription business with fixed seats and no upsell path sits lower by design, so compare against companies that price the way you do.

Can net revenue retention hide a churn problem?

Yes, and that is the standard failure. Expansion from a handful of large accounts can carry the net number above 100% while the majority of the base is shrinking. Vertex reported 105% net and 95% gross for the quarter ended June 30, 2026, and the 10 point gap is the size of the losses that expansion was covering. Publish gross retention next to net retention and the gap is visible.

Does net revenue retention include new customers?

No. Revenue from customers acquired during the measurement period is excluded from both the numerator and the denominator. Cloudflare states this explicitly in its Form 10-Q for the quarter ended June 30, 2026, noting the rate excludes annualised revenue from new customers in the current period. Including them turns the metric into a growth rate and stops it saying anything about retention.

Should I use MRR or ARR in the formula?

Either works as long as you use the same unit on both sides of the division and apply it consistently across periods. MRR suits monthly subscription businesses where changes land every month. ARR suits annual contracts where a monthly view is noise. Mixing the two across quarters is what produces the unexplainable jumps.

Why do two companies with the same NRR look different?

Because the method behind the number is not standardised. Snowflake fixes a cohort at the first month of a two-year window, Cloudflare compares a quarter against the same quarter four quarters earlier, and Vertex uses every customer in the base at the start of a twelve-month period. Three companies quoting 110% could be measuring three different things.

How often should net revenue retention be calculated?

Calculate it monthly for internal cohort tracking and report it quarterly so a single large account cannot swing the narrative. The public companies above disclose it quarterly. Keep the cohort definition and the window frozen between reports, because changing either mid-year makes the trend line meaningless.

What counts as expansion revenue in a net revenue retention calculation?

Expansion revenue is the extra MRR a cohort's existing accounts add through upgrades or extra seats, separate from anything a new logo brings in. In the example cohort, expansion added $41,000 against $12,000 of contraction and $20,000 of churn, which is why the net figure (104.5%) sits above the gross figure (84.0%). Strip that $41,000 back out and the same accounts retained only 84 cents of every starting dollar.

How much did the account lost in November 2026 change this cohort's monthly retention number?

The cohort's MRR dropped from $230,000 in October 2026 to $211,000 in November, the month a large account left. That loss barely dents the $2,648,000 trailing-twelve-month total, but it lands at full weight in a single-month calculation, which is most of the 5.8 point gap between the 110.3% twelve-month figure and the 104.5% single-month figure.

Which customers are excluded from a net revenue retention cohort?

A net revenue retention cohort excludes every customer signed during the measurement period. In the example, the cohort is the 320 accounts active in January 2026, and the 90 accounts the company signed during 2026 sit outside it by definition. The 2025 signups, worth $62,000 of MRR in January 2026 and $78,000 by December, are also outside the strict cohort, though they do get folded into the wider every-current-customer base.

How does Snowflake calculate net revenue retention in its SEC filings?

Snowflake's Form 10-Q for the quarter ended July 31, 2026 sets a two-year measurement period, fixing the cohort as customers under capacity contracts who used the platform in the first month of the first year. It then divides that cohort's second-year product revenue by its first-year product revenue, and reported 126% as of July 31, 2026, up from 125% at January 31, 2026.

Flowsery
Flowsery

Start FREE Trial

Real-time dashboard

Goal tracking

Cookie-free tracking

Was This Article Helpful?

Let us know what you think!

See us more often in Google

One click marks Flowsery as a preferred source, so our articles sit higher in your Top Stories, AI Mode, and AI Overviews.

Before you go...

Flowsery

Flowsery

Revenue-first analytics for your website

Track every visitor, source, and conversion in real time. Simple, powerful, and cookie-free.

Real-time dashboard

Goal tracking

Cookie-free tracking

Related Glossary Terms

Related Articles