Mid-Season Goalkeeper Review

Having descended into the quagmire of defensive metrics and never really returned, I thought it was about time to break my 2016 duck and publish something. Given that I occasionally spot people arguing in obscure forums pointing at the last iteration, I thought it was time to update my keeper ratings:

Keeper Mins Shots Saves Goals Save % Expected Saves ± Expected Average Difficulty Rating
Mark Bunn 188 6 5 1 83% 3.87 1.13 35.56 129.32
Fraser Forster 188 1 1 0 100% 0.86 0.14 14.45 116.89
Michel Vorm 94 1 1 0 100% 0.86 0.14 14.06 116.36
Karl Darlow 94 4 3 1 75% 2.62 0.38 34.53 114.56
Paulo Gazzaniga 187 11 8 3 73% 7.07 0.93 35.72 113.14
Alex McCarthy 565 34 29 5 85% 26.28 2.72 22.70 110.34
Sergio Romero 375 9 7 2 78% 6.47 0.53 28.14 108.24
Darren Randolph 286 12 8 4 67% 7.43 0.57 38.08 107.67
Adrián 1790 89 69 20 78% 64.11 4.89 27.96 107.62
Joe Hart 1871 60 46 14 77% 43.38 2.62 27.71 106.05
Hugo Lloris 1963 67 51 16 76% 48.10 2.90 28.20 106.02
Jack Butland 1972 100 78 22 78% 73.66 4.34 26.34 105.89
Declan Rudd 751 40 28 12 70% 26.51 1.49 33.73 105.63
Petr Cech 1967 86 68 18 79% 66.03 1.97 23.22 102.99
Kelvin Davis 95 7 5 2 71% 4.87 0.13 30.43 102.67
David de Gea 1591 64 46 18 72% 44.98 1.02 29.72 102.27
Heurelho Gomes 1948 83 60 23 72% 59.92 0.08 27.80 100.13
Thibaut Courtois 997 52 36 16 69% 35.99 0.01 30.79 100.03
Costel Pantilimon 1599 103 71 32 69% 71.01 -0.01 31.06 99.99
Kasper Schmeichel 2079 86 60 26 70% 60.21 -0.21 29.99 99.66
Artur Boruc 1604 62 38 24 61% 38.25 -0.25 38.31 99.35
Tim Howard 2069 107 75 32 70% 77.08 -2.08 27.96 97.30
John Ruddy 1316 63 38 25 60% 39.45 -1.45 37.37 96.31
Wayne Hennessey 1498 50 33 17 66% 34.45 -1.45 31.11 95.80
Tim Krul 754 49 33 16 67% 34.61 -1.61 29.36 95.34
Lukasz Fabianski 1979 85 56 29 66% 59.45 -3.45 30.06 94.19
Vito Mannone 376 23 15 8 65% 15.94 -0.94 30.69 94.09
Boaz Myhill 2077 92 63 29 68% 66.98 -3.98 27.19 94.05
Simon Mignolet 1889 65 42 23 65% 44.66 -2.66 31.29 94.04
Robert Elliot 1224 63 42 21 67% 44.82 -2.82 28.86 93.72
Willy Caballero 187 17 12 5 71% 12.83 -0.83 24.55 93.55
Asmir Begovic 1079 50 33 17 66% 35.75 -2.75 28.50 92.31
Brad Guzan 1897 99 64 35 65% 71.53 -7.53 27.75 89.48
Maarten Stekelenburg 1599 49 30 19 61% 34.38 -4.38 29.83 87.26
Jordan Pickford 93 11 7 4 64% 8.10 -1.10 26.40 86.47
Adam Federici 422 24 11 13 46% 13.16 -2.16 45.15 83.56
Adam Bogdan 93 5 2 3 40% 2.90 -0.90 42.03 69.00

So many narratives, so little time:

  • If only they’d dropped Guzan sooner – Bunn in his tiny sample has risen to the top of the class. Similarly, Southampton have finally got Forster back again and they too aren’t looking back.
  • Tim Howard isn’t that bad, get over it.
  • Petr Cech isn’t single-handedly winning Arsenal the title, get over it.
  • Jordan Pickford didn’t have the best of times deputising for Costel Pantilimon, the mathematical definition of the average goalkeeper.
  • Artur Boruc has slowly clawed his way back, and Bournemouth are no longer conceding every time their opponents so much as look at the ball.
  • Someone needs to rescue Alex McCarthy, he should have been going to the Euros this Summer.
  • Adrian is a pretty solid number 1 given the minutes under his belt.

