Прогнозування активності та тригерів участі
1) Завдання
Потрібно передбачити коли гравець з високою ймовірністю зайде (або, навпаки, може «згаснути») і який стимул підвищить шанс участі в місії/кваліфікаторі/турнірі при дотриманні чесності і Responsible Gaming (RG).
Ключові питання:- «Коли він зазвичай грає?» (тимчасові патерни)
- «Що запускає участь?» (контент, формат, нагорода, тривалість)
- «Як не перегріти?» (частота торкань, RG-обмеження, економічний бюджет)
2) Сигнали даних
Поведінка: ритм входів (години/дні), довжина і темп сесій, частота участі в івентах.
Контент: улюблені провайдери/жанри, новизна, різноманітність.
Економіка промо: реакція на минулі бусти/сезонні токени/косметику.
Соц-сигнали: чат, кліпи, реакції (якщо є).
Контекст: пристрій, канал, тайм-зона, локальні свята/події.
RG: ліміти часу/депозитів, ознаки втоми, «сигнали пауз».
Всі фічі - агреговані, без PII понад регуляторний мінімум.
3) Фічерінг (приклади)
Сезонність/ритм: one-hot годинник 0-23, дні тижня; автокореляція лагів (ACF/PACF).
4) Модельний стек
1. Тайм-серії для активності:- Prophet/NeuralProphet, LSTM/Temporal Fusion Transformer для групових патернів;
- прості когорні сезонні профілі для онлайну.
- Cox/Weibull/RSF → час до наступної сесії; ризик «згасання» (churn-hazard).
- 3. Пропенсіті участі (P (join))
GBDT/TabTransformer: ймовірність взяти участь при показі пропозиції.
4. Uplift-моделювання (CATE):- Two-Model/T-Learner, X-Learner, DR-Learner для вибору який тригер/контент дає приріст.
- контекстний бандит (LinUCB/Thompson) для онлайн-підбору канал × контент × час всередині капів.
5) Типи тригерів участі
Контентні: формат турніру (спринт 20-30 хв, марафон), улюблені провайдери, «новинка тижня».
Тимчасові: «старт через 15 хв», «вечірній кваліфікатор» - збіг з імовірним вікном входу.
Нагородні (косметика/токени): без pay-to-win; рідкості - загальні для всіх.
Соціальні: друзі онлайн, челендж ком'юніті, ко-оп завдання (етично, без тиску).
Крос-місії: коротка місія-розігрів → вхід до кваліфікатора.
6) Оркестрація торкань (канал × час × частота)
Канали: in-app, пуш, email, web-inbox; пріоритет in-app → пуш → email.
Вибір часу: перетин p (active в наступні 90-120 хв) з розкладом івентів.
Частота/кап: не більше N дотиків/тиждень, М/день; суворе cooldown між тригерами.
Тихий режим: нічні вікна користувача; «тихий» пуш → inbox-карту в додатку.
7) Чесність, комплаєнс, RG
Ніякого впливу на RTP/шанси. Тригери змінюють «шлях», а не очікування виграшу.
Прозорість: сторінка «Як ми підбираємо повідомлення»: вікна активності, частотні ліміти, відмова від персоналізації - 1 клік.
RG-гварди: при втомі/лімітах - знижуємо частоту, пропонуємо паузу, не кличемо на довгі формати.
Відписки/opt-out: поважаються миттєво; «розумне мовчання» після скарги.
8) Анти-спам і анти-аб'юз
Rate limiting на користувача і канал.
Дедуплікація сенсу: не слати 2 схожих приводу поспіль.
Економічний бюджет: cap на емісію токенів/косметики по сезону.
Справедливість: верхня цінність нагороди однакова; персоналізація - про релевантність.
9) KPI і контрольні метрики
Hit Rate вікна: частка дотиків, що потрапили в активну сесію ± Δ хвилин.
Join Uplift: приріст участі vs контроль.
D7/D30 Retention uplift у цільових когорт.
Fatigue: зростання відписок/м'ютів/скарг; Mute Rate <цільового порогу.
RG-метрики: зниження наддовгих сесій, частка м'яких пауз.
Prize ROI/Emission to GGR - щоб промо-економіка була стійка.
Incremental Revenue/User-week (якщо застосовується і допустимо регуляторно).
10) A/B-патерни
1. Вікна нагадувань: T-30/15/5 хв до старту кваліфікатора.
2. Тривалість формату: спринт 20 хв vs 35 хв для вечірніх слотів.
3. Тип контенту: улюблений провайдер vs «новинка тижня».
4. Канал: in-app vs пуш; пуш з глибокими посиланнями vs без.
5. Uplift-політика: таргет тільки uplift-позитивних vs широке покриття.
6. Комбо-тригер: місія-розігрів → турнір vs відразу турнір.
11) JSON-шаблони
Профіль передбачень по гравцеві:json
{
"user_id": "u_29104", "next_active_window": {"start": "2025-10-24T17:00:00Z", "end": "2025-10-24T19:00:00Z", "p_active": 0. 72}, "p_join_by_trigger": {
"sprint_20min": 0. 41, "marathon_60min": 0. 18, "new_provider_event": 0. 36
}, "uplift_by_trigger": {
"sprint_20min": 0. 12, "new_provider_event": 0. 07
}, "rg_flags": {"fatigue": false, "limit_time": false}, "cooldowns": {"push": true, "in_app": false}
}
Рішення оркестратора дотиків:
json
{
"decision_id": "dec_2025_10_24_1630", "user_id": "u_29104", "touch": {
"channel": "in_app", "time": "2025-10-24T17:05:00Z", "trigger": "sprint_20min", "creative": "evening_sprint_card_v3"
}, "fairness": {"reward_cap_equivalent": true}, "rg": {"suggest_break": false}
}
12) Псевдокод оркестрації
python ctx = build_context(user_id)
p_active = activity_model. predict_window(ctx, horizon_hours=4)
p_join = propensity_model. score_triggers(ctx)
uplift = uplift_model. estimate(ctx, triggers=p_join. keys())
RG і частотні обмеження if ctx. rg. fatigue or over_frequency_cap(user_id):
schedule_silent_inbox(user_id); exit()
вибір вікна і тригера win = best_time_window (p_active, events_schedule)
trigger = argmax(uplift, mask=channel_caps(user_id))
touch = compose_touch(user_id, channel="in_app", window=win, trigger=trigger)
if economy_budget_ok(trigger) and not in_quiet_hours(user_id, touch. time):
deliver(touch); log(touch)
13) UX-патерни
Картка в лобі: «Вечірній спринт 20 хв, старт через 15 хв, косметика Rare».
Оцінка часу: «≈20 -25 хвилин» + індикатор складності.
Параметри контролю: «Нагадати пізніше», «Пропустити цю тему», «Мовчати тиждень».
Тихі VFX: короткі, неінвазивні, без нав'язливого звуку.
14) План впровадження
1. MVP (2-4 тижні): когорні вікна активності + проста пропенсіті; один канал (in-app), кап частоти, екран прозорості.
2. v0. 9: survival-модель часу до входу; пуш + inbox; базовий uplift на 2-3 тригери.
3. v1. 0: контекстний бандит, повноцінний календар подій, бюджет емісії, RG-інтеграція, звіти чесності.
4. Дальший: персональні «розклади тижня», крос-місії, гео-івенти, MLOps-автоматизація дрейфу.
15) Чеклист перед релізом
- Немає впливу на RTP/шанси; стеля цінності нагород однакова.
- Частотні ліміти і «тихий режим» включені.
- RG-гварди активні; є швидкий opt-out.
- Економічний бюджет підтверджений; анти-спам працює.
- A/B-план і KPI-поріг успіху визначені.
- Екран «Як це працює» і лог-аудит рішень готові.
Прогнозування активності і тригерів - це час × контент × канал під RG-і чеснісними констрейнтами. Тайм-серії і survival дають «коли», пропенсіті і uplift - «чим кликати», бандит - «як адаптувати онлайн». При строгих капах частоти, прозорості і стійкому бюджеті промо отримуємо менше шуму, більше участі і передбачувану економіку сезону.