Join The Team!

A signing like no other...

Selected Plan:
Pro w/ API£39.99/m
Season TicketSales Closed
Return to Journal

Understanding Expected Goals (xG)

xG (Expected Goals Explained)

xG, or Expected Goals, is a new metric that has risen to the forefront of the football world, inspiring and sometimes dividing football fans and pundits whilst doing so. In short, xG is a sophisticated model that aims to measure the quality of a chance by calculating the likelihood that it will result in a goal. It calculates this probability by comparing the chance to thousands of others that have come before.

You may see the xG of a single shot recorded as 0.45, for example. This means based on all of the data points available, there is a 45% chance that this shot could result in a goal. The scale is between 0 and 1. It’s important to remember that these models do not care for the individuals on the pitch, they are based on thousands upon thousands of similar shots and patterns of play. This means that the xG generated will not differ if the chance falls to Cristiano Ronaldo or Blackpool’s Jerry Yates.

Below is an image that maps out the xG of recorded shots for Manchester United in a recent home defeat to Wolves:

xG Shot Map

Interestingly, you might notice that some shots inside the penalty area result in lower xG. This is because the models take all surrounding players into account, not just the player taking the shot. Other key variables that are considered are the angle of the shot, type of shot (header, volley, dead ball), quality of the pass, and pattern of play.

Companies such as StatsBomb and yScout provide extensive levels of data to football teams all around the world, and the models used to generate the xG metric are becoming more sophisticated by the year. All xG models are based on video footage that is processed on a computer so that all events, such as passes, movement, tempo, player positions, and much more can be analysed and compiled. All of these variables are considered when determining the xG for an individual shot.

If you have never checked out Tifo on YouTube, then now might be a great time to subscribe to their channel. They offer easy to digest videos on tactics, football philosophy, xG, and more. If you are more of a visual learner, then I would suggested the following video:

If you are interesting in some further reading on xG, I would recommend this book by James Tippett. It was after reading this book that I decided to source and implement xG on OddAlerts.

How To Read xG Stats

As mentioned in the previous section, xG can be overwhelming at first. OddAlerts aims to give you the end result of all the modelling and processing that has come before. When you’re looking at an upcoming fixture in of of Europe’s major leagues, you will be able to see the following:

  • xPTS (Expected Points)
  • xPTS AVG (Average Expected Points)
  • xG (Expected Goals For)
  • xGA (Expected Goals Against)

As with all stats on OddAlerts, you can easily toggle between viewing data across the last 5, 6, or 10 games. You can also view xG data for just a team’s home fixtures, away games, or the combined overall number. The following images shows a comparison between Manchester United and Wolves.

Premier League xG Stats

Viewing these stats alongside the actual goals scored is a great way to see if a team is consistently creating chances. xGA (Expected Goals Against) also gives a solid indication of how good a team is at limiting their opponents. We can see on this image that both Manchester United and Wolves concede an average of ~1.36 xGA per game. Looking at the Premier League xG Stats we can see that ranks Wolves 8th at the time of writing, whilst Manchester United sit 14th in the xGA charts.

If you are an aspiring data analyst (or on the job already), you can obtain and work with the data that makes up xG at granular level. This means viewing a football match as nothing but objects and numbers, seeing the weight behind every pass, the tempo of every move and, of course, the xG of every shot taken. This level of detail is both amazing and overwhelming at first and difficult for the average person, including myself, to digest.

Where To Get xG Stats

If you are betting on the major leagues in Europe and would like the three key metrics for xG, then you can find them here:

You can view each individual league, or all of them combined. Each page will show you the league table that is customisable to fit your needs. You can also view a full list of upcoming fixtures with an xG/g comparison.

Serie A xG Stats

If you are looking for a deeper dive into xG, then I would suggest checking out Understat. You can view the shot positions on there as well as viewing a full xG history per team. Like OddAlerts, Understat supports the five major leagues across Europe. I would also suggest to those that are data-driven to check out FBRef. In terms of data, it’s all there. However, I do find the user interface resembles that of a spreadsheet and on a personal level I find it difficult to navigate.

You can also go right to the source. I attended the StatsBomb conference towards the end of 2021 and I was blown away with the amount of data that football teams are using and the type of analysis they are running in the background. For me, StatsBomb is the market leader when it comes to football data. You only have to look at their list of clients (teams) to understand why. If you are interested in the technical side of xG and seeing just how much data is available, I would encourage you to check out the available talks from this conference and follow along by viewing the open data on the StatsBomb Github.

Finally, I would like to offer a word of warning to anyone betting on football using xG. Make sure the site or service you are relying on for xG is sourcing from a reputable source like OddAlerts or the ones mentioned above. The data that’s required to generate these models and metrics is not widely available for all leagues. In short, if you see anyone offering xG for really obscure leagues, you should probably question the legitimacy of that data.

Written by Joe (Founder @ OddAlerts)

Enjoyed this? Click to share on Twitter