Skip to main content

MoneyballFM Blog                                                                moneyballfm.com

Moneyball FM Announcement

Background

Football Manager is the game that I have played the most in my life. I have been playing it since the Championship Manager version and I have always been fascinated by it. In my middle childhood, I collected the rosters of the teams published in newspapers and I used to create my fantasy squads based on the imaginary transfers in my paper notebook. My childhood fantasies came true with computer games, and Football Manager turned out to be the deepest of them all and the most realistic.

Football (soccer) was the most popular game in the region I was brought up, and we played it most of the time. However, nobody knew much about tactics, formations, and the game itself. The beauty of the game is, that anybody can play it and have fun. From an analytical point of view, the game is quite a challenge. There have been numerous attempts to create statistical or numerical metrics to evaluate the performance of the players and the teams, but none of them have been too dominant. The analytics in football is still in its infancy, and it is a very exciting field to play with.

The problem

The ultimate question when playing Football Manager is, how to balance the funds and the squad to maximize the outcome. Do we need to spend X amount of money for another signing? Can we sell a player for Y amount of cash and replace him with a cheaper one? Do we choose a developed player or a young talent? How can we even be sure if one player is better than the other one?

Python to the rescue!

In a nutshell, the game is about making decisions and giving us data to do so. Often, there is too much data, so we have a hard job to focus on what is the most important. I always wanted to apply an unbiased, data-driven approach to the game. I started exploring the data the game allows us to export, and I had great fun analyzing it. It’s just a few lines of Python and you have all the players inside a Pandas DataFrame! There is no reason the Jupyter Notebooks would sit idle on my hard drive, so I decided to create an application in Streamlit to share some of my research with you.

First steps

The simplest way to get bargain signings is by looking at the players with expired contracts. To make things harder (the game can be too simple), most people play with attributes masking. Player attributes are displayed in a range of values, e.g. 8-16, instead of the exact value, depending on your team’s scouting knowledge of the player. In practice, looking for the players through Player Search makes the eyes blur quickly. Can you really tell, which player is the best?

Football Manager 24 Player Search Screen

Players are represented with a set of numerical attributes ranging from 1-20, and there are many of them. The question is, how can we compare them? It is true that every player is unique and offers a different skill set, but even the simplest formula that would allow us to reduce the complexity to a single number would be of great help. With the whole universe of players willing to play for us, it is handy to focus on the top talents only.

The less opinionated answer to the question is, that we could use the in-game Player Ability (PA). This formula has been revealed by analysis done in the published in-game editor. It is how the game itself value players, and it is a good starting point. The formula uses different weights of attributes on each position, but the outcome is a single number that we can use to filter out all players below a certain threshold. That is how a MoneyballFM started, by estimating the Expected Ability.

Moneyball FM Table

What’s next

My goal is to create a complete analysis tool for performance and scouting in the Football Manager game. With the help of data science and machine learning techniques (maybe even AI, who knows?) we can do a lot of interesting things. The next aim is to analyze the statistical performance of the players in matches, which should give us even more insights than the Current Ability comparison. Stay tuned!

Inspiration

The inspiration comes from the excellent book and movie “Moneyball” with Brad Pitt, where the financially limited team managed to compete with the big spenders by using data analytics. Let’s replicate the success of Billy Beane in Football Manager!