Formula Guide

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

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

FRM

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

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

Для множества активных recurring contract lines L monthly recurring revenue в момент времени t определяется так:

MRR(t) = Σ for i in L(t) of MonthlyRecurringValue(i)

Для каждой recurring line i:

MonthlyRecurringValue(i) = RecurringContractValue(i) / TermInMonths(i)

Если pricing построен на quantity-based логике, то эквивалентное line-level выражение такое:

MonthlyRecurringValue(i) = UnitPricePerBillingPeriod(i) × Quantity(i) × BillingPeriodsPerMonth(i)

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

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

  • L(t): множество recurring contract или subscription lines, активных в момент t.
  • RecurringContractValue(i): полная committed recurring value линии i за её billing term, без one-time charges и налогов.
  • TermInMonths(i): точное число месяцев, покрываемых recurring commitment линии i.
  • UnitPricePerBillingPeriod(i): recurring unit price за один billing period.
  • Quantity(i): billable recurring units, seats, licenses или committed usage blocks.
  • BillingPeriodsPerMonth(i): коэффициент перевода billing period линии i в один месяц.

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

Линия попадает в MRR тогда и только тогда, когда одновременно выполняются все условия:

  • Charge по контракту является recurring.
  • Service period активен в момент t.
  • Цена относится к ongoing service, а не к one-time событию.
  • Contract term можно однозначно нормализовать в месяцы.

В терминах множеств:

L(t) = { i | i is recurring AND i active at t AND i monthly-normalizable }

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

В MRR не входят:

  • One-time setup и onboarding fees.
  • Professional services и implementation work.
  • Taxes, VAT и pass-through fees.
  • Hardware shipments.
  • Non-recurring credits и one-off adjustments.
  • Будущие recurring lines, которые ещё не активны в момент t.

Cash collected in advance тоже не меняет формулу. MRR строится на normalized recurring contract value, а не на cash timing.

Нормализация срока

Нормализация должна следовать точному recurring term:

  • Monthly contract: MonthlyRecurringValue = ContractValue / 1
  • Quarterly contract: MonthlyRecurringValue = ContractValue / 3
  • Annual contract: MonthlyRecurringValue = ContractValue / 12
  • Multi-year recurring contract: MonthlyRecurringValue = ContractValue / TotalMonthsInCommittedTerm

Из этого следует жёсткое правило:

ARR = 12 × MRR

Поэтому если ARR нельзя вывести точно из MRR base, значит политика нормализации MRR противоречива.

Edge cases

  • Annual prepayment: полный invoice amount не попадает целиком в один месяц MRR; учитывается только normalized monthly value.
  • Mid-period expansion: MRR меняется с effective date recurring amendment, а не просто с даты подписи, если сервис ещё не начался.
  • Discounted term: используется фактическая contracted recurring value после recurring discount, а не list price.
  • Metered overages: включаются только если они contractually recurring base commitments; чисто variable usage без committed recurring revenue исключается.
  • Paused subscription: если service entitlement остановлен и billing inactive, такая линия не входит в L(t).

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

Предположим, у workspace есть три активные recurring lines в момент t:

  • Line A: annual subscription, USD 12,000 на 12 месяцев
  • Line B: monthly add-on, USD 300 в месяц
  • Line C: quarterly seat package, USD 900 за 3 месяца

Тогда:

MonthlyRecurringValue(A) = 12,000 / 12 = 1,000
MonthlyRecurringValue(B) = 300 / 1 = 300
MonthlyRecurringValue(C) = 900 / 3 = 300
MRR(t) = 1,000 + 300 + 300 = 1,600

Если на том же invoice есть one-time implementation fee USD 2,500, его вклад в MRR равен 0.

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

MRR — это не “cash collected this month” и не “invoice value this month”. Это точная сумма всех active recurring lines после monthly normalization их recurring committed value.

Если charge не recurring, не active или не monthly-normalizable, ему не место в формуле.

MAP

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

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