I have recently become interested in trying to predict the results of football matches.
The interest grew from wondering what else I could use the data for, that I had collected for generating football fixtures (see JORS paper). The data included the travel distances between all the teams in each division. I also maintained the fixtures that were actually played over the Christmas/New Year period so that I could compare the fixtures I generated against those that were actually played. Needless to say, it took a long time to collect all this data.
As I had gone to all the time and trouble of collecting the data I want to maximise its usage, so I began to look for other uses that I could put it to, and prediction seemed an obvious challenge.
With this in mind, for most of last season I collected additional data that I think might be important in predicting football matches. For example, I have been updating all the scores as each fixture was played. I have also been keeping a record of the odds that bookmakers were offering. Just collecting this data was a large data collection exercise in itself and I certainly did not get the odds on every fixture, but I have enough to be going on with.
I’m not totally sure what I am going to do with this data yet but I know if I don’t collect some of it as and when it is available, it becomes almost impossible (or at least a lot more difficult) to collect.
I have started programming some support functions. For example, given a date and a set of results I can generate the relevant league table for that point in the season.
My ultimate goal is to develop a prediction model and test out how good it is on the 2008-2009 season and, if I find a good model I will try and predict the fixtures for the 2009-2010 season before the matches are actually played.
The new season starts quite soon (kick off is 8th August 2009, but there is one match scheduled on the 7th August 2009).
If I am going to have ever chance of testing the prediction model over the coming season, I need to get programming!