GH GambleHub

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

Contact

Зв’яжіться з нами

Звертайтеся з будь-яких питань або за підтримкою.Ми завжди готові допомогти!

Розпочати інтеграцію

Email — обов’язковий. Telegram або WhatsApp — за бажанням.

Ваше ім’я необов’язково
Email необов’язково
Тема необов’язково
Повідомлення необов’язково
Telegram необов’язково
@
Якщо ви вкажете Telegram — ми відповімо й там, додатково до Email.
WhatsApp необов’язково
Формат: +код країни та номер (наприклад, +380XXXXXXXXX).

Натискаючи кнопку, ви погоджуєтесь на обробку даних.