top of page

比分、紅牌與主客場,如何改變足球數據

  • 15分钟前
  • 讀畢需時 7 分鐘

足球賽後分析很常見一句說法:「某隊射門多一倍,所以只是輸得不走運。」這句說法有時成立,但也可能忽略了最重要的背景:當一隊落後、對手領先,甚至對手被罰少打一人時,比賽自然會變成一邊攻、一邊守。這時候 raw shots 和 corners 未必直接代表真正的進攻質素。

論文中提出一個清楚而實用的做法:用 minute-by-minute event data,把球隊的 offensive production 投射到同一個共同基準,即「主場、比分平手、雙方人數相同」的情境。換句話說,它不是問一隊最後有幾多射門,而是問:如果把比分、紅牌、主客場和比賽時間這些 game context 控制好,這些射門和角球還應該怎樣解讀?


本文重點

本文章的重點不是建立另一個 xG 模型,而是處理一個更基本的問題:傳統足球統計,如 shot attempts 和 corner kicks,會被 game state 系統性扭曲。落後的一方通常更積極進攻,領先的一方可能主動降低風險;多打一人的球隊自然更容易累積射門和角球。若不校正這些因素,賽後敘事很容易把「情境造成的數量」誤讀成「表現上的支配」。

作者用五大歐洲聯賽 2008 至 2023 年、超過 25,000 場比賽的 minute-by-minute ESPN event commentary,配合賽前 betting odds 轉換出的 win probability differential,建立 count-response Negative Binomial Generalized Additive Model。最後的調整結果顯示,校正後的 shots/corners 與聯賽積分排名更一致,也在簡單預測未來比數差時比 raw totals 穩定一點。


一、英格蘭對法國的例子

文中以 2022 世界盃八強 England 對 France 作開場例子。England 最後以 1-2 輸波,但全場射門 16 次,France 只有 8 次;England 角球 5 個,France 只有 2 個。單看這些數字,很容易說 England 踢得更好,只是不夠幸運。

但比賽背景很重要。作者指出,在比賽打成平手的 40 分鐘裡,France 的射門與角球其實領先;其後 66 分鐘 France 領先,戰術上更願意收縮、防守,把進攻主動權讓給 England。這不是說 England 的表現一定被高估,而是說 raw totals 混合了兩種東西:球隊能力,以及當時比分誘發的戰術選擇。

這正是本文要解決的問題。當一隊落後,它的射門數可能增加,因為它必須冒險追分;當一隊領先,它的射門數可能下降,因為它更重視控制風險。若把兩者直接相加比較,就像把不同市場狀態下的交易量當成同一種訊號。


二、資料:五大聯賽逐分鐘事件

作者從 ESPN.com 抓取 2008 至 2023 年五大聯賽的逐分鐘文字 event commentary,包括 Premier League、La Liga、Bundesliga、Ligue 1 與 Serie A。事件包括入球、射門、角球、黃牌、紅牌、半場與具體分鐘。

同時,作者從 Oddsportal.com 蒐集同一批比賽的賽前 betting coefficients,再轉換成 win probabilities,用來近似兩隊賽前強弱差。這一點很重要,因為 Manchester City 對降班區球隊,本來就更容易有高進攻輸出;如果不控制 team strength,就可能把強隊本身的能力誤當成某個 game state 的效果。

最終資料量很大:Bundesliga 約 868,150 個逐分鐘 observation,Serie A 約 1,080,842 個,La Liga 約 1,066,160 個,Ligue 1 約 1,042,564 個,Premier League 約 918,658 個。作者把每場比賽整理成「每分鐘、每隊」的 count data,response 可以是該分鐘的射門數或角球數。


三、模型:為何用 Negative Binomial GAM

射門和角球都是 count data,而且大部分單一分鐘都會是 0。作者比較了 Poisson、Negative Binomial、Zero-Inflated Poisson、Gaussian 與 Log-Link Gaussian 等模型。Gaussian 類模型在診斷上不合適;Poisson 則有 overdispersion 與 zero-inflation 問題。

最後選用的是 Negative Binomial GAM。Negative Binomial 能處理 variance 大過 mean 的 count data;GAM 的 smoothing spline 則容許 score differential、red card differential、game minute 等變量有非線性效果。這比硬把所有因素切成 dummy variable 更柔性,也比純黑箱 machine learning 更容易解釋。

模型包含五個核心因素:

  • score differential

  • red card differential

  • home / away indicator

  • pre-match win probability differential

  • half 與 game minute

另外,模型也加入 team-level 與 season-level random effects,避免把同一球隊或同一賽季的共同特徵當成獨立訊號。


四、如何把數據投射到共同基準

文中的調整方法可以理解成一種 counterfactual projection。假設某隊在落後一球時累積了 10 次射門,模型會估計「落後一球」相對「平手」會如何影響射門率,然後用一個 multiplicative coefficient 把這 10 次射門投射回平手情境。

同樣,如果一隊多打一人時刷出很多角球,模型會把這些角球下調,因為人數優勢本來就會提高 offensive output。相反,如果一隊少打一人又領先時仍然能持續製造射門,模型會給予更高權重,因為這是在不利進攻的環境下做到的輸出。

作者刻意不把所有東西都調整掉。例如 win probability differential 只作控制,不用來懲罰強隊本身較強;game minute 也不直接調整,因為在第 10 分鐘或第 80 分鐘累積射門,本身不必然是不公平比較。真正被投射到共同基準的,主要是比分、紅牌人數差和主客場。


