SIGNAL LABS
Glossary · Soccer
Soccer

What is xG?

Expected Goals — the probability that a given shot results in a goal, summed across all shots in a match.

TL;DR
xG assigns every shot a probability of becoming a goal based on shot location, body part, and assist type. Match xG sums those probabilities.

Full explanation

Soccer scores are noisy. A team can dominate a match — fifteen shots to three, sixty percent possession, the better territory — and lose 1-0 because the one shot the underdog took happened to find the net. Over a single match the bounce of the ball matters enormously. Over a season, it averages out, but the public scoreboard never tells you which results were earned and which were stolen.

Expected goals — xG — is the metric that tells you. Every shot is assigned a probability of becoming a goal based on a model trained on hundreds of thousands of historical shots. Inputs typically include distance from goal, angle, body part used (foot, head, other), type of pass leading to the shot (cross, through ball, set piece), and whether the chance came from a counterattack or open play. A penalty kick is roughly 0.76 xG. A header from the edge of the six-yard box might be 0.35. A speculative effort from thirty yards might be 0.02.

Sum those probabilities across all of a team's shots in a match and you get the team's xG total. Compare that to the actual goals scored and you have a measure of whether the result reflected the underlying play.

Over short windows, actual goals and xG can diverge wildly — finishers run hot, keepers stand on their heads. Over thirty matches the two converge almost exactly. That convergence is the reason xG has become the standard predictive metric in soccer analysis. Bookmaker models, club analytics departments, and most serious public modelers all build from xG.

Formula

Proprietary. For each shot, a logistic-regression or gradient-boosted classifier outputs P(goal) given shot location, body part, assist type, and game state. Match xG is the sum.

Why it matters in our model

Our soccer match model is built on rolling xG-for and xG-against, regressed toward club Elo. xG-based ratings outperform pure goals-based ratings by a wide margin in short-window predictions.

Frequently asked

What is a good xG per match?
Above 1.5 xG per match is strong; above 2.0 is elite. Below 1.0 over a sustained run is bottom-table form.
Why don't actual goals match xG?
Over single matches, finishing variance, keeper performance, and post-and-bar luck cause divergence. Over thirty-plus matches they converge.
Who calculates xG?
Multiple providers — StatsBomb, Opta, Understat, FBref — publish xG with slightly different models. The leading-decimal numbers vary; the rankings rarely do.

Related terms

← Back to glossary

Dashboard