Anyway, apologies for the wait. Lots of stuff I can’t talk about is going on behind the scenes, but there will be some cool stuff up here soon enough. Well, hopefully.

Mid-Season Goalkeeper Review

Expected Goals’ Greatest Partnerships

I thought it would be fun to have a look at players that had great chemistry through the years. Specifically: which two players generated the highest average chance quality when one passed to the other to shoot?

Here’s the top 20 producers and consumers (10 shots assisted or more):

Producer Consumer Shots Chance Quality
Luis Suárez Daniel Sturridge 13 0.2253
Gregory Van der Wiel Zlatan Ibrahimovic 11 0.2138
Franck Ribéry Mario Mandzukic 17 0.2026
Luis Suárez Neymar 18 0.2015
Theo Walcott Olivier Giroud 14 0.2009
Pablo Zabaleta Edin Dzeko 11 0.2002
Theo Walcott Robin van Persie 23 0.1998
Lukasz Piszczek Robert Lewandowski 11 0.1975
Vieirinha Bas Dost 12 0.1957
Sofiane Feghouli Paco Alcácer 14 0.1934
Daniel Sturridge Luis Suárez 12 0.1895
Thomas Müller Robert Lewandowski 21 0.1883
Jonathan Biabiany Amauri 14 0.1861
David Alaba Thomas Müller 13 0.1859
Gonzalo Higuaín Cristiano Ronaldo 14 0.1850
Ryan Giggs Javier Hernández 16 0.1846
Marcel Schäfer Bas Dost 11 0.1829
Marcelo Karim Benzema 13 0.1824
Gareth Bale Cristiano Ronaldo 47 0.1821
Alexis Sánchez Lionel Messi 21 0.1816

But this is selfish – what about reciprocal relationships? These are the highest average pairings based on chance quality created for each other:

Partnership Shots Chance Quality
Luis Suárez Daniel Sturridge 25 0.2081
Alexis Sánchez Lionel Messi 35 0.1731
Thomas Müller Mario Mandzukic 22 0.1675
Gareth Bale Cristiano Ronaldo 61 0.1664
Luis Suárez Neymar 34 0.1657
Theo Walcott Robin van Persie 39 0.1607
Luis Suárez Lionel Messi 34 0.1574
Henrikh Mkhitaryan Pierre-Emerick Aubameyang 33 0.1546
De Marcos Aduriz 29 0.1512
Aaron Ramsey Olivier Giroud 27 0.1506
Sergio García Christian Stuani 43 0.1502
Cesc Fàbregas Alexis Sánchez 24 0.1462
Jérémy Menez Zlatan Ibrahimovic 31 0.1447
Lionel Messi Pedro 53 0.1433
Karim Benzema Cristiano Ronaldo 93 0.1418
Juan Mata Fernando Torres 40 0.1414
Gareth Bale Karim Benzema 36 0.1396
Mario Götze Robert Lewandowski 41 0.1394
José Callejón Gonzalo Higuaín 38 0.1385
Raheem Sterling Luis Suárez 38 0.1383

The lesson you should take away from this? Even ignoring the biting and racist abuse, you really want Luis Suárez on your side.

Expected Goals’ Greatest Partnerships

The Case of the Missing Throughball, and Other Mysteries

Ben Torvaney noted last night that the number of throughballs per game looks like it’s been going down. It’s a pretty pronounced trend:

Count Completed Completion %
English Premier League 4450 1717 39%
2012 1655 596 36%
2013 1286 496 39%
2014 1132 460 41%
2015 377 165 44%
French Ligue 1 3738 1534 41%
2012 1605 593 37%
2013 942 378 40%
2014 825 411 50%
2015 366 152 42%
German Bundesliga 2333 1309 56%
2012 1115 550 49%
2013 715 432 60%
2014 401 254 63%
2015 102 73 72%
Italian Serie A 4985 2114 42%
2012 2789 1123 40%
2013 971 478 49%
2014 943 400 42%
2015 282 113 40%
Spanish La Liga 5601 2010 36%
2012 2146 745 35%
2013 1478 549 37%
2014 1559 557 36%
2015 418 159 38%
UEFA Champions League 1913 801 42%
2012 713 270 38%
2013 458 203 44%
2014 479 211 44%
2015 263 117 44%

