xT 與 VAEP 每個在球動作定價的框架
2019 年 1 月 12 日,曼城主場對狼隊。Laporte 在中場附近送出一記直線傳球,Sané 接應後傳中,Jesus 射入。官方統計上,入球屬於 Jesus,助攻屬於 Sané。Laporte 那一腳,在傳統數據中沒有位置:沒有射門,所以 xG 不會計算;Sané 接球的位置本身難以入球,所以 xA 也接近零。
KU Leuven 的 DTAI Sports Analytics Lab 在 2019 年 12 月發表 Valuing On-the-Ball Actions in Soccer: A Critical Comparison of xT and VAEP,文章正是由這記傳球說起。原文先梳理「為每個在球動作定價」這個問題的共同框架,再選取兩個最具代表性的模型作對比:Karun Singh 的 Expected Threat(xT),以及該實驗室自己提出的 VAEP。本文按原文脈絡導讀,並在文末補充這類動作價值模型對球隊評估與賽果預測的意義。

本文重點
原文要回答的問題只有一個:在只有事件數據(event stream)的情況下,如何為球員的每一個在球動作(on-the-ball action)給出一個數值,反映它對勝出比賽的貢獻。射門與入球只佔球員所有動作不足 1%,傳統指標與 xG、xA 都集中在這 1% 之內。
作者指出,現有框架不論細節如何,都走同一條路:先為比賽狀態估值,再以動作前後的狀態值之差作為動作價值。xT 與 VAEP 的分歧在於兩處:狀態如何表示,以及如何為狀態估值。這兩處分歧帶來三個實際後果:計算哪些動作、是否計及風險、結果能否解釋。文章以 2018/19 英超球員排名與四類具體動作說明這些後果。
一、為何入球與助攻不夠用
原文開首列出的問題很直接。傳統指標(射門、助攻)與加入情境的版本(xG、xA)都只針對罕見事件。對大部分球員而言,射門與入球佔所有動作不足 1%。
回到 Laporte 的例子。他的傳球令 Jesus 的入球成為可能,但 xG 不會給他任何分數,因為他沒有射門;xA 也不會,因為 Sané 接球後自己入球的機率很低。理想的指標應該為球員每一個動作給分,分數要反映該動作對勝出比賽有多大幫助。
近年多位分析師各自提出框架處理這個問題,原文點名的有:Sarah Rudd 的 Markov chain 模型、Nils Mackay 的 xG added、Karun Singh 的 xT、OptaPro 的 Possession Value(PV),以及 KU Leuven 自己的 VAEP。作者選取 xT 與 VAEP 對比,因為它們分別代表這批框架的兩種典型設計。
二、事件數據的限制與兩個難題
原文只討論以事件數據(event stream 或 play-by-play)為基礎的方法。這類數據只記錄持球者的位置,其他球員在哪裡則一概不知。Laporte 那次進攻在數據中是這樣的:
序號 | 球隊 | 球員 | 動作 | 結果 |
1 | Man City | Kyle Walker | 傳球 | 成功 |
2 | Man City | Fernandinho | 傳球 | 成功 |
3 | Man City | Kyle Walker | 傳球 | 成功 |
4 | Man City | John Stones | 帶球 | 成功 |
5 | Man City | John Stones | 傳球 | 成功 |
6 | Man City | Aymeric Laporte | 傳球 | 成功 |
7 | Man City | Leroy Sané | 傳球 | 成功 |
8 | Man City | Gabriel Jesus | 射門 | 成功 |
資訊有限,但這類數據遠比光學追蹤數據普及,所以值得在此限制下把問題做好。
為射門定價相對直接。為其餘動作定價則有兩個難題:
長程效應: 一個動作的影響可能在幾個動作之後才顯現。球員不應只因把足球送到好的射門位置而得分,也應因把足球送到「有威脅」的位置而得分。Laporte 的傳球把足球交到 Sané 腳下,Sané 自己難以入球,但只要他能傳中,Jesus 與 Sterling 都在可以入球的位置。
功勞分配: 即使知道長程效應,如何把功勞分配給序列中的每個動作,答案並不明顯。一記好傳球不應因後續沒有射門而被扣分。原文的另一個例子:Laporte 的傳中,不應因為 Silva 之後未能接應 De Bruyne 的傳球而得到較低評分。
三、共同框架:先為狀態估值
現有方法都不直接為動作估值,而是先為比賽狀態估值。原文以 Laporte 傳球前後的兩張照片說明:左邊是傳球前一刻,右邊是 Sané 控球之後。傳球的效果,就是把比賽由前一個狀態帶到後一個狀態。
狀態在概念上包含此前發生過的一切:比數、餘下時間、足球位置、之前所有動作。若能為每個狀態 S 定出一個值 V(S),動作 a 的價值就是:
U(a) = V(S 後) − V(S 前)
各個框架的差異,由此收窄到兩個問題:狀態 S 用哪些特徵表示;V 如何計算。

