Revenue and Growth

MRR

MRR — единственная цифра, которая честно отвечает на вопрос: как бизнес чувствует себя прямо сейчас? Но сам по себе итоговый MRR почти бесполезен. Важно то, из чего он сложился.

Язык: Читать статью на английском

MRR

MRR (Monthly Recurring Revenue): полное руководство для SaaS-основателей

Что такое MRR и что в него не входит

MRR — сумма всех регулярных платёжных обязательств ваших клиентов, приведённая к месяцу. Ключевое слово — регулярных. Это не cash basis, не billings и не признанная выручка по GAAP. MRR живёт в своём измерении и специально изолирован от разовых событий.

В MRR не входят:

  • Разовые платежи: setup fee, professional services, onboarding.
  • Предоплаты без нормализации: годовой контракт на $1,200 это $100 MRR, а не $1,200.
  • Оплата за прошлые периоды в arrears billing для usage-based моделей.
  • Условные суммы, например overage, который ещё не зафиксирован.
  • Временные скидки вне периода их действия.
ARR = MRR × 12

ARR — это не сумма реальных годовых поступлений, а аннуализированный snapshot текущего момента. Поэтому ARR нельзя путать с revenue в P&L.

Пять компонентов MRR

Смотреть на суммарный MRR без разбивки всё равно что смотреть на температуру без анализа крови. Нужна детализация, чтобы понимать: бизнес растёт за счёт новых клиентов или за счёт апселов? Потери от оттока перекрываются расширением или нет?

New MRR

Доход от клиентов, которые платят впервые в этом месяце. Важно: клиент считается новым только в первый платёжный период. Со второго месяца его MRR — это база, на которой считаются все остальные движения.

New MRR = Σ (тариф × лицензии) по всем новым подпискам месяца

Детализация по каналам привлечения обязательна для зрелого анализа:

New MRR = New MRR (прямые продажи) + New MRR (self-serve / сайт) + New MRR (партнёры, рефералы)

Это позволяет считать реальный CAC по каналу и сравнивать его с LTV.

Expansion MRR

Дополнительный доход от тех, кто уже платил в прошлом месяце. Самый ценный компонент, потому что он не требует затрат на привлечение и напрямую улучшает NRR.

Expansion MRR = Σ (MRR клиента в текущем месяце − MRR клиента в прошлом месяце) для всех клиентов, где разница > 0

Внутри Expansion четыре разных механизма, которые стоит считать раздельно:

  • Upsell: переход на более дорогой тариф.
  • Cross-sell: покупка отдельного модуля или продукта.
  • Add-on: добавление мест, хранилища или API-лимита.
  • Usage-based Expansion: превышение включённого лимита.

Пример: тариф включает 10,000 API-запросов. Клиент использовал 15,000 при цене $0.002 за запрос сверх лимита, значит Expansion = $10.

Contraction MRR

Потеря от клиентов, которые остались, но стали платить меньше. Это тихий убийца MRR: клиент формально не ушёл, а выручка уже просела.

Contraction MRR = Σ (MRR клиента в прошлом месяце − MRR клиента в текущем месяце) для клиентов, где разница > 0 и подписка не отменена

Три типовых источника контракции:

  • Downgrade: переход на более дешёвый тариф.
  • Seat Reduction: уменьшение количества мест.
  • Usage Reduction: падение потребления в usage-based модели.

Высокая контракция при низком Logo Churn означает, что клиенты не уходят, но перестают видеть ценность полного тарифа. Это отдельная продуктовая проблема.

Churned MRR

Полная потеря от клиентов, которые отменили подписку в этом месяце.

Churned MRR = Σ полного MRR всех клиентов, отменивших подписку

Критически важно разделять два типа churn:

  • Voluntary Churn: клиент ушёл сознательно. Это проблема продукта, поддержки или ценообразования.
  • Involuntary Churn: платёж не прошёл и клиента не удалось восстановить в grace period. Это проблема dunning-логики, а не продукта.

