This blog hasn't exactly been well used since its creation a couple of years ago, and it certainly isn't well read. However, from now on I'll be using this blog as somewhat of a personal record of my progress towards my aim of completing a fully fledged Fantasy Football prediction system.

This original idea behind this system was thought up a couple of years ago, when I decided that my fairly basic spreadsheet wasn't really cutting the mustard. After playing around with a few basic ideas, I decided to apply to create the system as part of my university final year project. This allowed me to devote a large amount of time to the system, which was not only really fun, but allowed me to get a big chunk of marks towards my degree.

I could never call the project a success. A better description would be a promising start, a solid base from which to build on in future months, years, whatever. I'll discuss the key results and the details of the "first draft" of the system in another post fairly soon, but I was pleased with what I managed to produce in a relatively short amount of time (in reality, about 5 months).

Despite this reasonable success, there is much to do. The rest of this post will outline the next major step in the process: getting the system into a functioning state.

This "next step" may seem somewhat perverse, since I have just spent months making the system fully functional. The reason behind this necessary evil can be surmised in one word: data.

Last year (for year, read Premier League season. The project and data sources basically work on an August-July calendar), I was using data from the sports data company Opta (http://optasports.com), which was an invaluable source, saving me a lot of time at the start of the project. However, the university paid for this proprietary data source, and I cannot afford it. The system needs to be altered to use data which is freely available. The following considerations need to be made when doing this:

  • Work out exactly what attributes are being used in the system. Foolishly, I didn't make a list at the time. What I do know is that the set of attributes is quite small.
  • Locate alternate sources for all the attributes. Formations need to be remembered as well. Write new data scrapers to fetch from the new sources.
  • Think about the best way to store this data - is the current PostgreSQL solution actually the best way to go?
  • If the data format changes, convert the old data (which I'm keeping hold of, whether I should be or not) to the new format.

Hopefully, once the new data is found it should just slot into the system and it should be ready to go. There are a couple of other minor tasks that need to be completed before the system is fully functional again:

  • The system needs to be moved over to the new season. This should be simple; I designed the system to be nice and flexible so only a few tweaks are required. However, I got a bit lazy towards the end of last year, so there are a few things that need to be tweaked to make this process streamlined (or even automated) in the future.
  • The production server was hosted by the university, and is now EOL. So I need to sort out some sort of temporary staging server. My home server with dynamic DNS will probably be my victim of choice for now.

That sums up the first few jobs that need doing, before I can start making progress on the quality of the system (more details on my plans for this will be posted fairly soon). Hopefully all this won't take more than a few weeks, but who knows. Onwards!