If you were to take this at face value, it would be a hugely significant result: throughballs create high quality chances, and in the space of three or four years, defences appear to have discovered how to suppress them.

That’s obviously possible, but I strongly suspect that this is an issue with the way the data is being created. This is probably one of those things that you’re not supposed to talk about, and I don’t want to bite the hand that feeds this blog, so I hope the powers that be will consider this a good-faith bug report, and not the whining of an uppity lamprey complaining about the quality of the scraps it feeds off. Either way,  I caution you to look at any conclusions you make about a team or player’s output based on their number of throughballs over the last few years.

Just so we’re all on the same page, here’s the official definition of a throughball, which by all accounts has remained constant:

A throughball is a pass event which splits the defensive line, creating an attacking opportunity.

It’s difficult for us to confirm one way or another that a pass ‘splits the defensive line’ without watching every game. One thing we can notice from the table above is that conversion rates in some leagues seem to be going up. Perhaps that’s our first clue – is the ‘creating an attacking opportunity’ part being more strictly enforced? Perhaps failed throughballs are less likely to be throughballs.

Another clue is if you look at the next match event after a pass tagged as a throughball:

Season Clearance Interception Keeper Pass Shot
2012 10.13% 14.64% 22.58% 23.06% 13.81%
2013 7.79% 12.37% 26.83% 19.76% 17.25%
2014 8.71% 12.72% 27.17% 18.05% 18.20%
2015 6.80% 13.77% 27.27% 17.87% 20.13%

I’ve included only the types of events that seem to show a change. There are some interesting trends here:

  • Clearances have dropped as a proportion of next events. This backs up the theory that unsuccessful throughballs aren’t as likely to be tagged as such.
  • That said, interceptions have remained steady as a next event, however.
  • Balls that make it through to the keeper have increased somewhat as a proportion, up 5 percentage points from 2012-2014.
  • Throughballs that then set up a another pass have seen a big decline. Perhaps the interpretation of ‘creating an attacking opportunity’ doesn’t cover moves that aren’t as direct.
  • Shots have seen the biggest proportional rise from 2012-2014, which backs up the previous statement – the definition of throughballs seems to be increasingly focused on direct attacks.

There are possible footballing explanations for each of these trends. Maybe the Manuel Neuer effect has taken hold on goalkeeping across the leagues, keepers are pushing up and claiming the ball more, and that explains the increase in keeper touches after throughballs, for example. But overall, taking the absolute numbers, and examining some of the wider context, I’m suspicious.

If anyone can shed any light on the numbers, or has a genuinely persuasive argument that tactics have changed over the last few years, I’m all ears.

The Case of the Missing Throughball, and Other Mysteries

EGMAYO, An Injury Impact Metric

Different injuries have different impacts. In this article I am going to look at how historical injuries have affected teams from the perspective of expected goals. Given each squad member’s xG per 90, and the number of games they missed, what’s the total amount of xG that was sidelined in a season?

I call this metric EGMAYOExpected Goals Missed due to the Absence of Your Offence. Here are the top 10 EPL seasons by EGMAYO:

Season Team EGMAYO
2014 Arsenal 26.9
2010 Arsenal 23.3
2013 Arsenal 22.9
2012 Manchester City 19.4
2014 Liverpool 17.7
2013 Manchester City 17.4
2014 Manchester City 17.2
2014 Newcastle United 15.0
2011 Manchester United 14.8
2012 Manchester United 14.2

This indicates it’s not necessarily overly dramatic to point out that Arsenal’s injuries have had a big impact. Their lowest EGMAYO season was 2012, scoring 7.1, against an overall EPL average since 2010 of 6.7. Man City were title runners-up in their worst EGMAYO season:

