Когортный анализ помогает понять, какая доля клиентов или пользователей возвращается после первого целевого действия и когда начинается отток. Чтобы оценить удержание корректно, выберите повторное событие, разделите аудиторию по дате первого действия, рассчитайте возвраты за одинаковые периоды и сравните сопоставимые когорты с учётом сезонности и источника привлечения.
Что важно проверить в когортном анализе удержания
- Когорта сформирована по первому целевому действию, а не по случайной дате регистрации.
- Возвращение определяется событием, которое отражает получение ценности от продукта.
- Периоды наблюдения одинаковы, а неполные периоды не сравниваются с завершёнными.
- Клиенты и пользователи считаются на подходящем для продукта уровне.
- Сезонность, каналы привлечения и изменения продукта учтены при интерпретации.
Выберите событие, которое показывает возвращение клиента
Начните с вопроса: какое действие подтверждает, что человек снова воспользовался продуктом и получил от него пользу? Для сервиса подписки это может быть повторное использование ключевой функции, для магазина - повторный заказ, для приложения - возвращение к основному сценарию.
Такой подход подходит, если события фиксируются последовательно и их можно связать с клиентом или пользователем. Не стоит строить анализ удержания клиентов на визитах или открытиях приложения, если они не отражают ценность продукта. Для пользователей продукта с несколькими аккаунтами заранее решите, считать ли активность на уровне аккаунта, человека или устройства.
Различайте метрики: удержание клиентов обычно опирается на повторную покупку, продление или активность организации; анализ удержания пользователей - на повторное целевое действие отдельного человека. Выбор события определит результат всего анализа.
Сформируйте когорты по дате первого целевого действия
Когорта - группа клиентов или пользователей, впервые совершивших выбранное действие в одном периоде. Период группировки выбирайте под частоту использования продукта: день, неделя или месяц. Слишком крупный интервал может скрыть ранний отток, а слишком мелкий - сделать сравнение нестабильным.
Для расчёта понадобятся:
- идентификатор клиента или пользователя, который не меняется между сессиями;
- дата первого целевого действия и даты повторных событий;
- признаки источника привлечения, тарифа или сегмента, если они нужны для сравнения;
- аналитическая система или выгрузка, позволяющая отфильтровать тестовые, внутренние и дублирующиеся события.
Доступ к данным предоставляйте по принципу минимальной необходимости. Не включайте в рабочую выгрузку персональные данные, если для расчёта достаточно обезличенного идентификатора.
Соберите таблицу удержания и прочитайте её по диагонали
- Очистите события. Удалите дубли и тестовую активность, проверьте часовой пояс и единообразие идентификаторов. Сверьте определение события с командой продукта.
- Назначьте период первого действия. Для каждого клиента или пользователя определите дату первого целевого события и отнесите его к соответствующей когорте.
- Посчитайте возвраты. Для каждого периода после первого действия найдите участников когорты, совершивших повторное целевое событие. Используйте уникальных участников, а не количество событий, если нужна доля вернувшихся.
- Рассчитайте долю удержания. Разделите число вернувшихся участников периода на размер исходной когорты. Сохраните и числитель, и знаменатель: это помогает проверить расчёт и понять размер выборки.
- Соберите матрицу. В строках разместите когорты, в столбцах - время с первого действия. Ячейка показывает долю когорты, активную в соответствующий период.
- Прочитайте динамику. Идите по строке, чтобы увидеть, как меняется удержание одной когорты. Сравнивайте одинаковые периоды между когортами; диагональ помогает проследить последовательные периоды для разных когорт.
| Когорта | Период первого действия | Период после старта | Как читать ячейку |
|---|---|---|---|
| Когорта A | Месяц A | M0, M1, M2 | Доля участников когорты с целевым событием в каждом периоде |
| Когорта B | Месяц B | M0, M1 | Для незавершённых периодов значение ещё нельзя сравнивать с полными |
M0 обозначает период первого действия, M1 - следующий период и так далее. Это схема чтения таблицы, а не готовые результаты: заполните ячейки по своим данным. В классическом расчёте M0 часто отражает всю исходную когорту; зафиксируйте это правило до сравнения.
Быстрый режим
- Выберите повторное действие, отражающее ценность продукта.
- Сгруппируйте участников по периоду первого такого действия.
- Посчитайте уникальных вернувшихся в каждом следующем периоде и разделите на размер исходной когорты.
- Сравните одинаковые периоды, исключив неполные данные и проверив сегменты.
Сравните когорты с учётом сезонности и каналов привлечения
Перед выводами проверьте, что различия не объясняются неодинаковыми условиями наблюдения. Этот чек-лист помогает проверить результат анализа удержания пользователей и клиентов:
- Все сравниваемые когорты наблюдались одинаковое количество периодов.
- Границы периодов и часовой пояс едины для всей выборки.
- Когорты сравниваются отдельно по важным каналам привлечения, если состав аудитории различается.
- Учтены сезонные изменения спроса и календарные события.
- Отмечены изменения цены, продукта, онбординга и коммуникаций.
- Проверено, что событие возврата одинаково определено во всех периодах.
- Размер когорты и число наблюдений достаточны для осторожной интерпретации сегмента.
Сервисы когортного анализа могут ускорить построение матрицы, но не заменяют проверку определения события, идентификаторов и фильтров. Для небольшого набора данных подойдёт таблица или SQL-выгрузка; выбирайте способ, который позволяет воспроизвести расчёт и проверить исходные записи.
Найдите момент оттока и проверьте гипотезы о его причинах
Ищите период, после которого доля вернувшихся заметно меняется, а затем проверяйте возможные причины на данных продукта и обратной связи. Само совпадение по времени не доказывает, что изменение интерфейса, тарифа или кампании вызвало отток.
Типичные ошибки, которые искажают выводы:
- Считать любое открытие или посещение признаком удержания, хотя оно не связано с ценностью продукта.
- Смешивать клиентов, аккаунты и отдельных пользователей в одном расчёте.
- Принимать незавершённый период за период с низким удержанием.
- Сравнивать когорты разного размера, не проверяя устойчивость результата.
- Считать несколько повторных событий одного человека как нескольких вернувшихся.
- Игнорировать сезонность и изменения каналов привлечения.
- Делать вывод о причине оттока только по форме таблицы, без проверки гипотез.
Превратите результаты анализа в план экспериментов
Выбирайте следующий шаг по тому, что именно показывает когортный анализ:
- Удержание падает сразу после первого опыта. Проверьте онбординг и путь до первого результата; тестируйте одно изменение за раз.
- Различия связаны с каналом привлечения. Сравните качество привлечённых сегментов и согласованность обещаний рекламы с опытом продукта.
- Снижение проявляется после конкретного этапа использования. Изучите сценарий на этом этапе и проверьте, где возникают затруднения.
- Нужна оценка долгосрочного поведения. Продолжайте наблюдение за когортами и не подменяйте длительное удержание ранними сигналами активности.
Для каждого эксперимента зафиксируйте сегмент, гипотезу, основную метрику удержания, период наблюдения и защитные метрики. Сравнивайте группы на одинаковых условиях и не объявляйте результат до завершения выбранного периода.
Практические нюансы расчёта и трактовки удержания
Как выбрать период для формирования когорты?
Ориентируйтесь на обычную частоту целевого действия и цикл получения ценности. Период должен быть достаточно коротким, чтобы увидеть ранние изменения, и сопоставимым между когортами.
Чем отличается удержание клиентов от удержания пользователей?
Для клиента обычно анализируют повторную покупку, продление или активность организации. Для пользователя - повторное целевое действие человека; выбор единицы расчёта зависит от модели продукта.
Как учитывать несколько целевых событий одного пользователя?
Если метрика отвечает на вопрос о возврате, считайте уникальных пользователей с событием за период. Количество повторов можно анализировать отдельно как частоту использования.
Можно ли сопоставлять когорты разного размера?
Доли сравнивать можно, но учитывайте размер исходной группы и число наблюдений. Малые сегменты интерпретируйте осторожно, а выводы проверяйте на более широких данных.
Как трактовать незавершённый период наблюдения?
Не сравнивайте его напрямую с полным периодом: часть участников ещё не успела вернуться. Исключите такую ячейку из сравнения или явно пометьте её как неполную.
Подойдут ли электронные таблицы для когортного расчёта?
Для ограниченной и проверяемой выборки таблиц может быть достаточно. При регулярном обновлении данных удобнее использовать запросы или сервисы когортного анализа, сохраняя прозрачные правила расчёта.