四、xT:只用足球位置
xT 以「控球」(possession)為單位,即同一支球隊持續控球的一段時間。它建基於兩個判斷:球員做動作是為了提高本隊入球機會;入球機會可以只用足球位置充分描述。
第二點決定了 xT 的狀態表示:只有足球所在的位置。球場切成 M × N 格,每格 z 有一個值 xT(z),代表球隊在該位置有多大威脅。每格的值以 Markov 決策過程學習,直觀解釋可參考 Karun Singh 的原文。
以 Laporte 的傳球為例,傳球前足球所在格的值是 0.013,Sané 接球位置的值是 0.078。這記傳球的 xT 價值就是兩者之差,約 0.065。
五、VAEP:入球機率減失球機率
VAEP 的起點略有不同。球員做動作有兩種意圖:提高本隊在短期內入球的機率,以及降低本隊在短期內失球的機率。狀態值因此定義為:
V(S) = P(入球 | S) − P(失球 | S)
兩個機率都指持球球隊在接下來 10 個動作內入球或失球的機率。
狀態表示也複雜得多:VAEP 以最近三個動作 {a(i−2)、a(i−1)、a(i)} 描述狀態。Laporte 傳球前,狀態值是 0.0379 − 0.0006 = 0.0373;傳球後是 0.3677 − 0.0002 = 0.3675。差值約 0.330,遠高於 xT 的 0.065。
實際操作上,這些狀態會轉成特徵向量,再以 gradient boosting 二元分類器從歷史數據學習:過去出現過類似狀態的比賽,之後有多大比例入球或失球。
六、三項設計差異
兩個模型都以動作前後的狀態值差為動作定價,但設計選擇不同,帶來三個實際差異。
計算哪些動作: xT 是「推進模型」,只為把足球由一格移到另一格的動作定價,即傳球、盤球、傳中。它不計搶截、攔截等防守動作,也不計同一格之內的過人。VAEP 的狀態表示是連續的,可以為搶截、攔截、回收等不推進足球的動作定價。
是否計風險: xT 只計動作的進攻貢獻,即它如何改變本隊入球機會。VAEP 一方面以失球機率估值,另一方面會考慮失去控球之後的發展,因此較能反映某些動作的風險。
能否解釋: xT 的狀態值只取決於足球位置,所以每個值都有清楚意義:由該位置開始的一次控球,預期可以產生的 xG。VAEP 以大量特徵描述狀態,狀態值由訓練出來的模型(例如 gradient boosted tree ensemble)給出,源自特徵之間的複雜交互。要解釋某個狀態為何得到某個值,在 VAEP 框架下不再直觀。
七、球員排名:xT 偏向創造者,VAEP 偏向射手
這些差異直接影響誰會被視為表現突出的球員。原文列出 2018/19 英超上陣至少 900 分鐘的球員中,以入球、助攻、xT、VAEP 計算排名最高的 25 人,所有數值按每 90 分鐘計算。以下按 VAEP/90 排序:
# | 球員 | 入球/90 | 助攻/90 | xT/90 | VAEP/90 |
1 | Eden Hazard (Chelsea) | 0.49 | 0.46 | 0.55 | 0.68 |
2 | Xherdan Shaqiri (Liverpool) | 0.52 | 0.26 | 0.28 | 0.57 |
3 | Ryan Babel (Fulham) | 0.35 | 0.21 | 0.15 | 0.50 |
4 | Ruben Loftus-Cheek (Chelsea) | 0.56 | 0.19 | 0.16 | 0.45 |
5 | Riyad Mahrez (Man City) | 0.47 | 0.27 | 0.37 | 0.42 |
6 | Alex Iwobi (Arsenal) | 0.14 | 0.27 | 0.44 | 0.42 |
7 | James Milner (Liverpool) | 0.25 | 0.20 | 0.40 | 0.41 |
8 | David Silva (Man City) | 0.22 | 0.30 | 0.37 | 0.41 |
9 | Bernardo Silva (Man City) | 0.22 | 0.22 | 0.25 | 0.37 |
10 | Trent Alexander-Arnold (Liverpool) | 0.04 | 0.44 | 0.35 | 0.36 |
11 | Felipe Anderson (West Ham) | 0.26 | 0.12 | 0.44 | 0.35 |
12 | Mesut Özil (Arsenal) | 0.26 | 0.10 | 0.33 | 0.35 |
13 | Mohamed Salah (Liverpool) | 0.60 | 0.22 | 0.27 | 0.34 |
14 | Aymeric Laporte (Man City) | 0.09 | 0.09 | 0.39 | 0.34 |
15 | Christian Eriksen (Tottenham) | 0.26 | 0.39 | 0.30 | 0.34 |
16 | Youri Tielemans (Leicester) | 0.25 | 0.33 | 0.24 | 0.33 |
17 | Robert Snodgrass (West Ham) | 0.08 | 0.20 | 0.19 | 0.33 |
18 | Raheem Sterling (Man City) | 0.55 | 0.32 | 0.28 | 0.33 |
19 | Pierre-Emile Højbjerg (Southampton) | 0.13 | 0.10 | 0.22 | 0.32 |
20 | Anthony Martial (Man Utd) | 0.55 | 0.11 | 0.37 | 0.32 |
21 | Ryan Fraser (Bournemouth) | 0.20 | 0.40 | 0.31 | 0.32 |
22 | Gerard Deulofeu (Watford) | 0.43 | 0.21 | 0.32 | 0.31 |
23 | David Brooks (Bournemouth) | 0.27 | 0.19 | 0.22 | 0.30 |
24 | Harry Kane (Tottenham) | 0.63 | 0.15 | 0.15 | 0.30 |
25 | David Luiz (Chelsea) | 0.08 | 0.06 | 0.31 | 0.30 |
兩個模型都能找出頂級球員,但排名有明顯差別。xT 的排名偏向完成大量關鍵傳球與盤球的創造型球員;VAEP 的排名偏向射手,因為 VAEP 通常給入球動作很高的值,入球多的球員可以藉此推高排名。
相關係數印證了這一點。VAEP 與每 90 分鐘入球的相關係數為 0.25,xT 只有 0.11;每 90 分鐘助攻與 xT 的相關係數為 0.40,與 VAEP 為 0.37。作者強調更重要的一點:這幾組相關係數都不高,代表兩個指標的排名與傳統入球、助攻計法有實質分別,能提供額外資訊。

