Метрики геймификации: 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 — качество баланса сложности и награды. Считайте их по единым правилам, храните версии, проверяйте инкремент и цену роста. Тогда геймификация будет прогнозируемым инструментом, а не лотереей.