Guide

GRR vs NRR: How to Read Gross and Net Revenue Retention Together

Net revenue retention (NRR) is the headline metric in many SaaS board decks. Gross revenue retention (GRR) is the sobering companion: it ignores expansion and shows how much of your starting revenue you actually kept. Reporting only NRR can hide a leaky base propped up by upsells.

This guide compares GRR and NRR formulas and when to use each. Build on net revenue retention (NRR) and gross vs net revenue churn if you need churn-rate framing first.

Last updated October 13, 2026

Formulas side by side

MetricFormula (MRR cohort)Can exceed 100%?
GRR(Starting MRR − Churned MRR − Contraction MRR) ÷ Starting MRR × 100No — capped at 100% if no leakage
NRR(Starting MRR + Expansion − Churned − Contraction) ÷ Starting MRR × 100Yes — expansion can outweigh losses

What each metric reveals

  • GRR — stickiness of the revenue base without upsell heroics
  • NRR — whether existing customers grow spend enough to offset churn and downgrades
  • Gap between NRR and GRR — strength of expansion motion (large gap can be healthy or can mask churn)

Paired reading patterns

PatternInterpretation
High GRR, high NRRStrong retention and expansion — classic “best case”
Low GRR, high NRRExpansion from a subset may mask churn elsewhere — investigate segments
Low GRR, low NRRStructural retention problem — product, CS, or fit
High GRR, modest NRRSticky base with weak expansion — pricing or upsell motion

Illustrative patterns only — segment by ACV, plan, and tenure before acting.

Add logo churn as a third line

GRR and NRR are revenue-weighted. Customer churn still matters for product adoption and support load. See revenue churn vs customer churn and how to calculate SaaS churn rate.

Where ChurnIntel fits

ChurnIntel focuses on voluntary cancellation sessions: reasons, offers, and lost MRR from your in-app flow. It does not replace billing-system GRR/NRR reporting. Use company metrics for board retention; use customer churn analysis for cancel-flow prioritization.

Prioritize cancel reasons by MRR

Pair board-level GRR/NRR with flow-level MRR-ranked reasons in ChurnIntel.