Когортный анализ на практике: как читать retention curves и прогнозировать churn

Однажды CEO SaaS-компании показал мне дашборд: «Retention 78%, всё отлично». Я попросил разбить по когортам. Оказалось, что когорта 6-месячной давности удерживалась на 85%, а последние три когорты — на 60%. Общий retention выглядел здоровым, потому что старые лояльные пользователи маскировали отток новых. Компания не знала, что у неё проблема, пока когортный анализ не вскрыл реальную картину.
Это ловушка средних значений. Поэтому когорты стоит смотреть в любом продукте с повторяющейся выручкой, даже если аналитик в команде один.
Зачем когортный анализ, если есть общий retention rate
Общий retention rate — это среднее по больнице. Он скрывает как минимум три проблемы:
Рост новых пользователей маскирует отток старых. Если каждый месяц приходит 1 000 новых пользователей, а 300 старых уходят — общая база растёт, retention «в среднем» выглядит хорошо. Но ваш продукт теряет треть клиентов, и как только рост замедлится — база начнёт сжиматься.
Изменения в продукте не видны. Вы запустили новый onboarding 3 месяца назад. Он помог? Общий retention не покажет — в нём перемешаны пользователи с разным стажем. Только сравнение когорт до и после изменения покажет эффект.
Разные каналы привлекают разных пользователей. Органические пользователи могут удерживаться на 70%, а пришедшие из платной рекламы — на 40%. Средний retention 55% скрывает эту разницу.
Когортный анализ группирует пользователей по времени первого события (регистрация, первая оплата, первая сессия) и отслеживает поведение каждой группы отдельно.
Строим retention curve шаг за шагом
Шаг 1. Определите когорту
Когорта — группа пользователей, объединённых по дате первого значимого события.
| Тип когорты | Когда использовать | Пример |
|---|---|---|
| По дате регистрации | Freemium, мобильные приложения | «Все, кто зарегистрировался в январе 2025» |
| По дате первой оплаты | SaaS с trial, подписки | «Все, кто впервые заплатил в январе 2025» |
| По дате первого действия | Marketplace, транзакционные модели | «Все, кто совершил первую покупку в январе» |
Выбор типа когорты зависит от бизнес-модели. Для SaaS с подпиской я рекомендую когорту по первой оплате — она отсекает пользователей, которые зарегистрировались, но никогда не платили.
Шаг 2. Выберите период
- Дневные когорты — для мобильных приложений и игр, где активность измеряется в днях
- Недельные — для продуктов с циклом использования в несколько дней
- Месячные — для SaaS, подписок, B2B-продуктов. Это самый распространённый вариант
Шаг 3. Рассчитайте retention для каждой когорты
Формула retention для месяца :
Пример расчёта для когорты «Январь 2025» (начальный размер: 500 пользователей):
| Месяц | Активные | Retention |
|---|---|---|
| M0 (Январь) | 500 | 100% |
| M1 (Февраль) | 340 | 68% |
| M2 (Март) | 265 | 53% |
| M3 (Апрель) | 230 | 46% |
| M4 (Май) | 215 | 43% |
| M5 (Июнь) | 210 | 42% |
| M6 (Июль) | 205 | 41% |
Шаг 4. Постройте кривую
Retention curve — это график по оси Y (0-100%) и периодов по оси X. Форма кривой расскажет вам о продукте больше, чем любой средний показатель.
M0 всегда 100% — это месяц первого события. Некоторые аналитики начинают с M1, что создаёт путаницу при сравнении. Стандартная практика — начинать с M0 = 100%.
Ещё одна ошибка, которую я часто вижу — путаница между «вернулся хотя бы раз» и «активен в конкретном месяце». Retention считается за конкретный период: пользователь активен именно в месяце M3, а не «был активен где-то между M1 и M3». Второй вариант — это cumulative engagement, не retention.
Читаем heatmap: паттерны удержания
Heatmap когортного анализа — таблица, где строки — когорты, столбцы — периоды, а цвет ячейки отражает retention (тёмный = высокий, светлый = низкий). Три паттерна, которые нужно уметь распознавать:
Здоровая кривая: быстрое падение, затем плато
M0 M1 M2 M3 M4 M5 M6 M7 M8 M9 M10 M11
100% 65% 50% 43% 40% 38% 37% 36% 35% 35% 34% 34%
Первые 2-3 месяца — резкое падение. Уходят те, кому продукт не подошёл. После этого кривая выравнивается на плато. Плато — сигнал product-market fit: оставшиеся пользователи нашли ценность и остаются надолго.
Уровень плато зависит от категории продукта:
| Категория | Типичное плато (M12) |
|---|---|
| SaaS B2B Enterprise | 85-95% |
| SaaS B2B SMB | 60-75% |
| SaaS B2C (подписки) | 30-50% |
| Мобильные приложения | 15-25% |
| E-commerce (повторные покупки) | 20-35% |
Тревожная кривая: медленное падение без плато
M0 M1 M2 M3 M4 M5 M6 M7 M8 M9 M10 M11
100% 80% 68% 58% 49% 42% 36% 31% 27% 23% 20% 17%
Кривая не выходит на плато — отток продолжается. На первый взгляд, M1 = 80% выглядит отлично. Но через 12 месяцев остаётся 17%. Это «молчаливый» паттерн: нет резкого обвала, который привлёк бы внимание, но продукт стабильно теряет пользователей. Типичная причина — продукт решает разовую задачу, а не создаёт привычку.
Отличная кривая: рост retention (smile curve)
M0 M1 M2 M3 M4 M5 M6 M7 M8 M9 M10 M11
100% 55% 45% 42% 40% 41% 43% 45% 47% 48% 49% 50%
Редкий и ценный паттерн. После начального оттока retention начинает расти. Это значит, что оставшиеся пользователи активируют других (виральность), или продукт становится ценнее со временем (сетевой эффект). Smile curve — сильный сигнал инвестору.
Сравнение когорт на heatmap
Допустим, у вас три когорты. Heatmap покажет разницу сразу:
| Когорта | M0 | M1 | M2 | M3 | M4 | M5 | M6 |
|---|---|---|---|---|---|---|---|
| Янв 2025 | 100% | 62% | 48% | 41% | 38% | 36% | 35% |
| Фев 2025 | 100% | 68% | 55% | 49% | 46% | 44% | 43% |
| Мар 2025 | 100% | 71% | 58% | 52% | — | — | — |
Февральская и мартовская когорты удерживаются лучше. Что произошло? Может быть, вы запустили новый onboarding, или изменили тарифы, или привлекли пользователей из другого канала. По среднему retention этого вопроса даже не возникло бы.
Churn Rate: обратная сторона retention
Churn — это retention наоборот, но считать его можно по-разному.
Gross Churn vs Net Churn
Если gross churn = 8%, но 2% пользователей возвращаются (реактивация через email-кампании, промо-акции), то net churn = 6%. Для финмодели используйте net churn — он реалистичнее.
Revenue Churn vs Logo Churn
Logo churn — отток по количеству клиентов. Revenue churn — отток по выручке. Эти показатели могут расходиться кардинально:
| Месяц | Ушедших клиентов | Потерянная выручка | Logo Churn | Revenue Churn |
|---|---|---|---|---|
| Январь | 15 из 300 | $750 из $15 000 | 5.0% | 5.0% |
| Февраль | 12 из 285 | $2 400 из $14 250 | 4.2% | 16.8% |
В феврале ушло меньше клиентов, но revenue churn резко вырос — потому что ушли крупные. Revenue churn важнее для P&L, logo churn — для понимания продуктовых проблем.
Net Revenue Retention (NRR)
NRR добавляет к этому expansion (upsell, cross-sell):
NRR > 100% значит, что вы зарабатываете с существующих клиентов больше, чем теряете от оттока. Benchmark для B2B SaaS — 110-130%.
Расчёт месячного churn из retention curve
Пример:
| Месяц | Retention | Месячный churn |
|---|---|---|
| M0 | 100% | — |
| M1 | 68% | 32% |
| M2 | 53% | 22% |
| M3 | 46% | 13% |
| M4 | 43% | 6.5% |
| M5 | 42% | 2.3% |
| M6 | 41% | 2.4% |
Месячный churn снижается со временем. Это типичная картина: ранний отток «случайных» пользователей высок, а те, кто остался, уходят реже. Усреднённый churn 5% в месяц не отражает эту динамику.
Именно поэтому, когда инвестор спрашивает «какой у вас churn?», ответ «5%» — неполный. Правильный ответ: «M1 churn — 32%, но к M6 стабилизируется на 2-3%, что говорит о сильном product-market fit для ядра пользователей.» Об этом обязательно спросят при защите финмодели перед инвестором.
Как retention влияет на P&L и LTV
Разница в retention, которая кажется незначительной (5 процентных пунктов), на горизонте 36 месяцев меняет LTV кратно.
LTV через retention curve
Традиционная формула предполагает постоянный churn. Более точная формула — сумма дисконтированных ARPU по кривой удержания:
где — месячная ставка дисконтирования (обычно 1-2%).
Без дисконтирования:
Таблица: как 5% разницы в retention меняет LTV
Две кривые: Сценарий A — плато на 35%, Сценарий B — плато на 40%. ARPU = $25/мес.
| Месяц | Retention A | Retention B | Разница |
|---|---|---|---|
| M0 | 100% | 100% | 0% |
| M1 | 65% | 70% | +5% |
| M3 | 42% | 47% | +5% |
| M6 | 36% | 41% | +5% |
| M12 | 35% | 40% | +5% |
| M24 | 35% | 40% | +5% |
| M36 | 35% | 40% | +5% |
Теперь считаем LTV (сумма ARPU * R(n) за 36 месяцев):
| Метрика | Сценарий A | Сценарий B | Разница |
|---|---|---|---|
| Сумма R(n), 36 мес | 14.3 | 16.4 | +15% |
| LTV (ARPU $25) | $358 | $410 | +$52 (+15%) |
На 36 месяцах разница — 15%. Но если смотреть на LTV через 60 месяцев:
| Метрика | Сценарий A | Сценарий B |
|---|---|---|
| Сумма R(n), 60 мес | 22.7 | 26.2 |
| LTV (ARPU $25) | $568 | $655 |
| Разница | — | +$87 (+15%) |
А теперь возьмём более радикальную разницу — плато на 30% vs 45%:
| Метрика | Плато 30% | Плато 45% | Разница |
|---|---|---|---|
| LTV, 36 мес | $303 | $463 | +53% |
| LTV, 60 мес | $480 | $745 | +55% |
15 процентных пунктов на плато дают больше 50% разницы в LTV. Ни один другой параметр финмодели не двигает результат так сильно.
Прогнозирование выручки по когортам
Выручка в месяце — это сумма ARPU по всем активным пользователям из всех когорт:
где — размер когорты , — retention когорты через месяцев.
Пример (ARPU = $25, рост когорт +10%/мес):
| Месяц | Новые (когорта) | Актив. из M0 | Актив. из M1 | Актив. из M2 | Всего актив. | Выручка |
|---|---|---|---|---|---|---|
| M0 | 200 | 200 | — | — | 200 | $5 000 |
| M1 | 220 | 136 | 220 | — | 356 | $8 900 |
| M2 | 242 | 106 | 150 | 242 | 498 | $12 450 |
| M3 | 266 | 92 | 117 | 165 | 640 | $16 000 |
Здесь retention curve: M0=100%, M1=68%, M2=53%, M3=46%. Каждая строка — накопление когорт. Выручка растёт быстрее, чем размер когорт, потому что старые когорты продолжают приносить доход.
Такой прогноз точнее, чем «активная база * ARPU», потому что учитывает состав аудитории. 640 активных пользователей в месяце M3 — это 92 из первой когорты (самые лояльные), 117 из второй, 165 из третьей и 266 новых. Каждая группа имеет разную вероятность оттока в следующем месяце, и retention curve это учитывает.
Когортный retention в финансовой модели
От фиксированного churn к retention curve
Я видел десятки финмоделей с фиксированным churn: «5% в месяц». Это удобно для расчётов, но искажает реальность в двух направлениях:
-
Переоценивает отток на позднем этапе. Если реальная кривая выходит на плато, фиксированный churn продолжает «убивать» пользователей, которые в реальности остались бы.
-
Недооценивает ранний отток. Первые месяцы — самые опасные. Реальный churn может быть 30-40% в M1, а фиксированная модель покажет 5%.
Сравнение прогнозов:
| Месяц | Фикс. churn 5% | Retention curve | Разница |
|---|---|---|---|
| M0 | 1 000 | 1 000 | 0 |
| M1 | 950 | 680 | -270 |
| M3 | 857 | 460 | -397 |
| M6 | 735 | 410 | -325 |
| M12 | 540 | 380 | -160 |
| M24 | 292 | 360 | +68 |
При фиксированном churn 5% через 24 месяца остаётся 292 из 1 000. Retention curve с плато на 37% даёт 360. На раннем этапе фиксированный churn оптимистичен (занижает отток), на позднем — пессимистичен (завышает). Ошибка уходит в P&L, прогноз выручки и LTV.
Сезонность и когорты
Retention зависит от сезона. Пользователи, пришедшие в январе (после новогоднего пика рекламы), могут удерживаться хуже, чем осенние когорты. Причины:
- Разное качество трафика (импульсные vs намеренные установки)
- Сезонные колебания использования (каникулы, отпуска)
- Промо-когорты с завышенными ожиданиями
В финмодели это учитывается через seasonality multiplier к retention curve:
где — сезонный коэффициент когорты (0.8-1.2).
Практика: визуализация и инструменты
Когортный анализ полезен ровно настолько, насколько легко его читать и обновлять. На практике нужны три вещи:
1. Heatmap
Таблица с цветовой кодировкой, где сразу видно:
- Какие когорты удерживаются лучше/хуже
- На каком месяце кривая выходит на плато
- Есть ли тренд (улучшение/ухудшение со временем)
2. Retention curve overlay
Несколько кривых на одном графике. Позволяет визуально сравнить когорты и увидеть эффект изменений в продукте.
3. Связь с P&L
Кривая удержания должна жить внутри финансовой модели, а не в отдельном отчёте: изменили кривую — сразу видно, что стало с LTV, выручкой и break-even.
В ProductWave retention curve задаётся в параметрах модели, и от неё считаются активные пользователи, выручка и LTV. Виджет Cohort Heatmap на дашборде показывает тепловую карту удержания по когортам. Переключатель «Когортный retention» в настройках модели меняет расчёт с фиксированного churn на кривую удержания, так что два прогноза можно сравнить.
Подробнее о том, как retention curve влияет на unit-экономику — CAC, LTV, Payback — разобрано в гайде по unit-экономике. О построении полной P&L-модели с учётом когортного retention — в пошаговом руководстве.
Если когортного анализа у вас пока нет, начните с одного: постройте heatmap по месяцам первой оплаты и посмотрите, выходит ли кривая на плато. Если не выходит, у продукта нет ядра лояльных пользователей, и маркетингом это не исправить.
Сравнить два прогноза на своих цифрах можно в ProductWave: включите когортный retention в настройках модели и посмотрите, насколько он расходится с фиксированным churn.
January 5, 2026
АналитикаПродакт-менеджментSaaSГайд