Машинное обучение в iGaming
1) Бизнес-кейсы и ценность
Продукт/доход: прогноз LTV, churn (отток), пропенсити к депозиту/покупке, динамические миссии/квесты, next-best-action/offer.
Маркетинг/CRM: look-alike, сегментация, real-time триггеры, оптимизация бонусов (ABO — Abuse-resistant Bonus Optimization).
Риск/Комплаенс: антифрод/AML (velocity, структурирование, графовые признаки), Responsible Gaming (RG) — риск-скор, триггеры вмешательства.
Операции/SRE: предсказание инцидентов, capacity/traffic forecasting, аномалии провайдеров.
Финансы: прогноз GGR/NGR, Fx-чувствительность, детекция манипуляций контрагентов.
Ориентиры эффекта: +3–7% к Net Revenue за счет персонализации, −20–40% к fraud-loss, −10–25% к churn, SLA реагирования RG < 5 с при онлайне.
2) Данные и признаки (Feature Engineering)
Источники: gameplay, платежи/PSP, аутентификация, устройства/ASN/гео, RG/KYC/KYB, маркетинговые UTM, провайдерские логи, саппорт/тексты.
Базовые фичи:- Поведенческие окна: N ставок/депозитов и суммы за 10 мин/час/день, recency/frequency/monetary.
- Последовательности: цепочки игр, время с последней активностью, сессионные признаки.
- Гео/устройство: страна/рынок, ASN, тип девайса/браузера.
- Графовые: связи игрок–карта–устройство–IP, компоненты/центральности (fraud rings).
- Контекстные: время суток/день недели/праздники рынка, провайдер/жанр/волатильность игры.
- RG/AML: лимиты, самоисключения, флаги скрининга, PEP/санкции (через кэш/асинхрон).
- Нормализуйте валюты и время (UTC + локаль рынка).
- Историзируйте измерения (SCD II).
- Согласуйте онлайн/офлайн трансформации (единый код в Feature Store).
3) Архитектура: офлайн ↔ онлайн
3.1 Офлайн контур
Lakehouse: Bronze→Silver (нормализация/обогащение)→Gold (датасеты).
Feature Store (offline): регистр формул фич, point-in-time join, материализация обучающих выборок.
Тренинг: контейнеры с фиксированными зависимостями; трекинг экспериментов (метрики/артефакты/данные).
Валидация: k-fold/temporal split, backtest, off-policy оценка.
3.2 Онлайн контур
Ingest → Stream Processing: Flink/Spark/Beam с окнами/watermarks, идемпотентность.
Feature Store (online): низколатентный кэш (Redis/Scylla) + слепки офлайна.
Сервинг: REST/gRPC эндпоинты, граф скоринга, AB-роутинг, канареечные релизы.
Real-time витрины: ClickHouse/Pinot для панелей/правил.
4) Типовые модели и подходы
Классификация/скоринг: churn/депозит/фрод/RG (LogReg, XGBoost/LightGBM, TabNet, CatBoost).
Ранжирование/рекомендации: факторизация/лист-рангинг (LambdaMART), seq2rec (RNN/Transformers), контекстные бандиты.
Аномалии: Isolation Forest, One-Class SVM, AutoEncoder, Prophet/TSfresh для временных рядов.
Графовые: Node2Vec/GraphSAGE/GNN для колец мошенничества.
Причинность (causal): uplift-модели, T-learner/X-learner, DoWhy/CausalML.
NLP/ASR: тикеты/чаты, классификация жалоб, sentiment, темы.
5) Метрики качества
Классификация: ROC-AUC/PR-AUC, F1 на операционных порогах, expected cost (взвешенные FP/FN), KS для риск-скоринга.
Рекомендации: NDCG@K, MAP@K, coverage/diversity, CTR/CVR в онлайне.
TS/Forecast: MAPE/SMAPE, WAPE, P50/P90 ошибку, покрытие PI.
RG/AML: precision/recall при SLA, средний time-to-intervene.
Экономика: uplift в Net Revenue, fraud saved, ROI кампаний, % бонус-абьюза.
6) Оценка и эксперименты
Офлайн: temporal split, backtest по неделям/рынкам/тенантам.
Онлайн: A/B/n, CUPED/дифф-в-дифф, sequential tests.
Off-policy: IPS/DR для политик персонализации.
Стат. мощность: расчет размера выборки с учетом дисперсии и MDE.
python cost_fp = 5. 0 # false alarm cost_fn = 50. 0 # missed fraud threshold = pick_by_expected_cost (scores, labels, cost_fp, cost_fn)
7) Приватность, этика, комплаенс
PII-минимизация: псевдонимы, изоляция маппингов, CLS/RLS.
Резидентность: раздельные контуры EEA/UK/BR; без кросс-регионных join’ов без основания.
DSAR/RTBF: удаление/редакция в фичах и логах; Legal Hold для кейсов/отчетности.
Fairness/предвзятость: аудит фич, disparate impact, контроль proxy-переменных.
Explainability: SHAP/feature importance, карточки моделей (owner, дата, данные, метрики, риски).
Безопасность: KMS/CMK, секреты вне логов, WORM-архивы релизов.
8) MLOps: жизненный цикл
1. Data & Features: схемы/контракты, DQ-правила (completeness/uniqueness/range/temporal), lineage.
2. Тренинг: контейнеры, автотюнинг, трекинг экспериментов.
3. Валидация: тесты совместимости схем, bias/fairness, performance-тесты.
4. Релиз (CI/CD/CT): канареечные/поэтапные выкаты, фича-флаги, «темный запуск».
5. Сервинг: автоскейлинг, кэширование, gRPC/REST, timeouts/ретраи.
6. Мониторинг: дрейф данных/предсказаний (PSI/KL), latency p95, error-rate, coverage, «silent metrics».
7. Re-train: расписание/триггеры по дрейфу/деградации метрик.
8. Инциденты: runbook, откат модели, fallback (правило/простая модель).
9) Feature Store (ядро согласованности)
Офлайн: point-in-time вычисления, anti-leakage, версия формулы фич.
Онлайн: низкая латентность (≤ 10–30 мс), TTL, согласованность с офлайном.
Контракты: имя/описание, владелец, SLA, формула, тесты соответствия online/offline.
yaml name: deposits_sum_10m owner: ml-risk slo: {latency_ms_p95: 20, availability: 0. 999}
offline:
source: silver. payments transform: "SUM(amount_base) OVER 10m BY user_pseudo_id"
online:
compute: "streaming_window: 10m"
tests:
- compare_online_offline_max_abs_diff: 0. 5
10) Онлайновый скоринг и правила
Гибрид ML+Rules: модель → скор + объяснения; правила — hard-guard/этика/закон.
Сшивка: CEP-паттерны (structuring/velocity/device switch) + ML-скоринг.
SLA: p95 энд-ту-энд 50–150 мс для персонализации, ≤ 2–5 с для RG/AML алертов.
python features = feature_store. fetch(user_id)
score = model. predict(features)
if score > T_RG:
trigger_intervention(user_id, reason="RG_HIGH_RISK", score=score)
elif score > T_BONUS:
send_personal_offer(user_id, offer=choose_offer(score, seg))
11) Данные для обучения: выборки и лейблы
Событийные окна: t0 — референс, t0+Δ — лейбл (депозит/черн/фрод).
Leakage-контроль: point-in-time join, исключение будущих событий.
Балансировка: стратификация/веса классов, focal loss для редких классов.
Этика: исключить чувствительные атрибуты/прокси, контролировать влияние.
12) Экономика и производительность
Стоимость фич: считайте cost/feature и cost/request, избегайте тяжелых online-join’ов.
Кэш: горячие фичи в RAM, холодные — lazy.
Материализация: офлайн агрегации; онлайн только критичное.
Квоты: лимиты на реплеи, бэктесты по окнам времени; chargeback по командам.
13) Примеры SQL/псевдокода
Point-in-time выборка для churn (30 дней тишины):sql
WITH base AS (
SELECT user_pseudo_id, MIN(event_time) AS first_seen
FROM silver. fact_bets
GROUP BY user_pseudo_id
),
agg AS (
SELECT user_pseudo_id,
DATE(t. event_time) AS asof,
SUM(amount_base) FILTER (WHERE type='deposit' AND event_time >= t. event_time - INTERVAL '30' DAY AND event_time < t. event_time) AS dep_30d,
COUNT() FILTER (WHERE type='bet' AND event_time >= t. event_time - INTERVAL '7' DAY) AS bets_7d
FROM silver. fact_events t
GROUP BY user_pseudo_id, DATE(t. event_time)
)
SELECT a. user_pseudo_id, a. asof, a. dep_30d, a. bets_7d,
CASE WHEN NOT EXISTS (
SELECT 1 FROM silver. fact_events e
WHERE e. user_pseudo_id=a. user_pseudo_id AND e. event_time > a. asof AND e. event_time <= a. asof + INTERVAL '30' DAY
) THEN 1 ELSE 0 END AS label_churn_30d
FROM agg a;
Онлайн окно депозитов (Flink SQL, 10 мин):
sql
SELECT user_id,
TUMBLE_START(event_time, INTERVAL '10' MINUTE) AS win_start,
COUNT() AS deposits_10m,
SUM(amount_base) AS sum_10m
FROM stream. payments
GROUP BY user_id, TUMBLE(event_time, INTERVAL '10' MINUTE);
14) Дорожная карта внедрения
MVP (4–6 недель):1. Каталог сигналов и Feature Store v1 (5–10 фич для Payments/Gameplay).
2. Базовая модель churn/депозита (XGBoost) + A/B на 10–20% трафика.
3. Онлайновый сервинг с кэшем (p95 < 150 мс) и канареечными релизами.
4. Мониторинг дрейфа/качества, карточка модели, runbook отката.
Фаза 2 (6–12 недель):- RG/AML-скоринги, графовые признаки, real-time триггеры.
- Uplift-модели для бонусов, контекстные бандиты, off-policy оценка.
- Авто-ре-трейн по дрейфу/календарю, автоматизация документации.
- Персонализация каталога игр (seq2rec), мульти-объективная оптимизация (доход/ответственность).
- Мульти-региональный сервинг, SLAs/квоты, chargeback по фичам/инференсу.
- Fairness-аудит и стресс-тесты, DR-учения и WORM-репозитории релизов.
15) RACI
R (Responsible): MLOps (платформа/сервинг), Data Science (модели/эксперименты), Data Eng (фичи/пайплайны).
A (Accountable): Head of Data / CDO.
C (Consulted): Compliance/DPO (PII/RG/AML/DSAR), Security (KMS/секреты), SRE (SLO/стоимость), Finance (эффект/ROI), Legal.
I (Informed): Продукт/Маркетинг/Операции/Поддержка.
16) Чек-лист перед продом
- Фичи согласованы online/offline, тесты репроходимости пройдены.
- Карточка модели (owner, данные, метрики, риски, fairness) заполнена.
- Канареечный релиз/фичфлаг; SLA и алерты latency/ошибок/дрейфа.
- Политики PII/DSAR/RTBF/Legal Hold соблюдены; логи обезличены.
- Runbook инцидентов/отката; fallback-стратегия.
- Эксперименты оформлены (гипотезы, метрики, длительность, MDE).
- Стоимость инференса и фич вписана в бюджет; квоты и лимиты включены.
17) Анти-паттерны
Расхождение онлайн/офлайн фич → нерепроходимость.
Синхронные внешние API в «горячем пути» без кэша и таймаутов.
Непрозрачные формулы метрик/отсутствие карточек моделей.
Переобучение/дрейф без мониторинга и перетренировки.
PII в аналитике и тренировке без CLS/RLS/минимизации.
«Одна большая модель на все» без доменной декомпозиции.
18) Итог
ML в iGaming — не набор «магических» моделей, а дисциплина: согласованные данные и фичи, воспроизводимый офлайн-тренинг, надежный онлайновый сервинг, строгий MLOps, прозрачные метрики и этика/комплаенс. Следуя этому руководству, вы построите систему, которая стабильно увеличивает доход и удержание, снижает риски и соблюдает регуляторные требования — в масштабе, быстро и предсказуемо.