榜首多數是進攻球員,防守球員一般排得較低。兩個模型之下,進攻動作都能取得較高回報,進攻球員因此較容易獲得高評分。以榜上的後衛 Laporte 與 David Luiz 為例,兩人的 xT/90 分別為 0.39 與 0.31,都高於各自的 VAEP/90(0.34 與 0.30)。
八、四類動作的評分差異
為了看清兩個模型在不同情境下如何評分,原文選了四類動作,以直方圖比較兩者給出的價值分佈。
後場的回傳: 回傳有風險與回報的取捨,通常能拉開空間(回報),但也會把足球移近己方球門(風險)。只有 VAEP 能同時捕捉兩者,給出的值較分散。
回收足球以發動反擊: 在己方半場搶回足球,而對手仍處於進攻陣形,球隊有機會發動快速反擊,利用對手尚未回位的防線。「足球剛剛才被搶回」是一個情境線索,只有 VAEP 較豐富的狀態表示才能加以利用,因此 VAEP 給這類動作的評分明顯高於 xT。
禁區內向前的短距離盤球: xT 對禁區內大部分向前盤球給 0 分:xT 把球場切成相對大的格子,很多短盤球沒有跨格,xT 值因此不變。但這些短盤球可能已足以擺脫防守球員,而在極接近球門時,位置的小幅變化可以大幅提高入球機率。
禁區邊的直線傳球: 一記成功的前傳到達禁區邊緣,可以顯著提高入球機率,原因有二:一是足球更接近球門,二是通常已越過至少一名對方球員。平均而言,xT 對直線傳球帶來的位置優勢評分高於 VAEP。由於 VAEP 的狀態表示複雜,作者承認難以解釋 VAEP 為何給這類動作較低的值;若只從 xT 的邏輯推想,其中一個可能是 xT 較能捕捉位置優勢。

