Data and models

What is xG (expected goals) and how does it improve predictions?

June 14, 2026·5 min read·EDGE Team

A team wins 1-0 with its only shot of the match while the opponent hits three balls off the post and misses a one-on-one. The record says "deserved win by the team that scored", but anyone who watched the match knows the result lied. xG (expected goals) is the metric that puts a number to that intuition: it measures how many goals each team should have scored based on the quality of its chances, not based on what went in.

Understanding xG is understanding why goals, that stat that seems so definitive, are actually a noisy signal for predicting the future. Let's break it down.

What xG is, in one sentence

xG (expected goals) assigns each shot a probability of ending in a goal, between 0 and 1, based on the characteristics of the chance. The sum of all of a team's shots in a match is its total xG: the number of goals an average team would have scored with those same opportunities.

A shot with an xG of 0.76 is a very clear one-on-one; one of 0.03 is a long-range shot from an impossible angle. If a team accumulates 2.4 xG and scores 1, it generated for more; if it scores 3 with 0.8 xG, it was efficient... or lucky.

How it's calculated: the quality of each chance

xG doesn't come out of nowhere. It's calculated with statistical models trained on hundreds of thousands of historical shots, which learn what percentage ends in a goal based on variables such as:

  • Distance to goal — the most decisive factor.
  • Shot angle — how much of the goal the shooter sees.
  • Body part — foot, head, etc.
  • Type of play — open play, counterattack, corner, penalty, direct free kick.
  • Defensive pressure — number of opponents between the ball and the goal.

The model combines these variables and returns the goal probability of that specific shot. A penalty, for example, always hovers around an xG of 0.76 because historically three out of four are scored.

Type of chanceApproximate xG
Penalty0.76
One-on-one inside the box0.35 - 0.50
Header in the six-yard box0.20 - 0.30
Shot from the edge of the box0.05 - 0.10
Long-range shot (25+ meters)0.02 - 0.04

Why it predicts better than actual goals

Here's the central idea. Goals are a scarce and highly random event: in a match two or three fall, and a rebound, a post or a spectacular save can change everything. A single fluke goal completely distorts what looks like a match.

xG, by contrast, is built on much more data: each shot adds information. That makes it much more stable and, above all, more predictive of future performance. The statistics behind it are regression to the mean: a team that scores well above its xG over several matchdays tends to drop, and one that scores well below tends to rise.

Goals tell you what happened. xG tells you what the team is capable of doing repeatably. For predicting, the latter is worth much more.

A concrete example

Two teams reach matchday 10 both with 14 points:

  • Team A: scored 15 goals with an accumulated xG of 9. Over-performance of +6.
  • Team B: scored 9 goals with an xG of 15. Under-performance of -6.

The table makes them equal, but xG tells another story: Team A has had a finishing streak that's hard to sustain, while Team B generates much more than it converts and is "owed" goals. Betting against Team A and in favor of Team B in the coming matchdays often has value, precisely because the casual fan's market looks at the table and not at xG. This ties into beating chance vs beating the market: xG helps separate luck from real performance.

The limits of xG (mandatory honesty)

xG is powerful, but it's not a crystal ball. It's worth knowing its boundaries:

  • It doesn't measure the shooter's quality. xG assumes an average finisher. An elite striker can beat their xG in a sustained way because they finish better than average; there the model falls short.
  • It ignores what happens before the shot. A brilliant move that doesn't end in a shot contributes 0 xG, even if it was extremely dangerous.
  • It needs volume. In a single match xG can be misleading; it shines when you accumulate it over many games.
  • Not all xG models are equal. Different providers use different data and variables, so the numbers don't always match.

A good model doesn't take xG as absolute truth, but as one more layer that's combined with other signals.

How xG is used for modeling

xG is rarely used alone. In serious prediction models it feeds estimates of each team's offensive and defensive strength, which are then fed into systems like ELO and Poisson to produce outcome probabilities, over/under and other markets.

At EDGE xG is one of the ingredients of our models: it helps us estimate the real probability of a match with less noise than goals, and to detect when the market got anchored to a misleading scoreline. That difference between the real probability and the odds is exactly where the value bet appears. xG doesn't guarantee anything; it simply gives us a cleaner read of the reality we're betting on.

In summary

  • xG measures the quality of chances, not the goals that went in.
  • It's calculated with models trained on hundreds of thousands of shots, using distance, angle, type of play and pressure.
  • It predicts future performance better because it uses more data and is less random than goals.
  • It has limits: it doesn't capture the elite finisher, ignores plays without a shot and needs volume.
  • It's combined with other models to estimate real probabilities and find value.

Look at xG when the scoreline screams a conclusion at you: often reality was hidden in the chances, not in the record.

EDGE is an analysis tool, not a bookmaker. Betting carries risk. 18+. Play responsibly.

Put this into practice with EDGE

EDGE's AI finds the value for you and measures your edge with no smoke. Start free, in paper mode.

Enter EDGE

Keep learning