The Art of Player Data Analysis – FBref style

In previous iterations of Football Manager, I’ve used data analysis to assess player performance at the end of a season by extracting data from the game due to a lack of analysis within the game. Since then, data analysis has become a key feature, with the additions of recruitment and performance analysts. This has been welcome progress, and hopefully there’s further to go in this area, as there are still a few aspects that I think need further attention, which I address in this blog post.

In the piece, I’ve used the FBref.com as a guide, along with two (admittedly old) blog posts from StatsBomb.com to put together a dashboard to help with analysing player performance.


Part of the reason I’ve chosen to do this is because of the way in which the Football Manager UI portrays data in a player profile screen – it’s not hugely helpful. Take the below screenshot as an example. Harvey Elliott is recommended as an A+ player, but if you look at the list of pros that make up this recommendation, it mixes up the scouting report with the recruitment analyst’s report. This is OK, but it’s in a long, jumbled list, with lots of information that I would have to trawl through and interpret without much assistance. That Elliott is 7th in the Premier League for key passes per 90 minutes is nice to know, but it doesn’t add much context in terms of whether this is ranked against all other players in every position, or just attacking midfielders. This image, along with all others in the post is ‘clickable’, so you can read them more easily in a separate window.

Then, if you select the recruitment analyst’s report, for some inexplicable reason, it removes the player radar, and the list of pros is still really long. Again, it’s also not clear if the data in this list it is comparing Harvey Elliott against other players playing in an equivalent position, which the player radar did.

Therefore, the aim of this dashboard is to make easier comparisons between how players have done against their respective peers, and not just across the Premier League. I’ve taken the Big 6 Leagues (the so-called ‘Top 5’ and also Liga Portugal because that league often sees top talent either come from or go through this league), and compiled it in a manner that is more easily readable using FBref.com’s approach of using per 90 and percentile statistics for a player. An example is provided below, with Harvey Elliott’s data dashboard, profiling him against 199 other central midfielders who have played a minimum of 1,000 minutes across six the aforementioned leagues.

Initial preparation steps

Before creating the dashboard, the first step was to come up with a player search ‘view’ to harvest the data from the Players In Range screen. When creating this, the base for the view was one of the views created by FM_Stag, which are available to download and install from his blog site – fmstag.com.

I’ve added a few of my own touches, including a little more data onto the view given the information I wanted to extract. Please read FM_Stag’s site as to how to download and install the views, but you can find the view to help create this screen that I’ve made here on Steam, or here on MediaFire (or click the download image below):

This MUST be downloaded, placed into the ‘views’ folder in your FM23 folder, then imported and loaded in order for the remaining processes to work.

Once you’ve downloaded and imported the view into your game folder, you’ll then need to do the same with the player search filters I’ve made to split out players by position, and remove players that have played insufficient minutes so as not to skew the data. I have settled on 1,000 minutes (the lowest possible bar beyond 0 minutes), and I’ve also chosen to include all players, regardless of their interest/availability (though the view won’t save this) and de-selected the option to hide my own players so that I can easily draw comparisons against other players in the same position.

I’ve also pre-selected the top six nations that I mentioned previously – though if you wanted to adjust these to a level more befitting of your save, perhaps using the league ranking as a guide if playing in a European league, you easily could (though you may wish to adjust the wording on the bottom of the dashboard if you do).

These filters can be downloaded from Steam here for AMs, DM & CMs, CDs, FBs and STs and from MediaFire here (or by clicking the below image):

One thing to acknowledge at this point – Football Manager doesn’t allow you to look at players specifically in terms of the number of minutes that they have played in a position – so it’s perfectly possible that, for example, a right-back who can also play centre back has exclusively been playing as a right-back and so will skew the data in terms of dribbles, assists, etc. for central defenders However, this can be double-checked in game by going to the Development – Tactic screen on the Player Profile and looking at the number of times played per position to rule in/out a potential recruit. I’m hoping that this is something that might be addressed for FM25 with the announced overhaul/rejuvenation of the game.

Another issue is that you will be unable to extract more than 511 players at any one time. However, if you apply a positional search filter and use the over 1,000 minutes minimum and six leagues too, then this will likely not to be an issue.

Before you extract any data, you’ll need to make sure that you have your Formats in Football Manager set the following way for the Data Dashboard to be able to read the data – the currency doesn’t matter, as there’s nothing in the spreadsheet that reads anything involving currency, but the Format, Seperator, and Decimal Symbol all need to be as below:

Once that’s in place, in order to extract the data from Football Manager, press Ctrl+P, and then opt for the default web page.

This will then enable you to save the player search onto your computer to upload into the Stats Master Excel workbook. Save it wherever you wish, but by default it will go into your Football Manager 2023 folder. You will then need to go to the file that you’ve saved the .html file in, open Excel and drag and drop the file into Excel (don’t open the file by double-clicking, it will open it in your preferred web browser). Do this correctly, and it should look like this:

