Formula Guide

GRR Formula: точные правила расчёта для SaaS

Эта страница задаёт точную формулу, переменные, правила включения и исключения, а также edge cases, без которых корректный расчёт метрики невозможен.

FRM

Что разбирает эта формула

Каноническая формула

Для фиксированной стартовой клиентской когорты C0 и её стартовой recurring revenue базы StartingMRR gross revenue retention за период P определяется так:

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

В процентах:

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

GRR принципиально игнорирует expansion. Эта метрика показывает, сколько стартовой recurring revenue сохранилось до того, как апселы или рост seats начнут маскировать потери.

Определения переменных

  • C0: клиентская когорта, active в начале периода P.
  • StartingMRR: суммарная recurring monthly revenue, относящаяся к когорте C0 в начале периода P.
  • ChurnedMRR: recurring monthly revenue от клиентов из C0, полностью потерянная за период P.
  • ContractionMRR: снижение recurring monthly revenue у surviving customers из C0 за период P.

Формулы компонентов

Компоненты измеряются так:

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

В строгом GRR показатель ExpansionMRR может отслеживаться отдельно, но его вклад в саму формулу равен 0.

Правила когорты

GRR — это fixed-cohort метрика. Стартовая когорта фиксируется в начале периода и не может подменяться набором клиентов на конец периода.

  • New logo revenue, привлечённая в период P, полностью исключается.
  • Только клиенты из C0 могут давать churn или contraction.
  • Для StartingMRR, ChurnedMRR и ContractionMRR должна использоваться одна и та же recurring revenue policy.

Как только cohort logic меняется или expansion начинает компенсировать потери, результат перестаёт быть strict GRR.

Правила исключения

Из расчёта GRR исключаются:

  • Expansion MRR, upgrade revenue и seat growth.
  • New customer MRR, полученная после начала периода.
  • One-time fees и non-recurring services.
  • Taxes, pass-through charges и hardware.
  • Разницы в cash collection timing без изменения recurring revenue.

Если вернуть expansion в числитель, метрика превращается уже в NRR, а не в GRR.

Edge cases

  • Full churn: потерянная recurring amount идёт в ChurnedMRR, а не одновременно в churn и contraction.
  • Partial downgrade: в ContractionMRR попадает только recurring delta.
  • Downgrade followed by upgrade in the same period: downgrade всё равно относится к ContractionMRR, а компенсирующий upgrade из GRR исключается.
  • Pauses or temporary credits: их нужно классифицировать по стабильной recurring revenue policy до включения в retention reporting.
  • FX translation: правила пересчёта валют должны быть стабильны, иначе GRR начнёт отражать currency movement, а не качество удержания.

Числовой пример

Предположим, что стартовая когорта имеет StartingMRR = 100,000. За период:

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

Тогда строгая формула GRR выглядит так:

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

Дополнительный ExpansionMRR = 15,000 улучшает NRR, но на GRR влияет ровно на 0.

Строгий вывод

GRR измеряет gross retention фиксированной стартовой recurring revenue base. Формула вычитает churn и contraction и не позволяет expansion скрывать эти потери.

Если expansion смешивается с формулой или cohort/MRR policy меняются между компонентами, результат уже не является strict GRR.

MAP

Связанные материалы

Базовые страницы: