Inside analysis and previews for every match

Expected Goals Explained: What xG Adds to Match Analysis and What It Misses

Expected Goals Explained: What xG Adds to Match Analysis and What It Misses

Eighteen shots and a defeat. Six shots and a comfortable win. Every season serves up a handful of matches that make the shot count look like a poor guide to what actually happened, and those are the matches that send people looking for a better number. Expected goals — xG — is that better number. It is also more limited than its loudest advocates suggest.

What follows is a working explanation: what the figure counts, how to read it next to the basics, and where it quietly runs out of road.

What xG is actually counting

Every shot in a match is given a value between 0 and 1. That value is an estimate of the probability the shot becomes a goal, built from what is known about the attempt at the moment it is struck: distance from goal, the angle, whether it was a header or a foot, whether it came from a cross, a through ball or a rebound, how many defenders were between the ball and the line, and whether it was a penalty. Most public models put a penalty somewhere around 0.75 to 0.8, and a speculative effort from 30 yards somewhere close to zero.

Add up every shot a team takes and you have its xG for the match. A total of 1.6 means the chances that team produced were, in aggregate, worth roughly one and a half goals. Two things follow from that definition, and both matter more than the decimal places.

First, xG describes the chances, not the players. A model that ignores who is shooting treats the same opening the same whether it falls to a centre-back on his weaker foot or a striker in form. Second, xG is not a forecast. It says nothing about the scoreline, and it is not a prediction of next week. It is a description of what was created.

Reading a single match without overreading it

Picture a 1–0 result where the losing side finished with 1.9 xG and the winners with 0.6. The instinct is to declare the better team lost. The more careful reading is this: the losing team produced the better chances, the winning team took the fewer, cleaner ones, and over a full season that pattern tends to even out. Over ninety minutes it does not have to.

Single-match xG is noisy. A deflection, a penalty, a shot that becomes a rebound for someone else — small events move the total around. Use it as a description of the match you just watched, not as a verdict on who deserved what.

When the gap between goals and xG is worth something

The difference between a team's goals and its xG across one game is finishing, goalkeeping and luck, in proportions nobody can separate afterwards. Across ten or fifteen matches, that gap starts to hint at something real about a striker's conversion or a keeper's shot-stopping. Even then it is a small sample, and the honest answer is usually “probably a bit of both”.

Shots and xG work best as a pair

Shot counts tell you volume. xG tells you quality. On their own, each one misleads. Team A takes sixteen shots, most of them from outside the box, and finishes with 0.8 xG. Team B takes seven, several from inside the six-yard area, and lands on 1.0. The shot count says A dominated; xG says the openings belonged to B. Put the two together and the match makes sense: A had the ball, B had the chances.

Average xG per shot is the quickest way to test that gap. Sixteen shots at an average of 0.05 describes a team shooting hopefully through a crowded box. Seven shots at 0.14 describes a team that waited. Neither is automatically better — a side that creates fifteen decent chances will usually beat a side that creates three good ones — but you cannot tell which you are looking at from the shot count alone.

Fixtures and form: give the numbers a run of games

One match is anecdote. Eight to ten matches is a conversation. Build a rolling total and split it in the ways that actually shape results: home and away, first half and second, and against strong and weak opposition. A side averaging 1.4 xG at home and 0.7 away is telling you something about how it plays when it has to travel, and that is more actionable than any single match total.

Two habits save trouble here. Check the opposition before reading anything into a spike — 2.3 xG against a defence that has been shipping chances all month is worth less than 1.2 against a side that usually concedes very little. And ignore xG tables in the first month of a season; the sample is too thin to separate a genuinely good team from a lucky fortnight.

Game state is part of the data

A team 1–0 down at home with half an hour left will usually pile up shots against an opponent that has dropped deep and stopped pressing. That xG is real, but it is produced by the situation as much as by quality. The same is true in reverse: a side 2–0 up may end the match with a modest total while taking the best chances of the game on the counter.

So split the number. xG by half, xG before and after the opening goal, xG at eleven against eleven and again after a red card. A sentence like “they generated 1.1 xG after the hour, but 0.9 of it came in the last ten minutes against a back five protecting a lead” is worth more than any single total, because it tells the reader when the pressure arrived and what it was worth at the time.

What xG leaves out

The model only scores shots. Everything that decided the match before a shot was taken is missing, and it is worth naming that out loud.

  • The build-up. A last-ditch block or an interception that stops a cut-back produces no shot, so it produces no xG — even though it prevented the best chance of the game.
  • Goalkeeping beyond shot-stopping. Sweeping, claiming crosses and distribution that starts attacks do not appear in any xG figure.
  • The pass before the assist. The switch of play and the run that dragged a defender out of position are invisible; only the final ball and the shot are scored.
  • Who is shooting. Finishing is a small but persistent effect, and a shooter-blind model treats every player identically.
  • Timing. A 0.35 chance at 1–1 in the 88th minute counts the same as a 0.35 chance at 3–0 in the 60th. It is not the same event.
  • The counterfactual. A winger who shoots from a tight angle when a square ball was on gets credit for a low-value shot. The better decision he ignored leaves no trace.
  • Model differences. Two providers can give the same match different totals because they use different inputs. That is not a scandal, but it does mean you should not compare numbers from different sites without saying so.

A short routine for using xG in match analysis

If you want a repeatable way to work with the number rather than around it, this sequence covers most of what a match report needs.

  1. Start with the scoreline, the shot count and xG in that order. Each one corrects the last.
  2. Compare goals to xG and write down a reason for the gap: finishing, goalkeeping, or chances arriving too late.
  3. Look at the shape of the chances — average xG per shot, and how many attempts cleared 0.2.
  4. Split by game state and by time, especially if a red card or an early goal changed the script.
  5. Zoom out to eight or ten matches, home and away, with the standard of opposition noted.
  6. Finish by naming one thing xG could not see: the block, the keeper's save on the counter, the wrong decision in the final third.

Do that and xG stops being a stick to beat a result with. It becomes what it should be: a clear description of the chances a team produced, with the rest of the match still to be explained by the video.

Photo: PublicDomainPictures / Pixabay