方法與資料源
整個流程每天在雲端自動重跑:抓名單 → 比對傷病 → 更新 per-36 數據 → 分配上場分鐘 → 算兩隊得分 → 蒙地卡羅出勝率與級距 → 產生網頁 → 部署。
預測流程
- 可用球員名單 — ESPN 球隊名單(含年資、位置、大頭貼),只算「今天真的能上場的人」。
- 傷病剔除 — ESPN/CBS/Yahoo 三份傷病報告交叉比對,取最嚴重狀態為共識:
Out / Suspended → 0 分鐘、Doubtful → 15%、Questionable → 50%、Day-to-day → 75%、Probable → 95%。三源不一致時在卡片上標記 ⚠︎。 - 球員強度 — Basketball-Reference 當季 per-36 數據,依出賽場次向「前一季 per-36」做貝氏收縮(k=12 場),避免開季小樣本爆衝。
- 分鐘分配 — 以「每分鐘潛在產出 × per-36 得分權重」把 240 分鐘分給可用球員,單人上限 40 分鐘。缺陣者的分鐘自然轉給替補,替補效率較低也一併反映。
- 球隊效率 — 用「可用陣容預期得分 ÷ 整季陣容預期得分」得到可用性指數,乘上收縮後的進攻效率,再與對手防守效率幾何混合(0.58/0.42),得到每次球權預期得分。
- 比賽預測 — 預期回合數 × 每回合效率 = 預期得分;主場 ±1.4 分。
- 不確定性 — σ = 10.3 分 + 傷病不確定性 + 開季小樣本懲罰(上限 15 分)。
- 蒙地卡羅 — 20,000 次模擬 → 不讓分勝率、各 5 分級距機率、最可能比分。
得分級距怎麼看
級距固定以 5 分為單位:101–105、106–110、111–115…。卡片上每隊列出機率最高的四個級距,並標出最可能的一格。兩隊級距是分開算的,所以「兩隊同時命中」的機率會低於單隊命中率,回測頁也分開統計。
新人榜指標
一年級與二年級合併排名,用每 36 分鐘的 Game Score 標準化,避免上場時間多的人自動第一。近 7 天進步榜則比較「近 7 天 GS/36」與「本季 GS/36」,取進步幅度前 15 名,樣本需至少 2 場。