Прогнозування KPI
Прогнозування KPI
Прогнозування KPI - це не «вгадування графіка», а керований контур: коректні дані → адекватна модель → сценарії та інтерпретація → операційний моніторинг. Нижче - системний чек-лист і архітектура, які масштабуються від простих рядів до портфельних, ієрархічних і ймовірнісних прогнозів.
1) Постановка задачі
Що прогнозуємо? рівень, дельту, квантиль, інтервал, подія (спайк).
Горизонт/крок: години/дні/тижні/місяці; rolling-вікна для короткострокового контролю.
Одиниця: продукт/бренд/країна/платформа/канал.
Бізнес-контекст: керовані важелі (промо, ціни, релізи) і обмеження (SLA, RG/комплаєнс).
Цінності та ризики: вартість пере/недопрогнозу, штраф за помилкові алерти.
2) Дані та підготовка
Зерно та календар: єдиний календар (свята/вихідні/зарплатні дні), локаль часу (UTC + локальні уявлення).
Агрегати і консистентність: DAU/WAU/MAU, GGR/Net, ARPPU, утримання (D7/D30), конверсії воронки, latency p95 - зберігати як окремі вітрини з явними формулами.
Регресори (X): промо/бонуси, кампанії, зміна цін, контент-релізи, спорт-події, курси валют, погода (якщо релевантно).
Аномалії та пропуски: маркуємо, не видаляємо сліпо; для подій - прапори «one-off».
Стабільність схем: точки змін версій продукту/вимірювань фіксуємо як події.
3) Типи KPI та особливості моделювання
Адитивні обсяги (виручка, депозити): добре працюють ETS/ARIMA/GBM/Temporal-NN.
Частки та конверсії: логіт-лінійки, бета-біноміальні моделі, регресія з обмеженнями [0,1].
Коефіцієнти та відношення (ARPPU): моделюємо чисельник і знаменник окремо, потім композицію.
Інтермітуючі ряди (рідкісні події, chargeback): Croston/SBA/TSB, zero-inflated підходи.
Ієрархії (strana→brend→kanal): reconciliation: Bottom-Up, Top-Down, MinT.
Композитні KPI (наприклад, GGR): дисагрегуйте драйвери: трафік × конверсія × частота × середній чек.
4) Моделі: від базових до просунутих
Бейзлайни: Naive, Seasonal Naive, Drift - потрібні для чесної оцінки.
Класика рядів: ETS/ARIMA/SARIMA; Prophet для швидких сезонностей і свят.
Регресори: ARIMAX/ETS + X, динамічні регресії, TBATS для множинних сезонностей.
Градієнтний бустинг/табличні NN: LightGBM/XGBoost/TabNet з лаг-фічами, статистиками вікон, календарем і промо.
Темпоральні NN: N-Beats, TFT (Temporal Fusion Transformer) - для мульти-серій і багатих X.
Ймовірнісні: квантильна регресія (pinball loss), Gaussian/Student-t, quantile forests/GBM.
Причинність і сценарії: DiD/SC для оцінки ефекту промо; uplift для планування «що буде, якщо включимо».
5) Декомпозиція та ознаки
T+S+R: тренд + сезонність (день тижня/місяць/година) + залишок.
Лаги і вікна: 'y _ {t-1.. t-28}', ковзні середні/стд, ŝ. згладжування; «Святкові хвости».
Категоріальні: країна/канал/OS як ембеддинги/one-hot.
Події: релізи/акції/банери - бінарні/інтенсивності.
Leakage-контроль: тільки інформація «з минулого».
6) Оцінка і backtesting
Спліти: rolling/expanding origin; блокуємо сезонність (кратні тижні/місяці).
Метрики рівнів: MAE, RMSE, MAPE/sMAPE, WAPE (надійніше при нулях).
Метрики ймовірнісних: pinball loss (q=0. 1/0. 5/0. 9), CRPS, калібрування інтервалів (coverage, SHARP).
Метрики подій/спайків: precision/recall по детекту «викиду».
Бейзлайн-правило: модель повинна вигравати у Seasonal Naive.
Стабільність: дисперсії помилок за сегментами/святами; out-of-time (останні N тижнів).
7) Ієрархічний прогноз та узгодження
Bottom-Up: підсумовуємо «низ»; простий, але шумно.
Top-Down: розподіляємо по історичних частках.
MinT (optimal reconciliation): мінімізує коваріацію помилок - кращий компроміс при багатому «низі».
Практика: навчаємо базові моделі на кожному рівні, потім узгодимо.
8) Імовірнісні прогнози та інтерпретація
Квантилі: q10/q50/q90 → планування «песиміст/база/оптиміст».
Інтервали: цільове покриття (наприклад, 80 %/95%); перевіряємо калібрування.
Вартість ризику: плануйте за умовним VaR/expected shortfall для KPI з асиметричними втратами (недопрогноз попиту дорожче перепрогнозу, і навпаки).
9) Сценарне моделювання
Екзогенні сценарії: «без промо/с промо», «курс ± 10%», «футбольний фінал».
What-if: змінюємо X (інтенсивність кампаній, ліміти, ціни) → прогноз KPI і довірчі інтервали.
План-факт: міст (bridge) факторів: внесок сезонів, промо, ціни, тренду, шоку/інциденту.
10) Експлуатаційний контур і MLOps
Частота перенавчання: короткострокові KPI - щодня/щотижня; місячні - T + 1/T + 3.
Шари/артефакти: фічестор (онлайн/офлайн паритет), реєстр моделей, версії даних/формул KPI.
Моніторинг: WAPE/SMAPE по ковзному вікну, покриття інтервалів, дрейф ознак (PSI), затримка фідів, SLA генерації.
Алерти: сплеск помилки> порогу, некалібровані інтервали, руйнування сезонності.
Fail-safe: деградація → відкат до Seasonal Naive/ETS; freeze-моделі в святкові піки.
Гістерезис: різні пороги включення/вимикання «промо-регресорів», щоб не «блимати».
11) Специфіка продуктових і iGaming-KPI (приблизна карта)
Трафік/активність: DAU/WAU/MAU, з урахуванням матч-днів/релізів ігор.
Монетизація: GGR/Net, депозити, ARPU/ARPPU - сильна сезонність «вечір/вихідні/свята».
Утримання: D1/D7/D30 - краще прогнозувати як ймовірність (логіт) з календарем.
Ризики: chargeback rate (інтермітуючий), RG-індикатори (політики/свята), антифрод-сигнали.
Операції: latency p95/p99, помилки транзакцій - сумісні з аномаліями/каузальними впливами релізів.
12) Шаблони артефактів
A. Паспорт прогнозу KPI
KPI/код: 'GGR _ EUR'( версія формули)
Горизонт/крок: 8 тижнів, день
Ієрархія: brend→strana→platforma
Регресори: `promo_spend`, `fixtures_flag`, `holiday`, `fx_rate`
Модель: `TFT_v4` (q10/q50/q90) + MinT reconciliation
Метрики: WAPE (абс. цільової ≤ 8%), coverage 90% -інтервала ≥ 85%
SLO: генерація ≤ 10 хв після 06:00 лок.; лаг даних ≤ 1 год
Власники: Monetization Analytics; дата ревізії: 2025-10-15
B. decision-ready звіт (скелет)
Заголовок: «GGR: прогноз 8 тижнів, q10/q50/q90"
Ключ: ризик недопрогнозу на 3-му тижні 22% (ES = - € X)
Драйвери: + сезонність вихідних, + ефект промо, − FX
Рекомендації: змістити бюджет на тижні з низьким ризиком, підняти ліміти на канали А/В
C. псевдо-код пайплайна (швидкоплинно)
python
1) load data y, X, calendar = load_series_and_regressors()
2) build features ds = make_lags_and_windows(y, X, lags=[1,7,14,28], roll=[7,14,28])
ds = add_calendar_features(ds, calendar) # holidays, dow, month_end
3) split cv = rolling_backtest(ds, folds=6, horizon=28)
4) models m1 = ETSx(). fit(ds. train) # baseline m2 = LightGBMQuantiles(q=[0. 1,0. 5,0. 9]). fit(ds. train)
5) evaluate scores = evaluate([m1,m2], cv, metrics=['WAPE','pinball'])
6) retrain full + reconcile forecasts = reconcile_minT(train_and_forecast([m2], hierarchy))
7) report + push publish(forecasts, scores, sla=timedelta(minutes=10))
13) Часті помилки і анти-патерни
MAPE при нулях: використовуйте WAPE/sMAPE.
Середнє середніх: агрегуйте численні/знаменники окремо.
Ігнор свят/релізів: додавайте регресори і «післясмак» дати.
Лики: фічі з майбутньою інформацією (target leakage).
Занадто «розумні» моделі без бейзлайну: спочатку переможіть Seasonal Naive.
Некалібровані інтервали: «красиві, але порожні» - перевіряйте coverage.
Неузгодженість ієрархій: без reconciliation загальний план розсипається.
Відсутність fail-safe: у піку свят модель «висить», плани руйнуються.
14) Моніторинг в проді
Якість: WAPE rolling, pinball по квантилях, coverage 80/95%.
Стабільність: PSI за ключовими ознаками, дрейф сезонності.
Операції: час генерації, лаг даних,% фолбеків.
Алерти: правило «3 σ» на помилці, порушення SLO, розлад ієрархій.
Рунібук: freeze-режим, відключення «галасливих» регресорів, форс-перетрен.
15) Чек-лист перед релізом
- KPI визначений і версіонований (семантичний шар)
- Календар/свята/регресори узгоджені і протестовані
- Бейзлайни (Naive/Seasonal) переможені на backtesting
- Вибрані метрики (WAPE/pinball) і цільові пороги
- Інтервали калібровані; сценарії «песиміст/база/оптиміст» зібрані
- Ієрархії узгоджуються (MinT/Top-Down)
- MLOps: розклад тренування, моніторинг, алерти, fail-safe
- Документація: паспорт прогнозу, SQL/фіче-рецепти, рунібук інцидентів
Підсумок
Прогнозування KPI - це архітектура рішень: чіткі визначення, багатий календар і регресори, чесні бейзлайни, імовірнісні прогнози, ієрархічне узгодження, стабільний MLOps і сценарне планування. Такий контур дає правдоподібні очікування, керовані ризики і «decision-ready» звіти, які безпосередньо живлять планування, маркетинг, операції і комплаєнс.