Season Team Player Games Chance Quality per 90 Chance Quality missed
2012 Manchester City Jack Rodwell 18 0.36 6.42
2012 Manchester City Sergio Agüero 7 0.45 3.18
2012 Manchester City Micah Richards 22 0.12 2.67
2012 Manchester City Maicon 16 0.15 2.43
2012 Manchester City Mario Balotelli 4 0.53 2.12
2012 Manchester City David Silva 3 0.23 0.69
2012 Manchester City Aleksandar Kolarov 6 0.10 0.57
2012 Manchester City Vincent Kompany 7 0.06 0.42
2012 Manchester City Samir Nasri 2 0.16 0.32
2012 Manchester City Javi García 3 0.09 0.28
2012 Manchester City James Milner 2 0.12 0.23
2012 Manchester City Pablo Zabaleta 1 0.08 0.08
2012 Manchester City Joleon Lescott 2 0.02 0.03

Obviously it’d be far more interesting if we could better capture Vincent Kompany’s 7 game absence from City’s back line, or David Silva’s expected assists missed in his 3 games, but we’re not there yet, which brings me to:


Sometimes my kids go up to a box of toys and just empty it onto the floor, play briefly with a couple of things, and then bog off to let mummy and daddy deal with it. Perhaps I haven’t made this abundantly clear, but this is very much my approach to football stats. I enjoy cutting data up, throwing it haphazardly on the floor, and seeing what it looks like, especially to other people. I intend to return to this later to clean up, but I’d like to make a few things clear:

  • This metric takes no account of the squad members that come in and replace injured players. Obviously these replacements have their own output in terms of xG, which may even exceed the injured player. Ideally, we would capture all of this in a similar way to Chad Murphy’s model, or even in more detail to capture the strength of schedule faced during each injury.
  • It takes no account of the importance of midfielders, defenders or goalkeepers. It’s only interested in the xG per 90 of a injured players, and therefore is weighted heavily in favour of strikers. I’m merely using it as one way to look beyond raw injury stats, I’m not saying it’s the final destination.
  • The EGMAYO calculation uses the same season as the injury for xG per 90, so players injured early on, or starting the season injured, aren’t measured particularly accurately.

So, I know all that, don’t point it out – I’m working on it. I just want to get this up for discussion’s sake, because it adds more context to articles like this in the Telegraph today. Comments welcome here, or on Twitter.

EGMAYO, An Injury Impact Metric

101 Weird Injury Stats

Everybody likes lists, and I’ve become interested in injury data, so today I’m going to attempt to give you ONE-HUNDRED AND ONE FORTY-THREE unbelievable and fascinating injury stats!

Some caveats before we begin: I only have access to data that’s public on the web, there’s a lot of junk so in some cases I’ve disregarded data that doesn’t seem to add up, and I’ve avoided including career-ending (or indeed life-ending) injuries and illnesses in individual stats, although they will show up in aggregate stats.

I should also point out that I am not a doctor, so I am not going to attempt to group injuries together in sensible ways beyond what’s absolutely obvious. I literally do not know what the knee bone is connected to. Do knees even have bones? What are bones? I don’t know, I only have data and find the human body disgusting. Let’s move on:

  1. Most injuries suffered by a player: 41, Franck Ribéry
  2. Most injuries suffered by a team: 409, Werder Bremen
  3. Longest individual injury: 1064 days, Shaun Barker
  4. Most days spent injured: 1568, Tufan Tosunoğlu
  5. Most days lost by a team to injuries: 15482, Werder Bremen
  6. Most injured body part: Knee, 2694+
  7. Shortest average injury: contused laceration, 4 days
  8. Longest average injury: fractured tibia and fibula, 246 days
  9. Shortest recovery time from fractured tibia and fibula: 44 days, Jan Fitschen
  10. Shortest recovery time from fractured tibia and fibula that I can check by Googling: 128 days, Neil McCann
  11. Longest recovery time from fractured tibia and fibula: 807 days, Christian Muller
  12. Most games lost in total across all leagues to an injury: 34366, Cruciate ligament rupture
  13. Most recurrences of same injury: 10, Tim Petersen, Knee injury
  14. Most different types of injury suffered: 33, Sven Bender
  15. Number of times I’ve got worried I’m not going to get to 101: 1
  16. Most injuries by league since 2012/13: 1081, German Bundesliga
  17. Least injuries by league: 231, French Ligue 1
  18. Most games lost to injury by league: 8954, English Premier League
  19. Least games lost to injury by league: 1569, French Ligue 1
  20. Most days lost to injury by league: 58457, English Premier League
  21. Least days lost to injury by league: 10201, French Ligue 1
  22. Most injuries suffered by a team in a single season: 79, Werder Bremen, 2008/9
  23. Most games lost to injury by a team in a single season: 294, Werder Bremen, 2008/9
  24. Least games lost to injury by a team in a single season: 6, Montpellier, 2011 (not entirely sure I trust the data)
  25. Most injuries suffered by an EPL team: 266, Arsenal
  26. Most games lost to injury by an EPL team: 2184, Arsenal
  27. Most games missed by an EPL player: 250, Abou Diaby
  28. Most different players injured: 85, Arminia Bielefeld
  29. Most different players injured in a single season: 30, AC Milan, 2011/12
  30. Most different players suffering same injury: 28, Austria Vienna, Illness
  31. Biggest outbreak of illness or flu at a club: 11 players, Austria Vienna, 2009
  32. Most different players suffering same injury in a single season: 13, Dundee Utd, Knee injury, 2014/15
  33. Most seasons a team has experienced the same injury: 10, Arsenal, Thigh problems
  34. Number of players relapsing within 1 game: 32, e.g. Vincent Kompany
  35. Longest time between relapses: 2732 days, Leighton Baines, Malleolar injury, 2007 & 2015
  36. Number of people who believed I would actually be able to come up with 101 of these: 0
  37. Fewest games missed for a title-winner: 6, Manchester City, 2011/12
  38. Most games missed for a title-winner: 351, Bayern Munich, 2014/15
  39. Most games missed or a relegated team: 318, Queens Park Rangers, 2014/15
  40. Fewest games missed for a relegated team: 40, Blackburn rovers, 2011/12
  41. Highest coefficient of variation among injury layoffs (10 or more incidences): 302.5%, Pneumonia
  42. Lowest coefficient of variation among injury layoffs:  37.8%, Cruciate ligament surgery
  43. R2 of career games missed to challenges (tackles, aerials, take ons): 0.0128

