Почему когорты руками — это долго и хрупко
Когортный анализ группирует пользователей по дате прихода и смотрит, сколько из них возвращается через неделю, две, месяц. Метрика простая по смыслу, но адски неудобная в сборке вручную: нужно сопоставить каждое действие с датой регистрации, посчитать «возраст» в неделях, свернуть в матрицу и подсветить проседающие ячейки. Одна ошибка в формуле сдвига — и вся таблица врёт.
Claude Code снимает именно эту механику. Вы кладёте выгрузку в папку, описываете, что считать, — модель пишет и запускает код, который строит матрицу за секунды. При новой выгрузке вы не пересобираете формулы: та же команда прогоняет свежий файл. Это не «магия ИИ», а перенос рутины с человека на машину — вам остаётся смотреть на результат и думать, что он значит для продукта.
Какая выгрузка нужна на входе
Для базового когортного анализа хватает двух колонок на пользователя: идентификатор и дата события. Чем чище выгрузка, тем меньше правок потом.
- user_id — уникальный идентификатор пользователя.
- signup_date — дата регистрации или первой покупки (определяет когорту).
- event_date — дата активности: вход, заказ, открытие приложения.
- revenue — по желанию, если хотите строить не только retention, но и revenue-когорты (сколько денег приносит когорта со временем).
Выгрузить это можно из CRM, биллинга или базы. Если данные лежат в SQL-базе, не выгружайте руками — подключите её через MCP к базам данных, и Claude Code сам заберёт нужные поля. Для разовой задачи достаточно и обычного CSV из выгрузки. Актуальная модель Opus 4.8 спокойно держит в контексте описание схемы данных и логику расчёта одновременно, так что можно сразу оговорить нюансы: какой считать активностью, с какого события стартует когорта.
Промпт для построения матрицы удержания
Задача — не «посчитай retention», а получить конкретную матрицу с понятным форматом. Чем точнее ТЗ, тем меньше уточнений.
Прочитай events.csv (колонки: user_id, signup_date, event_date). Построй недельный когортный анализ retention: - когорта = неделя регистрации - по строкам когорты, по столбцам W0..W8 - в ячейках — % вернувшихся пользователей когорты - отдельной колонкой размер когорты Собери результат в retention.csv и текстом опиши 3 главных наблюдения: где просадка, какие когорты лучше, есть ли тренд по свежим неделям.
Через полминуты в папке появится retention.csv и разбор словами. Дальше — обычный диалог: «покажи то же по месяцам, а не неделям», «добавь revenue-retention рядом», «построй когорты только по платному трафику». Вам не нужно знать pandas — вы формулируете задачу как аналитику-человеку, а код пишется под капотом. Подробнее про сам метод — в разборе когортного анализа.
Как читать матрицу удержания
Готовая таблица бесполезна, если не уметь её читать. Вот типовая недельная матрица (условные цифры) и что она говорит.
| Когорта | Размер | W0 | W1 | W2 | W4 | W8 |
|---|---|---|---|---|---|---|
| Неделя 1 | 420 | 100% | 38% | 27% | 19% | 14% |
| Неделя 2 | 510 | 100% | 41% | 30% | 22% | 16% |
| Неделя 3 | 480 | 100% | 44% | 33% | 25% | — |
Читаем по строкам — как тает когорта со временем; по столбцам — сравниваем одинаковый «возраст» у разных когорт. Здесь W1 растёт от недели к неделе (38% → 41% → 44%): свежие когорты удерживаются лучше, значит онбординг или продукт улучшаются. Самая большая просадка — между W0 и W1: за первую неделю уходит почти две трети. Именно сюда бьют в первую очередь — онбордингом и welcome-цепочкой, потому что удержать имеющегося дешевле, чем купить нового.
Плоская линия retention после N-й недели — это ваше «ядро»: пользователи, которые останутся надолго. Задача продукта — поднять этот пол, а не только замедлить первый отток.
Когорты по сегментам и каналам
Общий retention усредняет и прячет правду. Пользователи из разных каналов удерживаются по-разному, и это меняет решения по бюджету. Попросите Claude Code разбить матрицу по срезам.
Построй ту же матрицу отдельно для каждого источника трафика (колонка source). Сравни retention W4 по каналам и выдели, где удержание сильно ниже среднего.
Часто оказывается, что канал с дешёвым CAC приводит людей, которые отваливаются к W2, а «дорогой» канал даёт лояльное ядро. Без разбивки по когортам вы бы резали бюджет не там. Свяжите это с LTV: канал с высоким retention обычно даёт и высокий LTV, даже если привлечение дороже. Для более тонкой работы с базой пригодится RFM-анализ через Claude Code — он режет клиентов по свежести, частоте и деньгам.
От разовой таблицы к живому отчёту
Разовый расчёт хорош для ответа на конкретный вопрос. Но retention смотрят регулярно, и переделывать каждый раз лень. Два пути автоматизации.
- Скрипт по расписанию. Просите Claude Code оформить расчёт отдельным файлом-скриптом, который берёт свежий CSV и пересобирает
retention.csv. Запускаете раз в неделю одной командой. - Дашборд. Тот же расчёт можно завернуть в дашборд на Streamlit с фильтрами по каналу и периоду, чтобы смотреть когорты без выгрузок.
Оба варианта — это переход от «посчитал один раз» к «система считает сама». На этом же принципе строятся отчёты через Claude Code: один раз описали логику — дальше только подставляете данные. Держите retention рядом с воронкой и юнит-экономикой, чтобы видеть картину целиком, а не одну метрику в вакууме.
Частые ошибки в когортном анализе
Метод простой, но напортачить легко. Проговорите эти грабли с моделью — а лучше попросите проверить ваш расчёт на них.
| Ошибка | Чем грозит | Как избежать |
|---|---|---|
| Смешали разные события активности | Retention завышен или занижен | Чётко определить, что считается «вернулся» |
| Неполная последняя когорта | Ложная просадка на свежих неделях | Помечать когорты, не дожившие до W8 |
| Смотрят только средний retention | Прячутся плохие каналы | Резать по источникам и сегментам |
| Маленькие когорты | Проценты скачут на шуме | Учитывать размер, не верить когорте из 12 человек |
Последнее особенно важно: 50% от когорты в 8 человек — это четыре пользователя, статистики тут нет. Claude Code честно покажет размер когорты рядом с процентом, если вы попросите, — не игнорируйте эту колонку. И помните: модель считает то, что вы описали. Ошибётесь в определении активности — получите аккуратную, но неверную таблицу. Логику расчёта проверяйте головой, механику отдавайте машине.
Частые вопросы
Нет. Вы описываете задачу текстом на русском, код под капотом пишет и запускает сам Claude Code. Это посильно не-программисту — достаточно понимать, что такое retention и какие у вас данные.
Три колонки: идентификатор пользователя, дата регистрации и даты активностей. Этого хватает для недельной или месячной матрицы удержания. Для revenue-когорт добавьте сумму по каждому событию.
Сервисы удобны, но считают по своим правилам и не всегда дают нужный срез. Claude Code строит матрицу ровно под ваш вопрос — любой сегмент, любое определение активности — и работает с вашей сырой выгрузкой без загрузки данных на сторону.
Для большинства продуктов — раз в неделю или месяц. Смысл когорт в тренде: сравниваете свежие когорты со старыми и видите, улучшается ли удержание. Разовый снимок менее полезен, чем регулярный.
Да. Revenue-retention показывает, сколько денег приносит когорта со временем — иногда пользователи уходят, но оставшиеся платят больше, и деньги когорты растут. Просто добавьте колонку с суммой и попросите считать по ней.
Внедряйте нейросети в маркетинг вместе с нами
В комьюнити 400+ маркетологов делятся кейсами и туториалами по Claude Code, Яндекс.Директ, автоматизации и другим инструментам.
Вступить бесплатно