A while back, I wrote about Chelsea’s Marcos Alonso at wing-back and how he was wildly different from others who were deployed in similar positions (a trend that has carried onto his new role at full-back).
I had copy-pasted data from WhoScored‘s ‘Detailed’ player stats tab for players in Europe’s ‘big 5’ leagues, and wanted a way to show how Alonso was a relative outlier for his position. So, with Tableau Public — a free, easy-to-use desktop app I’d recommend using — I ended up making this chart.
As you would notice, it represented perfectly how Alonso didn’t dribble or cross much for a wing-back, but at the same time took lots of shots and won a lot of aerial challenges.
And then I decided to chuck some of these out on Twitter for other players and positions, like Sergio Aguero, Roberto Firmino, Lars Stindl, Eden Hazard, Xavi Hernandez, and Paul Scholes, and these posts got a lot of traction. People liked these visualisations.
So months after I started making them, here’s a guide on how to read and make them.
Note: If you’ve been making these graphs before me and you’d like me to stop using them, I’m happy to stop. In any case, I don’t claim to have been the creator of this specific concept.
So far, I’ve made these bar graphs for five positions: strikers, winger/attacking midfielders, central midfielders, full-backs, and center-backs. I’ve changed the formatting, stats used, and the order in which these stats are arranged over the past few months, but here’s the current structure for each position (oh, and I’ll definitely, definitely be updating this frequently).
Here’s an example of one of these.
As you can see, I’ve grouped similar metrics together. The first three stats used are based on shooting. The next three stats are passing/chance creation stats. Then, you have one dribbling stat and one stat that talks about defensive work.
With the grouping of similar stats and the presence of that median line, I think it’s fairly simple to immediately see how well the player in question fares in comparison to his peers (the player is compared to other big-5 league player seasons from 2016 to 2018 for a particular position).
2. Wingers/Attacking Midfielders
Here, you have two shooting-based stats, three passing/chance creation based stats, two stats based on dribbling and ball retention, and one based on defensive work.
3. Central Midfielders
Three passing/chance creation-based stats, two dribbling/ball retention-based stats, one shooting-based stat, and two stats based on defending.
Four passing/chance creation-based stats, two dribbling/ball retention-based stats, and two stats based on defending.
Here’s the one I’m least sure about because stats often miss the mark with central defenders, and it talks about style more than quality. Anyway, it has five defending-based stats and three passing-based stats.
Based on the length of each bar and the general area the bars create, it’s easy to understand how the player, well, plays.
Potential future improvements/changes
- Most importantly, the stats used. All the stats and metrics I use are from publicly-open data sources, and I don’t have access to more advanced data, so these charts end up being extremely vanilla, reductive, and sometimes misleading.
- The order of the stats.
- The formatting. Fonts, colours, the median line, labelling, et cetera.
- The information style on the right side of the graph.
- The software used for making these graphs. I really need to pick up a programming language to make my data collection and data viz-making more efficient.
- The size of the dataset. At the moment, I only have player seasons from the 16-17 season and the 17-18 season for the big-5 leagues and I plan on expanding it to the entire Enlightened Era (2009-the current date).
How to make them
Now comes the incredibly inefficient, needlessly long and frustrating method I follow for making these graphs.
Step 1: Copy-paste player stats for a position onto an Excel sheet (you can use Google Sheets or anything else too) from WhoScored.com. There’s probably a better way of doing it; it’s ridiculously frustrating and takes a lot of time for each position.
You get this sheet for every position (yeah, I use Excel 2007, don’t judge). This is one part of the sheet for wingers and attacking midfielders.
Step 2: Then create a sheet like the one below, with the stat, the percentile rank (which you create by referencing columns from the initial sheet with player seasons; check my formula bar) and the amount for each stat (which I manually enter).
Step 3: Now open Tableau Public and select the sheet you’re using. When you reach the workspace, drag ‘Stat’ to the ‘Rows’, ‘Percentile Rank’ to ‘Columns’, and ‘Amount’ to ‘Labels’, like how I’ve done it below. Now this is a personal preference, but I then change the view setting on top from the default to ‘Entire View’. Also, drag the stats up or down to make sure you have the ordering you need.
Step 4: Right-click on the x axis and select ‘Edit Axis’.
Change the Range setting to ‘Fixed’ and enter whatever start value and end value you need. It can be anything. I go for 0 and 103, but the important thing is to use these values for every one of these visualisations you make. Select ‘OK’.
Step 5: Right click on the x axis again and hit ‘Add Reference Line’ to create the median line.
For the Line value, enter 50 and make sure the option right next to it is on ‘Constant’. Change the Label style to ‘Custom’, and add the label ‘Median Big-5 League <insert position>’. Select ‘OK’.
Step 6: Now that you’re done with the graph itself, add a heading and maybe change the font. I always go for Montserrat for the heading and Lato for the body text.
And that’s it. After this, I take a screenshot of this and put it onto the advanced*, cutting-edge* tool named Microsoft Paint and add the club name, league, player face, and other info to the side, and you get this.
Sometimes, I forget one of the steps, and end up with stuff like this:
Again, if there’s any improvement you can come up with or a change in the method of making them, do send me a message on Twitter (you can find me at @AshwinRaman_)