Okay, so, ran out of steam a bit and I think I’ve tweaked my anterior SQL ligament. If you are not satiated and have any particular stat requests, just ask on Twitter. I will of course be attempting to do some more serious work with this stuff in the coming weeks, but I just wanted to see what the data look like.

In the meantime, sort yourselves out Arsenal and Werder Bremen, you need to learn what serious pain is.

101 Weird Injury Stats

Arsenal’s Injury Woes: Changing Directions

An interesting conversation broke out on Twitter tonight about the timeless mystery of Arsenal’s injury record. Personally, I’m with Raymond Verheijen – Arsene Wenger should stop holding Running Man style training sessions with chainsaws and stuff, that’s just common sense. But what other factors might be at play?

Naveen Maliakkal wondered if something about Arsenal’s style might contribute:

I’d love to see how much recover sprinting arsenal have to do since they don’t rely enough on stopping counters high up the pitch and instead trying to recover into deep positions then from rather deep positions they attempt to counter. Essentially it seems like then play a style that relies a lot on covering large distances quickly.

This piqued my interest, and I wondered if all this running backwards and forwards might be quantifiable. So I came up with a simple approach:

  1. For every player, take the list of their touches in a game.
  2. Split them into sets of three – (1) where the player was, (2) where they currently are and (3) where they will be next.
  3. Draw a line between 1 and 2, and 2 and 3.
  4. Calculate the difference in angle between these two lines, i.e. how much the player has to turn.
  5. Sum all of this for each team in each season.

Picture some examples:


So, three touches, all going forwards in a straight line is an angle of zero – the player hasn’t turned at all. Turning either direction, left or right, is measured the same, and of course the maximum angle is 180° if the player makes a forward touch and then goes directly backwards to make another. The numbers below are actually done in radians, but I didn’t want to frighten anyone.

Whether or not that makes sense, what it roughly measures is how much back and forth in total each team’s bodies have had to go through. Guess who put in five out of the top ten EPL seasons?

Season Team Total Angle Turned
2014 Manchester City 117061
2013 Arsenal 114293
2012 Arsenal 112857
2014 Arsenal 112388
2013 Swansea City 112267
2011 Arsenal 111055
2014 Manchester United 110062
2011 Manchester City 110017
2010 Arsenal 109965
2010 Chelsea 109663

Arsenal appear five times in the top ten – year after year, their players are changing direction more than pretty much any other team.

