Жовтогарячі бари — Рекомендовано (за вибраним P + buffer ×1.10). Зелені — Факт. Червоні Actual — недобір (<90% Recommended).
Усі 4 тижні з 28-денного вікна окремо — щоб бачити динаміку w/w. saturated_cheque однаковий для всіх (з last 14d), тижні порівнянні.
| 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Mon07-09-2026 | S 421/409 | 347/319 | 272/248 | 184/151 | 155/127 | 147/115 | 169/159 | 200/179 | 271/253 | S 297/303 | 362/338 | S 389/380 | S 449/451 | 473/449 | 526/469 | S 503/480 | 558/464 | S 482/469 | 534/495 | 626/545 | 628/589 | S 659/630 | 613/527 | S 615/316 |
| Tue08-09-2026 | 576/399 | 412/263 | S 346/205 | 256/176 | S 228/115 | S 196/108 | 219/178 | 285/256 | 376/334 | 403/328 | 451/400 | 543/450 | 509/483 | S 509/520 | 559/517 | S 550/527 | S 527/508 | 532/493 | S 543/532 | 609/523 | 631/558 | 651/605 | 635/591 | 543/510 |
| Wed09-09-2026 | S 476/458 | 340/292 | 253/193 | S 191/182 | S 162/162 | 162/145 | S 214/214 | 264/228 | S 304/290 | 356/337 | S 389/403 | S 426/415 | 533/464 | S 522/524 | S 481/464 | S 460/523 | S 461/504 | S 475/469 | S 488/516 | S 496/514 | S 507/552 | S 500/577 | S 480/596 | S 459/526 |
| Thu10-09-2026 | S 390/459 | S 276/282 | S 187/216 | S 154/147 | 198/147 | S 360/185 | 220/202 | S 201/232 | S 241/308 | S 267/334 | S 313/382 | S 345/409 | S 431/503 | S 425/485 | S 476/476 | S 477/490 | S 540/540 | S 554/548 | 575/542 | S 580/590 | 643/603 | S 666/665 | 645/600 | S 587/567 |
| Fri | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — |
| Sat | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — |
| Sun | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — |
| 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Mon31-08-2026 | 331/269 | 259/189 | 172/154 | 152/134 | S 122/117 | 147/104 | 180/132 | 236/205 | S 258/288 | S 327/333 | S 352/338 | S 383/383 | S 425/413 | S 425/409 | S 455/462 | 467/433 | S 483/492 | S 504/503 | S 508/546 | S 558/548 | S 537/556 | S 618/590 | S 634/634 | S 542/539 |
| Tue01-09-2026 | 453/419 | 330/308 | S 252/249 | 203/161 | 176/155 | 168/158 | 223/194 | 272/229 | 327/304 | 346/308 | 396/340 | 414/355 | S 474/469 | 494/417 | 506/439 | 494/409 | 500/453 | 527/485 | S 578/560 | S 615/605 | 652/575 | S 661/666 | S 646/619 | S 405/553 |
| Wed02-09-2026 | S 304/395 | S 276/283 | 338/249 | S 170/173 | S 162/167 | S 155/154 | 215/189 | 285/256 | S 299/299 | 370/277 | 383/334 | S 417/397 | S 504/521 | S 510/504 | S 502/502 | S 547/547 | S 551/551 | 613/559 | S 561/548 | 648/602 | S 653/655 | S 732/732 | 761/693 | 644/584 |
| Thu03-09-2026 | 495/441 | 387/309 | 274/234 | 233/184 | S 195/194 | S 162/163 | S 239/240 | S 307/298 | S 374/360 | 379/359 | 450/411 | S 468/466 | 530/498 | 525/487 | S 546/554 | 592/537 | S 531/539 | S 595/595 | S 642/623 | S 646/625 | S 670/664 | S 676/657 | S 628/652 | S 609/590 |
| Fri04-09-2026 | S 491/502 | 351/306 | S 246/247 | S 180/205 | S 177/200 | S 149/172 | S 209/223 | S 251/270 | S 307/307 | 372/305 | S 369/374 | S 410/438 | 531/485 | S 507/510 | S 474/469 | S 513/488 | S 484/481 | S 511/545 | S 528/575 | S 511/518 | S 544/518 | S 599/615 | S 570/570 | S 509/531 |
| Sat05-09-2026 | 466/417 | 361/300 | S 232/242 | S 148/152 | S 152/154 | S 161/163 | S 163/162 | S 234/236 | S 300/291 | 340/293 | 387/308 | S 410/440 | 510/482 | S 488/465 | S 467/503 | S 485/484 | S 501/487 | S 479/541 | S 538/542 | S 556/559 | S 606/612 | 653/620 | S 607/628 | S 555/556 |
| Sun06-09-2026 | S 441/445 | S 325/332 | S 251/271 | S 156/174 | 161/142 | S 151/159 | S 180/196 | S 247/257 | S 327/350 | S 348/362 | S 372/388 | 427/372 | S 472/497 | 507/467 | S 493/473 | S 463/470 | 505/461 | S 549/533 | S 533/507 | 581/506 | 564/518 | 599/529 | 596/522 | 477/452 |
| 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Mon24-08-2026 | 372/302 | 266/195 | 195/158 | 138/115 | 140/105 | S 115/112 | 179/146 | 211/156 | S 220/210 | 257/218 | 302/268 | 319/294 | 388/311 | 389/302 | 412/320 | 424/306 | 416/350 | 448/386 | 430/366 | 463/355 | 503/392 | 525/373 | 503/424 | 465/371 |
| Tue25-08-2026 | 386/294 | 287/191 | 182/134 | 168/118 | S 152/93 | 142/105 | S 200/124 | 240/164 | 293/218 | 299/228 | 336/282 | 366/321 | 425/350 | 415/318 | 452/343 | 456/314 | 445/306 | 438/330 | 415/339 | 477/323 | 508/372 | 503/402 | 498/416 | 425/384 |
| Wed26-08-2026 | 392/305 | 270/214 | 198/160 | 175/118 | 177/125 | 160/125 | 189/146 | 236/180 | 255/224 | 281/215 | 353/315 | 365/325 | 396/318 | 392/348 | 441/356 | 419/331 | 416/362 | 402/300 | 407/350 | 477/354 | 499/386 | 508/431 | 462/385 | 440/347 |
| Thu27-08-2026 | 387/308 | 247/194 | 199/137 | 155/133 | 125/87 | 139/100 | 177/143 | 213/183 | 237/211 | 292/224 | 341/282 | 371/285 | 406/300 | 422/327 | 430/330 | 436/331 | 402/360 | 412/353 | 450/344 | 447/335 | 491/388 | 489/394 | 477/407 | S 458/439 |
| Fri28-08-2026 | S 396/383 | 277/223 | 226/180 | 179/135 | 149/128 | 163/128 | S 238/150 | 235/191 | S 238/234 | 282/217 | 317/260 | 364/280 | 406/349 | 427/327 | 366/320 | 358/310 | S 360/346 | 449/353 | 446/350 | 448/349 | 527/407 | 545/446 | 502/469 | S 422/405 |
| Sat29-08-2026 | 355/313 | S 237/248 | 207/173 | 141/116 | 115/89 | S 120/118 | 195/161 | 220/173 | 240/213 | 305/231 | 359/262 | 392/288 | 420/330 | 457/330 | 446/348 | 422/381 | S 415/403 | S 407/427 | 484/411 | 505/408 | 513/402 | 556/418 | 489/398 | 437/396 |
| Sun30-08-2026 | 370/333 | 271/224 | 210/181 | 171/139 | S 171/90 | 129/114 | 175/163 | 230/178 | 283/234 | 335/240 | 334/266 | 366/304 | 422/349 | 431/308 | 427/334 | 433/325 | 432/355 | 422/344 | 462/382 | 445/383 | 482/415 | 515/435 | 496/422 | 421/340 |
| 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Mon | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — |
| Tue | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — |
| Wed | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — |
| Thu | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — |
| Fri21-08-2026 | 422/363 | 288/216 | 201/188 | 157/133 | 140/122 | 117/110 | 171/168 | 229/198 | 258/232 | 291/221 | 330/288 | 344/306 | 368/320 | 383/301 | 428/339 | S 383/366 | 427/384 | 414/337 | 425/384 | 447/398 | 508/392 | 501/429 | 548/475 | 452/416 |
| Sat22-08-2026 | 394/357 | 290/237 | 192/154 | S 171/87 | 128/88 | S 118/120 | S 150/159 | 210/181 | 257/221 | 298/239 | 367/291 | 342/313 | 368/341 | 405/298 | 413/357 | 407/350 | 430/346 | 409/363 | 435/396 | 458/367 | 471/388 | 541/461 | 549/445 | S 489/466 |
| Sun23-08-2026 | 395/324 | 288/227 | 211/187 | 181/153 | 149/115 | 146/134 | 201/177 | S 221/211 | 269/254 | 325/278 | 372/324 | S 378/372 | 441/363 | 405/337 | 410/340 | 384/328 | 362/312 | 333/304 | 372/334 | 471/330 | 445/334 | 482/381 | 459/380 | 421/358 |
Past — факт; current — IN-PROGRESS; future — прогноз (base × growth × today_factor). Рекомендовано = forecast × buffer / saturated. Діапазон = min/max з 4 historical samples.
Діапазон (min..max): для future годин — min/max з 4 historical same-weekday-hour samples (наприклад, для today Пт 19:00 — 4 останні Пт о 19:00 у 28d вікні). Кожне детрендуємо до today level через × (1 + daily_growth)^days_offset. Для DH-годин (15-17) застосовано +40% якщо є 15:30 матч. Past hours — без range (factual).
Рекомендовано (середнє) — основні помаранчеві бари = (Demand × 1.10 buffer) / saturated_cheque(h) на вибраному P. Min/Max lines (тільки для future годин) — те саме, але з min/max demand → дає діапазон "якщо trafic буде мінімальним/максимальним з 4-х історичних same-weekday точок, треба ось стільки трейдерів". Факт — фактична кількість unique active traders (past + current). Кольори Actual = статус години.
| Година | Статус | Попит | Діапазон (min..max) | Рекомендовано | План | Факт | Δ |
|---|---|---|---|---|---|---|---|
| 00:00 | НАПРУЖЕНО | 17.54M | (fact) | 514 | 749 | 462 | -52 |
| 01:00 | OK | 10.79M | (fact) | 327 | 719 | 314 | -13 |
| 02:00 | OK | 7.38M | (fact) | 256 | 438 | 267 | +11 |
| 03:00 | OK | 4.59M | (fact) | 178 | 418 | 183 | +5 |
| 04:00 | OK | 4.90M | (fact) | 176 | 278 | 173 | -3 |
| 05:00 | OK | 5.53M | (fact) | 179 | 276 | 182 | +3 |
| 06:00 | OK | 7.07M | (fact) | 207 | 385 | 210 | +3 |
| 07:00 | НАПРУЖЕНО | 8.37M | (fact) | 239 | 373 | 222 | -17 |
| 08:00 | OK | 9.25M | (fact) | 301 | 456 | 293 | -8 |
| 09:00 | НАПРУЖЕНО | 11.30M | (fact) | 331 | 467 | 300 | -31 |
| 10:00 | OK | 12.87M | (fact) | 379 | 652 | 382 | +3 |
| 11:00 | НАПРУЖЕНО | 14.09M | (fact) | 416 | 673 | 393 | -23 |
| 12:00 | НАПРУЖЕНО | 16.26M | (fact) | 496 | 849 | 468 | -28 |
| 13:00 | НАПРУЖЕНО | 18.89M | (fact) | 525 | 917 | 470 | -55 |
| 14:00 | НАПРУЖЕНО | 18.66M | (fact) | 516 | 946 | 478 | -38 |
| 15:00 | НАПРУЖЕНО | 20.17M | (fact) | 549 | 961 | 481 | -68 |
| 16:00 | НАПРУЖЕНО | 19.77M | (fact) | 560 | 1117 | 485 | -75 |
| 17:00 | IN-PROGRESS | 4.45M (part. 13 хв) | forecast: 14.28M..21.40M | 545 | 1132 | 244 | — |
| 18:00 | FORECAST | 19.80M | 16.21M..22.06M | 569 (466–634) | 1247 | — | — |
| 19:00 | FORECAST | 21.44M | 18.31M..24.29M | 546 (466–618) | 1242 | — | — |
| 20:00 | FORECAST | 22.93M | 19.61M..26.24M | 602 (515–689) | 1307 | — | — |
| 21:00 | FORECAST | 24.08M | 19.83M..27.70M | 660 (543–759) | 1293 | — | — |
| 22:00 | FORECAST | 25.36M | 19.68M..28.74M | 701 (544–794) | 1109 | — | — |
| 23:00 | FORECAST | 23.44M | 15.64M..26.99M | 658 (439–757) | 1073 | — | — |
| TOTAL (24h) | 17 fact + 7 forecast | 363.56M | 331.00M .. 384.86M | 10429 (9529..11012) | 19077 | 5763 (17h) | -386 |
Повний прогноз. База = mean 4 same-weekday (з detrended growth). Today factor НЕ застосовується до завтра.
Звідки Range (v1.2): Для tomorrow Range = min/max з 2 base samples (yesterday + day-before-yesterday при тій же годині), які беруть участь у tomorrow_override. Для today Range = min/max з 3 samples naive_recent_3d (mean(d-1, d-2, d-3) at same hour) — той же набір що використовується для fc_mean baseline. Це історичний розкид, не statistical confidence interval — реальний попит може вийти за межі при нестандартних подіях (спорт поза розкладом, аномалія).
Рекомендовано (середнє) — рекомендована к-ть трейдерів за прогнозним демандy. Max/Min lines — той самий розрахунок для max/min demand з 4 historical detrended samples. Якщо завтра DH (15:30 матч) — на 15-17h застосовується +40%.
| Година | Прогноз попиту | Діапазон (min..max) | Рекомендовано | Діапазон | План |
|---|---|---|---|---|---|
| 00:00 | 17.05M | 13.52M..21.75M | 500 | 396..637 | 749 |
| 01:00 | 11.18M | 9.02M..14.10M | 339 | 273..427 | 719 |
| 02:00 | 6.81M | 5.34M..10.63M | 236 | 185..369 | 438 |
| 03:00 | 4.29M | 3.35M..9.00M | 166 | 130..348 | 418 |
| 04:00 | 4.50M | 3.43M..8.42M | 161 | 123..302 | 278 |
| 05:00 | 5.13M | 3.84M..9.49M | 166 | 124..307 | 276 |
| 06:00 | 6.82M | 4.95M..10.77M | 200 | 145..316 | 385 |
| 07:00 | 9.32M | 5.99M..12.08M | 266 | 171..345 | 373 |
| 08:00 | 10.98M | 7.37M..13.29M | 358 | 240..433 | 456 |
| 09:00 | 12.50M | 9.35M..14.76M | 366 | 274..432 | 467 |
| 10:00 | 13.99M | 10.25M..16.61M | 412 | 302..489 | 652 |
| 11:00 | 15.49M | 12.08M..18.87M | 457 | 357..557 | 673 |
| 12:00 | 16.60M | 13.60M..19.93M | 506 | 414..607 | 849 |
| 13:00 | 17.30M | 14.26M..20.37M | 481 | 397..566 | 917 |
| 14:00 | 18.26M | 14.99M..22.27M | 505 | 415..616 | 946 |
| 15:00 | 19.04M | 14.97M..24.05M | 518 | 407..654 | 961 |
| 16:00 | 18.72M | 15.20M..23.20M | 530 | 430..657 | 1117 |
| 17:00 | 18.47M | 10.66M..22.97M | 528 | 305..656 | 1132 |
| 18:00 | 19.30M | 12.23M..24.35M | 555 | 351..700 | 1247 |
| 19:00 | 20.80M | 14.11M..26.45M | 530 | 359..673 | 1242 |
| 20:00 | 21.82M | 14.15M..27.11M | 573 | 371..712 | 1307 |
| 21:00 | 22.55M | 14.17M..27.65M | 618 | 388..758 | 1293 |
| 22:00 | 23.03M | 14.07M..27.43M | 637 | 389..758 | 1109 |
| 23:00 | 21.37M | 13.50M..25.58M | 600 | 379..718 | 1073 |
| TOTAL (24h) | 355.32M | 254.40M..451.15M | 10206 | 7326..13039 | 19077 |
Базовий попит TODAY для години h: base = mean(last 3 days at the same hour h) — "naive recent 3d".
Це ловить поточний рівень платформи без extrapolation. Empirical hourly MAPE = 23% vs v1.1 (weighted_median + growth detrend) = 33%.
Базовий попит TOMORROW для години h: base = mean(yesterday, day-before) at h × wd_correction × pre-shift growth (+0.8%/day × 2.5d).
wd_correction = May seasonality factor для tomorrow_wd / mean(May factors для base days).
Фактор дня (тільки для майбутніх годин сьогодні): realized_so_far / typical_so_far, shrinkage 0.5, capped [0.5, 2.5]. Активується після ≥3 завершених годин. Зараз: raw ×0.99 → shrunk (α=0.5) ×0.99 → final ×0.99.
Uplift події (multiplicative на demand і cheque):
Recommended трейдерів: forecast_demand × 1.10 (buffer) / saturated_cheque(h). saturated_cheque(h) — P75 (slider) з last 14 днів.
Daily growth (detrend) — діагностично: linreg на last 14 days, capped ±8%/day. Зараз = +2.16%/day.
Pitfalls:
Changelog v1.0 → v1.1 → v1.2: див. VERSION 1.2 header у trader_hourly_calculator.py.
Тиждень починається з понеділка. Помаранчевий фон — вихідні (Сб/Нд). Жовта рамка — сьогодні. Минулі дні приглушені. Кольори бейджів: ліга плей-оф фінал intl
Для минулих подій — empirical uplift = факт / контроль (k-NN: same weekday + no-match days). Для майбутніх — модельний прогноз з type-кривих (нижче). Empirical ✓ якщо < model_x × 1.1 (модель не недооцінила); ⚠ якщо empirical більший — модель занизила.
| Дата | WD | Тип | Подія | Model uplift (peak 20h) | Empirical (peak 20h, тільки past) | Матч | ||||
|---|---|---|---|---|---|---|---|---|---|---|
| dem × | chq × | trd × | dem × | chq × | trd × | |||||
| 2026-09-27 future | Нд ★ | 🏏 Cricket ODI | IND vs WI 14:00 · Thiruvananthapuram (1st ODI) | ×1.00 | ×1.00 | ×1.00 | — | — | — | 1 |
| 2026-09-30 future | Ср | 🏏 Cricket ODI | IND vs WI 14:00 · Guwahati (2nd ODI) | ×1.00 | ×1.00 | ×1.00 | — | — | — | 1 |
Калібровка проходить через memory roadmap. IPL числа підтверджені на 27.05/31.05. Решта — освічений здогад до live-тестування.
| Тип | Опис | demand × (peak) | cheque × | net trader × | Примітка |
|---|---|---|---|---|---|
| 🏏 Cricket ліга | Звичайний IPL league matchday | ×1.0 | ×1.0 | ×1.0 | У baseline |
| 🏏 Cricket eliminator | IPL playoff knockout | ×1.10-1.70 | ×1.15-1.30 | ×0.96-1.36 | З 27.05 фактів |
| 🏏 Cricket qualifier1 | IPL qualifier | ×1.10-1.70 | ×1.15-1.30 | ×0.96-1.36 | Те саме що eliminator |
| 🏏 Cricket qualifier2 | IPL qualifier | ×1.10-1.70 | ×1.15-1.30 | ×0.96-1.36 | Те саме що eliminator |
| 🏏 Cricket фінал | IPL final | ×1.38-2.13 | ×1.27-1.43 | ×1.09-1.55 | Playoff × premium 1.25 |
| 🏏 Cricket intl_odi_home | Indian home ODI (e.g. AFG) | ×1.25 | ×1.15 | ×1.09 | Estimate |
| 🏏 Cricket intl_t20i_home | Indian home T20I | ×1.35 | ×1.20 | ×1.13 | Estimate |
| 🏏 Cricket intl_test_home | Indian home Test | ×1.05 | ×1.0 | ×1.05 | 5 днів, без піку |
| 🏏 Cricket intl_away_primetime | India away tour, IST evening | ×1.15 | ×1.10 | ×1.05 | England/SL |
| 🏏 Cricket intl_away_offhours | India away tour, IST non-evening | ×1.00 | ×1.00 | ×1.00 | NZ, Australia |
| 🏏 Cricket wc_group | ICC World Cup group stage | ×1.60 | ×1.35 | ×1.19 | Estimate |
| 🏏 Cricket wc_knockout | ICC World Cup knockout | ×1.85 | ×1.43 | ×1.29 | Estimate |
| 🎾 Tennis tennis_slam | Tennis Grand Slam main draw (Wimbledon, etc.) | ×1.10 | ×1.05 | ×1.05 | Lower IN priority vs cricket. Evening matches IST 16-22h |
| 🎾 Tennis tennis_qualifying | Tennis Grand Slam qualifying week | ×1.03 | ×1.0 | ×1.03 | Very low impact |
| ⚽ Football football_intl_finals | Major football finals (UCL, EURO) | ×1.50 | ×1.25 | ×1.20 | Estimate, IST primetime |
| ⚽ Football world_cup_group | FIFA World Cup group stage | ×1.40 | ×1.25 | ×1.12 | Variable: IST primetime matches (21:30 IST) hit hard; off-hour matches (03:30-06:30) less |
| ⚽ Football world_cup_knockout | FIFA World Cup R32/R16/QF/SF | ×1.70 | ×1.35 | ×1.26 | Estimate. Big-team matches in primetime IST = max impact |
| ⚽ Football world_cup_final | FIFA World Cup Final | ×2.00 | ×1.45 | ×1.38 | Estimate. Highest single-event impact |
| 🤼 Kabaddi kabaddi_pkl_playoff | Pro Kabaddi League playoff | ×1.25 | ×1.15 | ×1.09 | Estimate, evening matches |
Для минулого events дня модель порівнює фактичний попит з k-NN baseline:
Якщо empirical стабільно > model × → модель занизила, треба підняти криву у roadmap.
Якщо empirical стабільно ≈ model × → калібровка ОК.
Якщо empirical < model × → модель завищила (рідко).
operation='payin', amount>0) з ClickHouse, кожна таблиця FINAL WHERE _peerdb_is_deleted=0.toTimezone(source_created_at, 'Asia/Kolkata'); агрегація по (дата, година).Три моделі, натреновані щопрогону, зважуються адаптивно до часу доби (tod_fine):
| Години (IST) | Prophet | SARIMAX | LGBM | Зона |
|---|---|---|---|---|
| 00–01 | 0.25 | 0.65 | 0.10 | ніч |
| 02–06 | 0.05 | 0.65 | 0.30 | глибока ніч |
| 07–08 | 0.30 | 0.60 | 0.10 | ранок |
| 09–21 | 0.55 | 0.40 | 0.05 | день |
| 22–23 | 0.20 | 0.70 | 0.10 | пізній вечір |
| Модель | MAPE | Нотатка |
|---|---|---|
| Ансамбль v3 | ≈6.5% | 13.3% під час шоку World Cup |
| SARIMAX | ≈7.2% | тижнева сезонність |
| v1.3 (наївний) | ≈7.6% | базлайн / запасний |
| Prophet | ≈7.7% | структурні зломи |
| LGBM | ≈27% | лише tie-breaker |
Пайплайн: v3-ансамбль тренується кожні 30 хв → пише trader_v3_sandbox.json; калькулятор рендерить сторінку кожні 10 хв, читаючи останній ансамбль. Числа backtest — з прод-калібрування; перевіряються на поточних даних.