Turn Odds Into Probabilities in Python
Proportional, power and Shin margin removal in Python, tested on 2,660 Premier League matches. On average market odds, the method barely matters.
Read the tutorial →$ python football_model.py --explain
Python tutorials for Poisson, Elo and Dixon-Coles models, data pipelines and backtesting — with code you can run and the limits stated plainly.
01_python/Python TutorialsFrom a CSV of results to your first model.
02_models/ModelsPoisson, Elo, Dixon-Coles and machine learning.
03_pipelines/Data PipelinesGetting, cleaning and storing match data.
04_backtesting/BacktestingTesting a model without fooling yourself.
Proportional, power and Shin margin removal in Python, tested on 2,660 Premier League matches. On average market odds, the method barely matters.
Read the tutorial →Compare a naive baseline, an Elo model and margin-free market odds on 2,660 Premier League matches with the Brier score, in Python.
Read the tutorial →A tested pipeline that downloads eleven Premier League seasons of CSV results, fixes the encoding and date pitfalls and builds one clean table.
Read the tutorial →We mixed Elo forecasts into margin-free market probabilities at different weights and scored 2,660 Premier League matches. Every blend made the forecasts worse.
Read the tutorial →Build a reliability table in pandas and test whether market and Elo home-win forecasts come true as often as they claim, on 2,660 matches.
Read the tutorial →A tested Elo implementation: rate every Premier League team since 2015-16, add home advantage and turn the ratings into 1X2 probabilities.
Read the tutorial →Tutorials are being written and tested.