Метрики гейміфікації: DAU/WAU, участь, completion rate
Гейміфікація працює тільки там, де її ефект підтверджений цифрами. Нижче - системний розбір трьох базових метрик, без яких неможливо керувати місіями, івентами та нагородами: DAU/WAU, participation rate (участь) і completion rate (завершення).
1) DAU/WAU і «стікність»
Визначення
DAU (Daily Active Users) - число унікальних користувачів з цільовою дією за добу (логін, запуск клієнта, ставка/спін, виконання місій тощо).
WAU (Weekly Active Users) - унікальні користувачі з цільовою дією за останні 7 днів.
DAU/WAU (Stickiness) - частка «щодня активних» серед «тижневих».
[
\text{DAU/WAU} = \frac{\text{DAU}}{\text{WAU}} \quad (0\ldots1)
]
Як інтерпретувати
0,15-0,25 - базова «здорова» стікність для розважальних продуктів з неежеденним патерном.
0,25-0,35 - хороший рівень при регулярних місіях і легкому вході.
Важливо: оцінювати в розрізі сегментів (новачки, ре-активовані, платять, mid-core, high-value). Загальна цифра легко маскує проблеми.
Часті спотворення
Інфляція через бонус-днів. Одиночний «хайповий» івент підніме DAU, але не поліпшить тренд DAU/WAU на горизонті 4-8 тижнів.
Помилкова мультиактивність. Ботові/дубльовані акаунти. Обов'язково дедуплікація по device-fingerprint + KYC-сигнали.
Зміна «цільової дії». Якщо змінюєте правило "хто вважається активним", зафіксуйте дату і будуйте "метрику 2. 0».
2) Participation rate (рівень участі)
Визначення
Частка користувачів, які вступили в гейміфікаційний цикл (івент/місію/турнір) серед цільової аудиторії.
Базові формули:[
\text{Participation (gross)}=\frac{# \text{users_with_event_open}}{# \text{eligible_audience}}
]
[
\text{Participation (net)}=\frac{# \text{users_started_progress}}{# \text{eligible_audience}}
]
Gross - всі, хто побачив івент і натиснув «брати участь».
Net - ті, хто реально почав виконання (наприклад, зробив перші X очок/спінів/квест-кроків).
Правильний «деномінатор»
«Eligible audience» фіксуйте заздалегідь: наприклад, всі користувачі, активні ≥1 раз за останні 14 днів і потрапляють в гео/правила.
Окремо вважайте reach комунікації (push, in-app, email). Низький participation нерідко = низький reach.
Нормативи та орієнтири
Net participation 12-25% для масових легких подій.
5-12% для «хардкорних» івентів з порогом входу (депозит/рівень).
30% + досягається в мікроспринтах для теплих сегментів (D1-D7 новачки, re-engaged).
3) Completion rate (завершення)
Визначення
Частка учасників, які завершили місію/ланцюжок/івент.
[
\text{Completion Rate}=\frac{# \text{users_completed}}{# \text{users_started}}
]
Різновиди
Per-task completion - завершення конкретних кроків у ланцюжку (T1, T2,...).
Full-chain completion - завершення всієї лінійки.
Time-bounded completion - завершення до дедлайну.
Інтерпретація
Нормативи залежать від довжини і «ціни» завдань.
Проста одиночна місія: 60–85%.
Ланцюжок з 3-5 кроків: 35–60%.
Довгий квест 7-10 кроків: 18–35%.
Зниження completion на пізніх кроках - не завжди погано. Це може бути усвідомлена воронка монетизації/складності. Важливо, щоб Net Uplift залишався позитивним і метрики RG - в зеленій зоні.
4) Зв'язка метрик: «побачив → почав → завершив»
Будуйте єдину воронку:1. Reach: побачили івент.
2. Participation (gross/net): вступили/почали.
3. Progression: частка досягли T1/T2/.../Tn (з таймінгами).
4. Completion: завершили.
5. Value: ΔDAU/WAU, ΔRetention, ΔARPPU, ΔAvg Deposit, Bonus Cost%, Net Uplift.
Це дозволяє ловити «витоки»: низький reach, бар'єри входу, перегин за складністю кроків 2-3, провали UX (погана видимість прогресу).
5) Аналітика: сегментація та когорти
Рекомендовані розрізи:- Stage: новачки D0-D7, повернуті R7-R30, постійні P30.
- Monetization: нові платять (NPP), повторно платять (RPP), high-value.
- Channel/Geo/Platform: web/iOS/Android, країни/регуляції.
- Content: тип місії (XP, спини, депозит), волатильність ігор, пороги.
Для кожної групи фіксуйте DAU/WAU, participation, completion, ARPPU, Bonus Cost per Active - до/під час/після івенту (D-window, W-window).
6) Експериментальний дизайн: доводимо інкремент
Holdout-контроль: частина аудиторії не бачить івент (або бачить «пустушку»).
Randomized Invitation: випадковий розподіл запрошень, фіксуємо reach.
Geo/Channel Split: якщо рандом заборонений - акуратний matching.
Вікно вимірювання: ефект «під час» і post-event tail (7-14 днів).
Фінальні метрики: ΔDAU/WAU, ΔParticipation/Completion, ΔARPPU (net of bonus), Retention D7/D30, Net Uplift.
7) DWH/події: Мінімальна схема даних
Події (приклад):- `session_start {user_id, ts, platform}`
- `mission_view {user_id, mission_id, ts}`
- `mission_join {user_id, mission_id, ts}`
- `mission_progress {user_id, mission_id, step, value, ts}`
- `mission_complete {user_id, mission_id, ts}`
- `purchase/deposit {user_id, amount, ts}`
- `spin/bet {user_id, game_id, bet, win, ts}`
- `missions {mission_id, type, start_at, end_at, rules, segment, min_requirement, reward_type}`
- `users {user_id, geo, platform, signup_at, payer_flag, segments}`
8) Приклади розрахунків (SQL-скетчі)
DAU за дату d:sql
SELECT DATE(ts) AS d, COUNT(DISTINCT user_id) AS dau
FROM session_start
WHERE DATE(ts) =:d
GROUP BY 1;
WAU за тиждень, що закінчується датою d:
sql
SELECT COUNT(DISTINCT user_id) AS wau
FROM session_start
WHERE ts >=:d - INTERVAL '6 day' AND ts <:d + INTERVAL '1 day';
DAU/WAU (stickiness):
sql
WITH dau AS (
SELECT COUNT(DISTINCT user_id) AS dau
FROM session_start
WHERE DATE(ts) =:d
), wau AS (
SELECT COUNT(DISTINCT user_id) AS wau
FROM session_start
WHERE ts >=:d - INTERVAL '6 day' AND ts <:d + INTERVAL '1 day'
)
SELECT dau::float / NULLIF(wau,0) AS dau_wau FROM dau, wau;
Participation (net) по місії:
sql
WITH elig AS (
SELECT user_id
FROM users
WHERE last_active_at >=:d - INTERVAL '14 day'
), started AS (
SELECT DISTINCT user_id
FROM mission_progress
WHERE mission_id =:m AND ts BETWEEN:start AND:end
)
SELECT COUNT(DISTINCT s. user_id)::float / NULLIF(COUNT(DISTINCT e. user_id),0) AS participation_net
FROM elig e
LEFT JOIN started s ON s. user_id = e. user_id;
Completion rate по місії:
sql
WITH started AS (
SELECT DISTINCT user_id
FROM mission_progress
WHERE mission_id =:m AND ts BETWEEN:start AND:end
), completed AS (
SELECT DISTINCT user_id
FROM mission_complete
WHERE mission_id =:m AND ts BETWEEN:start AND:end
)
SELECT COUNT(DISTINCT c. user_id)::float / NULLIF(COUNT(DISTINCT s. user_id),0) AS completion_rate
FROM started s
LEFT JOIN completed c USING (user_id);
9) Дизайн, що впливає на participation і completion
Видимість: банери над «лінією згину», бейдж на іконці «Місії», прогрес-бар на головному екрані.
Ясність правил: 1 екран = 1 ключова мета, приклади «як набрати X очок».
Мікро-нагороди на шляху: лут-дропи за T1/T2/T3 → підтримують мотивацію.
Поріг входу: не завищуйте вимоги на першому кроці; ускладнюйте в міру прогресу.
Терміни: короткі спринти (2-24 год) для гарячих сегментів, тижневі арки - для масових.
Динамічні підказки: «до нагороди залишилося 120 очок ≈ 8 раундів по 15».
10) Анти-спотворення і якість даних
Дедуплікація: device-fingerprint + KYC-прапори для боротьби з мультиаккаунтингом.
Аномалії: сплески started без progress → баги трекінгу; completion> started → дублікати.
Заморожування схеми: будь-які зміни бізнес-правил - тільки через версіонування метрик.
Налагодження часу: зберігайте'event _ time'і'ingest _ time'; зрушення часових поясів - часта причина «дірок».
11) Дашборд: що показувати щодня
1. Стікність: DAU, WAU, DAU/WAU (тренд 8 тижнів, медіана за сегментами).
2. Воронка івенту: Reach → Participation gross/net → T1/T2/… → Completion.
3. Якість: відмови (bounce), середній час до T1/T2, помилки трекінгу.
4. Цінність: ΔARPPU (net of bonus), ΔAvg Deposit, Bonus Cost%, Net Uplift.
5. Сегменти: розріз по stage/geo/platform/payer-status.
6. Алерти: падіння participation> X п. п., провал completion на кроці, відхилення DAU/WAU від сезонної моделі.
12) Часті помилки
Вважати participation на «всій базі», ігноруючи eligible-фільтри.
Заважати gross і net participation, роблячи висновки «по середньому».
Оптимізувати тільки completion, завищуючи складність і ріжа залученість.
Сліпо радіти зростанню DAU, не перевіряючи, чи зросла стікність (DAU/WAU) і пост-ефект.
Ігнорувати вартість бонусів/призів, невірно інтерпретуючи Δ ARPPU.
13) Чек-лист запуску та оцінки
Визначено події та деномінатори (eligible audience).
- Зафіксовані бізнес-правила для DAU/WAU/participation/completion (v1. 0).
- Налаштований holdout/рандом для інкременту.
- Дашборд в розрізах сегментів, платформ, гео.
- Алерти якості і антифрод-контроль.
- Фінальна оцінка: Δ DAU/WAU, Δ Participation/Completion, Δ ARPPU (net), Net Uplift, пост-ефект 7-14 днів.
DAU/WAU показує звичку і «липкість» продукту, participation - здатність івенту залучати цільову аудиторію, а completion - якість балансу складності і нагороди. Вважайте їх за єдиними правилами, зберігайте версії, перевіряйте інкремент і ціну зростання. Тоді гейміфікація буде прогнозованим інструментом, а не лотереєю.