Sharkline

← All articles

What is xG in football: expected goals explained in plain words

·8 min read·updated September 15, 2026

xG (expected goals) is an estimate of how likely a shot was to end up in the net. A model takes thousands of similar shots from the past and checks how often they went in. If a hundred shots from that spot, with that part of the body, in that kind of situation produced thirty goals, today’s shot is worth 0.30 xG. Add up every shot a team took and you get how many goals its chances deserved.

What it actually scored is a separate story. xG describes not the scoreline but how close a side kept getting to one. That gap between deserved and scored is where most of the interesting information lives.

How xG is calculated: what makes a chance expensive

The metric does not measure how hard or how beautifully the ball was struck. It answers one question: how often shots like this one have gone in before. Everything then rests on the word “like”.

Distance and angle. The two dominant factors, and they are not equal partners. A shot from twelve yards straight in front of goal and a shot from the same distance out by the byline are worlds apart, because the second one has almost no goal to aim at.

What the ball was hit with. Headers go in noticeably less often than shots from the same spot with a foot. Weaker-foot attempts, less often again.

What happened in the second before the shot. A ball cut back across the six-yard box, a cross, a through pass, a rebound off the keeper, a counter-attack against a set defence. A chance created at speed in a disorganised back line is worth more than a geometrically identical shot in slow possession play.

How many bodies were in the way. Advanced models count defenders between ball and goal and take the goalkeeper’s position into account. Simpler models barely look at it — and that is exactly where different data providers start producing different numbers.

A penalty against a thirty-yard shot

The quickest way to get a feel for the scale.

A penalty is priced almost identically everywhere: 0.79 at Opta, 0.78 at StatsBomb since its 2022 model update, 0.76 at Wyscout.

The spread is small, and for the same reason every time. The conditions of the shot never change, and the historical conversion rate sits around three in four.

A shot from thirty yards is usually worth hundredths of a goal. A screamer into the top corner adds exactly as much xG as the same strike would have added had it flown into the stand: the model prices the chance, not the outcome of it.

Which gives the first practical thought. A team that has racked up fifteen shots from distance and a team with four one-on-ones can look similar on a match report. In xG terms there is a canyon between them.

And a second, less comfortable one: there is no single canonical xG.

Three providers give the same shot three different values. Across a full match the disagreement can reach several tenths of a goal. So xG only compares inside one source. When someone quotes a figure, ask whose model produced it.

Why the scoreline sometimes lies

The classic situation: a team is losing 2-0 while creating far more than its opponent.

Take an example match — the numbers here are illustrative, not from a real fixture. The home side accumulates 1.9 xG from eighteen shots, three of those chances worth more than 0.3 each. The away side gets 0.4 xG from five shots and scores twice: once off a deflection, once from range. Final score 2-0 to the visitors.

What actually happened: the home team played the kind of match that, on average, ends in a win or a draw for them. The away team played the kind that, on average, ends in a defeat, and won it, because that happens — scoring twice off a combined 0.4 xG is rare but perfectly possible.

Then comes the interesting part. The table will remember 2-0. The home side’s next opponent, having looked only at results, will meet a very different team from the one it prepared for.

Overperformance: what a “lucky” team looks like

When a side consistently scores more than its xG, there are two explanations, and telling them apart matters more than it sounds.

The first: it genuinely has a finisher who beats the average. Such players exist, there are not many of them, and their overperformance holds across years, not across five fixtures.

The second, far more common: a hot streak. Deflections, rebounds, opposition goalkeepers having a rough month. Streaks end, numbers drift back to the mean, and last month’s red-hot attack suddenly cannot score while playing in precisely the same way.

The reverse story is symmetrical. A team creating plenty and converting nothing looks toothless right up to the week the finishing normalises. Managers get sacked during exactly those runs, often about a fortnight before the correction arrives.

A rule of thumb for reading it: a gap between goals and xG over five matches is noise. Over thirty matches it is a conversation.

What xG does not show

The list is short and worth keeping next to every pretty xG chart.

Game state. A team 3-0 up drops deep and stops creating. Its low second-half xG describes a tactical decision, not a weakness.

Everything that is not a shot. Defending that kills attacks before a shot happens leaves no trace in xG at all. A match where the opponent could not even get an effort away looks empty in the data and may have been the best defensive performance of the season.

Who took the shot. Basic xG values a chance identically regardless of who is standing in front of it. The difference between an international striker and a centre-back who wandered up for a corner is not built into the metric.

What happened after the strike. How dangerous the shot turned out to be is a separate metric — xGOT, expected goals on target. It accounts for where the ball ended up and effectively grades the goalkeeper.

A single game. Over one match xG remains an estimate with a wide error bar. It becomes meaningful across the kind of sample where randomness stops deciding everything.

How quality metrics reach a match analysis

Match analysisAI ANALYSIS
Rayo Vallecano

Rayo Vallecano — Alavés

LaLiga

Alavés

Win probability

1 · Rayo

40%

X

29%

2 · Alavés

31%

Read

Goals at both ends likely

Both attacks are in form, and their meetings usually run high.

58%

Confidence

★★★data quality

The home side have scored two or more in eight home games running.

Risk: rotation ahead of a midweek European tie.

Example of an analysis card. Figures are illustrative.

The value of xG is that it separates the quality of a performance from its result. Any system looking only at results will overrate the lucky and bury the unlucky. And it does so right before both regress to their own averages.

In a Sharkline read, team and player statistics, form, league position and head-to-head history come from a sports data API. The consensus layer is assembled from more than twenty sources.

What comes out is not a table of indicators but a conclusion: the probability of each outcome, a confidence percentage, a rating of the data behind it, and the main risk. Nobody asks you to calculate metrics yourself. That part stays in the kitchen.

The full chain from raw data to a finished read is laid out in how AI predicts a match result, the limits of that chain in what AI does not know about a match, and the pipeline itself on how Sharkline works.

Frequently asked questions

What is xG in simple terms? It is the probability that a given shot becomes a goal, calculated from the history of similar shots. An xG of 0.3 means chances like that one ended in a goal roughly three times out of ten. Summed over a match, it shows how many goals the quality of a team’s chances deserved.

What is the xG of a penalty? Between 0.76 and 0.79 depending on the provider: 0.76 at Wyscout, 0.78 at StatsBomb, 0.79 at Opta. The value is fixed because the conditions of the shot never vary, and it reflects the historical conversion rate of penalties.

Why does the same match have different xG in different sources? Because xG is a model, not a measurement. Providers use different sets of factors and trained on different samples, so the same shot gets different values. Comparing figures is only valid inside a single source.

Can xG predict the next match? Nothing predicts a match. xG helps to rate a team’s real strength more accurately, because chance quality is more stable than results, but it stays one input among many rather than an answer.

What matters more, the scoreline or xG? The scoreline goes into the table; xG is more useful for judging a team. A match won with 0.4 xG against 1.9 says something about luck rather than superiority, and the next opponent tends to find that out.

The matches are read. The call is yours.

Open in Telegram