Когортный анализ на практике: как оценить удержание клиентов и пользователей

Когортный анализ помогает понять, какая доля клиентов или пользователей возвращается после первого целевого действия и когда начинается отток. Чтобы оценить удержание корректно, выберите повторное событие, разделите аудиторию по дате первого действия, рассчитайте возвраты за одинаковые периоды и сравните сопоставимые когорты с учётом сезонности и источника привлечения.

Что важно проверить в когортном анализе удержания

  • Когорта сформирована по первому целевому действию, а не по случайной дате регистрации.
  • Возвращение определяется событием, которое отражает получение ценности от продукта.
  • Периоды наблюдения одинаковы, а неполные периоды не сравниваются с завершёнными.
  • Клиенты и пользователи считаются на подходящем для продукта уровне.
  • Сезонность, каналы привлечения и изменения продукта учтены при интерпретации.

Выберите событие, которое показывает возвращение клиента

Начните с вопроса: какое действие подтверждает, что человек снова воспользовался продуктом и получил от него пользу? Для сервиса подписки это может быть повторное использование ключевой функции, для магазина - повторный заказ, для приложения - возвращение к основному сценарию.

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

Различайте метрики: удержание клиентов обычно опирается на повторную покупку, продление или активность организации; анализ удержания пользователей - на повторное целевое действие отдельного человека. Выбор события определит результат всего анализа.

Сформируйте когорты по дате первого целевого действия

Когорта - группа клиентов или пользователей, впервые совершивших выбранное действие в одном периоде. Период группировки выбирайте под частоту использования продукта: день, неделя или месяц. Слишком крупный интервал может скрыть ранний отток, а слишком мелкий - сделать сравнение нестабильным.

Для расчёта понадобятся:

  • идентификатор клиента или пользователя, который не меняется между сессиями;
  • дата первого целевого действия и даты повторных событий;
  • признаки источника привлечения, тарифа или сегмента, если они нужны для сравнения;
  • аналитическая система или выгрузка, позволяющая отфильтровать тестовые, внутренние и дублирующиеся события.

Доступ к данным предоставляйте по принципу минимальной необходимости. Не включайте в рабочую выгрузку персональные данные, если для расчёта достаточно обезличенного идентификатора.

Соберите таблицу удержания и прочитайте её по диагонали

  1. Очистите события. Удалите дубли и тестовую активность, проверьте часовой пояс и единообразие идентификаторов. Сверьте определение события с командой продукта.
  2. Назначьте период первого действия. Для каждого клиента или пользователя определите дату первого целевого события и отнесите его к соответствующей когорте.
  3. Посчитайте возвраты. Для каждого периода после первого действия найдите участников когорты, совершивших повторное целевое событие. Используйте уникальных участников, а не количество событий, если нужна доля вернувшихся.
  4. Рассчитайте долю удержания. Разделите число вернувшихся участников периода на размер исходной когорты. Сохраните и числитель, и знаменатель: это помогает проверить расчёт и понять размер выборки.
  5. Соберите матрицу. В строках разместите когорты, в столбцах - время с первого действия. Ячейка показывает долю когорты, активную в соответствующий период.
  6. Прочитайте динамику. Идите по строке, чтобы увидеть, как меняется удержание одной когорты. Сравнивайте одинаковые периоды между когортами; диагональ помогает проследить последовательные периоды для разных когорт.
Когорта Период первого действия Период после старта Как читать ячейку
Когорта A Месяц A M0, M1, M2 Доля участников когорты с целевым событием в каждом периоде
Когорта B Месяц B M0, M1 Для незавершённых периодов значение ещё нельзя сравнивать с полными

M0 обозначает период первого действия, M1 - следующий период и так далее. Это схема чтения таблицы, а не готовые результаты: заполните ячейки по своим данным. В классическом расчёте M0 часто отражает всю исходную когорту; зафиксируйте это правило до сравнения.

Быстрый режим

  1. Выберите повторное действие, отражающее ценность продукта.
  2. Сгруппируйте участников по периоду первого такого действия.
  3. Посчитайте уникальных вернувшихся в каждом следующем периоде и разделите на размер исходной когорты.
  4. Сравните одинаковые периоды, исключив неполные данные и проверив сегменты.

