Gross Revenue Retention (GRR)


The Gross Revenue Retention (GRR) report measures the percentage of recurring revenue retained from an existing customer cohort over a specified period, excluding any revenue gained from upgrades or expansion. It is the most conservative measure of revenue health, focusing purely on revenue leakage due to cancellations (Churn) and downgrades (Contraction).

GRR provides the purest signal of product stability and customer success, as it is unaffected by expansion revenue. It is the direct opposite of MRR Churn Rate.

GRR is calculated by taking the Starting MRR of the cohort and subtracting Contraction MRR and Churned MRR, then dividing the result by the Starting MRR.

For an in-depth explanation of GRR as a metric, see the GRR guide in the SaaS Metrics Academy.


Overview

Gross Revenue Retention (GRR) report showing the monthly rate

The Gross Revenue Retention (GRR) report includes a timeline chart and a breakdown table. This report is crucial for understanding the base stability of your revenue stream. The breakdown table cells are not clickable and there is no detail table.

Timeline chart

The timeline chart displays a single line:

  1. Gross Revenue Retention (Blue Line): This is the primary metric, showing the calculated GRR rate for the selected period.

Because GRR excludes expansion revenue, the line will always be at or below 100%. A high GRR, close to 100%, indicates exceptional stability and very low gross revenue leakage.

The report employs a specific time-window convention:

  • Monthly Aggregation: If you select an Interval of daily, weekly, or monthly, the calculation is performed on a month-to-month basis. This ensures the retained MRR is consistently measured against the cohort MRR (1 or 12 months ago, depending on the trailing window selected), reducing noise.

  • Quarterly/Yearly Aggregation: If you select quarterly or yearly, the calculation is performed on a quarter-over-quarter or year-over-year basis, respectively.

The currently ongoing period is marked as a dashed line. You can adjust the chart data using the date picker, interval selector, and filters.

Breakdown table

The table underneath the chart displays a cohort-based view for each period, making it explicit that each data point compares today's state to the cohort that existed 1 or 12 months ago (depending on the trailing window selected).

MetricDescription
OriginalThe MRR contributed by the cohort at the start of the lookback window (1 or 12 months earlier). This is the cohort MRR being measured.
RetainedThe MRR from those original customers that is still being paid at the end of the period (after contractions, before any expansion).
ChurnedThe MRR lost from original customers who canceled all paid subscriptions during the lookback window.
ContractionThe MRR lost from original customers downgrading their subscriptions during the lookback window.
GRR RateThe calculated Gross Revenue Retention Rate for the period ((Original - Contraction - Churned) / Original), displayed as a percentage.

Customers acquired inside the lookback window are excluded — they were never part of the cohort being measured. Note that GRR deliberately excludes any expansion or reactivation revenue.

The GRR Rate is typically shown in blue or green to visually emphasize revenue success and stability.


Choosing the trailing window

The chart toolbar includes a trailing window selector that lets you switch between two ways of measuring GRR:

  • Trailing 1 month (default)

    Each point compares today's cohort MRR to the cohort MRR 1 month earlier. This matches typical monthly retention reporting and is the right view for operational use — catching recent contractions and churn early.

  • Trailing 12 months (TTM)

    Each point compares today's cohort MRR to the cohort MRR 12 months earlier. TTM is the standard most investors and benchmarks reference when discussing GRR — public SaaS companies almost universally report a trailing-12-month GRR. Use this view for board decks, investor updates, and comparing your numbers to public benchmarks.

In both modes, customers acquired inside the lookback window are excluded from the calculation — they were never part of the cohort being measured against. Because GRR ignores expansion, a customer's contribution to Retained MRR is capped at their starting MRR — even if they upgrade.

A worked example

Suppose you're looking at the trailing 1-month view as of Apr 30, 2026. The cohort is every customer paying on Mar 31, 2026:

CustomerOn Mar 31, 2026What happens by Apr 30In cohort?Treated as (GRR)
AnnaPaying $100/moStill paying $100✓ Yes$100 retained
BenPaying $100/moUpgrades to $150✓ Yes$100 retained — capped at original; the +$50 expansion is ignored
CleoPaying $200/moDowngrades to $120✓ Yes$120 retained (−$80 contraction)
DanPaying $100/moCancels on Apr 12✓ Yes$0 retained (−$100 churn)
EliNot a customerSigns up Apr 5 at $200NoExcluded — joined inside the window
FionaChurned back in Jan 2026Reactivates Apr 18 at $150NoExcluded — wasn't paying on Mar 31
  • Original MRR = $500 (Anna + Ben + Cleo + Dan)
  • Retained MRR (GRR numerator) = $320 ($100 + $100 + $120 + $0)
  • GRR = $320 ÷ $500 = 64%

Notice that Ben's upgrade doesn't help GRR — that's the whole point of the metric. NRR would credit him for the full $150; GRR caps him at $100. Eli and Fiona are real revenue but never enter this cohort.

The trailing 12-month view follows exactly the same logic with a wider window — cohort = everyone paying on May 1, 2025, comparison runs through Apr 30, 2026:

CustomerOn May 1, 2025What happens by Apr 30, 2026In cohort?Treated as (GRR)
AnnaPaying $100/moDoubles to $200✓ Yes$100 retained — upgrade ignored
GregNot a customerSigns up Sep 2025, churns Mar 2026✗ NoExcluded — joined inside the 12-month window
HanaPaying $200/moChurns Aug 2025, reactivates Mar 2026 at $200✓ Yes$200 retained — she's in the cohort and is paying again at the end

A wider window means more customers join and leave inside it, so more get excluded — but only the starting cohort counts toward Original, Retained, and Churned.


Filters

The report supports a wide range of filters to help you analyze GRR within specific segments. These include:

  • Date range
  • Interval (Daily, weekly, monthly, quarterly, or yearly)
  • Additional filters – plan, region/country, billing frequency, customer age (time since signup), etc. (see all filters)

Filters are applied to both the chart and the table simultaneously.


Exporting the data

You can export the table as a CSV file for offline analysis or reporting by clicking the "Export" icon next to the date picker.


Practical tips

  • The 100% Ceiling: Remember that GRR can never exceed 100%. If you see it dipping, it signals an urgent need to address product experience, customer success, or billing issues.
  • GRR vs. NRR: Use GRR to understand the quality of your product and service (how well you prevent loss), and compare it to Net Revenue Retention (NRR) to understand the effectiveness of your expansion and upsell strategies.
  • Segment for Stability: Use filters to analyze GRR by cohort (e.g., customers who signed up 6 months ago vs. 12 months ago) to see if product maturity or onboarding improvements have stabilized your revenue base.