Машинне навчання в 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: ліміти, самовиключення, прапори скринінгу, РЕР/санкції (через кеш/асинхрон).
- Нормалізуйте валюти і час (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, прозорі метрики та етика/комплаєнс. Дотримуючись цього керівництва, ви побудуєте систему, яка стабільно збільшує дохід і утримання, знижує ризики і дотримується регуляторні вимоги - в масштабі, швидко і передбачувано.