Adset.ProAdset.ProKnowledge base
Home/Обучающие материалы/LTV и когорты: как читать и использовать

LTV и когорты: как читать и использовать

Зачем нужен LTV-анализ

LTV (Lifetime Value) — суммарный доход от пользователя за весь период его активности. В контексте gambling/betting это первичный депозит + повторные депозиты (редепозиты).

Почему LTV критически важен для арбитражника:

Представь: два источника трафика.

  • Источник А: 100 FTD, LTV per FTD = $45 → суммарный доход $4 500

  • Источник Б: 80 FTD, LTV per FTD = $120 → суммарный доход $9 600

Если смотреть только по FTD — Источник А «лучше» (100 vs 80). Но по реальному доходу Источник Б приносит в 2 раза больше. Без LTV ты масштабируешь не тот источник.

Когда LTV важнее ROI на короткой дистанции:

  • При запуске нового GEO — первые дни ROI может быть отрицательным, но если LTV растёт — трафик качественный

  • При сравнении двух офферов одной партнёрки — один даёт много FTD с низким LTV, другой меньше FTD но «долгих» пользователей

  • При оценке окупаемости трафика через 30-90 дней — D0 показывает только первый день, а основная прибыль приходит позже

Особенность для iGaming: В gambling/betting основной доход приходит не от первого депозита, а от редепозитов (CPA_REDEP). Пользователь может задепозить $20, а за следующий месяц — ещё $200. LTV D0 покажет только $20, а LTV D31-90 может показать $220.


Как устроены когорты

Когорта — группа пользователей, объединённых по дате первого действия.

В Adset.Pro доступны два типа когорт (через разные group keys):

FTD-когорты (по дате первого депозита)

Group Key

Описание

cohort_day

Когорта по дню FTD

cohort_week

Когорта по неделе FTD

cohort_month

Когорта по месяцу FTD

lifetime_days

Количество дней от FTD до последнего редепозита

Когда использовать: Анализ монетизации платящих пользователей. Ты отвечаешь на вопрос: «Сколько зарабатываю с пользователя, который задепозил в январе?»

Reg-когорты (по дате регистрации)

Group Key

Описание

reg_cohort_day

Когорта по дню регистрации (CPA_HOLD)

reg_cohort_week

Когорта по неделе регистрации

reg_cohort_month

Когорта по месяцу регистрации

lifetime_days_from_reg

Количество дней от регистрации до последнего действия

Когда использовать: Анализ конверсии из регистрации в депозит и поведения всех зарегистрированных (не только задепозивших). Отвечаешь на вопрос: «Какой % зарегистрировавшихся доходит до депозита и сколько они приносят?»

Практический пример разницы

  • Кейс 1: «Хочу знать, сколько зарабатываю с пользователя, который задепозил в январе» → FTD-когорта (cohort_month) + ltv_per_ftd

  • Кейс 2: «Хочу знать, сколько % зарегистрировавшихся доходят до депозита» → Reg-когорта (reg_cohort_month) + reg_to_ftd_rate

  • Кейс 3: «Хочу видеть доход с регистрации, включая FTD и все редепозиты» → Reg-когорта + ltv_per_reg


Окна LTV (временны́е периоды)

FTD-based LTV

Каждый пользователь отслеживается на 4 временны́х горизонтах после первого депозита (CPA_ACCEPT):

Метрика

Период

Что измеряет

ltv_d0

День 0 (день FTD)

Первоначальный депозит + редепозиты в тот же день (CPA_ACCEPT + CPA_REDEP)

ltv_d1_7

Дни 1–7 после FTD

Ранние редепозиты (первая неделя, только CPA_REDEP)

ltv_d8_30

Дни 8–30 после FTD

Среднесрочный retention (2-4 неделя, только CPA_REDEP)

ltv_d31_90

Дни 31–90 после FTD

Долгосрочный retention (2-3 месяц, только CPA_REDEP)

Итоговые метрики:

  • ltv_total = ltv_d0 + ltv_d1_7 + ltv_d8_30 + ltv_d31_90

  • ltv_per_ftd = ltv_total / cpa_accept (средний LTV на одного FTD)

Reg-based LTV

Аналогичная структура, но отсчёт от даты регистрации (CPA_HOLD):

Метрика

Период

Что измеряет

