Expected goals (xG)
also: xG · shot quality
The chance a shot is scored, from where it was taken and whether it was a header, fitted on the league's own history.
xG = P(goal | distance, angle, header) ; penalties = the league's conversion rateEvery located shot carries its spot on the pitch. We group a league's shots by distance from the goal (2 m buckets), angle off the goal's centre line (15 degree buckets) and header or foot, and take each group's goal rate, shrunk toward the rate at that distance when the group is small. A penalty takes the league's penalty conversion.
Summed over a team's shots, xG measures the chances it made; summed over the shots it faced, the chances it allowed. Next to goals it separates making chances from finishing them, which is why it predicts the next run of results better than the table does.
Ours is a location model. It does not see the defenders, the goalkeeper's position or the pass before the shot, so a tap-in after a cut-back and a crowded six-yard scramble from the same spot get the same value. Treat a one-match xG gap as noise; read it over ten matches or more.
Where to get it
Related
Expected goals (xG) from the API
500 free credits on signup, no card. REST or MCP.
Get a free key