Formula Guide

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

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

FRM

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

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

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

NRR(P) = (StartingMRR − ChurnedMRR − ContractionMRR + ExpansionMRR) / StartingMRR

В процентах:

NRR%(P) = NRR(P) × 100

Эта формула точна только тогда, когда каждый компонент измеряется по одной и той же стартовой когорте и по одной и той же recurring revenue policy.

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

  • C0: клиентская когорта, active в начале периода P.
  • StartingMRR: суммарная recurring monthly revenue, относящаяся к когорте C0 в начале периода P.
  • ChurnedMRR: recurring monthly revenue от клиентов из C0, полностью потерянная за период P.
  • ContractionMRR: снижение recurring monthly revenue у surviving customers из C0 за период P.
  • ExpansionMRR: рост recurring monthly revenue у клиентов из 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
ExpansionMRR = Σ for c in C0 of max(MRR_end(c) − MRR_start(c), 0)

Contraction и expansion считаются только на клиентах стартовой когорты. Полный churn не должен быть задвоен как contraction.

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

NRR — это метрика стартовой базы. Следовательно, когорта фиксируется в начале периода и потом не меняется.

Из этого следует:

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

В строгих терминах все элементы формулы — это функции от C0, а не от полного customer set, наблюдаемого в конце периода.

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

Из NRR исключаются:

  • New customer MRR, полученная после начала периода.
  • One-time fees и non-recurring services.
  • Taxes, pass-through charges и hardware.
  • Чистые cash timing effects без изменения recurring revenue.
  • Любой компонент, измеренный по другой MRR policy, чем StartingMRR.

Если new logo revenue включена в формулу, результат уже не является strict NRR. Это становится смешанным growth ratio с поломанной cohort logic.

Edge cases

  • Full churn: потерянная recurring amount идёт в ChurnedMRR, а не одновременно в churn и contraction.
  • Partial downgrade: в ContractionMRR попадает только delta.
  • Expansion after downgrade in the same period: net movement нужно считать аккуратно на уровне customer-line, чтобы каждое recurring delta событие было отнесено последовательно.
  • Reactivation: если клиент принадлежал C0 и позже был reactivated внутри measurement logic, treatment должен следовать последовательной movement policy; иначе reactivation лучше моделировать отдельно.
  • Currency effects: FX translation rules должны быть стабильны, иначе формула начнёт отражать accounting noise, а не поведение выручки.

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

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

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

Тогда:

NRR(P) = (100,000 − 8,000 − 4,000 + 15,000) / 100,000
NRR(P) = 103,000 / 100,000 = 1.03
NRR%(P) = 103%

Если в этот же период было привлечено ещё 12,000 new logo MRR, её вклад в NRR всё равно равен 0.

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

NRR — это retention ratio по фиксированной стартовой recurring revenue base. Каждый член формулы обязан происходить из одной и той же стартовой когорты и из одной и той же recurring revenue policy.

Если new logo revenue добавляется в формулу, если churn задваивается вместе с contraction или если MRR policy различается между компонентами, результат уже не является strict NRR.

MAP

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

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