Когда общий retention (удержание, то есть доля пользователей, которые возвращаются) держится на 30%, кажется, что про продукт всё понятно. Разложите его по когортам, и окажется, что одни пользователи держатся месяцами, а другие исчезают на второй день. Общая цифра усредняет и тех и других, поэтому почти всегда врёт о том, что происходит с продуктом.
Средняя температура по больнице
Когортный анализ любят называть базовым инструментом продуктовой аналитики. В реальности его либо трогают поверхностно, либо не трогают вовсе, а вместо него смотрят на общие цифры: средний retention, средний LTV, общий churn. Такие показатели удобно ложатся в отчёт и почти ничего не объясняют.
Пользователи приходят в продукт в разное время, из разных каналов и с разной мотивацией, а среднее эту разницу стирает. Январская когорта, пришедшая по рекомендациям, и апрельская, приведённая скидочной рекламой, в одном проценте неразличимы, хотя продукту нужны совершенно разные действия по отношению к ним. Решения в итоге принимают по картинке.
Когортный анализ нужен вовсе не для того, чтобы усложнить дашборд. Он отвечает на один честный вопрос: что случается с пользователями после того, как они пришли, и как это поведение меняется со временем.
Стоит различать когорты и обычную сегментацию. Сегментация показывает разницу между группами в одной точке времени, когорты показывают изменение поведения группы во времени; в идеале их используют вместе.
Временными когортами (по регистрации, первой покупке, первому запуску) выбор не ограничен: полезны разрезы по каналу, тарифу, региону, типу поведения, лишь бы когорта отвечала на конкретный вопрос, потому что универсальных когорт не бывает. Анализируют по ним retention, активность, конверсию, выручку, LTV, то есть всё, что связано с ценностью. Показатели для красоты отчёта сюда не входят.
Почему средние ломают обратную связь
Когда метрики продукта проседают, разговор быстро уходит на конкретные релизы и конкретных людей. Вопрос, на каких данных вообще принимались решения, звучит редко. А зря: обычно корень там.
Без когортного разреза команда работает вслепую. Retention падает, и непонятно, у новых пользователей или у старых. LTV растёт, а за счёт кого, неясно. Есть общие цифры, по которым пытаются понять поведение людей, хотя они его не описывают.
Дальше ломается всё управление, и чьей-то личной ошибкой это уже не объяснить: так устроена система. Маркетинг оптимизирует стоимость привлечения (CPA), продукт следит за общим retention, бизнес считает выручку целиком. Все три показателя могут улучшаться ровно в тот момент, когда продукт теряет ценность для новичков. Изменения внедряются, эффект оценить нечем, стратегия строится на шуме.
Первые когорты всегда получаются кривыми
С первого раза когортный анализ почти ни у кого не получается, и это нормально. Поначалу ошибиться в выборе когорт, периодов или метрик неизбежно. Даже слишком грубый разрез (например, всех по дате регистрации, без деления по каналам) лучше одной общей цифры: первые изменения видны уже так.
Если команда замечает, что такой разрез не даёт ответов, и уточняет вопросы, она учится. Когортный анализ вообще настраивают постепенно, за один раз отчёт не сделать.
Граница проходит там, где когорты перестают влиять на решения. Отчёты выходят в срок, графики обновляются, дашборд открывают на еженедельной встрече, а ни один продуктовый выбор за квартал не изменился из-за того, что показали когорты. В этот момент анализ превращается в ритуал: расходы на него остаются, отдача исчезает.
Ещё одна примета ритуала: данными подтверждают заранее принятое решение и подгоняют разрез под гипотезу. Данные в таком случае в порядке, сбоит мышление.
Что меняется, когда смотришь по когортам
Когорты прежде всего меняют вопросы, которые команда задаёт продукту. Вместо «почему упал retention» появляется «какие когорты удерживаются хуже и почему», и сразу становится видно, что пользователи из нового канала уходят быстрее или что после переделки онбординга свежие когорты стали активнее. Без этого разреза исследование опирается на интервью и интуицию, не связывая их с реальным поведением, и легко скатывается в гадание.
Тот же разрез отвечает и на вопрос, сработало ли изменение. После выхода фичи смотреть надо на тех, кто пришёл уже после релиза, общий retention тут мало что скажет. И смотреть сразу, не дожидаясь конца квартала. Разница между когортами даёт повод проверить гипотезу о релизе, но прежде чем приписывать ему эффект, нужно сопоставить возраст когорт, каналы привлечения и другие изменения условий. Иначе команде только кажется, что дела идут лучше: метрика растёт за счёт старых пользователей и скрывает, что продукт стал хуже.
Наконец, когорты дают маркетингу, продукту и бизнесу общий язык. Команды начинают говорить о конкретных группах, и споры «у нас всё хорошо» против «у нас всё плохо» сменяются разговором о том, где именно система работает, а где нет. Меньше эмоций, больше конкретики: когда все смотрят на когорту марта и когорту сентября, обсуждать становится нечего, кроме того, что реально произошло между ними.
Проще всего это увидеть в цифрах. Пусть общий retention на 14-й день месяц за месяцем держится на 30%, картина спокойная. Но если разложить его по когортам, зрелые пользователи могут удерживаться на 45%, а каждая новая когорта после недавнего релиза давать уже 18%. Средние 30% просто прикрывают тот факт, что вес «тяжёлых» старых когорт какое-то время компенсирует провал у новичков.
Расчёт простой. Если в базе, по которой считается метрика, 44% приходится на ранние когорты с удержанием 45%, а 56% на новые с 18%, среднее составит 0,44 × 45% + 0,56 × 18% ≈ 30%. Через пару месяцев доля ранних упадёт до 25%, и средняя опустится до 0,25 × 45% + 0,75 × 18% ≈ 24,8%, хотя ни одна когорта за это время не изменилась.
Когда старых пользователей станет меньше, средняя рухнет, и реагировать будет поздно. А в когортном разрезе сигнал был виден за несколько месяцев до этого.
Аналитики называют это эффектом смены состава: каждая группа внутри метрики ведёт себя стабильно, а среднее движется только потому, что меняются веса групп.
Форма кривой важнее одной точки
Когорты полезны не только тем, что ловят слабые группы. Куда больше говорит форма кривой удержания во времени, чем значение в одной её точке. Один из самых надёжных признаков того, что продукт нашёл свой рынок (product-market fit), выглядит так: кривая когорты со временем выходит на плато. Если удержание перестаёт падать и стабилизируется выше нуля, у продукта есть ядро, которое остаётся, и на нём можно расти.
Кривая, которая после любого притока продолжает сползать к нулю, говорит об обратном: пользователи приходят и не находят причины возвращаться, сколько ни лей трафика сверху.
Отсюда практический вывод, который одна усреднённая цифра дать не может. Растущее число активных при кривой, уходящей в ноль, означает ведро, которое протекает всё быстрее, и ростом его назвать нельзя. Плоский, пусть и невысокий, участок кривой ценнее красивого старта: он показывает, что часть пользователей нашла в продукте постоянную ценность. Поэтому здоровье продукта честнее читать по тому, где выравнивается кривая каждой когорты; стартовая цифра тут вторична.
Когда когорты врут сами: 3 ловушки
Первая ловушка связана с размером. Если продукт получает 50 регистраций в неделю, недельная когорта слишком мала, чтобы о ней что-то утверждать, и команда, которая реагирует на каждое движение кривой, гоняется за шумом.
Насколько это серьёзно, легко посчитать. При 200 пользователях в когорте и удержании около 30% стандартная ошибка доли равна корню из 0,3 × 0,7 / 200, примерно 3,2 пункта. Разница между двумя такими когортами становится заметной на уровне около 9 пунктов (две стандартные ошибки разности). Колебания в 5-6 пунктов от недели к неделе при таком размере ничего не говорят. При 50 пользователях порог вырастает примерно до 18 пунктов.
Правило из этого простое: пока недельные когорты меньше нескольких сотен человек, объединяйте их в месячные и сравнивайте только расхождения, которые держатся две-три когорты подряд.
Вторая ловушка тише. Если за время наблюдения поменялось определение базового события (например, «активным» стали считать любое открытие приложения, а не завершённое действие), старые и новые когорты перестают быть сравнимыми, и кривая показывает правку в трекинге. Такие изменения записывают в журнал рядом с отчётом и ставят на графике отметкой.
Третья касается денег. Каналы часто отбирают по отношению LTV к CAC, и если LTV посчитан по средней по базе, старые лояльные пользователи завышают его как раз для тех каналов, которые приводят худшие когорты. Сравнивать LTV с CAC честно можно только внутри когорты одного канала и месяца.
Живой отчёт против отчёта для галочки
Зрелость когортной работы видна по тому, живёт ли отчёт внутри решений. У зрелой команды когорты обновляются, сравниваются между собой и попадают в планирование и ретроспективы под конкретные гипотезы, и «на всякий случай» их никто не строит. В обратном случае когортный отчёт существует сам по себе: его открывают аналитики, но не используют продакт-менеджеры и руководители.
Ломается когортный анализ обычно тремя способами. Либо когорты не строят вовсе, продолжая верить, что средних достаточно, либо строят криво: берут не то базовое событие или смешивают в одной группе органику и платный трафик, и поведение снова усредняется до бессмысленности. Либо их строят, но не используют, и приметы этого узнаваемы:
- Данные обновляют редко, поэтому картина запаздывает.
- Когорты есть только для отчётов и ни с одним продуктовым изменением не связаны, и это самый тихий случай.
Формально инструмент работает, управленческой ценности ноль. Узнать такую команду можно по двум дежурным репликам. «В среднем retention нормальный» означает отказ смотреть в детали, а «это просто сезонность», сказанное без единой проверки когорт, служит удобным способом не искать причину внутри продукта.
30% регистраций из канала, который убивал retention
Этот и следующий случаи сложены из типичных ситуаций. Продукт показывал стабильный общий retention, отчёты выглядели спокойно, команда считала, что развитие идёт нормально.
Запустили новый маркетинговый канал. Трафик вырос, регистраций стало больше, средние показатели почти не сдвинулись. Но первый же когортный разрез показал: новички из этого канала уходят заметно быстрее старых пользователей, и их retention на второй неделе был вдвое ниже.
Почему средние почти не сдвинулись? Это легко посчитать. Допустим, новый канал дал 30% регистраций месяца, и его пользователи удерживались к 14-му дню на 15% против 30% у остальных новичков. Удержание новых пользователей в целом опустилось с 30% до 0,7 × 30% + 0,3 × 15% = 25,5%. В общем retention, где новички составляют меньшинство активной базы, эти 4,5 пункта растворились до долей процента.
Разобрались в причине: реклама обещала сценарий, которого продукт не поддерживал, и люди разочаровывались сразу после первого опыта. Канал не стали рубить сгоряча: поменяли позиционирование и онбординг, и новые когорты выправились. Без когортного анализа проблема так и осталась бы спрятанной за средними.
Усложнённый первый платёж
Здесь продуктовая команда видела падение выручки при стабильном трафике. Активных пользователей примерно столько же, средний чек колеблется в пределах нормы: по общим цифрам всё походило на временное колебание. Причину привычно искали в рынке и сезонности, обсуждали акции, скидки и новые тарифы, но всё это оставалось гипотезами, а ощущение, что продукт «что-то теряет», не уходило.
Когортный анализ по дате первой покупки развернул картину. Старые когорты покупали с прежней частотой, новые резко проседали уже в первые недели. Значит, проблема сидела в опыте новичков.
Дальше нашлась и механика: за последние месяцы первый платный сценарий оброс дополнительными шагами, условиями и ограничениями. Старых клиентов это почти не задевало, а новых било критично. Команда упростила первый платёж и пересобрала вокруг него коммуникацию, свежие когорты пошли лучше, выручка стабилизировалась без агрессивного маркетинга. Иначе оптимизировали бы не ту часть системы.
4 вопроса, по которым видно, работают ли когорты
Для самопроверки их достаточно.
- Смотрим ли мы когорты регулярно, а не раз в год, и понимаем ли, какое базовое событие лежит в их основе.
- Разделяем ли пользователей по времени прихода и каналу, и видим ли разницу между старыми и новыми когортами.
- Проверяем ли эффект фич именно на новичках и отслеживаем ли ухудшение свежих когорт, вместо того чтобы прятать его за общей цифрой.
- Связаны ли когорты с продуктовыми гипотезами и приоритетами, не оправдываем ли мы проблемы «внешними факторами» без проверки, и меняются ли реальные решения после того, как мы посмотрели на разрез.
Если отчёт есть, а решения прежние, инструмент не работает.
На ранней стадии данные шумные, но даже простое деление по неделям прихода спасает от того, чтобы принять рост трафика за рост ценности.
Часто когорты игнорируют именно потому, что они разрушают удобные иллюзии и требуют работы: корректных данных, интерпретации, обсуждения. При этом даже самый скромный отчёт, retention по неделям регистрации отдельно для двух крупнейших каналов, за месяц показывает то, чего не видно в среднем: выходят ли кривые на плато и не отстают ли свежие когорты от старых. Рецепт такого отчёта умещается в три строки:
- Когорта = неделя регистрации × канал (два крупнейших источника трафика).
- Удержание D14 = пользователи когорты, совершившие главное полезное действие на 14-й день или позже / размер когорты.
- Сигнал = расхождение больше двух стандартных ошибок разности (при 200 пользователях в когорте это около 9 пунктов), которое держится две-три когорты подряд.
Когда свежие когорты всё же отстают, у расхождения обычно есть дата. Оно начинается с конкретной недели, и в ту неделю что-то поменялось либо в продукте, либо в обещаниях рекламы.