В этом месяце заказов стало больше. Но их принесли новые покупатели или вернулись старые? И что происходит с людьми через неделю, месяц, два после первого заказа? Общий отчёт не разделяет эти истории. В Гуси-Лебеди мы предлагаем начинать когортный анализ с такого вопроса, а затем собирать таблицу, в которой у каждой цифры понятны группа, срок и способ расчёта.
Когортный анализ показывает, как меняется поведение одной и той же группы пользователей или клиентов с течением времени. Например, сравнивает повторные покупки людей, впервые купивших в январе и феврале. Когорта здесь определяется первым заказом, а возраст группы отсчитывается от этого события. Ниже разберём метод на условных данных: от правила отбора до расчёта удержания в Excel и решения, которое можно проверить.
Что такое когорта и какие данные нужны для анализа клиентов

Когорта и сегмент отвечают на разные вопросы. Сегмент «клиенты из Москвы» задаёт признак отбора, но сам по себе не говорит, от какого момента следить за людьми. Если взять клиентов из Москвы с первой покупкой в определённом месяце и проследить их следующие заказы, получится когортное сравнение. Географию, канал и тариф можно использовать как дополнительные условия, если они одинаково определены для всех групп.
Не смешивайте первый визит, регистрацию и оплату. Человек может зайти в январе, зарегистрироваться в феврале и купить в марте. Для анализа первых посещений он относится к январской группе, для повторных покупок после первого оплаченного заказа к мартовской. Это разные исследования, даже если в них участвуют одни и те же люди.
Мы советуем записать короткое задание до выгрузки: «Сравнить долю клиентов с повторным оплаченным заказом в течение второй недели после первой покупки у двух групп привлечения». В нём уже есть старт, событие результата, срок и основание сравнения. Для оценки рекламных каналов отдельно договоритесь, как определять канал первого привлечения. Последняя рекламная ссылка перед повторным заказом не должна незаметно менять принадлежность к исходной группе.
| Поле данных | Что нужно определить | Где возникает ошибка |
|---|---|---|
| ID клиента | Один устойчивый идентификатор для его событий | Дубли карточек превращают одного человека в нескольких |
| Первое событие | Дата и время первого подходящего заказа или другого выбранного действия | Начало выгрузки принимают за начало истории клиента |
| Повторное событие | Какие статусы заказов считаются результатом | Отменённые и тестовые заказы попадают в покупки |
| Период наблюдения | Окна одинаковой длительности и часовой пояс | Календарный месяц сравнивают с 30 днями после покупки |
Перед расчётом возьмите несколько обезличенных клиентов и вручную восстановите их путь. Есть ли покупка до начала доступной истории? Не задвоился ли заказ при обмене с CRM? Как учитываются возвраты? Если этих данных нет, назовите ограничение: например, «первая покупка в доступной выгрузке». Это честнее, чем подписывать её первой покупкой за всё время.
Пример когортного анализа: считаем Retention в Excel и читаем таблицу

Условный пример, не данные нашего проекта. Есть три группы клиентов по неделе первой покупки. Для каждого клиента окно 0 начинается в момент этого заказа и длится семь суток; окно 1 занимает следующие семь суток, окно 2 ещё семь. Считаем уникальных клиентов с хотя бы одним оплаченным заказом в каждом окне. Несколько заказов одного клиента не увеличивают количество участников.
Для каждой когорты делим количество таких клиентов на её исходный размер. В окне 0 каждый уже сделал покупку по правилу включения, поэтому там 100%. В последующих окнах считаем долю вернувшихся. Удержание в этом примере относится именно к покупкам, а не к любому посещению сайта.
| Неделя первой покупки | Размер когорты | Окно 0 | Окно 1 | Окно 2 |
|---|---|---|---|---|
| Группа A | 100 клиентов | 100 / 100 = 100% | 30 / 100 = 30% | 20 / 100 = 20% |
| Группа B | 80 клиентов | 80 / 80 = 100% | 28 / 80 = 35% | 16 / 80 = 20% |
| Группа C | 120 клиентов | 120 / 120 = 100% | Ещё нет полных данных | Ещё нет полных данных |
Предположим, к дате отчёта у всех клиентов A и B закончились три окна, а у C только окно 0. Тогда сравнивать A и B по окну 1 можно: 30% и 35%, разница пять процентных пунктов. В абсолютных числах у B вернулись 28 человек, у A 30. Поэтому одни количества без размера группы могут привести к противоположному выводу. Этот пример показывает арифметику, а не доказывает значимость различия.
Для Excel сначала соберите отдельную таблицу количеств: столбец A с названием группы, B с её исходным размером, C и далее с количеством уникальных покупателей в соответствующих окнах. На втором листе рассчитайте доли. Если данные первой строки находятся на листе «Данные», формула для её первого окна =Данные!C2/Данные!$B2. Формат ячейки процентный. Знак $ удерживает столбец размера когорты при протягивании вправо. Не применяйте формулу к ещё не наблюдавшимся окнам и строкам с нулевым размером.
Таблица количеств должна содержать уникальных клиентов, а не строки заказов. Сводная с простым подсчётом записей этого не гарантирует. Сначала исключите повторения пары «клиент + номер окна» или используйте подсчёт уникальных идентификаторов подходящим инструментом. Затем проверьте несколько ячеек вручную по исходным событиям.

