Analyzing Tottenham Player’s Attacking Contribution, 2016/17 to 2019/20

Article Readability Stats: 1,372 words; Flesch-Kincaid Grade Level = 10.3

Expected goals (xG) and expected assists (xA) have become a major statistic in recent years. Both metrics attempt to assign a value to every shot, with a value of 1 being a certain goal/assist, and 0 being essentially the value that every Sissoko shot had in 2016/17–a 0% chance of going in. Opta gives a great blurb on each of these metrics here. Know that xG and xA take account the location of both the player striking the ball as well as other players’ locations on the pitch (defenders, goalkeeper, teammates), and historical shots/passes from similar locations in similar situations.

We can use xG and xA to measure the attacking contribution of a player or team. For example, in one match you can see how many goals a player should have scored by adding up their xG for each shot. Similarly, you can add up their xA number to see how many assists they should have had that game. You can expand this for a season as well.

The Data and Methodology

As a lover of all things Spurs and data, I had to dig into these numbers. is a great site for visualizing this information, although they offer limited visualizations on the website. They offer data for the Premier League, La Liga, Bundesliga, Serie A, Ligue 1, and the Russian Premier League. I scraped the website with python code (similar to this code) to gather Spurs players’ data from the 2016/17 season through 2019/20. I cleaned the JSON dump and imported it into excel so I can use it with Tableau and later R. I then created my visualizations with Tableau. Please follow this link to see and play around with the visual.

Here is a snippet of the data once it’s in Excel. These are the aggregate numbers for each player over the entire season. There’s more data than just xG and xA, such as actual goals and assists as well as key passes, yellow/red cards, and more.
The first few rows and columns of the data

For my analysis, I use non-penalty xG (npxG) instead of xG. The reason for this is so we can see a player’s open-play contribution. Most teams (Spurs included) have a designated penalty taker, so their numbers can be much higher than others.

I also include the difference between actual non-penalty goals scored and npxG. This metric allows us to see just how clinical a player is, and, technically, whether a player over- or under-performed over the season. I did not use the difference in actual assists and xA because that depends on the finisher. If Trippier sent in an amazing ball to Janssen, for example, but Vinny squandered it, it would “hurt” Trippier’s Assist-xA metric.

For my analysis, I filtered out players who played less than 450 minutes over a season. Somewhat arbitrary, but it is 5*90, so they must have played 5 full games to be included in the sample. For example, Juan Foyth was a Spurs player for more than a single season, but only played more than 450 Premier League minutes in 2018/19.

Last, I calculated each players’ npxG/90 and xA/90. The calculation for that is simple, 90*(npxG/time), since Time is the number of minutes played in the Premier League that season. I used per 90 mins as opposed to per game, because some players may come on for a few minutes in a game–and may not even record a touch.

The Results

Below is an image of the Tableau dashboard, as WordPress does not support Javascript yet. Please follow this link to play around with this data for yourself; you can filter by both columns and rows. For npxG and xA, the Darker Teal represents a higher number, which indicates more contribution. For Goals xG Difference, the Blues represents an overperformance, scoring more goals than their total npxG and Oranges represents an underperformance by scoring fewer goals than their total npxG.

Looking first at xG/90, of course Kane is, unsurprisingly, ranked #1 all 4 seasons. What’s interesting is that Dele was 2nd last season with 0.346 npxG/90, even while in a bad run of form for much of the season. However, he underperformed his total npxG by 0.15. Not the worst on the team, but having fewer goals than xG shows poor finishing or just bad luck. But combining 2 sources of data–objective xG numbers and watching actual games–Dele wasn’t performing exceptionally well. Nowhere close to his 2016/17 season of 0.41 npxG/90 while scoring 3.05 more goals than expected.

These numbers also show how much direct attacking play goes through the right backs as opposed to the left backs. Trippier and Aurier always have higher xA/90 than Davies or Rose. In fact, in 2018/19, Aurier was 4th and Trippier 5th on the team. 2017/18, Tripper was 5th, Aurier 6th. And Trippier was 1st in 2016/17, but Walker was 10th with Davies 3 spots above him. Trippier also had the highest xA/90 in 2016/17, at a crazy 0.443–the highest number over the last 4 seasons.

Again, we can add observational data into the mix (more data sources are always better!): Tottenham’s right backs push up very high and send crosses into the box or attack the box and pass across the face of the goal. Left backs, while still very much a part of the buildup, send in fewer crosses and pass back to a midfielder who has advanced–like Eriksen, Lamela, or recently Lo Celso or Ndombele–who then deliver a final pass leading to a shot.

A way to show the above claim is by looking at xGBuildup/90, which is similar to xG and xA, but for passes leading to an assist or shot. Being more involved in the buildup leads to a higher number. It does not include xA and xG numbers. This post from StatsBomb gives a better explanation. Have a look at this information below, which you can play around with here. Darker blues represent a more xGBuildup and more contribution.

When we look at this metric, Aurier and Davies have virtually the same numbers for the last 2 seasons, and Aurier, Trippier, and Davies typically have similar numbers each season. In 2016/17 and 2018/19, Rose is much lower than the other fullbacks, showing his declining ability in attack that–coupled with his defensive liabilities and googling escapades–led to Davies taking his starting spot. Comparing xGBuildup/90 and xA/90, we can see that buildup involves both fullbacks, but final balls typically come from the right backs, not the left backs.

As a fun side note, Good ol’ Vincent Janssen (who was amazing in The Netherlands before flopping at Spurs) ranked 3rd in 2016/17 for npxG/90… but underperformed by a devastating 2.66 goals. His -2.66 is by far the worst on the team that season, and actually the worst of the past 4 seasons (Llorente a close second recorded a -2.50 in 2018 but is forgiven for his Hip Goal in the Champions League). Sadly, he never made the grade at Spurs.

Another interesting piece of data is Victor Wanyama having the highest xGBuildup number over the last 4 seasons, at 0.505 in 2018/19. Even while being injured and not at his 2016/17 best, he was still a vital part of anchoring the midfield and recovering balls.

The Conclusion

This was a basic overview of Spurs players’ attacking contribution using xG, xA, and XGBuildup. I focused mainly on the fullbacks, because they are–in my opinion–the most interesting cases to look at and compare. Spurs rely on both fullbacks in the buildup, but the right backs are much more important for sending in a final ball than the left backs. A caveat to this is that Davies is inherently a different player than an Aurier or a Trippier, or even a Rose. I would like to go further back in the data to see if the seasons with Rose-Walker flying up the wings exhibits similar xA/90 and xGBuildup between the two fullbacks, or if it is still skewed towards the right back sending in final balls.

1 Comment

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s