Metrics & Pricing

NDR and GRR in SaaS: formulas, a cohort example and reported figures

Net dollar retention and gross revenue retention explained, one customer cohort worked through step by step, and figures from Workday, Weave and Snowflake.

Isometric 3D illustration of an acid lime green bucket with a small round hole near its base and a tiny droplet below it, on a pale grey background.

Your board pack shows NDR at 107% and GRR at 91%, and someone asks why one is above 100% and the other is not. You need to explain both and recompute them from your own billing data. Both measure what happened to revenue from the customers you already had a year ago. Gross revenue retention (GRR) counts only what you kept. Net dollar retention (NDR), also called net revenue retention (NRR), adds what those same customers bought on top.

Investors read the two numbers next to growth because they show whether existing customers are a base to build on or a bucket with a hole in it. This guide gives both formulas, works one cohort through step by step, shows what three public companies reported and lists the usual calculation errors. For the basics of SaaS, see What is SaaS?. For how retention feeds customer lifetime value, see LTV in SaaS.

NDR and GRR in plain terms

Think of a gym that looks at last October’s members one year later. Some have left. Some have dropped to a cheaper off-peak pass. Some have added personal training. GRR asks how much of last October’s membership fees is still being paid, ignoring the extras. NDR asks how much those same people pay now, extras included.

Two rules make both numbers mean something:

  • A fixed cohort. Only customers who were paying at the start of the period count. Customers won during the year are left out of both numbers.
  • Recurring revenue only. Use annual recurring revenue (ARR) or monthly recurring revenue. One-off fees, such as setup or consulting, stay out.

The formulas

Take the cohort’s recurring revenue at the start of the period. Twelve months later, sort every change in that revenue into three buckets:

  • Expansion: upgrades, added seats and added products.
  • Contraction: downgrades and removed seats, from customers who stayed.
  • Churn: revenue from customers who left entirely.

Then:

  1. GRR = (starting revenue - contraction - churn) / starting revenue.
  2. NDR = (starting revenue + expansion - contraction - churn) / starting revenue.

GRR can never exceed 100%, because expansion is left out. NDR can, whenever expansion outweighs the losses. The gap between the two is the expansion rate.

A cohort worked through

Example (hypothetical): a cohort of 200 customers paying $1,200,000 in ARR on October 1, 2025. On October 1, 2026, the same 200 accounts show:

  • Churn: 18 customers left. Together they paid $72,000.
  • Contraction: customers who stayed removed seats worth $36,000.
  • Expansion: customers who stayed added $192,000.

Step by step:

  • Losses: $36,000 + $72,000 = $108,000, or $108,000 / $1,200,000 = 9.0% of the base.
  • Expansion: $192,000 / $1,200,000 = 16.0% of the base.
  • GRR: ($1,200,000 - $36,000 - $72,000) / $1,200,000 = $1,092,000 / $1,200,000 = 91.0%.
  • NDR: ($1,092,000 + $192,000) / $1,200,000 = $1,284,000 / $1,200,000 = 107.0%.
  • Cross-check: 100% - 9% + 16% = 107%.

Read the two together. NDR of 107% says the cohort grew. GRR of 91% says it lost $108,000 of its base and refilled the hole with expansion from the customers who stayed. If expansion slows, the same losses turn the cohort negative: with $96,000 of expansion instead of $192,000, NDR would be ($1,092,000 + $96,000) / $1,200,000 = 99.0%.

Notice also the two churn rates. Customers lost: 18 / 200 = 9.0%. Revenue lost to churn: $72,000 / $1,200,000 = 6.0%. The customers who left were smaller than average, so logo churn and revenue churn tell different stories.

Why the numbers carry so much weight

NDR tells you how fast the base grows before you win a single new customer. At 107%, last year’s customers bring 7% more revenue this year. At 93%, you need new customers worth 7% of the base just to stay flat. GRR tells you how much of the base is solid. A high NDR with a low GRR means a few large customers expand while many others leave, which is harder to sustain than it looks.

What public companies report

Companies choose their own definitions, so read the definition before the number. Four disclosures from filings and results releases, checked October 17, 2026:

Company Metric Figure As of How the company calculates it
Workday GRR About 97% January 31, 2026 ARR of customers at the prior period end against the same customers’ ARR now; churn counted, add-ons and expansion not
Weave GRR 89% (91% a year earlier) December 31, 2025 Revenue still billed to the same customer locations 12 months later; expansion, contraction and new locations not reflected
Weave NRR 93% (98% a year earlier) December 31, 2025 Weighted average of monthly rates over 12 months; new locations excluded
Snowflake NRR 126% (125% on January 31, 2026) July 31, 2026 Product revenue of a starting cohort in the second of two trailing years, divided by the first year

Weave states that its 2025 figures exclude the impact of its TrueLark acquisition. Snowflake’s product revenue depends on how much customers consume, so its rate moves with usage rather than with seats.

Three lessons from the table:

  • Same name, different arithmetic. Weave’s GRR does not reflect contraction, so a customer who downgrades does not lower it. The formula in this guide counts downgrades.
  • Different windows. Snowflake compares two trailing years; Weave averages twelve monthly rates; Workday compares two period ends.
  • Not benchmarks. Four figures from three companies on three dates do not make a target for your business. Compare your rate with your own history first.

For why reported ARR and reported revenue differ, see What is a SaaS company?.

Common mistakes

  1. Letting new customers into the cohort. Revenue from accounts won during the year inflates NDR. Why it happens: the billing report shows all customers by default. Instead: freeze the list of customer IDs at the start date and track only those.
  2. Counting one-off fees. Setup and consulting revenue makes the cohort look bigger at the start or stronger at the end. Why it happens: the invoice total is easier to pull than the recurring part. Instead: use ARR or monthly recurring revenue only.
  3. Mixing logo churn and revenue churn. In the example, 9.0% of customers left but only 6.0% of revenue did. Why it happens: both are called “churn”. Instead: label which one you report, and show both when customer sizes vary.
  4. Comparing your NDR with another company’s without reading its definition. A monthly-weighted rate, a two-year usage rate and a point-in-time ARR rate are different measures. Why it happens: the headline number is all a news story quotes. Instead: line up the definitions, as the table does, before you compare.

For how retention fits into the monthly arithmetic of a subscription business, see the SaaS business model.

Sources

In three sentences

GRR is the share of a cohort’s starting recurring revenue still billed a year later without counting expansion, and NDR is the same share with expansion added back. In the example, a $1,200,000 cohort keeps $1,092,000 (GRR 91%) and grows to $1,284,000 once expansion is added (NDR 107%). Read the two together, and read each company’s definition before comparing, because Workday, Weave and Snowflake each calculate theirs differently.