Unit-экономика продукта: CAC, LTV и срок окупаемости
Как связать стоимость привлечения, маржинальную выручку и поведение когорт: разбираем CAC, LTV, payback period и типичные ошибки в unit-экономике.
Содержание статьи
Unit-экономика отвечает не на вопрос “сколько мы заработали”, а на вопрос “окупается ли типичный привлечённый пользователь и за какое время”. Ошибка в одном компоненте — например, считать LTV по выручке без маржи или CAC на всех пользователей вместо новых платящих — может сделать убыточный канал похожим на двигатель роста.
Коротко
Начинай с определения unit и горизонта расчёта. Для подписного продукта unit часто клиент или аккаунт, для мобильной игры — платящий пользователь или когорта установок, для e-commerce — заказ или новый покупатель. CAC показывает стоимость привлечения, LTV — ожидаемую маржинальную ценность, а payback — когда накопленная маржа покрывает CAC.
- CAC и LTV должны относиться к одной когорте и одному типу unit.
- Для окупаемости нужна маржинальная, а не просто валовая выручка.
- Средний LTV скрывает разницу между каналами, тарифами и когортами.
- Payback period важен для cash flow даже при хорошем долгосрочном LTV.
- Формулы нужно сопровождать окнами, статусами возвратов и правилами атрибуции.
Сначала договорись, что такое unit
Один и тот же бизнес может использовать несколько unit. Для маркетинга это может быть новый зарегистрированный пользователь, для финансов — оплаченный заказ, для SaaS — платящий аккаунт, а для поддержки — активный workspace. Нельзя сравнить CAC на регистрацию с LTV на платящий аккаунт без явной конверсии между сущностями.
| Бизнес | Возможный unit | Особый риск |
|---|---|---|
| SaaS | платящий аккаунт | несколько пользователей внутри аккаунта |
| Mobile | когорта установок или payer | длинный хвост монетизации и ads revenue |
| E-commerce | новый покупатель | повторные заказы и возвраты |
| Marketplace | активный buyer или seller | двухсторонняя ценность и subsidy |
CAC: стоимость не только рекламного клика
Простой CAC = затраты на привлечение / количество новых целевых unit. В числитель могут входить рекламные расходы, агентская комиссия, production креативов, зарплата acquisition-команды и бонусы партнёрам — если цель расчёта именно полная стоимость привлечения. Для оперативного маркетингового отчёта можно показывать media CAC, но не выдавай его за fully loaded CAC.
Главное — одинаково определить атрибуцию и окно. Если расходы относятся к июню, а новые пользователи считаются по дате первой оплаты в июле, сравнение будет смещено. Для каналов с длинным циклом сделки используй cohort CAC или связывай расходы с датой acquisition cohort и отдельно показывай задержку конверсии.
CAC = acquisition cost / new target unitsПеред расчётом зафиксируй окно, атрибуцию, definition of new и состав затрат.
LTV — это будущая маржинальная ценность
LTV не должен быть просто суммой всей выручки пользователя. Для решения о закупке трафика важнее contribution margin: выручка минус переменные расходы, комиссии, стоимость платежа, возвраты и другие затраты, которые растут вместе с unit. Если взять gross revenue, LTV будет выглядеть выше, чем сумма, доступная для окупаемости CAC.
Существует несколько моделей LTV. Когортный фактический LTV надёжен, но требует времени наблюдения. Модельный LTV помогает раньше принимать решения, но зависит от предположений о retention, ARPU, churn и марже. Показывай обе версии: realized LTV на горизонте 30/60/90 дней и прогнозный LTV с датой обновления модели.
LTV ≈ ARPA × gross margin / monthly churnЭто модельная оценка для стабильной экономики, а не универсальная истина. Для неоднородных когорт используй фактические кривые.
Payback period показывает скорость возврата денег
Даже если прогнозный LTV заметно выше CAC, канал может быть тяжёлым для cash flow: деньги вернутся через 18 месяцев. Payback period — первый период, когда накопленная маржинальная ценность когорты становится не меньше CAC. Для подписного продукта это обычно месяцы, для e-commerce — количество заказов или дней после первой покупки.
Считай payback по когортам и показывай медиану, а не только среднее. Несколько крупных клиентов могут сильно улучшить среднее, тогда как большинство новых unit окупается поздно или не окупается вообще. Для принятия решения добавь долю когорт, достигших payback к D30, D90 и D180.
Пример: канал A окупается быстрее, хотя долгосрочный LTV каналов может быть близким.
Когорты важнее одного среднего значения
Если объединить всех пользователей, изменения mix могут выглядеть как рост LTV. Например, в новом месяце пришло больше enterprise-клиентов: средний показатель вырос, но это не значит, что продукт стал лучше удерживать обычный сегмент. Разложи unit-экономику по acquisition cohort, каналу, стране, тарифу и типу клиента.
Когорту нужно фиксировать по событию, которое действительно отражает начало отношений: регистрация, первая оплата, первая доставка или activation. Если часть пользователей попадает в когорту по клику, а часть по оплате, retention и payback будут отвечать на разные вопросы.
| Поле | Зачем нужно |
|---|---|
| cohort_date | когда unit вошёл в наблюдение |
| acquisition_channel | какой источник привёл unit |
| units | размер стартовой когорты |
| margin_d30 / d90 | накопленная маржа на горизонте |
| payback_rate | доля unit, достигших окупаемости |
| refunds / variable_costs | что уменьшает реальную ценность |
Ошибки, которые делают unit-экономику декоративной
Чаще всего проблема не в арифметике, а в несовместимых определениях. CAC считают на новых регистрациях, LTV — на всех платящих пользователях, а канал определяют по последнему клику без учёта органики. Итоговая таблица выглядит аккуратно, но не отвечает на вопрос о следующем рубле бюджета.
Сначала проверь mix, цены, скидки, валюту, возвраты и зрелость когорт. Только потом связывай изменение LTV с продуктовым решением.
- Считать LTV по gross revenue и не вычитать возвраты и переменные расходы.
- Сравнивать незрелые когорты с полностью дозревшими.
- Смешивать пользователей и аккаунты в одном знаменателе.
- Не учитывать скидки, комиссии, бонусы и cost of service.
- Показывать среднее без медианы и распределения по когортам.
- Переатрибутировать органические конверсии платному каналу.
- Менять окно или формулу, не меняя название метрики.
Как собрать отчёт для решения о бюджете
Хороший отчёт не заканчивается отношением LTV/CAC. Покажи размер когорты, CAC, маржинальную выручку на D30/D90, payback, долю дозревших unit и диапазон неопределённости прогноза. Для каждого канала сформулируй решение: масштабировать, держать, ограничить или сначала проверить качество трафика.
Если данных мало, не маскируй прогноз под факт. Используй подписи realized и projected, укажи дату среза и минимальный размер когорты. Бизнесу полезнее честный вывод “канал пока не оценён на горизонте D90”, чем точное число, полученное из незрелых данных.
Материалы по теме

Когорты и retention в SQL: как считать возвращаемость по датам
Разбираем когортный retention в SQL: как определить дату старта, посчитать D1 и D7, собрать матрицу возвращаемости и сравнить каналы без самообмана.

Оконные функции SQL: ROW_NUMBER, LAG и накопительный итог
Как работают оконные функции SQL на задачах аналитика: найти первое событие пользователя, сравнить день с предыдущим и посчитать накопительную выручку без потери строк.

Retention по когортам и каналам: как считать D1, D7 и D30
Как считать retention rate, D1/D7/D30 и когортную возвращаемость: выбрать return event, читать heatmap и находить слабые каналы.