One of the things that has always interested me is trying to be able to measure shot and chance quality more accurately. I think that xG (expected goals) does a great job rating scoring chances but it misses things that happen after the ball is struck.
Most of that, is that isn’t what the xG as a tool is designed to do and something else is needed to describe that.
On this measure I built a model that called my SoT xG, what it did was basically create an xG rating based only on shots on target and assigning all shots that missed and were blocked a 0 value. This missed the information on where inside the goal that shots were located but it still a good job as a descriptive statistic to help illustrate how shooting accuracy effects scoring.
I’ve always thought that this was pretty good but not as good as I’d like. The next step would be to look at the actual placement of the shot in the goal as that is a big part of determining if a shot turns into a save or goal.
To do this I broke the goal into 21 buckets, 7 across the goal with 3 for height. I would have loved to go smaller but I still wanted to keep the samples a decent size (over 500 shots). For this I used open play shots from the Premier League from the 2014-15 to 2017-18 seasons, plus the other big European leagues from the 2016-17 to 2017-18 seasons.
Below is the rough save rates for each of the zones.
As you would expect, shooting into the corners is better than the middle of the goal.
The next step was making adjustments on shooting distance, this essentially boils down to: if you shoot from further out the keeper has more team to see the ball and can cover more space in the goal. So even if a shot is in the corner it is more likely to be saved.
The next step was an adjustment for the angle that the shot was taken from. The narrower the angle the player is shooting from the less the goal is open and the more likely the keeper can make the save.
Lastly, I used the big chance metric as a proxy for some items that are not included in the event data. A big chance usually means that there is less defensive pressure and a player can better place their shot where the keeper isn’t, even if it isn’t right in the corner according to the coordinates. I think that this also works as a proxy for shot power, if a player has a big chance they are likely able to strike the ball under less pressure meaning a better quality shot. I don’t think this is a perfect proxy and I would gladly replace this with the actual measurements for both but that isn’t possible with the data I have.
So let’s take a look at a few shots for how shot placement xG effects things.
This shot has a lot good going for it, it is close to the goal just 10 meters to the middle of the goal, it also has a very open angle with which to shoot at 54 degrees, it is rated a big chance by Opta and hits into the lower left corner of the goal. I love this goal.
This shot was well taken but I bet if you asked the Fulham keeper, he’d say that even though this is in the corner it still should have been saved. This shot is 25 meters to the center of the goal, because it is so far out the angle to the goal to aim at is also not great at 35 degrees. It is well placed in the lower corner and that gives a 20% rating.
Ahh, the goal of the season.
Like the first this has just about everything going for it. It is just 7 meters to the center of the goal, the angle to aim at is wide open at 60 degrees and finding the bottom right corner really helps things. The only thing that makes this a lower rated shot is that it doesn’t have the “Big Chance” qualifier, it is a good chance but because of where Ramsey is and where the ball was passed to this is not an easy shot to actually get off.
To get an idea how this effects players xG values here are the players who top the shot placement value added for this season (through October 7th matches)
Top 25 Shot Placement Value Added
|Player||SP Added||SP xG||xG||Goal|
|Player||SP Added||SP xG||xG||Goal|
Going through the rest of the season I will be collecting this data and working on getting this added to my historical data.