Now, let me throw some caution on this approach:

  • I don’t take timestamps into account, so you don’t know if there’s a second or five minutes between touches, but this is the same for all teams and is hopefully evened out in the aggregate.
  • This doesn’t capture how players actually move, as they can run sideways and backwards.
  • Arsenal would necessarily appear at the top, because they are a dominant, attacking team that has lots of possession and moves the ball around a lot (like the Manchesters and Chelseas you see up there). This is also true, but maybe playing well hurts.
  • I haven’t checked the correlation between these numbers and historical injury data. For example Newcastle don’t place highly here but are having a nightmare this season, with 10 players out. I’ll attempt to gather some data tomorrow to see what correlation exists.

But at the very least, the fact that Arsenal hover near the top of the list every single year is intriguing, and I must thank Naveen again for pointing this out.

Arsenal’s Injury Woes: Changing Directions

State of the Stats 2015

I published a survey this week, asking people about their interest in football stats and analytics, their ambitions and skills. I could and probably should have asked a lot more: it’d be cool to know where you’re all based and what teams you support, if only to confirm that statsworld is a sea of Tottenham and Arsenal fans. It would have been good to quantify just how few smart women have a voice in the football stats community.

So I dropped the ball on that, but I think we have some interesting data besides. I’ve only been writing here for a month or so, and I took the somewhat circuitous route into football stats of following Ted Knutson back when he edited a Magic: the Gathering website. Because of that, I’m intrigued as to what’s holding more people back from writing, theorising, and generally contributing to the ruckus. Let’s find out!


I got 79 responses in the couple of days the survey was up – thanks to everyone that contributed, and to those that retweeted the link! Of these responses, 13 work at clubs professionally, and we’ll look at that in more detail later.


It’s a weird feature of the statosphere that everyone seems to assume everybody else is young. Scamps like the Analytics FC mandem and student-bedroom YouTube sensation Joel Salamon distract us from some of the more venerable members of the community. What’s the truth?


This is pretty left-leaning, and more pronounced when we just focus on the analysts at clubs:


The good news is, if you’re young and interested in football stats and analytics, the only barrier between you and clubs is how good you are and how you can get noticed. It’s also possible that most 35-year-olds don’t sit around all day filling out dumb online surveys because they have tons of work to do, I’m not sure.


One of the survey’s main motivations was finding out how many people were already involved in doing stats work, how many wanted to be, and what might be holding them back. Let’s look at what our respondents are up to:


I like the blogging numbers – it’s nice to see that people are taking the advice to just get themselves out there – a good 60% of people who can see themselves blogging about stats have already taken the leap. People aren’t lying when they say that if you make good stuff, it’ll get noticed.

People’s ambitions here are pretty clear – getting into professional football clubs is most people’s dream, but one only realised for a few at this stage. More seem to want to do consultancy than take a full-time job at a club, perhaps just because the jobs are thin on the ground – I would still assume the median number of full-time stats people at Premiership clubs is zero.

There are also surprisingly few getting paid to write about stats. Outside of the echo chamber, there clearly isn’t an enormous market for stats-heavy pieces, but it’ll be interesting to see how this number changes as time progresses and the wider media incorporate more stats content.

Also worth noting the smallish numbers of people in academia. Given the dearth of paying jobs in the media, the limited number of jobs at clubs and the generally secretive nature of cutting edge work, I personally think it’d be great to see people in academia taking more of a leadership role in the stats community, but maybe my Twitter feed isn’t representative and I’m missing stuff.

Podcasting is increasingly popular, with Analytics FC hosting a series of impressive guests, and I missed off video as a medium, which is sad because in addition to Joel’s excellent videos (and their very entertaining comments sections), I think we can all agree that this is the single greatest contribution to football analytics.


Given the hopes and dreams above, what’s holding us back? The survey asked about the biggest barriers holding back the community:


The two on the left are the most common complaints I see on the Twitter statosphere. Data is the lifeblood of stats work and it’s either very expensive to acquire, or time consuming and of dubious legality. The latter point’s important: even today, WhoScored took out a gun and aimed it at their foot in response to Joel’s latest video:


The situation gets even more complicated when it comes to positioning data, the holy grail for a lot of analysts. Clubs are in an odd situation that they have to opt-in to a sharing agreement to get positioning data about other clubs, and so there’s only a small handful that have any data at all. That’s a function of paranoia and also presumably a lot of clubs not having the resources to do anything useful with the data.

