世界盃 2026 賽事預測引擎
一條端到端的分析流程——Python ETL → Supabase → Next.js——在整屆 104 場比賽中,把 Dixon–Coles 模型機率與即時市場賠率並列發布。現以專案封存形式保留。
實驗性模型,與市場賠率並列僅供對照,非投注建議。
模型表現如何
模型(實驗性)
命中率: 45/72 (63%)
Brier: 0.545
市場(去 vig)
命中率: 48/72 (67%)
Brier: 0.484
72 場小組賽,以凍結的賽前模型(dc-v1.1)對上 Pinnacle 去 vig 計分。命中率=雙方最看好的 1X2 結果與賽果相符的比例;Brier=完整機率的平均平方誤差(愈低愈準)。
看完整逐場預測結果 →如何打造
Python ETL
fail-loud 的擷取與建模工作。idempotent upsert、每列帶 provenance,寧可 raise 也不靜默近似。
Supabase(Postgres)
單一真相來源。service key 僅存在於 server 端;前端嚴格唯讀。
Next.js + Tailwind
App Router、以 next-intl 雙語(zh-TW / en)。資料經 server 端 API 流動,並有 graceful 空狀態。
- World Football Elo 評分餵入擬合過的 Dixon–Coles Poisson 模型,產出 1X2、大小分與雙方進球。
- Monte Carlo 模擬驅動小組晉級機率,並透過 FIFA Annex C 對應表產出全對戰表淘汰賽與奪冠機率。
- Pinnacle 賠率去 vig 成為公平機率基準,支撐 model-free 的 EV/¼ Kelly 計算機。
探索網站
工程亮點
- fail-loud ETL:對不上的隊名、缺欄位或數量不符會直接 raise,而非靜默近似;每個工作都是帶 provenance 的 idempotent upsert。
- 全程 live 跑完 104 場,並排程每 2 小時自動重算——自動 ingest 賽果並重新預測下一輪。
- 賽中重擬模型(dc-v1.2),置於防 leakage 的驗證閘門後——只用賽前 Elo 快照,不看未來。
- 雙語 UI 以測試強制 message-key 對齊,兩種語言永不失步。
- 憑證僅存於 server 端:service key 永不進到瀏覽器,前端只透過 server API 讀取。
資料出處
賠率與模擬凍結於決賽(2026-07-19);本站以封存形式保留。
- Elo 截至
- 2026年5月27日
- 最終賠率快照
- 2026年7月19日
- 最後模擬時間
- 2026年7月20日