ScoreMondoLive Scores

Statistics and data

What Is xG? Expected Goals Explained, Shot by Shot

Published: Updated:

Expected goals, or xG, is the chance that a shot becomes a goal, written as a number from 0 to 1. A shot with xG 0.30 is scored three times in ten on average. Add up every shot a team takes in a match and you get the number of goals its chances were worth, whatever the finishing and the goalkeepers did. So xG does not answer "how many did they score?" but "how many should chances like these produce?"

What the number means for one shot

Every shot has its own xG. A shot from the middle of the six-yard line is worth a lot; a hopeful strike from 25 metres is worth little. A value of 0.10 does not mean it was a poor decision to shoot. It means that, of ten shots like it, one is expected to go in.

How to read xG on a match page

On ScoreMondo's football match pages, matches with shot data carry a card called "Expected goals (xG)". Open any game from the live matches list or from the Premier League page and you will find:

  • Team totals. Next to each team's name sits the sum of its shots' xG, with the number of shots and how many were on target underneath.
  • xG over the match. A line that shows how each total built up minute by minute. A steep step is a big chance; a long flat stretch is a spell with no shooting at all.
  • Shot map and list of shots. Each shot is drawn where it was taken, and a bigger circle means a higher xG. The list gives the minute, the outcome, the situation (open play or penalty, for example) and the xG of every shot.
  • Player statistics. The xG column is the expected goals of that player's own shots. It also feeds the ScoreMondo player rating.

The "How it works" link on the card leads to the methodology page. To set xG beside possession, shots and corners, see our guide on how to read match statistics.

A live value can move after full time

During a match the shots come from ScoreMondo's own live feed. Its positions are approximate, and a goal is placed where the scoring team last had the ball. After the final whistle the calculation is redone from the full match data, which also names the shooters and the blocked shots. Small differences between the xG you saw live and the xG shown later are therefore normal. How that feed travels from the stadium to your screen is covered in how live scores work.

Why xG and the score disagree

Because xG describes an average and the score describes one afternoon. Picture a team with 2.1 xG that lost 0–1. Say it took 14 shots worth 0.15 each, which adds up to 2.1. Each shot fails 85 times in a hundred, and the chance that all 14 fail is about 10 per cent. In other words, one such match in ten ends without a goal. Nothing is wrong with the arithmetic; that is simply how wide the spread is in a low-scoring sport.

It works the other way too: a team can win with the lower xG by scoring its one difficult chance.

A few things to keep in mind when the two numbers part ways:

  • Finishing and goalkeeping. xG leaves them out on purpose, and the gap between xG and goals usually comes from exactly there.
  • Own goals. There is no shot, so there is no xG. The goal counts on the scoreboard and adds nothing to the total.
  • Penalties. One penalty adds 0.76 on its own. If a total looks high for the number of shots, check for a spot kick first.
  • One match is noisy. To judge a team, look at many matches, not one.

How ScoreMondo calculates xG

ScoreMondo calculates xG itself, for football only. The model reads where the shot was taken, meaning its distance to the goal in metres and the angle the goal mouth opens from that spot in radians, and how it was taken, meaning the kind of situation. The coefficient table published today contains a starting value, the angle, the distance and one situation term: the direct free kick.

The method is a logistic regression fitted on real shots. The formula as published is xG = 1 / (1 + e^(−z)), where z = −1.1118 + 0.2404·θ − 0.0685·d + 0.5172·F. Here θ is the angle in radians, d the distance in metres, and F is 1 for a direct free kick and 0 otherwise. It reads simply: a wider view of the goal raises xG, and every metre further away lowers it.

Penalties do not go through the formula. A penalty is always worth xG 0.76, the long-run share of penalties scored in professional football.

Published example values

Where the shot is takenxG
6 m out, central0.22
11 m out, central (open play)0.15
Edge of the box, central0.11
25 m out, central0.06
8 m out, near the byline0.17
Penalty0.76

Data and accuracy at the time of writing

At the time of writing, the model was fitted on 1,042 finished matches played from 1 to 21 October 2026 in 398 competitions: 19,594 shots and 2,343 goals, penalties apart. It was then tested on days it had never seen (4,544 shots from 17 October 2026):

  • Log-loss of 0.360, against 0.373 for a flat guess that every shot is worth the same.
  • Brier score of 0.105, against 0.108 for the flat guess.
  • Per team and match, xG and goals correlate at r = 0.62.

The methodology page also prints a calibration table: the held-out shots are split into ten groups, and the predicted share of goals in each group is set against the share actually scored. These numbers change whenever the model is refitted, so check the xG and ratings methodology for the current coefficients and results.

The limits of xG

ScoreMondo states plainly what its model cannot see: the body part (header or foot), where the defenders and the goalkeeper stood, and the speed of the attack. Positions are recorded by match observers to within a few metres. The model is therefore careful with single shots, and open-play values run from about 0.04 to 0.24. The model's strength is the total over a match.

More generally, there is no single "true" xG. Models and their inputs differ, so the same match will show different numbers from different providers. The Bundesliga's official model, for instance, also uses whether the shot was a header, where the goalkeeper stood and how much pressure the shooter was under (Bundesliga's xG explainer). When you compare teams or matches, keep to numbers from one source.

Frequently asked questions

What counts as a high xG?

There is no fixed line. In ScoreMondo's model a single open-play shot is worth roughly 0.04 to 0.24, so anything above 0.20 sits at the top of the range. Read a team total together with the opponent's total and the shot count: a high total from few shots points to clear chances, a low total from many shots points to efforts from distance.

Why is a penalty always 0.76?

A penalty is always taken from the same mark, 11 metres from goal, with no defender in the way. The model therefore skips the distance and angle calculation and uses the long-run share of penalties scored in professional football.

Does xG predict the next result?

No. xG rates shots that have already been taken and says nothing by itself about a match that has not kicked off. You can follow today's fixtures on the football live scores page; the xG card starts to fill once a match is under way and the first shots arrive.

Sources

  1. ScoreMondo – Methodology: prediction model, xG and player ratings
  2. Bundesliga – Expected goals (xG) model: what is it and why is it useful?
  3. IFAB – Laws of the Game, Law 1: The Field of Play
Settings
Theme
Row density
Goal sound
Data saver
No team crests or animations; live scores keep updating.

Your settings and favourites are saved on this device only. Animations follow your device setting. Keyboard: j / k move, / search, f favourite, p pin, ? help