Home/Soccer Analytics/Single-Match xG Fairness Assessment

Single-Match xG Fairness Assessment

Expected Value ModelsLevel 2 — Intermediate

What It Is

For any individual match, xG can be used to compute the probability that each team "deserved" to win based on the quality and volume of their chances — independent of the actual result. A team with 2.8 xG vs. their opponent's 0.7 xG had a strong process advantage; the simulation can estimate that they would have won roughly 75-80% of replays of that exact match. This reframes the match narrative from "we drew" to "we should have won X% of the time."

Correct Execution

Simulate match outcomes by (1) treating each shot as an independent Bernoulli trial with probability equal to the shot's xG; (2) running 10,000 simulations of the full shot sequence; (3) computing the % of simulations each team won, drew, or lost. Report as: "If this match were played 100 times with the same chances, Team A would win 58 times, draw 22 times, lose 20 times." Supplement with: "Actual result was a 2-2 draw, which occurred in 22% of simulations — an unlikely but possible outcome." This separates process from luck in a single game.

Progression Levels

Diagnostic Tree

Coaching Cues

  • "Real Madrid would have won that match 58 times out of 100. Today they drew. The process was right." — WFS 2019
  • "The score is one outcome. xG tells you the range of outcomes that were possible."

Common Errors

  1. Treating xG fairness as a consolation narrative: "We should have won" is useful for process evaluation, not for excusing tactical failures that contributed to the bad result.
  2. Using total xG without shot-by-shot simulation: Total xG comparison understates variance — a team with 1.0 xG from one shot has very different win probability than a team with 1.0 xG from 10 shots.

Edges

🔑 Hidden Causal Lever

A Team With 1.0 xG From One Shot Has Completely Different Win Probability Than 1.0 xG From Ten Shots

Total xG comparison understates variance. A team with 1.0 xG from a single penalty (0.76 xG shot) has much higher variance than a team with 1.0 xG from ten 0.10 xG shots. The latter will score approximately 1 goal in almost every simulation; the former will score 0 or 1 in wildly different proportions. Shot-by-shot simulation captures this distribution difference that aggregate xG comparison misses.

What most people do
Compare total xG between teams and conclude "Team A deserved to win because they had higher xG."
What the best do
Run 10,000 simulations treating each shot as an independent Bernoulli trial with its individual xG. Report win/draw/loss probability distributions. "This match would be won by Team A 58% of the time, drawn 22%, lost 20%." This distinguishes "dominated" (one team wins 90%+ of simulations) from "competitive" (both teams win 40-50% of simulations) — even when total xG looks similar.
Why it's an edge: Shot distribution matters enormously for understanding match quality. Two teams with 1.5 xG each look equal on aggregate. But if Team A's xG comes from two 0.75 shots and Team B's from fifteen 0.10 shots, Team A is the higher-variance team — more likely to score 2 but also more likely to score 0. The simulation reveals which team had the more robust attacking process.
How to exploit: Automate shot-by-shot simulation for every match. Present simulation results (not just total xG) to coaches. Use the distribution to distinguish genuine process advantages from variance — a team that consistently wins 60%+ of their match simulations is genuinely good, regardless of actual results.
Ted Knutson & Siqur Arshad, WFS 2019. El Clasico simulation: Real Madrid 58% win probability but actual result was 2-2 draw.

Sources

  • Ted Knutson & Siqur Arshad, WFS 2019 StatsBomb presentation, YouTube, 2019-10-02 — showed a specific El Clasico match where xG simulation gave Real Madrid 58% win probability vs. Barça's 18%; actual result was a 2-2 draw (low probability outcome)