Football League Simulator


Screen shots

Technical details

More information




Have you ever wondered how the season will end? Whether your team will succeed or fail? The Football League Simulator is the tool you have been looking for!

  • Predicts the final standings of football leagues from around the world.
  • Uses well-known but non-trivial mathematical models.
  • Exploits huge amounts of historical data.
  • Adjusts the strenght of each team continuously.
  • Allows the user to manually set the strenght of teams.
  • Downloads recent match data automatically according to daily updates.
  • Runs new simulations at your convenience.
  • Stores simulation results indefinitely.
  • Includes several leagues free of charge.
  • Makes additional leagues available through in-app purchases.
  • Enables an ad-free version through an in-app purchase.

Screen shots

League selection

The league selection menu shows your currently available leagues, and can show you which other leagues are currently available (either for free or for a small charge).

Having selected a league, you can view the current league table and the results of each match played so far (in addition you can also see the probabilities for outcomes of unplayed matches that will be used by the simulator).

League table
Rating list

Also, while browsing the current league information, you can see the list of ratings assigned to the teams.

By selecting a team from the rating list, you can manually adjust its rating. Since the ratings are calculated solely based on historical match results, this can be useful after significant changes to the team roster.

Adjusting ratings
Running a simulation

Having checked the current standings, we are ready to start our simulation!

The results of the simulation can be viewed in full: for each team, the probability of finishing at each position of the final table is given, with color codes giving a quick way to assess the chances of a given team.

Simulation results
Rating graphs

There are also graphs showing the rating development for a given team: have the team performed better or worse than expected from previous results?

Another graph shows the likely final positions for a given team (and how it changes between each simulation).

Team predictions

Technical details

The following gives an outline of how the simulator works. To understand this, requires an understanding of three steps: First, how each team is assigned a dynamically adjusted rating, to estimate its strenght relative to its opponents. Second, how historial ratings and match outcomes provides a basis for predicting outcomes of a single match. Third, how predictions for matches are combined to predict the final league table.

The strenght of each team is estimated through ratings. The ratings used are based on the work of Arpad Elo (Elo, 1978), which originally was used in the context of chess. Several adaptations of this rating has been proposed, and the Football League Simulator adopts the variant given by Hvattum and Arntzen (2010), where rating adjustments are influenced by the victory margins and not just whether a match ends in a home win, draw, or away win.

Before a given match, the home team and the away team both have a rating. Using lots of historical data, one can look at how the match results vary depending on the difference in ratings between the teams. In the Football League Simulator (and in Hvattum and Arntzen, 2010), ordered logit regression (Greene, 1999) is used to estimate probabilities of possible outcomes (home win, draw, or away win) as a function of the rating difference. It can be shown that this way of obtaining probabilities works fairly well, though not quite as well as relying on market odds.

However, being able to create probabilities for the outcomes of any future fixture while relying only on a single number (the rating) has the advantage of being very simple to use for simulating the final league table. In the Football League Simulator, an efficient Monte Carlo simulation is built to take care of this: given a current rating for each team, probabilities are generated for each remaining match of the league and a random number generator provides the required input so that the league can be simulated with a large number of repetitions (the current version of the Football League Simulator relies on using 200,000 repetitions).

While the odds for a single match is hugely affected by specific issues such as injuries, suspensions, and the number of rest days between fixtures, these issues may tend to cancel out during the course of a full season. Hvattum (2013) presented recent research on the betting market for league winners, and found indications that a basic version of the procedure outlined above creates better probabilities than that of the betting market. In particular, over two seasons and five different leagues, a betting procedure based on the model staked about 219 units for a profit of about 28 units.

There is one limitation of the current version of the simulator (to be improved in later updates), regarding how goal differences are handled. The model predicts match results, and only an ad hoc producedure is added to handle the number of goals scored. Therefore, whenever the league standings are based on using goal differences as the primary tie-break when two or more teams have the same number of points, one could expect that the predictions may be of poorer quality near the end of the season (in particular with only one or two rounds left).


A. E. Elo. The rating of chessplayers, past and present. New York: Arco Publishing, 1978.

W. H. Greene. Econometric analysis (4th ed.). Upper Saddle River, NJ: Prentice Hall, 1999.

L. M. Hvattum and H. Arntzen. Using ELO ratings for match results prediction in association football. Internation Journal of Forecasting, 26:460-470, 2010.

L. M. Hvattum. Analyzing information efficiency in the betting market for association football league winners. The Journal of Prediction Markets, 7:55-70, 2013.

More information

Follow us on twitter to get quick news related to the Football League Simulator:

Alternatively, and possibly for more detailed information, check out our blog.


Please send bug-reports, suggestions, and questions to:

© Lars Magnus Hvattum, 2012-2014.