Home

Sensors

Simulation

Analytics

Odds & Ends

Resources

About

Football Forecasting Algorithm


How My Football Forecasting Algorithm Works


Very well, considering that it only uses the previous final scores as input data. But why not judge for yourself ? The following graph shows the algorithm's performance in predicting wins on the 2009-2010 NFL season, weeks 1-17:




he model I am using for prediction relies on estimating two numerical characteristics per team, an Offensive Strength Factor (Fo(t)) and a Defensive Strength Factor (Fd(t)). The model assumes that the score (S) achieved by a team 'A' when playing against team 'B' is given by:

S(A) = M * (Fo(A)/Fd(B))


Where M is a common mean score factor for all games played. To account for differences between 'home' and 'visitor' team performance, separate Mh and Mv can be used to estimate the home and visitor scores.

The challenge is in finding sets of coefficents (Mv, Mh, Fo(i), and Fd(i)) that fit the scoring data from previous games. One can use an iterative method similar to that used in training a neural network, illustrated by the following pseudocode:



The above algorithm, if applied correctly, results in parameter values that can then be used to forecast the outcomes of games yet to be played, say in the coming week. As the characteristics of teams constantly evolve, the algorithm needs to be re-run as new data becomes available to provide fresh parameters for estimation.

In some ways, I find it surprising that such a simple technique, working with such little data, can provide forecasts nearly as accurate (~65% vs 68-70%) as much more complex (?) methods working with much more data.


Last Updated 1/1/12