About data, I will just say this: in 10 years time, you will be able to create all the data that Opta and Prozone produce using smartphone-level video and open source computer vision software on your laptop. If someone with the resources of Google wanted to, they could do this in the next couple of years, for every match in the world. I do not believe for a second that the data side of the industry is a valuable long term investment, except in cases of really privileged information like training performances or behind closed doors in academies.

Opta and Prozone will thrive on having the best researchers working for them, in tandem with the best tactical minds at clubs. WhoScored and Squawka will thrive on having the best writers working for them, making this stuff accessible and interesting.

The best way for these companies to find this talent, it appears to me, is to free the data and hire everybody you think does something interesting with it. Maybe that’s naive.

Anyway, enough of that. Elsewhere, there is a lack of stats-focused content in the media. It’s been a year of progress – you’re almost as likely to hear “expected goals” on your TV these days as you are “rainy Tuesday night in Stoke”. It’s also been a year of recurring beef, with Neil Ashton’s seminal air-conditioning piece in the Mail and the fallout from Brentford’s misadventures in the managerial market.

All you can do is keep writing, make it accessible, and hope that narratives in the stats community pan out enough that you can build trust. I certainly think it would have been great for the media to pick up on the West Ham over-performing story, it’d be money in the bank for stats people. Make content that wins people arguments in the pub, and bit by bit people will become more accustomed to thinking about stats.

Getting Data

If data’s the biggest barrier to entry or progress in football stats, how are people getting it today?


The most common thing to do is look at sites with accurate, timely raw numbers like WhoScored. Don’t scrape them and get in trouble, but do note that Squawka’s terms and conditions say this:

You are not permitted to use this website other than for private, noncommercial purposes. Use of any automated system or software to extract data from this website for commercial purposes (“screen scraping”) is prohibited. Squawka reserves its right to take such action as it considers necessary, including issuing legal proceedings without further notice, in relation to any unauthorised use of this website.

So for non-commercial purposes, maybe you’re fine. Ask your lawyer.

Kudos to the 13 people out there manually collecting stats. You can use tools like John Burn-Murdoch‘s pitch tracker to create data, and with enough time maybe you’ll have the best data in the world about set pieces or something.

In addition to these numbers, 44% of respondents to the “how do you manage football data?” say they keep a list of bookmarks to manage data. I suspect given these numbers that most people are able to judge players and teams reasonably well, looking at their shot numbers, or aggregated data like those at Objective Football. That’s a good foundation and indicates a great level of stats literacy in the community. It’s been brilliant to see the amount of stuff Paul Riley‘s been making public, as finally everyone has access to an expected goals model, raising the bar even higher.

It remains a shame that so few people have access to Opta feeds, but hopefully more and more aggregated data and tools can be made public without triggering some sort of retaliation from the owners of the data (who have paid lots of money and put lots of work into collecting it, I should make clear).


What are the secrets to doing magic with football stats? Well, no secrets, just the usual suspects:


Almost everybody lives inside a spreadsheet of some sort. Tableau is pretty standard at this point, and R is about twice as popular as Python as the language of choice for stats work. Stata gets an honourable mention as it popped up a couple of times.

The SQL number is low, but I guess that reflects the fact that most people aren’t dealing with event data in bulk, or just make do with R dataframes or something. I was the only one that ticked the GIS box, and I think you’re all mad. Being able to do geometry stuff inside SQL is huge: my shot buildup charts are basically a 5-line query that runs in less than a second. If you ask me, everybody should be looking at putting stuff into SQL Server 2016 when it’s released, you get SQL, GIS functionality and embedded R, all in one platform. Get on BizSpark, it’s all free.

Modelling Knowledge

The survey had a big section asking people about the sort of metrics and models they can and do produce. I think this is one of the most important questions, because it shows where we might be falling down as a community in terms of education, but it also points at the areas that are primed for new research because fewer people are working on them.


So on the left of zero you’ll see those that don’t currently know how to calculate a metric or build a useful model. On the right are those that know how, and indeed those that already have working models. Broadly speaking the techniques at the top are better known, and at the bottom are less known.

At the top is the simple stuff, calculating TSR and PDO is fairly straightforward, and it’s good to know how it’s done instead of just consuming the numbers. It also leads on to more advanced stuff, like calculating TSR/PDO but with xG numbers instead of goals and shots.

