Азамат, владелец интернет-магазина в Алматы, открывает отчёт: выручка выросла, доля повторных покупателей упала, а у последней когорты стоит ноль. «Выручка растёт, - говорит он, - давайте поднимем бюджет и заодно срочно переделаем сайт». Вам как аналитику нужно разобраться, что изменилось на самом деле и какое решение можно обосновать цифрами.
Это письменная самопроверка: сохраните свои расчёты и объяснения, потом сверьте их с разбором. Цифры условные, повторную покупку считаем в пределах 30 дней.
Условие: три когорты одного магазина
В мае, июне и июле первую покупку сделали по 100 человек. Каждый входит только в одну когорту, по месяцу первой оплаты. Удержание здесь - доля покупателей, у которых в течение 30 дней после первой оплаты был хотя бы один следующий оплаченный и не возвращённый заказ. Покупатель с несколькими повторами добавляет в числитель одного человека.
На дату отчёта у всех майских и июньских покупателей окно прошло полностью. В мае повторно купили 30 человек, в июне 20. У части июльских покупателей 30 дней ещё не прошли, но аналитик всё равно поставил июлю 0%.
Какие значения можно поставить в отчёт по завершённым когортам? Как показать июль? И отдельно: можно ли сказать, что разница между маем и июнем появилась, потому что продукт стал хуже?
Разбор: одинаковый возраст и одинаковое действие
Май: 30 / 100 = 30%. Июнь: 20 / 100 = 20%. Разница - 10 процентных пунктов. Июлю нужна пометка о неполном окне, дата среза и дата, когда окно закроется у последнего покупателя. Ноль значил бы, что все 30 дней прошли и никто не вернулся, а июльские 30 дней ещё не закончились.
Повторная покупка за одинаковые 30 дней
По 100 первых покупателей в каждой когорте
Май
Окно завершено
30 / 100 = 30%
Июнь
Окно завершено
20 / 100 = 20%
Июль
У части покупателей окно ещё открыто
Неполное наблюдение, не 0%
Повтор - хотя бы один следующий оплаченный и не возвращённый заказ. Несколько повторов добавляют одного покупателя в числитель.
Пока когорта созревает, аналитика не стоит на месте. Заказы и ошибки вы смотрите как обычно, а для раннего сравнения берёте у всех групп один и тот же короткий горизонт. Назовите его иначе, чем итоговую метрику за 30 дней, и не смешивайте их: в одной колонке не должны стоять результаты покупателей разного возраста.
Если взять из июля только тех, у кого окно уже закрылось, получится часть когорты. Её можно показать отдельной строкой со своим знаменателем, но подписывать её результатом всех 100 человек нельзя. Те, кто купил в начале июля, могли прийти из других кампаний или взять другой товар.
Разница завершённых когорт - это наблюдение. Чтобы её объяснить, нужны состав покупателей, каналы, категории, наличие товара, условия доставки и история изменений в учёте. Сегментация когорт помогает понять, что изменилось: состав покупателей или поведение внутри групп. А чтобы обвинить новую версию продукта, двух соседних месяцев мало: нужно сравнение, которое отделит её влияние от всего остального.
В определении важен и глагол. Мы считаем оплаченную повторную покупку в пределах окна. Открытие приложения, возврат ровно в последний день и покупка после окна отвечают на другие вопросы.
Условие: выручка выросла при меньшем числе повторов
Добавим экономику тех же двух завершённых когорт. Первая покупка каждого покупателя принесла 10 000 ₸ выручки, а товар и доставка обошлись в 6 000 ₸ переменных расходов. У каждого, кто вернулся, был ровно один следующий заказ в пределах окна.
| Показатель повторного заказа | Май | Июнь |
|---|---|---|
| Покупателей с повтором | 30 | 20 |
| Выручка на повторный заказ | 10 000 ₸ | 20 000 ₸ |
| Переменные расходы на повторный заказ | 6 000 ₸ | 16 000 ₸ |
Все заказы в расчёте оплачены, возвратов нет. Реклама и постоянные расходы в таблицу не входят. Посчитайте выручку каждой когорты от первой и повторной покупки, потом вклад после переменных расходов. Что вы ответите Азамату, для которого рост выручки - достаточная причина поднять бюджет?
Разбор: разделите оборот и вклад
Первые покупки дают каждой когорте 100 × 10 000 = 1 000 000 ₸ выручки и одинаковый вклад: 100 × (10 000 - 6 000) = 400 000 ₸.
Майские повторы добавляют 30 × 10 000 = 300 000 ₸ выручки и 30 × 4 000 = 120 000 ₸ вклада. Июньские приносят 20 × 20 000 = 400 000 ₸ выручки, но только 20 × 4 000 = 80 000 ₸ вклада: вместе с чеком выросли и переменные расходы.
| Итог когорты на одинаковом горизонте | Май | Июнь |
|---|---|---|
| Выручка первой и повторной покупки | 1 300 000 ₸ | 1 400 000 ₸ |
| Вклад после переменных расходов | 520 000 ₸ | 480 000 ₸ |
Выручка выше на 100 000 ₸, вклад ниже на 40 000 ₸. Вернулось меньше людей, зато они купили дороже, и оборот вырос. Вкладу это не помогло. Почему подорожал чек, ещё предстоит выяснить: могли поменяться товары и условия заказов.
Это суммы по когортам на одном горизонте, не вся выручка магазина за календарный месяц. И прибылью их называть рано: в расчёте нет рекламы, постоянных расходов и прочих статей. Чтобы решить, сколько тратить на привлечение, нужны стоимость нового покупателя, дальнейшие повторы и уверенность, что магазин справится с дополнительными заказами. Поднимать бюджет только из-за роста выручки так же необоснованно, как отключать кампании по одному общему графику.
Ответ Азамату может быть коротким: «У завершённых когорт повтор за 30 дней снизился с 30% до 20%. Выручка выросла за счёт более дорогих повторных заказов, но вклад после переменных расходов уменьшился на 40 000 ₸. Разложим изменение по товарам и каналам и добавим стоимость привлечения. Июль оценим, когда закроется окно».
Условие: регистрации называют пользой
Другой продукт помогает людям записываться на услуги. Команда предлагает сделать North Star Metric число созданных аккаунтов. При этом зарегистрироваться можно, не выбрав ни услугу, ни время.
Предложите показатель, который ближе к решённой задаче человека, назовите, откуда возьмётся подтверждение, и какие ограничения качества поставить рядом. Что делать, если сервис знает о созданной записи, но надёжного статуса «визит состоялся» не получает?
Разбор: у метрики должна быть граница наблюдения
Кандидат зависит от того, какую задачу решает продукт. Если сервис помогает записаться, считайте людей с успешно созданной записью, а тесты, повторы и отмены исключайте по правилу, которое выбрали заранее. Если задача включает саму услугу, ближе к ней подтверждённый визит. Но считать его можно только там, где этот статус действительно собирают.
Когда данных о визитах не хватает, метрика так и называется: «созданные записи». Рядом покажите, у какой доли записей есть подтверждение, и неявки там, где их отмечают. Если записать отсутствующий статус в успешные визиты, результат будет выглядеть лучше, чем есть.
У главной метрики продукта остаются соседи: ошибки записи, отмены, время выполнения задачи, жалобы и удержание. Число действий легко нарастить без пользы для людей, поэтому рядом держат ограничительные показатели.
Задание: подготовьте одну строку своего отчёта
Выберите метрику своего проекта и опишите её: единица, событие, числитель, знаменатель, окно, источник, дата обновления и владелец. Приложите расчёт на доступных данных без персональных деталей. Отметьте незавершённые окна, назовите решение, которое метрика поддерживает, и данные, которых для него не хватает.
Готовую строку коллега пересчитает и прочитает так же, как вы. Если под словом «возврат» прячется вход в приложение, а решение касается повторной оплаты, определение нужно исправить. Если у свежей когорты стоит ноль, её окно надо пометить. В дашборде для решения рядом с отклонением стоит следующий шаг: кто уточняет данные, в каком разрезе и когда приносит результат.