Skip to content

Modeling match results in the Dutch Eredivisie football league using a hierarchical Bayesian Poisson model

License

Notifications You must be signed in to change notification settings

pjastam/r-bayesian-football-odds

Repository files navigation

Modeling match results in the Dutch Eredivisie using a hierarchical Bayesian Poisson model

Quick summary

r-bayesian-football-odds is based on the works of Rasmus Baath. He predicted the results of the 50 last matches of the 2012/2013 Spanish LaLiga season. Originally, I slightly adapted his code to predict the results of the last two competition rounds of the 2018/2019 Dutch Eredivisie season. Later on, I added some new functionalities to the code such as parallel computation.

The original works

Rasmus predicted the results of the 50 last matches of the 2012/2013 Spanish LaLiga season. He used data of the 2008/09-2012/13 seasons (5 seasons in total) to estimate his regression model in a Bayesian way. See this thread for an intuitive explanation of the difference between the Bayesian approach and the conventional approaches of linear regression and maximum likelihood.

My first application

I slightly adapted his code to predict the results of the last two competition rounds (that is, the last 18 matches) of the 2018/2019 Dutch Eredivisie season. These predictions are based on soccer match data of the 2014/15-2018/19 seasons (5 seasons in total). The source of these data is here. Out of the three model specifications that Rasmus developed, I used the most sophisticated model that allowed for year-to-year variability in team skill (called "iteration 3" by Rasmus).

The results

The results of the most recent version of the code can be found here. Alternatively, click here if you want to dive into the results of my first application to the Dutch Eredivisie.

The latter weblink refers to the original output file of the VERSION 1.0 code release. I also wrote a blog post about my one-off betting experience (in Dutch). Short summary in English: 3 euro stake earned 4.15 euro, so a profit margin of 1.15 / 3 = 38%.

Copyright

Rasmus Baath submitted his code to the UseR 2013 data analysis contest and licensed it under the Creative Commons Attribution 3.0 Unported license. My contribution is licensed under the equivalent MIT license as Creative Commons recommend against using Creative Commons licenses for software.

About

Modeling match results in the Dutch Eredivisie football league using a hierarchical Bayesian Poisson model

Topics

Resources

License

Stars

Watchers

Forks

Languages