Анализ аномалий и корреляций
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 в минутах (медиана/p90).
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’а (платежи/игры/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, защищает выручку и удерживает доверие игроков и регуляторов — без нарушений приватности.