Showing posts with label xG. Show all posts
Showing posts with label xG. Show all posts

Wednesday, March 20, 2019

Top 5 xG Chances

This post was adapted from a post originally published on The Short Fuse:
 

I have been creating these videos on the top 5 chances and 5 least likely goals for a couple weeks and I have really liked how they have turned out.

If you don't feel like looking at me (honestly there isn't that much of me in the video) you can read below on the top 5 chances.

5. Terence Kongolo, Philip Billing and Jason Puncheon

Ok so I’m already breaking my own arbitrary rules here and giving three shots for the 5th spot. The reason that I am doing this is to not only point out that Kongolo’s shot was one of the 5 highest but to also help answer the question of how multiple shots that are all part of one sequence are handled.



This shot was saved and fell to Philip Billing:



This shot was not hit clean and then fell to Jason Puncheon:




Overall, that is 3 shots, with a total xG of 1.43. Yes I know 1.43 is larger than 1, which represents 1 goal, so how is that possible and why didn’t a goal get scored.

Well I am glad you asked. The way that I handle situations like this is by using conditional probability for shots that are part of the same sequence. For this, a new sequence starts when the ball goes out of play, the defensive team takes possession of the ball and completes 3+ offensive actions, or more than 15 seconds elapse between shots (this is a made up cutoff but I feel like after more than 15 seconds a defense should be able to regroup and become set again).

For these 3 shots, they are all part of the same attacking sequence and the xG for the full sequence breaks down like this:




The first shot is treated normally, the second shot depends on the probability of the first shot not being converted into a goal (0.508) and that is multiplied by the xG of that shot and gets you 0.232. The third shot is dependent on both the first and second shots not being goals and that has a probability of 0.276, so you then multiple that by the xG of 0.48 to get an xG for that shot of 0.133. Overall there is an xG of 0.857 for the sequence of 3 shots.

 4. Gonzalo Higuaín




This chance was created by Jorginho playing a gorgeous first time through ball over the top of the Everton defense. Don’t believe the haters who say he only passes sideways Jorginho is bad and Chelsea should look to get rid of him this summer, he doesn’t provide anything for their team besides sterile possession.

Thankfully for Arsenal’s top 4 odds Higuaín didn’t finish this shot and Chelsea went on to lose.

3. Mohamed Salah





This was a great two man counter attack chance by Liverpool. It started with Salah coming back to pressure the ball. Sadio Mané getting to the ball first and then both running like crazy to attack. One of the more interesting parts of this chance was the run taken by Salah that really seemed to confuse Fulham.



Instead of running down the right channel, Salah runs behind Mané and that leaves Arsenal loanee Calum Chambers in the nearly impossible position of having to defend both players. In the end Salah’s shot is saved but it doesn’t change the result for either team.

 2. Sadio Mané




This shot is the result of a one-two with Roberto Firmino. It ends with the ball cut back to Mané to slot home. It is something that Unai Emery would love.

 1. Ryan Babel




This is a situation where xG really underrates the quality of the chance due to a lack of information in the event data.

In the lead up to this shot, James Milner slices a clearance, Virgil van Dijk under hits his back pass header and then Babel wins a 50/50 with a fortunate bounce that leads him all alone with an empty net to shoot at.

It is still rated highly but this should be as close to 1 as xG comes.

Monday, September 4, 2017

5 Highest Quality Chances from Premier League Week 3

A little slow getting this out this week but hey it's an international break and we are all kind of off our regular schedule.

Arsenal fans should probably avoid this week with the amount of shambolic defending that will be featured.

5) Harry Kane vs Burnley



Shot from feet in the center of the box, regular assisted shot, classified as a big chance: 0.40 xG.

Harry Kane just doesn't score in August.

4) Daniel Sturridge vs Arsenal




Shot from head from very close  range, assisted by a cross, classified as a big chance: 0.44 xG

That's about as wide open a header you will get. Sturridge did not miss his chance.

3) Mohamed Salah vs Arsenal




Shot from feet from very close range, following a cross, classified as a big chance: 0.54 xG