九、對球隊評估與賽果預測的啟示
原文討論的是球員評估,但同一套邏輯對球隊層面的預測同樣重要。一場比賽只有兩三個入球,而射門與入球只佔所有動作不足 1%;若球隊實力評估只建基於比數,等於用最稀疏、最受運氣影響的那一層數據去判斷一支球隊。xT 與 VAEP 這類動作價值模型,將其餘 99% 的傳球、盤球、搶截也變成可量化的訊號,能更早、更穩定地反映球隊的真實狀態。
AIP 系統在建立球隊評估模型時,採用的正是這個方向:除了 xG 這類射門質素指標,也會將控球推進、攻勢威脅、攻防轉換等動作層面的價值訊號納入特徵。原文提到 VAEP 以「入球機率減失球機率」為狀態值,這種攻防同時計算的想法,與 AIP 同時評估球隊創造機會與限制對手能力的做法一致;一支球隊近期 xG 不俗,但動作層面的推進價值持續下滑,往往較比數更早提示狀態變化。
原文的第三項差異,即可解釋性與準確度之間的取捨,同樣是預測系統要面對的問題。AIP 的做法並非在 xT 式的簡單模型與 VAEP 式的機器學習模型之間二選一,而是讓可解釋的結構性特徵與學習型模型並行,再以市場賠率作校準基準。這樣做的目的,與原文比較兩個框架的動機一致:了解每個模型在哪些情境下會給得偏高、哪些情境下會漏計,才知道何時可以信任其輸出。
總結:同一條公式,兩種取捨
xT 與 VAEP 都以「動作後狀態值減動作前狀態值」為每個在球動作定價。xT 只用足球位置表示狀態,以 Markov 過程估值,結果可解釋,但只計推進動作、不計風險。VAEP 以最近三個動作與豐富特徵表示狀態,以機器學習估計入球與失球機率,能為防守動作定價並反映風險與回報的取捨,代價是難以解釋。兩者的球員排名都與傳統入球、助攻計法明顯不同,因此都是有用的補充工具。
比較項目 | xT | VAEP | 章節 |
分析單位 | 控球(possession) | 固定長度的動作序列 | 四、五 |
狀態表示 | 足球位置(M × N 網格) | 最近三個動作轉成特徵向量 | 四、五 |
估值方法 | Markov 決策過程,值 = 預期未來 xG | gradient boosting 分類器,值 = P(入球) − P(失球) | 四、五 |
計算的動作 | 傳球、盤球、傳中 | 所有在球動作,包括防守動作 | 六 |
風險 | 不計 | 計失球機率及失去控球後的發展 | 六 |
可解釋性 | 高 | 低 | 六 |
排名傾向 | 創造型球員(與助攻 ρ = 0.40) | 射手(與入球 ρ = 0.25) | 七 |
Laporte 傳球的價值 | 0.013 → 0.078 | 0.0373 → 0.3675 | 四、五 |
原文最後提到,這項研究的論文在 AAAI-20 Workshop on AI in Team Sports 發表,xT 與 VAEP 的 Python 實作已公開,即 socceraction 套件。
Reference
M. Van Roy, P. Robberechts, T. Decroos, J. Davis. Valuing On-the-Ball Actions in Soccer: A Critical Comparison of xT and VAEP. AAAI-20 Workshop on AI in Team Sports, 2020.
T. Decroos, L. Bransen, J. Van Haaren, J. Davis. Actions Speak Louder than Goals: Valuing Player Actions in Soccer. KDD 2019. https://arxiv.org/abs/1802.07127
K. Singh. Introducing Expected Threat (xT). karun.in, 2018. https://karun.in/blog/expected-threat.html
S. Rudd. A Framework for Tactical Analysis and Individual Offensive Production Assessment in Soccer Using Markov Chains. New England Symposium on Statistics in Sports, 2011.
socceraction:xT 與 VAEP 的 Python 實作。https://github.com/ML-KULeuven/socceraction