五、主要發現:比分和紅牌真的會扭曲 raw totals

模型效果大致符合足球直覺。比分差越偏正,也就是一隊越領先,該隊的 offensive production 越低;落後一方則更容易增加射門與角球。紅牌效果更強:少打一人通常大幅降低進攻輸出,多打一人則顯著提高射門和角球機會。

調整係數的方向也很清楚。落後時累積的射門和角球會被下調,大約只保留 70% 至 90% 的 credit;領先時做出的進攻會被上調,大約增加 10% 至 75%。在人數方面,多打一人的進攻輸出會被大幅下調;少打一人的輸出則會得到額外 credit,少打一人時係數約 1.7 至 1.9,少兩人或以上可達 2 至 3。

這些係數不是用來說某一隊「應得」幾多球,而是提醒分析者:同樣 10 次射門,出現在平手、落後、領先、多打一人或少打一人時,含義並不一樣。


六、幾個例子:raw numbers 怎樣被改寫

單場層面,調整最有意思的地方是它會重新排列一些看似「一面倒」的比賽。Bayern Munich 在 2020/21 Bundesliga 對 Stuttgart 的 4-0 勝仗,raw shots 只有 15 次,但因為他們早早少打一人,而且不少射門出現在領先後,調整後射門數升到約 31.9。這代表 raw total 低估了他們在不利情境下維持進攻的程度。

相反,Bordeaux 在 2021/22 Ligue 1 以 0-2 輸給 Montpellier,raw shots 高達 31 次,但這些射門全部出現在他們多打兩人而且落後的情境。調整後,Bordeaux 的射門被降到約 13.8。這不是說他們完全沒有威脅,而是說原本 31 次射門有很大部分是由「對手九人應戰、自己必須追分」這個環境推動。

Getafe 對 Deportivo 的 2009/10 例子亦很直觀。Getafe 主場輸 0-2,但 raw shots 以 22-8 領先,角球 14-3 領先;然而 Getafe 大部分時間多打一人,最後 30 多分鐘甚至多打兩人。調整後,Getafe 的射門降到 12.8,Deportivo 升到 14.6,賽後敘事就不再只是「Getafe 壓住對手但輸波」。


七、season-level:校正後更貼近聯賽實力

整季層面,調整後的數字與聯賽積分更一致。作者報告,actual shots per game 與 points earned 的平均相關係數約 0.718,調整後升到 0.787;actual corners 與 points 的相關係數約 0.603,調整後升到 0.737。

這個結果很合理。強隊經常領先,所以 raw shots/corners 可能低估它們;弱隊經常落後,所以 raw totals 有時會被追分情境推高。調整後,Manchester City、PSG、Barcelona、Juventus、Inter Milan 這些強隊的 offensive output 往往上修;一些常處於落後狀態、但因追分累積大量角球或射門的弱隊則被下修。

作者亦用一個簡單 linear regression 測試 forecasting performance:用半季前的 team-level shots/corners 指標預測下半季比數差。調整後的統計在五大聯賽中都比 raw statistics 有較低 RMSE,Holm-adjusted p-values 達顯著。不過作者也很謹慎地指出,實務幅度不算大,每場 RMSE 改善約 0.004 至 0.04 球。這更像是一個穩定但細微的改良,而不是革命性預測模型。


八、限制與實務解讀

第一,這個方法調整的是 shots 和 corners,不是 shot quality。兩隊各有 10 次射門,若其中一隊多是禁區內 big chances,另一隊多是遠射,本文模型本身未必捕捉到這個差異。作者也把未來工作指向 xG,嘗試把 game context adjustment 應用到 chance quality。

第二,資料來自 club leagues,不是 knockout tournament。世界盃淘汰賽、歐聯淘汰賽和盃賽的 incentive structure 不同,球隊在落後或領先時的風險取態可能不同。paper 用 England vs France 做直觀例子,但模型主體是在五大聯賽資料上估計。

第三,校正後更貼近積分,不等於它是真正「公平」或唯一正確的表現指標。它只是把其中幾個重要 context 顯式控制,讓 analyst 少一點被 raw totals 誤導。真正的比賽解讀仍然需要配合 xG、field tilt、possession value、tracking data、戰術背景與球員質素。


九、總結

文中的價值,在於它把足球數據分析裡一個常見但容易被略過的問題講清楚:射門多、角球多,不一定等於全場進攻更好;這些數字可能只是比分、人數和主客場情境的副產品。

對球隊分析、賽後報告、博彩市場研究或模型驗證而言,這類 game-context-adjusted offensive metrics 很有用。它不取代 xG 或更細緻的 tracking model,但可以作為一個透明的中間層:先問 raw totals 是在哪些情境下累積,再決定它們應該得到多少 credit。


Reference

  1. A. Skripnikov, A. Cemek, D. Gillman. Leveraging Minute-by-Minute Soccer Match Event Data to Adjust Team's Offensive Production for Game Context. arXiv:2508.04008v1 [stat.AP], 2025. https://arxiv.org/abs/2508.04008

  2. A. Cemek, A. Skripnikov, D. Gillman. Statistical adjustment for tactical choices when evaluating team's offensive output across five major European club soccer leagues. 2025.

  3. B. Yurko, S. Ventura, M. Horowitz. nflWAR: A reproducible method for offensive player evaluation in football. Journal of Quantitative Analysis in Sports, 2019.


原文 Paper



bottom of page