This is a really pretty movement from Liverpool to carve open Arsenal, Petr Cech makes a great save to deny a goal. 

2) Dele Alli vs Burnley



Shot from feet from very close range, following a corner, classified as a big chance: 0.76 xG

1) Mohamed Salah vs Arsenal 



Shot from feet from the center of the box, following a fast break, classified as a big chance: 0.77 xG

Not the best corner from Arsenal, a great one man fast break from Salah.

Tuesday, August 22, 2017

5 Highest Quality Chances from Premier League Week 2

I really liked how this turned out last week so I am going to go through this again.

These are the top 5 highest quality chances produced in the Premier League this week with the inputs that went into them and the xG for each chance.

5. Richarlison vs Bournemouth




0.60 xG: Shot from feet, from very close range, from open play, classified as a big chance.

Not all high quality shots are pretty, this helps prove it.

4. Ben Mee vs West Brom



0.61 xG, Shot from head, from very close range, from a corner, assisted with a cross, classified as a big chance.

Headers are hard part 1.

3. Phil Jones vs Swansea City



0.65 xG: Shot from head, from very close range, from a set piece situation, assisted with a cross, classified as a big chance.

A beautiful delivery from Juan Mata on this free kick. Headers are hard part 2.

2. Joel Matip vs Crystal Palace



0.65 xG: Shot from head, from very close range, from a set piece situation, assisted with a cross, classified as a big chance.

Headers are hard part 3.

1. Eric Bailly vs Swansea City



0.79 xG: Shot from feet, from very close range, from a corner, classified as a big chance. 

This is probably underestimating the chance quality because just getting his foot to the shot pretty much means that this is a goal. For those curious Paul Pogba's free header that was saved was a 0.25 xG shot.

Tuesday, August 15, 2017

5 Highest Quality Chances from Premier League Week 1

*Note I am not sure if this will be a reoccurring item or not but I thought I would at least give it a shot for week 1 and see if I like how it turns out.*

These are the top 5 highest quality chances produced in the Premier League this week with the inputs that went into them and the xG for each chance.

5. Mohamed Salah vs Watford


0.6 xG: Shot from feet, from very close range, classified as a big chance.

That pass by Roberto Firmino really makes this goal. Holly crap that was nice. 

4. Shinji Okazaki vs Arsenal


0.61 xG: Shot from head, from very close range, from a corner, assisted by a headed pass, classified as a big chance.

That's some poor goal keeping.

3. Stefano Okaka vs Liverpool


0.61 xG: Shot from head, from very close range, from a corner, assisted from a cross, classified as a big chance.

2. Miguel Britos vs Liverpool


0.61 xG: Shot from head, from very close range, from a corner, regular assist, classified as a big chance. *Also offside

1. Romelu Lukaku vs West Ham


0.82 xG: Shot from foot, from the center of the box, following a fast break, assisted with a through ball, classified as a big chance.

Marcus Rashford did most of the hard work for this goal with his run and beautiful through ball.

Monday, August 14, 2017

My xG models

I as re-start my weekly updates of the stats that I post on Tableau I wanted to get around to writing about my different xG models.

I have already written about where I get my data from (although that doesn't include StrataBet data but that isn't in the xG model right now or any of the stuff on Tableau) and wanted to go into depth on how these numbers are derived.

First is that I have 4 different xG models, they each vary slightly and are dependent on the information at hand. They are all derived using a logistic regression based on Premier League Data from 2015-16 and the big 5 European leagues + Champions League from 2016-17.

The first and most used is what I started out calling Chance Quality last season and then gave up and realized that name will never catch on and switched to following everyone else calling it xG. In Tableau this will be labeled xG.

Here is the formula for this:

(1-(1/(1+((e^(-2.5+(Feet*-0.29)+(Head*-0.71)+(Very Close Range*1.28)+(Six Yard Box*0.39)+Center of the Box*0.45)+(Wide Box*-0.24)+(Outside Box*-0.86)+(Long Range*-1.09)+(More than 35 Yards*-1.59)+(Difficult Angle*0.16)+(Set Piece*0.88)+(Direct Free Kick*1.91)+(Corner Kick*0.71)+(Throughball Assist*0.31)+(Cross Assist*-0.25)+(Headed Pass Assist*-0.28)+(Fast Break*1.59)+(Opta Big Chance*1.94)

All of the variables are either 1 for yes or 0 for no. It is in the simplest taking a look at where a shot was taken based on fairly large sized buckets. Was it set or open play, how was it assisted and was it a fast break or big chance. Overall I have found that this pretty accurately reflects the work done by others and gives numbers that are very reasonable.

The next xG model is looking at Shots on Target which uses the same variable as above but it is based on only shots on target (for this it is very simply saved shots or goals no blocks). I created this because I believe that shooting accuracy is a skill (how much of a skill compared to luck or random variation ¯\_(ツ)_/¯) and also I way to get a rough measure of goalkeepers.

The formula for this is:

On Target*(1-(1/(1+((e^(-1.64+(Feet*-0.54)+(Head*-1.23)+(Very Close Range*1.99)+(Six Yard Box*1.13)+Center of the Box*1.15)+(Wide Box*0.45)+(Outside Box*-0.07)+(Long Range*-0.95)+(More than 35 Yards*-1.28)+(Difficult Angle*0.46)+(Set Piece*1.33)+(Direct Free Kick*1.95)+(Corner Kick*1.32)+(Throughball Assist*0.05)+(Cross Assist*-0.004)+(Headed Pass Assist*-0.37)+(Fast Break*2.78)+(Opta Big Chance*1.33)

The next xG is for when I do not have Big Chance data. Collecting the big chance data is a big pain in the ass, it is very helpful for building the model but it is all collected by hand and it isn't always available at the exact moment. There are also competitions that it isn't published and I wanted to be able to do analysis on those competitions as well. This uses the same variables expect for no big chances.

The formula for this is:

(1-(1/(1+((e^(-2.5+(Feet*0.09)+(Head*-0.46)+(Very Close Range*2.58)+(Six Yard Box*1.18)+Center of the Box*084)+(Wide Box*-.32)+(Outside Box*-1.07)+(Long Range*-1.29)+(More than 35 Yards*-1.8)+(Difficult Angle*0.11)+(Set Piece*0.86)+(Direct Free Kick*1.88)+(Corner Kick*0.51)+(Throughball Assist*1.19)+(Cross Assist*-0.33)+(Headed Pass Assist*-0.29)+(Fast Break*1.9)

The last model is the newest one that I have created and I hope to be able to replace it with the very first one (or even combine the two) and this is used to create the xG Chain stat that I just introduced. This is a very rough model with just six variables but it is good enough that I felt okay publishing and continuing to work on it in the mean time.

The formula for this is:

(1-(1/(1+((e^(-8.26+(Feet*-0.54)+(Head*-1.23)+(X Coordinate*0.06)+(Y Coordinate*0.000074)+(Fast Break*0.93)+(Opta Big Chance*2.37)

At the very least I think that I should be changing the coordinates to distance from center of goal and maybe add the angle. We will see how things work out and I am open to suggestions.

Thursday, April 27, 2017

Premier League Per 90 Shot Stats


I have added Minutes Played to my Premier League database for this season which has allowed me to create per 90 stats which was one of my goals to get added this year.

You can see the full leader board and play around with some filters on the Tableau page.

I am slowly going back and getting the minutes played data for the other European leagues and I hope to have that done before the year is out.

Stats in the above are Current Through 4-27-17 games.

Premier League Shot Quality vs Quantity through games played as of 4/26/17

Updated through games played as of 4/26/17:


Upper Right Quadrant: Lots of shots and good quality shots.

Lower Right Quadrant: Lots of shots but not very good quality.

Upper Left Quadrant: Not many shots but they are at least good quality shots.

Lower Right Quadrant: Not many shots and not very good quality shots. If you are here you are likely battling relegation.

Big 5 Leagues xG Leaderboard

Updated Through games played as of 4/10/17