This is a system designed to aide the prediction of football results in the English Premiership. It is strongly based on the rating system used by the USCF to rank chess players, as developed by Árpád Élo , known as the ELO rating system.
In summary, the ELO system provides every player with a ranking. For every combination of matches the system can provide an expected result, and ranking changes are applied wherever there is difference between prediction and reality. Of course there are other factors to performance than solely history, but results tend to follow the predicted, especially for opponents of disparate ranks. The ranks themselves have no inherent meaning, being only of value when compared to other ranks. A win will always result in a gain, and likewise a loss, but changes will be larger in absolute terms if they don't match the predicted results.
The one amendment I have made to the ELO system is to multiply amendments for non-drawn results by goal difference - because crushing defeats are worse than narrow ones.
To do list:
- Actually rewrite and publish the prediction and status CGI scripts, not just the graph code that's there ATM
- team ranking changes to come from database - not generated from history
- upcoming fixtures to be migrated into database - not flat-text
- record played games, rather than re-importing data for updates
- sort fixtures by win probability - see text in premodds.txt
- record odds, manage actual and theoretical bets.
- history moved (partially) from flatfile-database
- rating changes recorded in the database
- data migrated (mostly) from flatfile to mysql