ltv_reg_d0

День 0 (день регистрации)

CPA_ACCEPT + CPA_REDEP в день регистрации

ltv_reg_d1_7

Дни 1–7 после регистрации

CPA_REDEP за первую неделю

ltv_reg_d8_30

Дни 8–30 после регистрации

CPA_REDEP за 2-4 неделю

ltv_reg_d31_90

Дни 31–90 после регистрации

CPA_REDEP за 2-3 месяц

Итоговые:

  • ltv_reg_total = сумма всех периодов

  • ltv_per_reg = ltv_reg_total / registrations (средний LTV на одну регистрацию)

Важные замечания по окнам

  1. D0 — это не весь LTV, а только начало. Обычно D0 составляет 30-50% от итогового LTV D0-D90

  2. D31-90 имеет смысл смотреть только если с даты FTD прошло 3+ месяца. Иначе окно ещё «не закрылось» и данные неполные

  3. Неполное окно: Если когорта создана 2 недели назад, то ltv_d8_30 будет неполным (прошло только 14 дней из 30), а ltv_d31_90 — пустым

  4. Конвертация валют: Все LTV-метрики автоматически конвертируются в USD через event_fx_to_usd если валюта постбека отличается


Lifetime Days (дни жизни)

Lifetime Days (lifetime_days) — количество дней от FTD до последнего активного действия (редепозита).

Формула: dateDiff('day', ftd_time, event_time) — целое число дней.

Как читать распределение lifetime days:

Значение

Что означает

lifetime_days = 0

Пользователь задепозил и больше не возвращался (FTD без редепозитов)

lifetime_days = 1-7

Краткосрочная активность (вернулся 1-2 раза в первую неделю)

lifetime_days = 8-30

Средний retention (активен 2-4 недели)

lifetime_days = 31-90

Лояльный пользователь (активен месяцами)

Практическое применение:

  • Если 70%+ когорты имеют lifetime_days = 0 — значит редепозитов почти нет, проблема в качестве трафика или в оффере

  • Разбивка по lifetime_days + cpa_redep — показывает тепловую карту: в какие дни пользователи вносят повторные депозиты

  • Сравнивай lifetime_days между кампаниями/источниками — какой даёт «долгих» пользователей

Аналог для reg-когорт: lifetime_days_from_reg — дни от регистрации (CPA_HOLD) до последнего действия.


Дополнительные метрики

Метрика

Формула

Применение

ftd_to_redep_rate

redep_unique_clicks / cpa_accept

Какой % FTD сделали хотя бы один редепозит

reg_to_ftd_rate

cpa_accept / cpa_hold

Какой % регистраций дошёл до депозита

dep_to_redep

cpa_redep / cpa_accept

Соотношение редепозитов к депозитам

total_deposits

cpa_accept + cpa_redep

Общее количество депозитов

total_deposit_revenue

cpa_accept_revenue + cpa_redep_revenue

Общий доход от всех депозитов


Как фильтровать в LTV-анализе

Доступные фильтры в LTV-отчётах ограничены атрибуционными полями:

Фильтр

Что делает

cmp_campaign

Фильтр по кампании

cmp_source

Фильтр по источнику трафика

cmp_offer

Фильтр по офферу

cmp_cpa

Фильтр по CPA-сети

user_country

Фильтр по стране пользователя

Почему нет фильтра по device/browser? LTV-анализ работает с когортами пользователей через events_ltv таблицу. У одного пользователя может быть несколько сессий с разных устройств. Фильтрация по device привела бы к дублированию и некорректным данным.

Как использовать комбинацию фильтров:

  • «Сравнить LTV двух офферов одной партнёрки» → filter: cmp_cpa = X, breakdown: cmp_offer

  • «LTV трафика из Украины за последние 3 месяца» → filter: user_country = UA, group: cohort_month

  • «Качество трафика по источникам» → filter: нет, breakdown: cmp_source, метрика: ltv_per_ftd


Разбивки (breakdowns)

В LTV-анализе можно добавить разбивку для сравнения когорт:

Разбивка (Group Key)

Применение

cmp_campaign + cmp_campaign_name

Сравнить качество трафика между кампаниями

cmp_source

Какой источник даёт более «тяжёлых» пользователей

cmp_offer + cmp_offer_name

