Net Revenue Retention (NRR): формула и интерпретация
ARPU и LTV?Что такое NRR
Net Revenue Retention (NRR) — показатель, насколько вы удерживаете и растите выручку от существующих клиентов за период, обычно год. Это одна из главных метрик SaaS-бизнеса, которую смотрят инвесторы и советы директоров.
Простая интерпретация: если вы перестали привлекать новых клиентов, как изменилась бы выручка от уже имеющихся за год? NRR 100% означает, что выручка осталась бы той же. NRR 120% — выросла бы на 20% без новых клиентов. NRR 80% — упала бы на 20%.
Высокий NRR означает product-market fit и здоровый бизнес. Низкий — фундаментальные проблемы с удержанием. Разница между 90% и 120% NRR для ARR в 10 миллионов — это 3 миллиона в год. Метрика серьёзная.
Формула
Классическая формула:
NRR = (MRR существующих клиентов на конец периода) / (MRR тех же клиентов на начало периода) × 100%Ключевой момент — тех же клиентов. Новые клиенты, появившиеся за период, в расчёт не входят. Считаем только когорту, которая была на начало.
Пример. На начало года MRR 100 клиентов равен $100k. За год:
- Часть ушла (churn): -$15k.
- Часть снизила тариф (downgrade): -$5k.
- Часть увеличила тариф (expansion): +$25k.
- Некоторые вернулись (resurrection): +$3k.
Итоговый MRR тех же клиентов на конец: 100 - 15 - 5 + 25 + 3 = $108k.
NRR = 108 / 100 = 108%.
Это значит: без единого нового клиента бизнес вырос на 8% за год. Великолепный показатель.
Компоненты NRR
NRR состоит из нескольких сил, которые тянут в разные стороны.
Churn — полностью потерянная выручка. Клиент отменил подписку. Снижает NRR.
Downgrade — клиент перешёл на более дешёвый тариф. Снижает.
Expansion — клиент перешёл на более дорогой тариф, добавил пользователей, купил дополнительные опции. Увеличивает.
Resurrection — клиент, который раньше ушёл, вернулся. Увеличивает, но редко.
Простейшая декомпозиция:
NRR = 1 - Churn Rate - Downgrade Rate + Expansion Rate + Resurrection RateДля здорового SaaS expansion обычно доминирует. Это возможно, когда в продукте есть usage-based pricing или переход на более высокие тарифы, и клиенты со временем платят больше.
GRR vs NRR
Часто путают с Gross Revenue Retention (GRR). Разница важна.
GRR считает только потери: churn и downgrade. Expansion не учитывается. GRR максимум = 100%.
GRR = (MRR существующих на конец) / (MRR на начало)
где не учитывается выручка от апгрейдовNRR считает всё, включая expansion. NRR может быть больше 100%.
GRR показывает, как хорошо вы удерживаете базу. NRR — как хорошо удерживаете и растёте на существующих клиентах.
Обе метрики важны. GRR — фундамент. NRR — возможность масштабирования.
Нормы по индустрии
Для B2B SaaS:
- NRR < 90% — тревожно. Теряете выручку быстрее, чем expansion даёт рост.
- NRR 90-100% — нормально для малых и средних SaaS.
- NRR 100-110% — хорошо. Здоровый бизнес.
- NRR 110-120% — отлично. Фундамент для быстрого роста.
- NRR > 120% — исключительный случай. Snowflake в лучшие годы был 150%+, Zoom 130%+.
Для B2C-подписок NRR обычно ниже, потому что возможностей для expansion меньше. 90% — норма.
Для enterprise SaaS (Salesforce, Workday) NRR часто 110-120% за счёт добавления мест (seats) и модулей.
Ваш NRR сравнивайте с похожими компаниями. Абсолютное значение без контекста ни о чём не говорит.
Глубокое понимание SaaS-метрик помогает на собеседованиях в продуктовых компаниях и финтехе. В тренажёре Карьерник есть задачи на расчёт метрик и их интерпретацию.
Расчёт в SQL
Для ежегодного NRR:
WITH start_cohort AS (
-- Клиенты на начало периода
SELECT customer_id, monthly_amount AS start_mrr
FROM subscriptions
WHERE status = 'active'
AND started_at <= '2025-04-01'
AND (ended_at IS NULL OR ended_at > '2025-04-01')
),
end_mrr AS (
-- Их текущий MRR
SELECT customer_id,
COALESCE(SUM(monthly_amount), 0) AS end_mrr
FROM subscriptions
WHERE status = 'active'
AND customer_id IN (SELECT customer_id FROM start_cohort)
AND started_at <= '2026-04-01'
AND (ended_at IS NULL OR ended_at > '2026-04-01')
GROUP BY customer_id
)
SELECT
SUM(s.start_mrr) AS total_start_mrr,
SUM(COALESCE(e.end_mrr, 0)) AS total_end_mrr,
ROUND(SUM(COALESCE(e.end_mrr, 0)) * 100.0 / SUM(s.start_mrr), 1) AS nrr_pct
FROM start_cohort s
LEFT JOIN end_mrr e USING (customer_id);Результат — единая цифра. Для подробной декомпозиции нужны дополнительные CTE: отдельно посчитать churn, downgrade и expansion.
NRR декомпозиция
Для понимания, откуда идёт NRR, разбиваем по компонентам:
WITH cohort AS (
-- Снимок начала года
),
changes AS (
SELECT
customer_id,
start_mrr,
end_mrr,
CASE
WHEN end_mrr = 0 THEN 'churned'
WHEN end_mrr > start_mrr THEN 'expanded'
WHEN end_mrr < start_mrr THEN 'downgraded'
ELSE 'stable'
END AS status
FROM cohort
)
SELECT
status,
COUNT(*) AS customers,
SUM(start_mrr) AS start_mrr,
SUM(end_mrr) AS end_mrr,
SUM(end_mrr - start_mrr) AS delta
FROM changes
GROUP BY status;Получаете таблицу:
status customers start_mrr end_mrr delta
churned 15 15000 0 -15000
downgraded 8 8000 5000 -3000
stable 60 60000 60000 0
expanded 17 17000 27000 +10000Видно, из чего формируется NRR. Если churn — самый большой компонент, надо работать над удержанием. Если expansion маленький — над апсейлом.
Пример реальной декомпозиции
Представим SaaS с ARR $10M:
- MRR когорты на начало года: $833k.
- Churn: -$100k (12%).
- Downgrade: -$25k (3%).
- Expansion: +$200k (24%).
- MRR когорты на конец года: $908k.
NRR = 908 / 833 = 109%.
Декомпозиция показывает, что продукт теряет 15% MRR за год из-за churn и downgrade, но expansion в 24% это перекрывает. Здоровая ситуация, но есть что улучшать в удержании.
NRR и рост
NRR — фундамент масштабирования. С NRR 110% и тем же маркетинговым бюджетом компания растёт быстрее, чем с NRR 95%, даже если обе привлекают одинаковое число новых клиентов.
Упрощённо: общий рост выручки = NRR по существующим + выручка от новых клиентов.
Если NRR = 120% и новые клиенты добавляют ещё 30% — общий рост 50%. Если NRR = 90% и новые 30% — рост 20%. Разница огромная.
Инвесторы смотрят на NRR как на предиктор будущего роста. Высокий NRR на масштабе (после достижения product-market fit) позволяет привлекать капитал на лучших условиях.
Улучшение NRR
Тактики:
Снижение churn. Качественный customer success, онбординг, проактивные касания, когда видите признаки отказа.
Снижение downgrade. Гибкие планы, возможность поставить подписку на паузу вместо отмены.
Стимулирование expansion. Usage-based pricing, апгрейды тарифов с дополнительной ценностью, кросс-сейл других продуктов.
Триггеры для expansion. Автоматические предложения апгрейда при достижении лимитов текущего плана.
Resurrection-кампании. Winback-письма, персональные предложения ушедшим клиентам.
Для B2B SaaS самый большой рычаг — expansion через добавление мест и рост usage. Для B2C — снижение churn, потому что возможностей для expansion мало.
Когортный NRR против агрегированного
Простая формула даёт агрегированный NRR. Более точно — когортный NRR:
Для каждой когорты (клиенты, появившиеся в определённый квартал):
- Стартовый MRR.
- MRR через 12 месяцев.
- NRR для этой когорты.
Общий NRR — взвешенное среднее.Когортный NRR показывает тренды: улучшается ли удержание новых когорт. Агрегированный это скрывает.
Типичные ошибки
Включать новых клиентов. NRR считается только по существующим, иначе это просто рост выручки.
Сравнивать по календарным периодам без нормализации. Когорта Q4 появилась недавно и ещё не успела уйти. NRR будет искусственно высоким.
Игнорировать скидки. Если дали 50% скидку на продление, MRR снизился. Это downgrade, влияет на NRR.
Считать на месячных или квартальных окнах. NRR — годовая метрика. Короткие окна слишком шумные.
Читайте также
- Что такое MRR и ARR
- Формула LTV
- Как посчитать churn в SQL
- Аналитик в SaaS: особенности
- Как посчитать NRR в SQL
- ACV (Annual Contract Value): для B2B
- Contribution margin: формула
- Шпаргалка метрик продукта
FAQ
NRR или GRR — что важнее?
Оба. GRR показывает удержание, NRR — удержание плюс рост. Инвесторы смотрят на NRR как на главную метрику.
Какой NRR считается хорошим?
Для B2B SaaS: 110%+ — хорошо, 120%+ — отлично. Для B2C — 95%+ норма.
Как часто мерить?
Раз в год. Короткие периоды слишком шумные, не показывают реальную картину.
NRR для маркетплейсов?
Применима, если есть повторяющиеся покупатели. Для разовых покупок концепция не работает.