What is xG and how to use Expected Goals in Fantasy Premier League?

In last decades, big data started to play a great role in all sports and their importance is still increasing. Thanks to development of a data science, plenty of metrics has been recently invented. It helps not just sportsmen to optimize their performance, but also betting specialists and therefore fantasy managers too.

Introduction to Expected Goals in Fantasy Premier League

Calculation of Expected Goals xG in Fantasy Premier League

In last few years, Expected Goals (xG) has been one of the most popular statistical metrics for an evaluation of a player or a team performance. Classical full-time score just says us how many goals both teams scored. However, it does not say us anything about quality of chances teams created or how many goals they could have scored.

We, FPL managers, know those type of matches where one team is shooting on goal every other minute, hitting posts with every other shot, but can’t score. It looks like the whole world is against them. And then their opponent fire one single shot on target, score and win the match. The score after final whistle says us nothing about “a luck” or “a bad luck” in the match.

Expected Goals are different. This metric provides us information about how many goals a team (or a player) should have scored based on the quality of chances they had. Imagine the situation above when “the unlucky team” gets beaten by “the lucky team” 0:1 from their single shot on target. But the lucky team created more chances, had more quality shots and should have scored, for example, 1,81 goals based on the xG measurement. On the other hand, the lucky team should have scored, for example, just 0,07 goals from their one shot based on xG. So the fair score is 1,81 : 0,07 (if we round it then 2:0) based on the quality of chances.

You can find great xG stats from many leagues including Premier League on the understat website which we recommend.

How is xG measured?

The xG of one shot is a number between 0 and 1 and we can look at it as a probability that the shot will be converted to a goal. This probability is determined by a neural network. First, the neural network is trained on a large dataset of shots. There are many parameters of shots that are used as inputs: distance from the goal, angle from the goal, speed of the shot etc.  And the output that is provided to the net during training process is 0 (no goal) or 1 (goal).

Once the training is finished, the neural network can be used to determine probability (xG) that a selected shot will end up in the back of the net. Imagine a long range shot from a centreline (from half of a pitch). It has xG around 0,000001. Basically, it means that one of 1 000 000 shots from that distance is scored. On the other hand, shot from the goal line between posts has xG around 0,999999, so every shot from the goal line between posts should be scored. For example, penalty has xG around 0,76.

Using Exptected Goals model in FPL

Thanks to Expected Goals models we can evaluate every shot in the match with the number between 0 and 1. Higher number, higher quality of shot (or higher probability that shot will be converted). And when we make a sum of xG of all shots in a match, we get the number of Expected Goals = the number of goals that team should have scored based on these probabilities. We can do the same for players and get the expected number of goals that a player should have scored.

With growing number of observations (shots from a team or a player) the real number of goals scored should converge to sum of xG of all shots, thanks to the law of large numbers. In the FPL, we can divide all players to three groups thanks to this metric.

If player’s xG is higher than his actual number of goals scored, he was “underperforming” because his high xG suggests that he should have scored more goals. If his xG is equal to his real number of goals scored he was “fairly performing” and he scored exactly the same number of goals as he should have scored. And if his xG is lower than his actual number of goals scored, he was “overperforming” and should have scored less.

Thanks to the law of large numbers, we know that real number of goals scored converge to xG, and we can use this information to predict player’s future performance. If a player has been overperforming (his xG was lower than number of goals scored) we expect that in future matches this player will miss some good chances until his xG meet the number of goals scored. If other player has been underperforming and his xG suggests he should have scored more, we expect that in future matches he will score higher amount of goals and level his xG.

However, this is just a simple view on this problematic and in the reality, the process of levelling xG and the number of goals scored is more difficult.


Metric Expected Goals is a great tool for evaluation of a player or a team performance in Fantasy Premier League. It has its upsides but also a downsides. That is the reason, why we should not judge players only by this metric in isolation, but also use some other metrics to see a bigger picture.

Source: understat

Matej Šuľan

Fantasy Football enthusiast with two top 1k finishes in FPL. Best FPL overall rank: 119th in 2019/20 season. Five top 500 finishes in UCL Fantasy, best overall rank: 23rd in 2018/19 season. Founder of Fantasy Football Reports.