Сравните когорты с учётом сезонности и каналов привлечения

Перед выводами проверьте, что различия не объясняются неодинаковыми условиями наблюдения. Этот чек-лист помогает проверить результат анализа удержания пользователей и клиентов:

  • Все сравниваемые когорты наблюдались одинаковое количество периодов.
  • Границы периодов и часовой пояс едины для всей выборки.
  • Когорты сравниваются отдельно по важным каналам привлечения, если состав аудитории различается.
  • Учтены сезонные изменения спроса и календарные события.
  • Отмечены изменения цены, продукта, онбординга и коммуникаций.
  • Проверено, что событие возврата одинаково определено во всех периодах.
  • Размер когорты и число наблюдений достаточны для осторожной интерпретации сегмента.

Сервисы когортного анализа могут ускорить построение матрицы, но не заменяют проверку определения события, идентификаторов и фильтров. Для небольшого набора данных подойдёт таблица или SQL-выгрузка; выбирайте способ, который позволяет воспроизвести расчёт и проверить исходные записи.

Найдите момент оттока и проверьте гипотезы о его причинах

Ищите период, после которого доля вернувшихся заметно меняется, а затем проверяйте возможные причины на данных продукта и обратной связи. Само совпадение по времени не доказывает, что изменение интерфейса, тарифа или кампании вызвало отток.

Типичные ошибки, которые искажают выводы:

  • Считать любое открытие или посещение признаком удержания, хотя оно не связано с ценностью продукта.
  • Смешивать клиентов, аккаунты и отдельных пользователей в одном расчёте.
  • Принимать незавершённый период за период с низким удержанием.
  • Сравнивать когорты разного размера, не проверяя устойчивость результата.
  • Считать несколько повторных событий одного человека как нескольких вернувшихся.
  • Игнорировать сезонность и изменения каналов привлечения.
  • Делать вывод о причине оттока только по форме таблицы, без проверки гипотез.

Превратите результаты анализа в план экспериментов

Выбирайте следующий шаг по тому, что именно показывает когортный анализ:

  • Удержание падает сразу после первого опыта. Проверьте онбординг и путь до первого результата; тестируйте одно изменение за раз.
  • Различия связаны с каналом привлечения. Сравните качество привлечённых сегментов и согласованность обещаний рекламы с опытом продукта.
  • Снижение проявляется после конкретного этапа использования. Изучите сценарий на этом этапе и проверьте, где возникают затруднения.
  • Нужна оценка долгосрочного поведения. Продолжайте наблюдение за когортами и не подменяйте длительное удержание ранними сигналами активности.

Для каждого эксперимента зафиксируйте сегмент, гипотезу, основную метрику удержания, период наблюдения и защитные метрики. Сравнивайте группы на одинаковых условиях и не объявляйте результат до завершения выбранного периода.

Практические нюансы расчёта и трактовки удержания

Как выбрать период для формирования когорты?

Ориентируйтесь на обычную частоту целевого действия и цикл получения ценности. Период должен быть достаточно коротким, чтобы увидеть ранние изменения, и сопоставимым между когортами.

Чем отличается удержание клиентов от удержания пользователей?

Для клиента обычно анализируют повторную покупку, продление или активность организации. Для пользователя - повторное целевое действие человека; выбор единицы расчёта зависит от модели продукта.

Как учитывать несколько целевых событий одного пользователя?

Если метрика отвечает на вопрос о возврате, считайте уникальных пользователей с событием за период. Количество повторов можно анализировать отдельно как частоту использования.

Можно ли сопоставлять когорты разного размера?

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

Как трактовать незавершённый период наблюдения?

Не сравнивайте его напрямую с полным периодом: часть участников ещё не успела вернуться. Исключите такую ячейку из сравнения или явно пометьте её как неполную.

Подойдут ли электронные таблицы для когортного расчёта?

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

Автор материала

Марина Петрова

Прокрутить вверх