Formula Guide

GRR Formula: Exact SaaS Calculation Rules

This page defines the exact formula, the variables, the inclusion and exclusion rules, and the edge cases that must be handled if the metric is to be calculated correctly.

FRM

What This Formula Covers

Canonical formula

For a fixed starting customer base C0 and its starting recurring revenue StartingMRR, gross revenue retention over period P is:

GRR(P) = (StartingMRR − ChurnedMRR − ContractionMRR) / StartingMRR

Expressed as a percentage:

GRR%(P) = GRR(P) × 100

GRR deliberately ignores expansion. It measures how much of the starting recurring revenue base survives before any upsell or seat growth is allowed to offset losses.

Variable definitions

  • C0: the customer cohort active at the start of period P.
  • StartingMRR: total recurring monthly revenue attributable to cohort C0 at the start of period P.
  • ChurnedMRR: recurring monthly revenue from customers in C0 that is fully lost during P.
  • ContractionMRR: reduction in recurring monthly revenue from surviving customers in C0 during P.

Component formulas

The components are measured as follows:

StartingMRR = Σ for c in C0 of MRR_start(c)
ChurnedMRR = Σ for c in C0 and fully churned in P of MRR_lost(c)
ContractionMRR = Σ for c in C0 of max(MRR_start(c) − MRR_end(c), 0) excluding full churn

In strict GRR, ExpansionMRR is tracked separately but contributes 0 to the formula itself.

Cohort rules

GRR is a fixed-cohort metric. The starting cohort is locked at the beginning of the period and cannot be replaced with an end-of-period customer set.

  • New logo revenue acquired during P is excluded completely.
  • Only customers already in C0 can contribute to churn or contraction.
  • The recurring revenue policy used for StartingMRR, ChurnedMRR, and ContractionMRR must be identical.

Once the cohort is changed or expansion is allowed to offset losses, the result is no longer strict GRR.

Exclusion rules

Exclude the following from GRR calculations:

  • Expansion MRR, upgrade revenue, or seat growth.
  • New customer MRR acquired after the period starts.
  • One-time fees and non-recurring services.
  • Taxes, pass-through charges, and hardware.
  • Cash collection timing differences with no recurring revenue change.

If expansion is added back into the numerator, the metric becomes NRR rather than GRR.

Edge cases

  • Full churn: count the lost recurring amount in ChurnedMRR, not in both churn and contraction.
  • Partial downgrade: count only the recurring delta in ContractionMRR.
  • Downgrade followed by upgrade in the same period: the downgrade still belongs in ContractionMRR; the offsetting upgrade is excluded from GRR.
  • Pauses or temporary credits: classify them under a stable recurring revenue policy before using them in retention reporting.
  • FX translation: foreign-exchange rules must be stable or GRR will reflect currency movement instead of retention quality.

Worked example

Suppose the starting cohort has StartingMRR = 100,000. During the period:

  • ChurnedMRR = 8,000
  • ContractionMRR = 4,000
  • ExpansionMRR = 15,000

Then the strict GRR formula is:

GRR(P) = (100,000 − 8,000 − 4,000) / 100,000
GRR(P) = 88,000 / 100,000 = 0.88
GRR%(P) = 88%

The additional ExpansionMRR = 15,000 improves NRR, but it changes GRR by exactly 0.

Strict summary

GRR measures gross retention of a fixed starting recurring revenue base. It subtracts churn and contraction, and it refuses to let expansion hide those losses.

If expansion is blended into the formula, or if the cohort or MRR policy shifts between components, the result is not strict GRR.

MAP

Related Reading

Core metric pages: