xG Explained

What is xG?

Very simply, xG (or expected goals) is the probability that a shot will result in a goal based on the characteristics of that shot and the events leading up to it. Some of these characteristics/variables include:

Every shot is compared to thousands of shots with similar characteristics to determine the probabilty that this shot will result in a goal. That probabilty is the expected goal total. An xG of 0 is a certain miss, while an xG of 1 is a certain goal. An xG of .5 would indicate that if identical shots were attempted 10 times, 5 would be expected to result in a goal.

There are a number of xG models that use similar techniques and variables, which attempt to reach the same conclusion. The model that FBref uses is provided by StatsBomb. What sets StatsBomb's xG model apart from others is their use of freeze frames. A freeze frame is the location of all players on the pitch at the moment the shot was taken. Was the goalkeeper in position? Was it an open goal or were there a number of defenders between the shooter and the goal? Was the shooter being pressured? Was it a 1v1 situation with the keeper?

Take this Callum Wilson goal vs Southmapton for example. The shot was taken directly in front of the goal from six yards out. However, Wilson was the only player in the penalty area at the time of the shot, making it a completely open goal. According to StatsBomb's data, just 3% of shots from this location were taken with an open goal. Comparing this shot to all other shots taken from this spot without accounting for the location of the defense would return a wide range and inaccurate set of results. In fact, other expected goal models credit this exact shot anywhere from 0.5 to 0.66 xG. StatsBomb, and their use of freeze frames, credits this shot with .97 xg, making it an almost guaranteed goal.

xG does not take into account the quality of player(s) involved in a particular play. It is an estimate of how the average player or team would perform in a similar situation.

How xG is used

xG has many uses. Some examples are:

Penalty Kicks

Each penalty kick is worth .76 xG since all penalty kicks share the same characteristics. Comparing a player's goals from penalty kicks to their penalty kick xG can indicate a player's penalty kicking ability. Likewise, we can do the same for goalkeepers in these situations.

FBref's xG totals include penalty kicks unless otherwise noted. For xG excluding PK, we recommending using npxG (non-penalty expected goals).

How we calculate xG totals for a single offensive possession

In some cases, a player or team's xG totals do not equal the sum of their shots. For instance, a team may attempt multiple shots in a single possession, but it is likely that these shots are contingent upon the outcome of the previous shot(s).

Take for example, this match between Schalke 04 and Nürnberg:

In the 78th minute, Nürnberg attempted three shots which ultimately led to a goal. Hanno Behrens attempts a shot that is saved, but he is able to take a second shot as the ball is deflected off the defender. The second shot goes off the woodwork, which allows Adam Zreľák to easily tap it in. According to StatsBomb's expected goals model:

The sum of these three shots is 1.86 expected goals, even though it is impossible to score more than one goal in a single move. To solve this problem, we find the probabilty that the defending team does not allow a goal in this possession. In this case, the calculation is:

(1 - .37) x (1 - .68) x (1 - .81) = .0383 or a 3.83% probability that Schalke does not allow a goal.

To find Nürnberg's xG, we simply subtract that probabilty from 1:

1 - .0383 = .9617 xG

In other words, we estimate that an average team in a similar situation would be expected to score a goal 96.17% of the time.

We use a similar method when calculating xG for individual players. Adam Zreľák receives .81 xG from his single shot while Hanno Behrens receives:

1 - (1 - .37) x (1 - .68) = .7984 xG

This shows why a team or player's total xG may not equal the sum of the xG from their shots and why a team's total xG may not equal the sum of the xG from their players.

Possessions that include a penalty kick

Similarly, we include shots taken from a rebound after a penalty kick with xG from penalty kicks. Take this Alexis Sanchez penalty kick for example:

Since the second shot is a result of the first, we use the same probabilistic method in the previous example. Rather than a total 1.48 xG (.76 + .72), the calculation is:

1 - (1 - .76) * (1 - .72) = .9328 expected goals

However, since the second shot is also considered to be a part of the penalty kick xG, Sanchez gets 0 npxG (non-penalty expected goals) on this play.

Note: We treat corner kicks and free kicks as a new possession, not a continuation of the previous possession, but are continuing to study the issue.

What is xA

xA, or expected assists, is the xG that follows an assisted shot. This indicates a player's ability to set up scoring chances without having to rely on the actual result of the shot or the shooter's luck/ability.

Where to find xG

Team xG, xG against, and xG differential can be found on league tables, such as this:

Saison régulière Table
Clt Équipe MP V N D BM BE Diff Pts xG xGA xGDiff
1Manchester City3832249523+729882.625.2+57.4
2Liverpool3830718922+679771.529.3+42.2
3Chelsea3821986339+247257.635.0+22.6
4Tottenham38232136739+287153.745.2+8.4
5Arsenal38217107351+227055.853.7+2.1
6Manchester Utd38199106554+116657.847.3+10.5
7Wolves38169134746+15747.937.7+10.3
8Everton38159145446+85446.643.7+2.9
9Leicester City38157165148+35248.541.3+7.2
10West Ham38157165255-35247.460.3-12.9
11Watford38148165259-75047.556.6-9.1
12Crystal Palace38147175153-24949.847.2+2.7
13Newcastle Utd38129174248-64539.053.4-14.5
14Bournemouth38136195670-144553.952.7+1.2
15Burnley38117204568-234040.461.4-20.9
16Southampton38912174565-203944.554.1-9.5
17Brighton3899203560-253633.052.7-19.7
18Cardiff City38104243469-353438.560.3-21.8
19Fulham3875263481-472638.764.9-26.2
20Huddersfield3837282276-541628.461.3-32.9

Player xG, npxG & xA can be found on team pages, such as this:

Player Stats Table
Temps de jeu Performance Par 90 minutes Expected Par 90 minutes
Joueur Nation Pos Âge MP Titulaire Min Buts PD PénM PénT CJ CR Buts Ast B+PD B-PénM B+PD-PénM xG npxG xA xG xA xG+xA npxG npxG+xA
Edersonbr BRAGB2438383,4200100200.000.030.030.000.030.00.00.40.000.010.010.000.01
Aymeric Laportefr FRADF2435343,0573300300.090.090.180.090.182.22.21.30.060.040.100.060.10
Bernardo Silvapt PORAT,MT2336312,8537700300.220.220.440.220.446.36.37.50.200.240.440.200.44
Raheem Sterlingeng ENGAT,MT2334312,77717900300.550.290.840.550.8413.013.09.70.420.310.740.420.74
Sergio Agüeroar ARGAT3033312,48021822400.760.291.050.690.9820.919.45.40.760.200.960.710.90
Kyle Walkereng ENGDF2833302,7771100300.030.030.060.030.060.70.71.70.020.050.080.020.08
David Silvaes ESPMT3233282,4116800200.220.300.520.220.526.66.69.20.250.340.590.250.59
Fernandinhobr BRAMT3329272,3811300500.040.110.150.040.151.91.92.70.070.100.180.070.18
İlkay Gündoğande GERMT2731232,1356300300.250.130.380.250.383.43.44.10.140.170.310.140.31
Leroy Sanéde GERAT,MT2231211,867101000100.480.480.960.480.966.06.07.10.290.340.630.290.63
John Stoneseng ENGDF2424201,7620000100.000.000.000.000.000.30.30.20.010.010.020.010.02
Riyad Mahrezdz ALGAT,MT2727141,3397401000.470.270.740.470.745.74.94.30.380.290.670.330.62
Nicolás Otamendiar ARGDF3018141,2330000100.000.000.000.000.001.11.10.10.080.010.090.080.09
Oleksandr Zinchenkoua UKRMT2114141,1530300100.000.230.230.000.230.10.11.30.010.100.110.010.11
Vincent Kompanybe BELDF3217131,2231000600.070.000.070.070.070.10.10.10.010.010.020.010.02
Kevin De Bruynebe BELMT2719119742200200.180.180.370.180.372.72.73.20.250.300.540.250.54
Benjamin Mendyfr FRADF2410109000500100.000.500.500.000.500.20.21.50.020.150.170.020.17
Danilobr BRADF,MT271198061000100.110.000.110.110.110.50.50.30.050.030.090.050.09
Gabriel Jesusbr BRAAT212981,0197311100.620.260.880.530.7910.09.31.70.890.151.040.820.97
Fabian Delpheng ENGMT281187240100110.000.120.120.000.120.10.10.30.010.040.050.010.05
Phil Fodeneng ENGMT181333271000000.280.000.280.280.282.22.20.70.610.180.800.610.80
Claudio Bravocl CHIGB3500
Arijanet Muricxk KVXGB1900
Philippe Sandlernl NEDDF2100
Total de l'équipe384183,4209171344412.391.874.262.324.1882.679.662.92.171.663.832.093.75

Expected goals can also be found on a number of different pages such as league player stats, match reports, player pages and player match logs.

FBref Competitions with xG Data

Matches Currently Missing xG Data

  • Data will be added once it becomes available