Strikers are, as ever, dead easy to model. Even just using surface stats like shots on target/90 and various conversion rates, you can get an idea of who’s good, who’s overperforming, and who is sustaining their performances between season.

At the other end of the spectrum, defender ratings obviously make an appearance – this is one of the hardest areas to judge, especially lacking positioning data that is key to so much defensive play.

Right at the bottom is predicting total corners/goals. This isn’t really that analytically useful, but for those of you that bet, these are big markets, and some of the easiest to find value in.

The appearance of goalkeeper ratings near the bottom is a surprise, if only because keepers are more or less the flipside of strikers. Tons of data available, clear metrics for what’s good and bad, even if you’re not using an xG-like model. I will take a moment to push my expected saves model and goalkeeper Christmas Shopping pieces.

A couple of people in the ‘other’ option mentioned working on youth models, or career predictions, which seems like a brilliant area to look into.


I put three questions about education into the survey, mostly because I wanted to make it clear that you can do great stats work without too much formal education, maths or otherwise.


About 40% don’t have a degree, and most that do weren’t necessarily in mathsy subjects, instead doing stats in the social sciences, or taking maths modules in the natural sciences or computer science etc. That said, only 2 of the 13 respondents currently working with professional clubs had less than a batchelor’s degree, so be aware of that.

There weren’t many Sports Science respondents at all, and I’d be interested from anyone with an opinion about whether Sports Science degrees serve you well for work in stats or analytics.

I also asked about coaching qualifications. 9 of you have the equivalent of a Level 1 Certificate in Football, 2 have Level 2, and we were graced by 2 UEFA B Licensed coaches.

The Biggest Issue Facing The Stats Community Today


The proportions remain the same inside professional clubs, and frankly I’m rethinking this whole stats career thing as a result. I’m game for unionising if you are.


You can download a slightly sanitized and anonymized version of the data here.

I don’t see a lot of statistically significant data pointing at surefire ways to get into paid work in football stats. But what I do see is tons of ways that we as a community could help, educate and collaborate with each other. I’d love to think that one day Alan Shearer will wake up every morning and check expected goals tables to see how the season’s going, but that’s a long way off, and in the meantime, it’s clear that there are loads of people that want to contribute more but can’t. I take my hat off to people like Analytics FC, whose podcast is putting important people and their work front and centre, and to Paul Riley, who as much as anyone seems to be trying to put his work (and importantly, his data) out in the open for people to build on. And most of all, huge props to StatsBomb, who I think served as the epicentre and catalyst for a lot of people to either start thinking about stats stuff, or even better to get off their arses and write about it.

So let’s all ask ourselves what we can do to help each other. I know there are tons of smart people out there that have great ideas but perhaps not the programming skill. I know there are great programmers who have no idea where to get data from. If anyone sees my stuff and wants to know how it came to be, get in touch, maybe I can give you some pointers.

In the meantime, one idea that I thought was worth doing straight away, was building a custom football stats search engine. My hope is that this will make it a little easier to find existing research to bring yourself up to speed, find new avenues of research, or at the very least, avoid wasting time redoing work that’s already been done. Annoyingly I’m on WordPress.com here so can’t embed it, but you can bung the following code on your site and get a search box for it:

  (function() {
    var cx = '018110615440115988629:xtvxg7sucik';
    var gcse = document.createElement('script');
    gcse.type = 'text/javascript';
    gcse.async = true;
    gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') +
        '//cse.google.com/cse.js?cx=' + cx;
    var s = document.getElementsByTagName('script')[0];
    s.parentNode.insertBefore(gcse, s);


Or even without script:

<form action="http://www.google.co.uk/cse" id="cse-search-box" target="_blank">
<input name="cx" type="hidden" value="018110615440115988629:xtvxg7sucik" /> 
<input name="ie" type="hidden" value="UTF-8" />
<input name="q" size="30" />
<input name="sa" type="submit" value="Search" /> 

Bookmark it, use it, tell me if there are sites missing that should be indexed. It’s not much, but it’s something I kept wishing existed, so hopefully it helps a tiny bit.

… And Relax

Thanks again to everyone that contributed to the survey, I hope the results are interesting. In six months or a year I’ll probably do this again, so I’d love some suggestions for questions for next time around.

State of the Stats 2015