Аналіз аномалій та кореляцій
1) Навіщо це iGaming
iGaming живе в реальному часі: затрималися депозити, «просів» конкретний провайдер ігор, сплеснув фрод, змінився мікс трафіку. Потрібна дисципліна, яка:- Рано виявляє відхилення (до того, як KPI і виручка падають у звітах).
- Відрізняє збої від сезонності/акцій/турнірів.
- Знаходить першопричини (RCA) замість «лікування симптомів».
- Дотримується приватності та етики (RG/AML), не роздаючи PII.
2) Типологія аномалій
Точкові (point): одиничний пік/провал (наприклад, spike помилок PSP).
Серійні (collective): послідовність нетипових значень (довга деградація).
Контекстні (contextual): нормальні вночі, аномальні вдень (залежать від контексту: година/країна/канал).
Зміна режиму/тренду (change-point): рівень, дисперсія, сезонність різко змінилися.
Структурні: сплеск перепусток/дублікатів, schema drift.
Причинно-наслідкові: зміна сусіднього вузла (PSP/провайдер) «переламала» наш ряд.
3) Підготовка даних і контекст
Календар і сезонність: вихідні/свята/турніри/акції → окремі базові лінії.
Шари агрегації: 1-хв/5-хв/год, по країні/бренду/провайдеру/пристрою.
Нормалізація: per-capita (на гравця/сесію), за часом доби, за FX.
Фічі часу: rolling mean/std, EWMA, лаги, день тижня, «хвилини до cut-off».
Якість: фільтруємо запізнілі події/дублікати, усуваємо timezone-помилки.
4) Методи детекції (від простого до гібридного)
Статистика та часові ряди
Robust z-score (медіана/IQR), EWMA, STL-декомпозиція (trend/seasonal/remain).
CUSUM/ADWIN - чутливі до зсуву середнього/дисперсії.
Change-points (наприклад, PELT/BOCPD): фіксуємо точки зміни режиму.
Prophet/ETS - прогноз + довірчий коридор → викиди поза інтервалом.
Багатовимірні/щільнісні
Isolation Forest, LOF, One-Class SVM - коли багато ознак (PSP, гео, канал, девайс).
Autoencoder (реконструкція/помилка) для складних патернів.
Онлайн-потоки
Ковзаючі вікна, квантильні скетчі, EWMA + гістерезис; облік watermarks і late data.
«Dual-thresholds» (вхід/вихід з аномалії) для придушення дребезга.
Гібрид
Правила домену (SLO-усвідомлені) + статистика/ML → вище точність і зрозумілість.
5) Якість детекції: Як міряти
Precision/Recall/F1 по розміченим інцидентам.
ATTD (Average Time To Detect) і TTR (час до нормалізації).
Duration bias: штраф за «миготіння» (часті входи/виходи з аномалії).
Ex-post бізнес-метрики: «скільки раундів/депозитів врятували», «скільки P1 запобігли».
Stability: частка пригнічених помилкових тривог; p95 «тихих ночей».
6) Кореляція, причинність і пастки
Кореляція ≠ причинність: загальний драйвер (акція/зовнішній даун) може «вести» обидві метрики.
Partial correlation (умовна), Mutual Information (MI) - коли зв'язки нелінійні.
Granger causality (тимчасова причинність) - один ряд допомагає передбачити інший.
DAG/causal discovery (з передбачувальною перевіркою) - гіпотези про напрямок впливу.
Simpson’s paradox: агрегати «брешуть» без стратифікації (країна/канал/пристрій).
Leakage: ознаки, що містять майбутню інформацію, дають фальш-причини.
7) Root-Cause Analysis (RCA)
Граф залежності: провайдери ігор → лобі → ставки → платежі/PSP → KPI.
Скан за вимірами: хто «зламався»? (країна, бренд, провайдер, метод оплати, ОС).
Контрастні групи: де аномалія є/немає → відносний ризик/одds ratio.
Shapley/Feature attribution для багатовимірних моделей аномалій.
Сценарії «що-якщо»: відключи підозрілий сегмент - чи відновлюється KPI?
8) Шумозаглушення і пріоритизація
Гістерезис: «3 з 5 вікон порушені» для підтвердження.
Динамічні пороги: baseline ± k· σ, квантиль 5/95, сезонні профілі.
Групування: один інцидент на «провайдер A» замість 300 алертів по іграх.
SLO-усвідомленість: алертим тільки якщо торкнуться SLO/бізнес-поріг.
Супресії: N алертів максимум за T хвилин на один labels-набір.
9) Конвеєр: онлайн та офлайн
Онлайн: Flink/Spark Streaming/CEP - хвилинні вікна, watermarks, дедуплікація, ідемпотентність.
Офлайн: бектести на рік історії, інжекція «синтетичних» інцидентів, порівняння кандидатів.
ModelOps: версіонування правил/моделей (MAJOR/MINOR/PATCH), shadow/canary і rollback для правил.
10) Приватність, етика, комплаєнс
Zero-PII в фічах і алертах; токени замість ідентифікаторів.
RG/AML: окремі канали і доступи; redaction тексту.
Bias: перевіряйте розкид за чутливими вимірами (країна/метод/пристрій) - не перетворюйте аномалію на дискримінацію.
Legal Hold/DSAR: зберігання історії детекцій/рішень - WORM-лог.
11) Кейси iGaming (готові шаблони)
Платежі/PSP
Детекція: 'success _ rate _ deposits _ 5m ↓'нижче baseline_28d на 3 σ, підтвердження 3/5 вікон → P1.
RCA: розріз по'psp, country, method'; перевірка черг/ретраїв.
Ігрові провайдери
Детекція: 'rounds _ per _ min'провайдера А <60% від rolling_quantile (0. 1) за 28д → P1.
Дія: приховати тайли ігор А, повідомити провайдера, перемкнути лобі.
RG
Детекція: 'high _ risk _ share'↑ на> 3 п. п. за 10 хв в бренді B → P2.
RCA: кампанії/бонуси, сплеск нових пристроїв, гео-зсув.
Антифрод
Детекція: `chargeback_rate_60m > μ+3σ` И `new_device_share ↑` → P1.
Дія: посилити скоринг/ліміти на виведення.
12) Артефакти та шаблони
12. 1 YAML правила (онлайн)
yaml rule_id: psp_success_drop severity: P1 source: stream:payments. metrics_1m baseline: {type: seasonal_quantile, period: P28D, quantile: 0. 1, by: [hour, dow, country, psp]}
detect:
type: ratio_below value: 0. 6 confirm: {breaches_required: 3, within: PT5M}
labels: {psp: "$psp", country: "$country"}
actions:
- route: pagerduty:payments
- soars: [{name: switch_psp, params: {backup: "PSP_B"}}]
privacy: {pii_in_payload: false}
version: 1. 4. 0
12. 2 Конфіг офлайн-бектесту
yaml dataset: payments_gold period: {from: "2025-07-01", to: "2025-10-31"}
inject_scenarios:
- type: level_shift target: success_rate where: {psp: "PSP_A", country: "EE"}
from: "2025-09-15T12:00Z"
delta: -0. 02 metrics: [precision, recall, f1, attd_sec]
12. 3 Паспорт RCA-інциденту
Інцидент: drop rounds @ provider A
Період: 2025-11-01 18:10–18:35 (Europe/Kyiv)
Root-node: `games. engine. provider_A` (change-point @18:12)
Афект: `lobby_clicks ↓`, `rounds_per_min ↓ 45%`, `GGR/min ↓ 28%`
Контраргументи: payments OK, PSP OK, FX/stats нормальні
Дії: hide tiles, контакт провайдера, банер статусу
Результат: відновлення @ 18:34; втрати попереджені X
13) Метрики успіху процесу
Precision/Recall/F1 щодо P1/P2 інцидентів (розмітка власниками доменів).
ATTD/MTTR в хвилинах (медіана/р90).
Noise↓: −X% «помилкових нічних» тривог, ≤ Y алертів/зміну.
RCA-time: медіана часу до першопричини.
Business saved: оцінка утриманих депозитів/раундів.
Coverage: ≥ 95% критичних шляхів під наглядом.
14) Процеси і RACI
Domain Owners (R) - правила/базові лінії/розмітка інцидентів.
Data Platform/Observability (R) - рушій детекції, зберігання, SLO.
ML Lead (R) - моделі аномалій, калібрування, fairness.
SRE/SecOps (R) - інтеграції з SOAR/PagerDuty, інциденти.
CDO/DPO (A) - політика приватності/етики, Zero-PII.
Product/Finance (C) - пороги SLO і бізнес-пріоритети.
15) Дорожня карта впровадження
0-30 днів (MVP)
1. Критичні шляхи: payments, game_rounds, freshness ingest.
2. Базові лінії по годинах/днях і ключових вимірах (країна/бренд/psp/провайдер).
3. Прості детектори: EWMA/robust z-score + гістерезис.
4. Канали алертів і 3 runbook'a (платежі/ігри/DQ).
5. Бектести на 3-6 міс історії; розмітка інцидентів.
30-90 днів
1. Change-points, seasonal quantiles, мультимодальні ряди.
2. Isolation Forest/LOF для багатовимірних кейсів; shadow-режим.
3. RCA-граф залежностей і напівавтоматичне атрибутування.
4. SLO-усвідомлені пороги; suppression/grouping; тікети з автозаповненням.
3-6 місяців
1. Champion-Challenger правил/моделей; авто-тюнінг порогів.
2. Зовнішні інтеграції (провайдери/PSP) з підписаними вебхуками.
3. Звіти «внесок алертів в MTTR/виручку»; квартальні гігієна-сесії.
4. Causal-експерименти для спірних кореляцій (A/B, Granger, інструментальні змінні).
16) Анти-патерни
Поріг «на око», загальний для всіх країн/годин/каналів.
Ігнор сезонності/акцій → «буря» помилкових алертів.
Немає бектестів і розмітки інцидентів - нічого оптимізувати.
Гонитва за кореляціями без стратифікації/partial corr → помилкові причини.
Логи/алерти з PII, скріншоти в загальних каналах.
«Вічні» правила без ревізії і власника.
17) Пов'язані розділи
Алерти з потоків даних, DataOps-практики, API аналітики і метрик, Аудит і версійність, MLOps: експлуатація моделей, Контроль доступу, Безпека і шифрування, Політики зберігання даних, Зниження упередженості.
Підсумок
Аналіз аномалій і кореляцій - це не «магія ML», а інженерна система: коректний контекст і сезонність, гібрид правил і моделей, строгі метрики якості і керований RCA. В iGaming така система знижує MTTR, захищає виручку і утримує довіру гравців і регуляторів - без порушень приватності.