Читать таблицу можно в двух направлениях. По строке видно, как одна группа ведёт себя с возрастом. По столбцу сравниваются разные группы в одинаковом возрасте. Январских клиентов через три месяца нельзя напрямую сравнивать с февральскими через один: у них разные сроки наблюдения.
Пустая ячейка и ноль имеют разный смысл. Ноль означает, что окно завершилось, данные доступны и никто не совершил выбранное действие. Пустота у молодой когорты означает, что результат ещё нельзя получить. Если последние участники группы не прожили всё окно, либо дождитесь его завершения для всех, либо используйте отдельно описанный метод расчёта по доступным наблюдениям. Не смешивайте такие варианты в одной таблице без пояснения.
Проверьте, что именно считает сервис. В отчётах Метрики о возвратах группы формируются по первому визиту; окна отсчитываются относительно него. В отчёте Retention рассматривается активность в отдельных окнах, а в отчёте «Когортный анализ» используются накопительные значения. Отчёты доступны через «Отчёты → Retention». Таблица покупок по данным CRM из нашего примера не является копией этой группировки.
Доля активных в отдельную неделю, доля вернувшихся хотя бы раз за несколько недель и доля вернувшихся начиная с определённого дня отвечают на разные вопросы. Не переносите название Retention из одного сервиса в другой без определения. Для своего отчёта подпишите событие, границы окна, знаменатель и способ накопления прямо рядом с таблицей.
От различий между когортами к решению: ошибки, деньги и инструменты

Допустим, новая группа чаще покупает повторно. Это повод проверить, чем она отличается: каналом, ассортиментом, скидкой, сезоном, устройствами или обслуживанием. Сравнение «до изменений» и «после» не отделяет влияние всех этих факторов. Для проверки конкретной причины может потребоваться эксперимент с сопоставимыми группами и заранее выбранной метрикой. Когортная таблица помогает найти вопрос для такой проверки, но сама не отвечает на него окончательно.
Небольшая группа особенно чувствительна к поведению отдельных людей. Универсальное правило «нужно минимум 100 или 500 клиентов» здесь не спасает: необходимая точность зависит от показателя, вариативности и решения. Показывайте численность рядом с долями. Если речь идёт о дорогом решении на основании небольшой разницы, сначала оцените неопределённость и достаточность данных.
Удержание тоже не равно окупаемости. Для денег считайте выручку одной когорты за одинаковый срок, возвраты, затраты на обслуживание и привлечение. Опишите, кому и по какому правилу приписаны расходы. Накопленная выручка на клиента за три месяца не является автоматически прогнозом его пожизненной ценности. Как разделить эти величины, мы разобрали в статье о расчёте юнит-экономики, CAC и LTV.
Для первого разбора небольшую проверяемую выгрузку удобно посчитать в Excel или Google Таблицах. Когда событий много или нужны повторяемые отчёты, SQL позволяет выделить первое событие каждого клиента, вычислить возраст последующих действий, посчитать уникальных участников по окнам и собрать показатели. Главное здесь не название инструмента, а воспроизводимые правила. Сохраните их вместе с датой обновления и проверкой исходных данных.
Если отчёт будут регулярно читать коллеги, в дашборде DataLens полезно показать не только цветовую таблицу, но и размер групп, дату среза, определения метрик и незавершённые окна. Цвет помогает увидеть отличия, но без этих пояснений яркая ячейка легко превращается в неверный вывод.
Заканчивайте анализ конкретным следующим действием. Например: проверить, на каком этапе новые покупатели перестают возвращаться; сопоставить этот этап с обращениями в поддержку; подготовить изменение и способ измерить результат. В Гуси-Лебеди мы рекомендуем принимать решение по цепочке «наблюдение → проверяемая гипотеза → действие → повторное измерение». Так отчёт становится инструментом работы, а не красивой картинкой с процентами.
