users.csv— 60,000 пользователейsessions.csv— 329,866 сессийevents.csv— 248,942 события (deposit/purchase/bonus/redeem)ab_tests.csv— 27,128 участников A/Bschema.sql— DDL (PostgreSQL-ish)README.txt— описание/допущения
- Сколько регистраций по дням? (daily new users)
- Топ-10 стран по числу пользователей.
- DAU по дням (по
sessions, уникальные user_id в день). - MAU по месяцам.
- DAU/MAU (stickiness) по месяцам.
- Средняя длительность сессии по игре (
session_end - session_start). - Топ-5 игр по суммарной
sessions.revenue. - Сколько событий каждого типа по дням? (
events.event_type) - Сколько уникальных платящих пользователей (есть
depositилиpurchase) за весь период? - “Последние 7 дней”: найти пользователей, у кого SUM(purchase amount) за последние 7 дней > 100.
- Для каждого пользователя найти дату первого депозита и время до первого депозита (в днях от регистрации).
- Конверсия в депозит: доля пользователей, сделавших депозит в первые 7 дней после регистрации (по источникам
source). - Payer conversion по дням: доля DAU, которые сделали
purchaseв тот же день. - ARPPU по месяцам (purchase amount / #платящих в месяц).
- ARPDAU по дням (purchase amount / DAU).
- Cohort retention: D1/D7/D30 по когорте регистрации (по
registration_date). - Сегментация по RFM-лайту:
- Recency = дни с последней сессии
- Frequency = число сессий за 30 дней
- Monetary = сумма purchase за 30 дней
- Воронка:
registration -> first_session -> first_purchase(в процентах и медианное время между шагами). - Rolling 7d: 7-дневный rolling sum
sessions.revenueпо дням (на уровне всей платформы). - Rolling 7d по пользователю: 7-дневная сумма purchase amount по каждому user_id (оконка).
- Найти “анома́льные дни” по revenue: дни, где revenue выше среднего на 3σ (можно через daily агрегат + z-score).
- Разложить revenue по источникам (
source) и устройствам (device) — вклад в общий revenue и динамика. - LTV-30 (упрощённо): сумма
purchase amountза первые 30 дней после регистрации по когортам. - “Кто отвалился”: пользователи с 0 сессий за последние 14 дней, но были активны раньше (верни список + их last_session_date).
- Оптимизация: взять любой тяжёлый запрос (например DAU/Retention) и прикинуть, какие индексы нужны и почему (по колонкам WHERE/JOIN/ORDER).
- Приведи типы дат/времени, проверь пропуски, сделай базовый EDA (describe + распределения amounts).
- Собери daily KPI-таблицу:
date, DAU, purchases_sum, deposits_sum, revenue_sum, ARPDAU. - Построй графики:
- DAU по дням
- revenue по дням
- rolling 7d revenue (поверх)
- Cohort retention в pandas (heatmap): когорты по неделям регистрации, retention по неделям жизни.
- Посчитай по каждому user_id:
first_session_date,first_purchase_date,days_to_first_purchase. - Сравни метрики по странам: DAU, ARPDAU, payer conversion (таблица + bar chart).
- Построй “фанель” в pandas: registration → session → purchase (конверсия по источникам).
В ab_tests есть тест new_bonus_banner_v1 (A/B). В данных есть небольшой эффект для группы B после test_start_date.
- SRM-проверка: доля A/B близка к 50/50? (χ² тест на соответствие сплиту)
- Основная метрика:
purchase amount per userза 14 дней послеtest_start_date. Сравни A vs B:
- среднее/медиана
- разница и % uplift
- t-test (или bootstrap) для разницы средних, посчитать p-value.
- Доверительный интервал для uplift (bootstrap 1000–5000 итераций).
- Guardrail: не ухудшилась ли retention D7 или средняя длительность сессии в группе B?
- Сегментация эффекта: эффект A/B по
deviceиsource(где сильнее/слабее).