Glossary GRR
Retention

GRR.

The share of recurring revenue you keep from existing customers, before any expansion.

GRR measures pure leakage — it can never exceed 100%. It answers the brutal question: if we sold nothing new, how much of our revenue survives?

Example: ($100k − $5k churn − $3k contraction) ÷ $100k × 100 = 92% GRR. Strong SaaS sits above 90%; below that, you're filling a leaky bucket.

Live calculator
GRR calculator
Gross Revenue Retention

GRR caps at 100% — the closer the better.

Example — GRR in practice

Suppose stc pay begins Q2 with 500,000 SAR in monthly recurring revenue from its SME merchant plans. During the quarter, churn and downgrades erase 50,000 SAR, while upsells add another 60,000 SAR that GRR ignores. GRR = (500,000 − 50,000) / 500,000 = 90%, showing the base is fairly sticky even though expansion revenue is excluded from the calculation.

مثال

لنفترض أن stc pay تبدأ الربع الثاني بإيراد متكرر شهري قدره 500,000 ريال سعودي من خطط الشركات الصغيرة والمتوسطة. خلال الربع، يؤدي التسرب والتخفيضات إلى فقدان 50,000 ريال، بينما تضيف عمليات البيع الإضافي 60,000 ريال أخرى لا يحتسبها معدل الاحتفاظ الإجمالي بالإيراد. معدل GRR = (500,000 − 50,000) ÷ 500,000 = 90%، مما يُظهر أن القاعدة مستقرة نسبيًا رغم استبعاد إيراد التوسع من الحساب.

Illustrative example

GRR, properly understood

GRR strips your revenue base down to one question: of the recurring revenue you had at the start of the period, how much survived — full stop, no credit for growth. The formula is (Start MRR − Churn − Contraction) ÷ Start MRR × 100. Churn is revenue from customers who cancelled outright; contraction is revenue lost to downgrades from customers who stayed. Expansion and upsell revenue never enter the calculation, which is the entire point — GRR is capped at 100% by construction, so it can't be flattered by a few accounts growing fast while the rest of the book leaks. The inputs live in your billing or subscription ledger (Stripe, Chargebee, or a finance-maintained MRR schedule), not your CRM, because CRM stage data rarely reconciles cleanly to actual invoiced revenue by customer.

Gulf B2B software sells mostly on annual contracts with renewal cycles concentrated around fiscal year-end or government budget cycles, so a single month's GRR is close to meaningless — three enterprise accounts renewing (or not) in the same quarter can swing the number ten points either way. The fix is to measure GRR on a trailing-twelve-month basis, or bucket customers by contract-anniversary cohort rather than calendar month. Where GCC vendors bill across SAR, AED, and USD contracts, FX movement between when a deal was booked and when it renews can look like contraction on the books even though the underlying customer relationship didn't shrink — hold currency constant when diagnosing whether the drop is real.

The most common misread is running GRR blended across your whole customer base instead of by cohort. A company that has tripled its logo count in eighteen months will show healthy blended GRR even if every cohort older than a year is churning badly, because the new cohorts haven't had time to churn yet — new growth dilutes old pain. Watch also for contraction being undercounted: if your billing system tracks a seat downgrade or plan-tier change as a brand-new subscription line rather than a modification to the existing one, the revenue loss disappears from the calculation instead of showing up as contraction. And don't confuse logo retention with revenue retention — losing many small accounts can leave GRR looking fine while masking real churn risk elsewhere in the base.

Read GRR alongside Net Revenue Retention (NRR), which is GRR plus expansion revenue and can exceed 100% — the gap between the two tells you how much of your retention story is "we don't lose people" versus "the people we keep spend more." Pair it with logo churn rate to separate revenue health from account-count health, and with LTV, since most LTV formulas assume a churn rate that is really just GRR's churn component in disguise — if you're computing LTV off a blended churn number, you've imported the same cohort-blending problem into a second metric. It's also worth reconciling GRR trends against ARR (MRR × 12) at the board level, since board reporting usually wants the annualized figure even though GRR itself should always be diagnosed monthly or by cohort, where problems are still small enough to fix before they compound into a full-quarter miss.

Put it to work

  • Pull Start MRR, churn, and contraction from the billing ledger, not CRM stage data.
  • Recalculate GRR on a trailing-12-month basis before reacting to any single month's swing.
  • Segment GRR by customer cohort or contract-anniversary, not just company-wide blended.
  • Confirm downgrades post as contraction in your billing system, not as a fresh subscription line.
  • Hold currency constant across multi-currency GCC contracts before calling a drop real churn.
  • Compute NRR alongside GRR and track the gap as your expansion story.
Put it to work

Turn the theory into real pipeline.

Get a free 60-second growth audit of your site, or talk to a strategist about your funnel.