Next, download the ‘Stats Master’ Excel sheet from MediaFire here:

For those who use Google Sheets, there’s a Google Sheet version also available here (click ‘Use Template’ to make it editable):

Open this spreadsheet, then go to your initial spreadsheet with your player data in. Select and copy all the data in that sheet (but omit the link to sigames.com that comes by default (so don’t Ctrl+A and Ctrl+C as this will mess things up later down the line). Go back to the Stats Master spreadsheet and paste in your player data.

There’s one final step that you’ll need to do, which is removing the ‘-‘s from the Stats Master worksheet from Tackle/90 onwards. To do this, highlight all the columns/rows from that point on (inclusively) and then press Ctrl+F, and select Replace. Type – in the ‘Find what:’ and 0 in ‘Replace with:’, and select ‘Replace All’.

Then, your dashboard should be good to go – click on the Statistical Scouting and then select a player using the drop-down list. As you select different players, the player data should automatically change, along with the player radar (for some reason, this can be a bit ‘sticky’, but I find scrolling down and back up again on the worksheet resolves this).

One word of caution though – just to keep the spreadsheet ‘clean’, I recommend that you each time you want to use it, you start with a clean copy. When you go from a larger player set to a smaller set, e.g. strikers compared to central and defensive midfield players, it will leave players in the Stats Master sheet that aren’t part of your new data set if you were to paste over the original data.

Dashboard methodology

In terms of the appearance of the dashboard, for the percentile bars, I’ve used a YouTube tutorial to create these – this was something of a game-changing break through (a bit of a warning, they will be impacted by the level of zoom you use in Excel, but adjustments can be made to the size of the bars very easily if you watch the video by changing the number you multiply by (this will make sense when you watch the video)).

The radar chart is made up from the player percentiles, and inspiration is taken from FBCharts, who has created an extension add-on for Google Chrome for fbref.com. Whilst pizza charts aren’t possible in Microsoft Excel, the colourings of the different metrics were taken from FBCharts. For those thinking that you can’t have multicoloured backgrounds in Microsoft Excel either, you’d be right. These are three combined free shapes that I created in Microsoft PowerPoint before placing it underneath the graph in Excel.

The information at the top of the player dashboard is useful to quickly assess a range of important information when considering whether to scout, recruit, or retain a player if he’s in your squad. Player position, age, height and contract length can all be important, as can nationality and home-grown status. For me, avoiding players who have recurring injuries is vital – the most important metric is availability measured via minutes played, which is why that’s also included. I’ve also added in international caps and all time club appearances to quickly check a player’s experience levels. In reality, some clubs will use this when recruiting players – Liverpool apparently prefer to recruit players who have played more than 100 senior games – something that both Alexis Mac Allister and Dominik Szoboszlai have achieved. For those playing in countries requiring a work permit to sign players, I’ve also added that in too. Therefore, this inclusion might help to add a little bit of ‘realness’ to saves if looking to ‘rebuild’ a team in the manner that they might realistically take.

The other metrics I’ve included take more explanation. Taking defensive actions from the defined events that Opta laid out: tackles, interceptions, challenges (failed tackles, for which I’ve taken the difference between tackles/90 and tackles attempted), and fouls (which I’ve had to adjust into a per/90 statistics by taking the number of fouls and dividing it against minutes/90), I have also made the decision to add in blocks/90 too. The defensive actions/90+ then shows whether the player was above/below the average for the position across those combined metrics, with 100% meaning that the player was bang on the average, as William Saliba was for Arsenal below, and any score over 100% being better than average. Who knew that Kylian Mbappé was going to turn out to be a defensive monster amongst top-level forwards for PSG at the age of 32? Certainly not Mbappé, I would imagine.

For chances created, again I’ve gone away from what the game counts as a chance being created, and gone with StatsBomb’s use of key passes/90 and shots/90 combined. Then for the chances created/90+, I’ve followed the same process as Defensive Actions/90+, dividing the player’s combined chances created/90 by the positional mean – again, anything higher than 100% is considered above average.

The weighted Chances Created/90+ (or wCC+ for short), is a more detailed metric, looking into the player’s goals/shots and their assists to key passes/90 ratios to use these as a weight to assess the quality of the chances they create and the shots they take, dividing this statistic by the positional mean. This tells you whether someone is effective in creating goal scoring opportunities, in terms of assists and goals scored, relative to the number of key passes and shots they take. As James Yorke writes, “if a player takes a lot of shots from poor positions their CC+ will be high, but their scoring rate will be low, so their wCC+ will be lower accordingly”. What you can deduce from Matthijs de Ligt’s dashboard is that he’s a very creative central defender, most likely playing as a ball-playing defender for Bayern Munich, if not a little more advanced in the defensive midfield role, but that his creative actions aren’t actually turning into goals/assists as often as they should, which could be explained by poor shot location/good defending/luck.

Using/Reading the Data Dashboard

In terms of using the data dashboard it’s important to understand a few things. Firstly, you’ll need to make sure that there has been a decent amount of football played before you run this data dashboard. It is important that players have played at least 1,000 minutes. If you wish to adapt this by the leagues you decide to scout, you’ll need to take into consideration the calendar that the league follows. For instance, South American leagues run over the Northern hemisphere’s summer, as do Nordic leagues. As such, I recommend having a save that you keep around the end of the Champions League final, and another at 31st December, which will capture the aforementioned leagues.

When it comes to reading the data dashboard, it’s also vital to take into consideration a few things. Take Juan Manuel Fornals – a newgen for Bayer 04 who has been playing for me as a central midfielder. Fornals actually profiles exactly as I’d expect him to, despite being a world-class player.

He may not necessarily look ‘elite’ in the eyes of many, but he’s proving that he’s excelling in the role that I’ve chosen for him in my side – deep-lying playmaker on defend. Not a goal scorer, doesn’t achieve many assists, and even has relatively low passes completed per 90. Yet he is attempting more passes and making more progressive passes and tackles than almost anyone else across the top six leagues. He’s performing brilliantly in the manner in which I’d expect him to, and it’s reflected in both his defensive actions/90+ and his chances created/90+ and wCC+ compared to his peers.

If you take a look at Haaland’s dashboard below, he didn’t make many progressive passes, but you wouldn’t expect him to playing as the most advanced player in a team that’s going to dominate possession and he’s looking to hold on the last line of the defence whilst those around him are creative for him. What you would expect is what you get with Haaland – he’s deadly in the box and likes to shoot often.

This method of data analysis also enables you to compare players who are natural across different positions against their peers in the same areas of the pitch. I’ve taken Harvey Elliott again as the example for this. The earlier dashboard I showed (and the first dashboard in the slideshow below) is Elliott profiled against central and defensive midfielders, and the second image is against attacking midfielders, where he doesn’t profile quite as well, but this is actually where he’s been playing for Wolves. You should bare in mind that in a deeper/more withdrawn role he is unlikely to have such outstanding metrics, he certainly would find it harder to achieve such dribbling numbers in a central area, but this does give you an idea of how he could play. For one, I would be concerned about his ball retention, but then playing out wide, he was probably looking to play high risk passes rather than recycle the ball more often, and may have been isolated.

The data dashboard can also be a useful tool when seeking to keep an eye on your youth propsects who are out on loan. I mentioned in a previous post in ‘The Art of’ series about signing Matthew Bevis on the back of identifying a gap in my central defence when it came to youth players. Here, he’s out on loan at Schalke 04 (for the second seasong running) as I seek to give him first-team football to aid his development.

You can see just how well he’s doing at a very young age for a defender. He’s playing regularly (it’s the back end of November in my save), and he’s playing well judging by his defensive metrics – as a 19-year-old to be making the most interceptions across all the leagues underlines his talent to read the game and do so in a top level (it also shows how defensively active he’s had to be for Schalke 04). The future looks bright for Bevis as he continues to develop.

I’ve only given a brief sample as to how this data dashboard can be used, and for those that prefer using a data approach to their signings, this should be very useful.


My thanks go to FM Stag for the initial view, and his support in previous posts on data analysis in Football Manager as well as testing the Excel sheet for me, to MustermannFM who helped me to test the Stats Master spreadsheet using Google Sheets, and to FM & FUT RocknRolla for checking foreign language and formatting issues. Their assistance is very much appreciated.

I hope that you’ve enjoyed reading about the methodology and approach to using the data dashboard – please do give feedback on how you’ve used it and anything you think could be improved or issues you’ve found by messaging me on Twitter, or X, or whatever it’s now called by the time you read this. If this proves a popular download, I already have ideas about how I can create position specific workbooks to better analyse the data, but this will take more time and effort, so I want to know that this is well received first.

Until then, tschuss!





Berita Olahraga

Jadwal pertadingan malam ini

Situs berita olahraga khusus sepak bola adalah platform digital yang fokus menyajikan informasi, berita, dan analisis terkait dunia sepak bola. Sering menyajikan liputan mendalam tentang liga-liga utama dunia seperti Liga Inggris, La Liga, Serie A, Bundesliga, dan kompetisi internasional seperti Liga Champions serta Piala Dunia. Anda juga bisa menemukan opini ahli, highlight video, hingga berita terkini mengenai perkembangan dalam sepak bola.