Сравнить два оффера одной партнёрки по LTV

cmp_cpa + cmp_cpa_name

Сравнить разные партнёрки по monetization

user_country + user_country_name

LTV по GEO (обычно Tier-1 > Tier-3)

cohort_day / cohort_week / cohort_month

Период когорты — для отслеживания трендов

lifetime_days

Тепловая карта активности по дням

Типичные кейсы

  1. «Какой оффер у 1win даёт лучший LTV по UA трафику?»

    • Фильтр: user_country = UA, cmp_cpa = 1win

    • Разбивка: cmp_offer

    • Метрика: ltv_per_ftd

  2. «Как менялось качество трафика по месяцам?»

    • Разбивка: cohort_month

    • Метрики: ltv_d0, ltv_d1_7, ltv_d8_30, cpa_accept

  3. «Какой источник даёт пользователей с редепозитами?»

    • Разбивка: cmp_source

    • Метрика: ftd_to_redep_rate


Рекомендации по настройке запроса

  1. Период данных ≥ 90 дней — чтобы захватить полные LTV-окна (D0, D1-7, D8-30, D31-90)

  2. LTV-метрики работают только с events_ltv таблицей — она автоматически выбирается при использовании cohort-групп или LTV-метрик

  3. Когортные группы активируют LTV-расчёты — cohort_day/cohort_week/cohort_month триггерят JOIN с ftd_times CTE

  4. Reg-когортные группы — reg_cohort_day/reg_cohort_week/reg_cohort_month триггерят JOIN с reg_times CTE


Типичные метрики и интерпретация

Метрика

Хорошее значение

Плохое значение

Что делать

ltv_d0 / Avg deposit

Близко к среднему депозиту партнёрки

Сильно ниже → мусорные лиды или мелкие депозиты

Проверить маппинг статусов, качество оффера

ltv_d1_7 / ltv_d0 ratio

> 30-40% (активные редепы в первую неделю)

< 10% → пользователи задепозили и ушли

Проверить UX оффера, бонусную программу партнёрки

ftd_to_redep_rate

> 20-30%

< 10% → почти никто не редепозитит

Проблема в качестве трафика или в оффере

reg_to_ftd_rate

> 30-40% (для gambling)

< 15% → регистрации есть, но не депозят

Проблема в онбординге партнёрки или бонусах

lifetime_days медиана

5-15 дней (активная первая 1-2 недели)

0-1 день (deposited-and-gone)

Типично для Tier-3 GEO или фрода


Частые вопросы

Q: Почему LTV в Adset.Pro не совпадает с данными в кабинете партнёрки?

Причины расхождений:

  1. Задержка постбеков — партнёрка может отправлять редепозиты с задержкой (от часов до дней)

  2. Timezone — дата когорты определяется по timezone, указанному в запросе. Разные timezone = разные даты

  3. Дедупликация — Adset.Pro отбрасывает дубликаты конверсий (если не включены acceptDuplicates)

  4. Конвертация валют — Adset.Pro конвертирует через event_fx_to_usd, партнёрка может показывать в другой валюте

Q: Когорта создана неделю назад — почему D8-30 пустой?

Это нормально. Окно D8-30 означает «дни 8-30 после FTD». Если когорте только 7 дней, данные для D8-30 ещё не поступили. Подожди ещё 3-4 недели — данные начнут появляться.

Q: Как сравнить LTV двух кампаний, которые запускались в разные месяцы?

Проблема сезонности: январская когорта могла быть более активной из-за новогодних промо, а февральская — менее. Решения:

  1. Используй cohort_month + ltv_per_ftd — сравнивай метрики внутри когорты, а не абсолютные числа

  2. Смотри ftd_to_redep_rate — он менее чувствителен к сезонности

  3. Сравнивай LTV за одинаковый период после FTD (например, только D0+D1-7 для обеих когорт)

Q: Зачем нужны reg-когорты если есть FTD-когорты?

FTD-когорты включают только пользователей, которые задепозили. Reg-когорты включают всех зарегистрированных и позволяют увидеть:

  • Конверсию reg → FTD (reg_to_ftd_rate)

  • LTV на регистрацию (ltv_per_reg) — учитывает что не все регистранты депозят

  • Более полную картину воронки: сколько людей пришло vs сколько реально принесло денег