Смешивать их в одну цифру — значит применять неправильное лечение.

Reactivation MRR

Доход от клиентов, которые ранее ушли и вернулись в этом месяце. Реактивированный клиент — не то же самое, что новый: у него уже есть история, он знает продукт, а его CAC обычно заметно ниже.

Reactivation MRR = Σ (тариф × лицензии) для реактивированных клиентов

Tracking этого компонента позволяет оценить реальную эффективность win-back кампаний.

MRR(конец) = MRR(начало) + New MRR + Expansion MRR − Contraction MRR − Churned MRR + Reactivation MRR

Это контрольное равенство должно сходиться до копейки. Если не сходится, проблема обычно в двойном счёте, неверной атрибуции события или в ошибке границы месяца из-за timezone.

Производные метрики

Net New MRR

Net New MRR = New MRR + Expansion MRR − Contraction MRR − Churned MRR

Чистый прирост за месяц. Если он отрицательный при положительном New MRR, потери превышают привлечение.

Expansion Efficiency

Expansion Efficiency = Expansion MRR / Churned MRR

Значение больше 1 означает, что апселы компенсируют уходящих клиентов. Выше 1.5 — зона отрицательного churn.

Revenue Churn Rate

Revenue Churn Rate = (Churned MRR + Contraction MRR) / MRR(начало месяца) × 100

Правильная формула включает и churn, и contraction. Если считать только churn, потери будут занижены.

Quick Ratio

Quick Ratio = (New MRR + Expansion MRR) / (Churned MRR + Contraction MRR)

Показывает, насколько рост перекрывает потери. Если показатель ниже 1, бизнес сжимается.

Типичные ошибки при расчёте MRR

  • Записывать годовые контракты по полной сумме оплаты вместо нормализации к месяцу.
  • Смешивать разовые платежи и услуги с recurring revenue.
  • Неправильно определять границу месяца и не нормализовать время по UTC.
  • Считать downgrade как churn плюс new revenue вместо contraction внутри одного аккаунта.
  • Признавать churn до окончания grace period и всех попыток dunning.

Пример расчёта

Стартовый MRR: $50,000

  • 3 новых клиента по $500: New MRR = +$1,500.
  • Один клиент перешёл с $1,000 на $2,000: +$1,000.
  • Один аккаунт добавил 5 мест по $50: +$250.
  • Другой аккаунт убрал 5 мест по $50: −$250.
  • 2 клиента ушли с MRR $1,000 и $500: Churned MRR = −$1,500.

MRR(конец): 50,000 + 1,500 + 1,000 + 250 − 250 − 1,500 = 51,000

Net New MRR: +1,000

Quick Ratio: (1,500 + 1,250) / (250 + 1,500) = 1.57

Expansion Efficiency: 1,250 / 1,500 = 0.83

Quick Ratio 1.57 означает, что рост есть, но Expansion пока не перекрывает Churned. Значит, нужно либо снижать отток, либо усиливать апселы.

В разных моделях ценообразования MRR ведёт себя по-разному. Flat-rate проще всего. Per-seat требует строгого учёта мест. Usage-based добавляет волатильность. Hybrid-модель лучше делить на committed component и variable component, чтобы видеть стабильную базу отдельно.

Как Dnoise считает MRR

При подключении Stripe Dnoise автоматически разбивает MRR на все пять компонентов на уровне транзакций. Система смотрит на полную историю подписки и определяет, является ли событие New, Expansion, Contraction, Churned или Reactivation.

Годовые контракты автоматически нормализуются к месяцу. Логика grace period для involuntary churn настраивается. Контрольное равенство проверяется на каждом пересчёте.

Посмотреть в демо

CTA

Dnoise автоматически считает MRR по исходным данным и раскладывает его на движения, которые реально объясняют рост.

MAP

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

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

Сравнить с:

CTA

Dnoise автоматически считает MRR по исходным данным и раскладывает его на движения, которые реально объясняют рост.