Project Skellam

Welcome to Project Skellam, a project of mine I am working on to predict and analyse the performance of football teams (soccer in Australia & the US) given the number of goals scored and conceded.

There will be scope in the future to extend this modelling to other sports (especially ice hockey & the NHL), pending modifications to the model.

I am using RStudio to do all my predictions and analyses. Source codes and text files will become available at a future point in time.

How it works

Current predictions

We start by creating an input text file containing the current table at the end of a particular gameweek/matchday. This table would include the number of games played, number of goals scored and conceded, goal difference and current points tally.

For each team, we will use the running average goals scored and conceded to draw up two sets of two random samples, both Poisson random variable whose means are the current average goals scored and conceded; one set will be used to predict the remaining results for the season and the other set will be used to compute the expected number of points to be obtained from the current number of games to be played.

This data will be used to calculate the number of points expected to be scored at the current point in time as well as the number of points expected to be scored by the end of the season. We repeat this simulation 1,000,000 (1 million or 10^6) times and put the results into a vector/list.

The means and standard errors of these two sets of data will be put in to a single table which will also contain the actual data, and the difference between the current observed number of points and expected number of points is added to the table for each team. This will allow us to compute the chi-squared statistic, which we can then use to compute a p-value to compare the performance of the model to the actual data.

The source code is available to download here. A sample input text file is also available here. (Use "Save link as..." to download the actual files.)

Past analysis


Current predictions (2021-22)

Premier League


GW1   GW2   GW3   GW4   GW5   GW6   GW7   GW8   GW9   GW10   GW11   GW12   GW13   GW14   GW15   GW16   GW17   GW18   GW19

GW20   GW21   GW22   GW23

Past analysis


Last updated: 20 December 2021