В начале ноября владелец центра подготовки к IELTS выгружает оплаты из CRM и считает, сколько в среднем заплатили ученики каждого набора. У августовских вышло по 112 500 ₸, у октябрьских по 45 000 ₸. Вывод напрашивается: в октябре реклама привела не тех. Но октябрьские ученики успели оплатить только первый месяц, потому что второй у них ещё не начался.
Когортный анализ сравнивает людей одного «возраста»: первый месяц августовских учеников с первым месяцем октябрьских. Разберём на оплатах центра когортную таблицу, посчитаем LTV ученика и найдём, когда окупается реклама. Курс и экономика взяты из плана масштабирования рекламы: 45 000 ₸ в месяц, три месяца, центру остаётся 16 000 ₸ в месяц с ученика. Цифры условные.
Когорта: кто в неё входит и что считать возвратом
Когорта - группа людей с общей точкой входа. У центра это ученики, которые впервые оплатили курс в одном календарном месяце. Ученик остаётся в своей когорте, сколько бы месяцев ни платил: августовский, оплативший сентябрь, всё равно августовский.
Перед подсчётом запишите четыре правила:
- Вход: первая оплата курса.
- Возврат: оплата следующего месяца курса.
- Возраст: М0 - месяц первой оплаты, М1 - следующий календарный месяц, М2 - ещё через месяц, последний месяц курса.
- Срез: 31 октября, все месяцы до него закончились.
Для августовской когорты М1 - это сентябрь, для сентябрьской - октябрь.
От того, что считать возвратом, меняются цифры. В продуктовой аналитике этот выбор делают в самом отчёте: Amplitude, например, в настройках retention различает возврат ровно в выбранный период (Return On) и в этот период или позже (Return On or After). Поэтому правила записывают рядом с таблицей. Без них два аналитика по одним и тем же оплатам получат разные проценты.
Когортная таблица центра
| Когорта | Учеников | М0 | М1 | М2 |
|---|---|---|---|---|
| Август | 20 | 100% | 80% | 70% |
| Сентябрь | 15 | 100% | 73% | ещё нет |
| Октябрь | 12 | 100% | ещё нет | ещё нет |
Строка - одна когорта, вправо по строке растёт её возраст. Чтобы сравнить когорты, смотрите в один столбец. В М0 везде 100%: первая оплата и есть вход в когорту, так что это следствие определения, а не идеальное удержание.
Разберём одну ячейку: август, М1. Из 20 учеников, впервые оплативших курс в августе, 16 оплатили второй месяц в сентябре.
Retention М1 = 16 оплативших второй месяц / 20 учеников когорты = 80%.
В М2 стоит 70%: третий месяц оплатили 14 из тех же 20. Знаменатель остаётся 20, а не 16. Если делить на 16, ушедшие после первого месяца выпадут из расчёта, и вместо 70% получится почти 88%.
Считают людей, а не платежи. Ученик, который оплатил сентябрь двумя переводами, в числителе всё равно один.
На картинке тот же приём на когортах магазина: слева покупатели разложены по календарю, справа по возрасту, и М1 январской и февральской когорт оказывается в одном столбце.

