HOME/預測戰績/方法論

預測方法論

我們的預測怎麼算、怎麼結算、怎麼判讀。

預測如何產生

  • 勝負(Elo) — 兩隊 Elo 評分套標準公式得勝率,K-factor 控制單場波動: P(A wins) = 1 / (1 + 10^((R_B − R_A) / 400))
  • 大小分(Poisson) — 用每隊「已結束場次得分平均」當 λ,疊加成總分泊松分布: projected_total = Σ Poisson(λ_team) for each team's finished-event mean
  • 每小時 generate-predictions cron 掃未來 6 小時的賽程,產出預測寫入 DB,並蓋上 generated_at 時戳。

結算規則

  • 勝負 — 賽事 status='finished' 後,比對 score_json.winner 與 pick.side — 同邊 = hit、異邊 = miss。
  • 大小分 — 計算 actual_total = home_score + away_score,與 projected_total 相減取 abs_error 和 signed_error。本欄一律標 scored(不是猜中而是有打到分數)。
  • 作廢 — 賽事 postponed / cancelled 則整筆 predictions 標 void,不計入命中率或 MAE。

怎麼讀這些數字

  • 結算筆數 < 30 時,勝率與 MAE 用「樣本不足」帶過 — 大數法則需要時間累積。
  • Confidence 是模型對自己預測的信心,不是「市場/群眾信心」。70% 的場次若實際贏 70%,就是 well-calibrated。
  • 預測 − 實際

所有預測在 generated_at 寫入 DB 後不可編輯。歷史頁面可往回讀,commit 紀錄公開於 git。