If you’re good on xG and just looking for data, all our expected goals data can be found in our interactive tables.
What are expected Goals?
A more wonky and mathy explanation is below, but here's the basic gist: expected goals (xG) are the number of goals that can be expected to be scored based on where and how a shot was taken. We all know that a shot in the six yard box is more likely to go in than a shot from outside the 18. Similarly, a shot taken with the shooter's foot is more likely to score than one taken with their head. We can combine these things - shot location and type - and assign it an "expected goal" value.
Think of it like field goal percentage in basketball, only instead of being specific to that player, it’s specific to that place on the field under those circumstances.
For example, the relatively easy tap-in by Kaka in the video above was worth 0.93 xG, which means that a shot like that one goes in 93% of the time.
Conversely, this absolute goalazo by David Villa was only worth 0.009 xG, or about 1/111th of a goal. Put another way, a shot from there only goes in once every 111 times it's tried.
And we can take it beyond expected goals to expected assists (xA), too. The shot below from Christian Ramirez was worth 0.762 xG, and it was put on a platter by Latif Blessing. Though Blessing doesn’t get an assist for doing everything right, he still gets credit for 0.762 xA even though the shot didn't go in.
So in short, expected goals are however many goals can be expected to be scored, based on all the information we have about the play. If you want to see how they break down, check out our expected goals by team, player, keeper, and game.
That’s it! It’s really much easier to get than some would make it seem. If you want to know how we built the model then keep reading, but that’s expected goals in a nutshell.
_______________________________________________________
Details on ASA's Expected goals model
Expected Goals 3.0 takes our data to another level of detail. Below we have articulated the key improvements, but a more formal explanation of the methodology can be found here.
Shot Location
Before, it was just six zones, but now we have shot distances, measured in yards from the center of the goal mouth. But distances don't tell the whole story without angles. All shot locations are measured by angle off center, and then converted into width of goal mouth available to the shooter. On a shot from straight on, a player "sees" all eight yards of the goal width, whereas from an extreme angle, a player may only have a yard to work with.
Goal Mouth Placement
As with shot location, we used to only have six placement zones within the goal mouth. Now we have the ball's height and distance from the center of the goal mouth. This adds to our ability to rate keepers' abilities to make difficult saves, as well as identify shooters' placement tendencies.
The combination of shot location and goal mouth placement leads to information about how far the keeper had to dive to reach the ball. Without knowing the keeper's position at the time of the shot, what we do is indicate how far he would have had to dive if he had positioned himself in the optimal location geometrically.
Passing
In addition to the typical patterns of play (like set pieces or the regular run of play), we now indicate whether the shot was assisted, and if so, whether it was via cross, through ball, or neither. Crosses detract from the shot's likelihood to go in, while through balls increase a shot's likelihood of going in. Teams getting a lot of chances off crosses must win the quantity battle, because they won't likely win the quality battle.
Not only do we have more passing details, but we can link key passes back to the passer. Key passes are passes that lead directly to a shot. You will now find a new stat on the players page: xAssists. These measure the Expected Goals value of all shots for which a particular player passed the ball.
The Models
The expected values of shots were determined using a logistic regression, and three distinct models were created: one for teams, one for shooters, and one for goalkeepers. Those models are given below.
Shooter/Team Model | Estimate | Std. Error | Z-value | P-value) |
---|---|---|---|---|
Intercept | 4.172 | 0.170 | 24.589 | 0.000 |
Distance (log-yds) | -2.353 | 0.047 | -50.056 | 0.000 |
Goal Mouth Available (quadratic-yds) | -0.026 | 0.007 | -3.785 | 0.000 |
Goal Mouth Available (yds) | 0.069 | 0.019 | 3.716 | 0.000 |
Headed (binary) | -0.648 | 0.066 | -9.746 | 0.000 |
Cross (binary) | -0.380 | 0.061 | -6.206 | 0.000 |
Through ball (binary) | 0.909 | 0.074 | 12.292 | 0.000 |
Corner (binary) | -0.622 | 0.064 | -9.753 | 0.000 |
Free kick (binary) | 0.539 | 0.117 | 4.592 | 0.000 |
Indirect Free kick (binary) | -0.192 | 0.080 | -2.393 | 0.017 |
Fastbreak (binary) | 0.680 | 0.106 | 6.397 | 0.000 |
Penalty (binary) | 2.735 | 0.134 | 20.336 | 0.000 |
Goalkeeper Model Inputs | Estimate | Std. Error | Z-value | P-value |
---|---|---|---|---|
Intercept | 5.233 | 0.228 | 22.944 | 0.000 |
Distance (log-yds) | -2.774 | 0.070 | -39.571 | 0.000 |
Goal Mouth Available (quadratic-yds) | -0.025 | 0.008 | -2.942 | 0.003 |
Goal Mouth Available (yds) | -0.138 | 0.023 | -5.913 | 0.000 |
Headed (binary) | -0.896 | 0.092 | -9.722 | 0.000 |
Cross (binary) | -0.146 | 0.084 | -1.743 | 0.081 |
Through ball (binary) | 0.516 | 0.089 | 5.792 | 0.000 |
Corner (binary) | -0.115 | 0.085 | -1.347 | 0.178 |
Free kick (binary) | 0.377 | 0.139 | 2.703 | 0.007 |
Indirect Free kick (binary) | 0.010 | 0.106 | 0.093 | 0.926 |
Fastbreak (binary) | 0.507 | 0.130 | 3.904 | 0.000 |
Penalty (binary) | 2.038 | 0.180 | 11.346 | 0.000 |
Lateral Distance to Shot (yds) | 1.093 | 0.033 | 32.845 | 0.000 |
Goal Mouth Height Deviation (from 3.5 feet) | 0.266 | 0.025 | 10.499 | 0.000 |
Goal Mouth Height (feet) | 0.129 | 0.013 | 10.122 | 0.000 |