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 проти 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

Порівняти різні партнерки по монетизації

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 скільки реально принесло грошей