«Ещё нет» - не ноль
Сентябрьская когорта дойдёт до М2 в ноябре. 31 октября этот месяц ещё не наступил, поэтому в ячейке «ещё нет». Поставьте туда 0%, и таблица скажет, что никто из сентябрьских учеников не оплатил третий месяц, хотя этого пока никто не знает.
То же с незаконченным месяцем. Если взять срез 15 ноября, у октябрьской когорты М1 будет посчитан наполовину. Такой месяц либо убирают из сравнения, либо помечают как неполный. В инструменте для когортных таблиц такую ячейку оставляют пустой: пустая значит «период не наступил», а 0 - что никто не вернулся.
Сначала одинаковый возраст, потом размер, маржа и состав
Вернёмся к выгрузке владельца. 112 500 ₸ у августовских - это 45 000 ₸, умноженные в среднем на 2,5 оплаченных месяца: когорта в возрасте М2, курс пройден. 45 000 ₸ у октябрьских - возраст М0. В М0 разницы нет и быть не может: первый месяц оплатили все. Октябрьских можно будет сравнить с августовскими по М1 в начале декабря, а пока по М1 сравнимы только сентябрьские.
Та же ошибка бывает в днях. Новая когорта наблюдается 7 дней, старая 90, и по накопленной выручке новые клиенты выглядят хуже. За 7 дней ученик центра успевает оплатить один месяц, за 90 - все три. Сравнивать нужно седьмой день старой когорты с седьмым днём новой, а итог за 90 дней - когда новой тоже исполнится 90.
Когда возраст выровнен, остаются три проверки, прежде чем называть одну когорту хуже другой.
Размер. В М1 у августовской когорты 80%, у сентябрьской 73%. Это 16 из 20 и 11 из 15. Оплати ещё один сентябрьский ученик второй месяц, было бы 12 из 15, те же 80%. В когорте из 15 человек один ученик сдвигает долю почти на 7 процентных пунктов, в когорте из 12 - больше чем на 8. Разницу в одного человека таблица не отличит от случайности.
Маржа. Центру остаётся вклад, поэтому ценность когорты считают по вкладу. Но если у октябрьской когорты он ниже, сначала посмотрите на условия: скидка на первый месяц снижает и выручку, и вклад, а преподаватель с более высокой ставкой - только вклад. Это решения центра, а не поведение учеников, и рекламу за них не винят.
Состав. Посмотрите, откуда пришла каждая когорта. Если в октябре почти все ученики пришли из нового теста в Instagram, а в августе по рекомендациям выпускников, вы сравниваете каналы, а не месяцы. Смена состава когорты иногда опускает общий процент, даже когда внутри каждой группы он растёт.
От удержания к деньгам: LTV ученика
Retention показывает людей. Чтобы перейти к деньгам, умножим их на вклад: 16 000 ₸ с каждого оплаченного месяца. Августовская когорта:
| Месяц курса | Платят | Вклад когорты | Накоплено | На одного ученика когорты |
|---|---|---|---|---|
| М0 | 20 | 320 000 ₸ | 320 000 ₸ | 16 000 ₸ |
| М1 | 16 | 256 000 ₸ | 576 000 ₸ | 28 800 ₸ |
| М2 | 14 | 224 000 ₸ | 800 000 ₸ | 40 000 ₸ |
LTV (lifetime value) - вклад, который приносит один привлечённый клиент за всё время с бизнесом. У курса это три месяца: 800 000 / 20 = 40 000 ₸ на ученика. Тот же результат даёт строка retention: 16 000 × (1 + 0,8 + 0,7) = 40 000 ₸.
В знаменателе все 20 учеников, в том числе ушедшие после первого месяца. Если разделить на 14 доучившихся, выйдет 57 143 ₸, и центр будет готов платить за привлечение больше, чем приносит средний ученик.
LTV здесь посчитан по вкладу, а не по выручке, и только за три месяца, которые уже прошли. Если выпускники потом покупают интенсив, это отдельный расчёт, и в LTV его добавляют, когда такие оплаты появятся в данных.
Теперь сравните с планом. В плане центра ученик приносил 48 000 ₸, потому что считалось, что доучиваются все. По августовской когорте выходит 40 000 ₸. Если владелец, как и раньше, готов отдавать на рекламу половину, предел цены ученика опускается с 24 000 до 20 000 ₸. Решать ему, но теперь по своим оплатам, а не по предположению. В начале декабря, когда сентябрьская когорта закончит курс, пересчитайте LTV на сентябрьской: двадцати учеников одного набора мало, чтобы менять предел надолго.
Окупаемость тоже видна по когорте. Допустим, центр платит за ученика нынешний предел, 24 000 ₸. После первого месяца на ученика когорты набирается 16 000 ₸, до цены привлечения не хватает 8 000. После второго 28 800 ₸: реклама окупилась, и сверху 4 800 ₸. После третьего 40 000 ₸, на 16 000 ₸ больше цены привлечения. Даже с учётом ушедших реклама на августовских учеников вернулась во втором месяце. Вклад здесь тот же, что в юнит-экономике: платёж ученика минус переменные затраты на него, то есть преподаватель и материалы.
Окупаемость в калькуляторе
Тот же расчёт для одного клиента делает калькулятор окупаемости CAC. CAC (customer acquisition cost) - сколько стоит привлечь одного платящего клиента. Окупаемость CAC - через сколько месяцев вклад клиента покрывает эту сумму.
Вкладка сделана для магазина, поэтому поля в ней магазинные. Для центра «заказ» - это месячный платёж. Откройте вкладку «E-commerce маркетплейс» и введите:
- CAC:
24000. - AOV:
16000. В поле среднего чека сразу ставим ту часть платежа, которая остаётся центру. - «Валовая маржа»:
1, чтобы калькулятор не вычел расходы второй раз. - «Скидки / промо», «Доставка / заказ», «Склад / заказ» и «Доля возвратов»:
0. - «Заказов / год · Y1»:
3. Заказы первого года калькулятор берёт целиком, поэтому для курса короче года сюда ставят все платежи ученика. - «Срок жизни клиента»:
0.25, длина курса в годах. Стрелки этого поля шагают по 0,5, поэтому значение впечатайте с клавиатуры: калькулятор его принимает.
Калькулятор покажет LTV 48 000 ₸, LTV : CAC 2.0× (вклад ученика вдвое больше цены его привлечения) и окупаемость CAC 2 мес. Точное значение 24 000 / 16 000 = 1,5 месяца, а калькулятор округляет до целых месяцев. Для центра это и есть ответ в деньгах: платежи приходят раз в месяц, после первого набирается 16 000 ₸, после второго 32 000 ₸, так что цена привлечения возвращается со вторым платежом.
Срок жизни здесь влияет только на окупаемость. Калькулятор делит LTV на срок жизни в месяцах, получает средний вклад в месяц и делит на него CAC. С 0.5 он растянет те же 48 000 ₸ на шесть месяцев и покажет окупаемость 3 мес, хотя LTV не изменится: при любом сроке до года в него идут все заказы первого года.
Задание: абзац про окупаемость для владельца
Возьмите бизнес из своей ниши или, если клиента пока нет, центр из урока. Подставьте в калькулятор цену привлечения платящего клиента, вклад за месяц и число месяцев, которые клиент платит. Потом напишите один абзац для владельца: какие числа взяли и через сколько месяцев клиент окупает своё привлечение. Каждый термин объясните словами владельца.
Для центра абзац мог бы выглядеть так:
Допустим, реклама обходится вам в 24 000 ₸ на ученика, это ваш предел. Курс длится три месяца, и с каждого месяца, после оплаты преподавателю и материалов, вам остаётся 16 000 ₸. Значит, деньги на рекламу возвращаются со вторым платежом ученика: после первого у вас 16 000 ₸, после второго 32 000 ₸, а всё, что он платит дальше, идёт на аренду, другие постоянные расходы и в прибыль. По расчёту это полтора месяца, калькулятор округляет срок до двух. Ученик, который уходит после первого месяца, рекламу не окупает: из 20 августовских учеников так ушли четверо.
Абзац готов, когда в нём есть числа, которые вы ввели, срок окупаемости из калькулятора и ни одного необъяснённого термина.
В таком абзаце легко ошибиться в четырёх местах. Первое - CAC из рекламного кабинета. CPL в тесте был 896 ₸, но это цена заявки, а не ученика: у центра до оплаты доходит примерно одна заявка из двенадцати. Второе - вписать в AOV весь платёж, 45 000 ₸. Калькулятор покажет LTV 135 000 ₸ и окупаемость 1 мес: зарплату преподавателя никто не вычел. Третье - оставить поля магазина как есть: скидку 7%, доставку 1 800 ₸, склад 600 ₸ и 18% возвратов. У центра нет ни доставки, ни склада, а калькулятор насчитает LTV 27 990 ₸ и окупаемость 3 мес. Четвёртое - термины: если в абзаце остались «LTV : CAC» или «юнит-экономика», владелец на них споткнётся, так что объясните их или уберите.
Видео: ещё одно объяснение когорт
Вводный разбор связывает когорты с отложенным спросом и повторными покупками.