Here’s a quick Monday data dump… I ran the Simple Rating System (for offense and defense) on this year’s NFL results, but instead of weighing each game equally, I used Wayne Winston’s method of giving more weight to recent outcomes. Winston’s system is simply to give each game a weight of:

λ ^ (weeks ago)

In the NFL’s case, a λ of 0.95 works best for predicting future outcomes. The games from yesterday were (6 – week 6) = 0 weeks ago, so they get a weight of .95 ^ 0, or 1.00. Last week’s games were (6 – week 5) = 1 week ago, and get a weight of .95 ^ 1 = 0.95; the opening-week games were (6 – week 1) = 5 weeks ago, and get a weight of .95 ^ 5 = 0.77. See how it works?

Using this weighted form of SRS, here are the rankings going into tonight’s game (NOTE: For defenses, negative SRS numbers are *better*):

Rk | Team | Gms | W | L | Off | Def | SRS | wpa_loc | wpa_vegas | wpa_1st | wpa_2nd | wpa_3rd | wpa_4th/ot |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|

1 | Chicago Bears | 5 | 4 | 1 | 7.6 | -7.6 | 15.2 | -0.07 | 0.48 | 0.13 | 0.02 | 0.73 | 0.22 |

2 | New York Giants | 6 | 4 | 2 | 9.8 | -3.0 | 12.8 | 0.00 | 0.26 | 0.06 | 0.21 | 0.05 | 0.43 |

3 | San Francisco 49ers | 6 | 4 | 2 | 0.5 | -10.4 | 10.9 | 0.00 | 0.80 | -0.04 | 0.21 | 0.30 | -0.28 |

4 | New England Patriots | 6 | 3 | 3 | 9.0 | 0.4 | 8.6 | -0.14 | 1.00 | 0.62 | 0.00 | 0.27 | -1.75 |

5 | Green Bay Packers | 6 | 3 | 3 | 4.9 | -2.5 | 7.5 | 0.00 | 0.67 | 0.44 | 0.06 | -0.64 | -0.53 |

6 | Seattle Seahawks | 6 | 4 | 2 | -2.0 | -8.7 | 6.6 | 0.00 | -0.20 | 0.68 | -0.74 | 0.19 | 1.07 |

7 | Houston Texans | 6 | 5 | 1 | 4.6 | -1.2 | 5.8 | 0.00 | 1.34 | -0.19 | 0.76 | 0.12 | -0.02 |

8 | Atlanta Falcons | 6 | 6 | 0 | 2.3 | -3.2 | 5.4 | 0.00 | 0.61 | 0.52 | 0.20 | 0.41 | 1.25 |

9 | Denver Broncos | 5 | 2 | 3 | 2.5 | -2.2 | 4.7 | 0.07 | -0.13 | -0.34 | -0.63 | 0.12 | 0.41 |

10 | Tampa Bay Buccaneers | 5 | 2 | 3 | -0.5 | -4.5 | 4.0 | 0.07 | -0.42 | 0.35 | 0.20 | 0.36 | -1.06 |

11 | St Louis Rams | 6 | 3 | 3 | -2.8 | -6.7 | 3.9 | 0.00 | -0.77 | 0.02 | 0.27 | -0.10 | 0.58 |

12 | Dallas Cowboys | 5 | 2 | 3 | 1.4 | -2.3 | 3.6 | -0.07 | 0.23 | -0.21 | -0.18 | -0.40 | 0.13 |

13 | Baltimore Ravens | 6 | 5 | 1 | 1.4 | -2.1 | 3.5 | 0.14 | 0.65 | -0.31 | 0.76 | 0.06 | 0.70 |

14 | Arizona Cardinals | 6 | 4 | 2 | -3.8 | -5.7 | 1.9 | 0.14 | -0.36 | 0.08 | 0.10 | -0.19 | 1.22 |

15 | Washington Redskins | 6 | 3 | 3 | 7.3 | 5.5 | 1.8 | 0.00 | -0.15 | 0.01 | 0.75 | 1.15 | -1.76 |

16 | Minnesota Vikings | 6 | 4 | 2 | -2.3 | -3.1 | 0.8 | 0.00 | -0.01 | 0.71 | -0.36 | -0.01 | 0.67 |

17 | Miami Dolphins | 6 | 3 | 3 | -2.8 | -2.5 | -0.3 | 0.00 | -0.59 | -0.01 | 0.74 | 1.29 | -1.43 |

18 | Detroit Lions | 5 | 2 | 3 | 5.2 | 7.2 | -2.0 | -0.07 | 0.20 | -0.31 | -0.82 | -0.33 | 0.83 |

19 | Carolina Panthers | 5 | 1 | 4 | -2.5 | -0.4 | -2.2 | 0.07 | -0.12 | -0.84 | -0.05 | 0.24 | -0.80 |

20 | Philadelphia Eagles | 6 | 3 | 3 | -6.5 | -3.8 | -2.7 | 0.00 | 0.52 | -0.68 | -0.31 | 0.70 | -0.24 |

21 | New York Jets | 6 | 3 | 3 | -2.3 | 0.5 | -2.8 | 0.14 | -0.40 | 0.04 | -0.10 | -0.41 | 0.73 |

22 | San Diego Chargers | 5 | 3 | 2 | -3.3 | -0.5 | -2.8 | -0.07 | 0.27 | 0.45 | 0.02 | 0.36 | -0.53 |

23 | Cincinnati Bengals | 6 | 3 | 3 | 0.3 | 4.9 | -4.6 | -0.14 | 0.17 | 0.61 | 0.43 | -1.21 | 0.14 |

24 | New Orleans Saints | 5 | 1 | 4 | 3.2 | 7.8 | -4.6 | 0.07 | 0.39 | 0.05 | -0.95 | -0.08 | -0.99 |

25 | Pittsburgh Steelers | 5 | 2 | 3 | -2.0 | 2.8 | -4.8 | -0.07 | 0.54 | 0.13 | 0.16 | 0.18 | -1.44 |

26 | Cleveland Browns | 6 | 1 | 5 | -2.1 | 3.0 | -5.0 | 0.00 | -1.15 | -0.21 | -0.74 | 0.08 | 0.02 |

27 | Buffalo Bills | 6 | 3 | 3 | 0.9 | 9.1 | -8.3 | -0.14 | -0.31 | 0.32 | 0.02 | -0.14 | 0.25 |

28 | Indianapolis Colts | 5 | 2 | 3 | -1.8 | 6.8 | -8.6 | 0.07 | -0.62 | 0.25 | -0.35 | 0.02 | 0.13 |

29 | Oakland Raiders | 5 | 1 | 4 | -4.2 | 6.6 | -10.8 | -0.07 | -0.39 | -0.24 | 0.30 | -1.55 | 0.45 |

30 | Kansas City Chiefs | 6 | 1 | 5 | -7.1 | 6.5 | -13.6 | 0.00 | -0.76 | -1.11 | 0.05 | -1.00 | 0.82 |

31 | Tennessee Titans | 6 | 2 | 4 | -4.9 | 8.9 | -13.8 | 0.00 | -1.15 | -0.61 | 0.39 | -0.35 | 0.72 |

32 | Jacksonville Jaguars | 5 | 1 | 4 | -10.7 | 3.3 | -14.0 | 0.07 | -0.60 | -0.38 | -0.44 | -0.21 | 0.06 |

I also included a breakdown of each team’s quarter-by-quarter Win Probability Added (WPA), so you can see where each team’s wins above/below average thus far have come from.

{ 7 comments… read them below or add one }

The Chargers are a 1-point favorite tonight, but this tells us they should be a 3-point dog. I agree with this.

According to Neil, the Patriots are the chokiest chokers that ever lived in the AFC in 2012.

The Eagles, after leading in 4QWPA early in the year, are already in the red (again) in that metric.

I’m starting to get on board the Bears bandwagon. After adjusting for strength of opposing offense, the Bears D ranked as the 2nd best D in 2011 in my post from earlier today. That’s pretty darn impressive, and if the offense can be effective, well, why not the Bears?

Great and informative post as usual. I would back the above about the Chargers being an underdog, straight unweighted least squares before last Thursday’s games – they were losing by 5.83, weighted least squares (using the same method as above – winston) and they were losing by 5.55 so with the numbers being fairly similar I would have some confidence in Denver getting the job done straight up this evening. I will run last nights numbers before kick-off this evening just to know how it would have affected the above and how close it is to the SRS.

I’ve added last night’s numbers in to my Least Squares models:

Unweighted Least Squares: Denver win by 5.04 (Standard Deviation of Error 10.74 so reasonable connectivity)

Weighted Least Squares: Denver win by 3.64 (Standard Deviation of Error 11.19 so marginally better connectivity)

So mathematically I’d say we are expecting a Denver win this evening, by however you want to rate the game.

I’ve been playing around with different recency weights for the power rankings I publish on my site (they’re based on the Vegas point spreads). I found that the following weighting works best:

weight = 1 / (weeks ago + X)

Where X is optimized much in the same way that your lambda is above. One advantage that this approach has is that there is actually a solid theoretical basis for weighting in this manner. It is equivalent to assuming that team strength “lurches” randomly each week according to a normal distribution (a Brownian random walk).

For the NFL, using my point spread rankings, X is optimized at 0.4. For college football, X appears to optimize at 0.1. X is effectively the ratio of the model error to the team week-to-week volatility error. For your results-based model above, I would expect X to optimize at a MUCH higher number (I’m just trying to predict point spreads, predicting actual game outcomes is much messier). For practical purposes, I wouldn’t expect much improvement in accuracy using the weights above (if any), but sometimes it can be helpful to understand the “why” of the weighting approach.

Sounds very interesting. I’ve also thought about trying to optimise the lambda value (and bounced the idea around a few Excel forums), but where I am gearing everything up in an Excel Spreadsheet and using the built in Solver algorithm and doing least squares I can’t solve for two variables (I think – my maths background isn’t great). If I added my lambda value as a variable, whilst still solving to minimise the sum of the squared errors lambda would go to 0 (0r less than 0 if I didn’t have a constraint in). I may try and re-work things a touch a bit like the working for the SRS video I saw a while ago.

Re: the lines – One thing you do have to consider and I’ve thought about this, how much is the market this year skewed by the lines Cantor Gaming put out about 3 or 4 months ago? I’ve just taken a casual glance over the lines from the last two weeks and in virtually all of the cases the game spread line stayed on the same side as the Cantor Gaming spread line. Because of possible liabilities is it possible that they couldn’t move the line as they would have effectively middle’d themselves (e.g. pre-season you could have had Denver +2, based on our analysis you should have had San Diego +3ish) potentially opening up massive liabilities? The counter argument to that is one sided action – apparently the spread was about 60/40 in favour of Denver against the number so would going San Diego +3 have balanced this? Either way can we possibly have a Monday Night Maths Pick now there is enough data to have some confidence in the numbers?

Hi great site!

One point for consideration.

fact: There is a significant correlation between teams season to season ~.4

fact: Even Vegas bookmakers admit they rarely move the line when players are injured

(There are exceptions)

fact: A significant portion of a team returns from year to year

Suggestion:

Why not weigh last years stats in this years rankings?

No one I have researched does this >

However, my feeling is Vegas does and explains some of the discrepancies and their success?

(ex. No -3 @ tb this yr. This yr stats clearly favor TB by +3)

It is so simple to me . Just curious on anyone’s thoughts why its not done?

thanks Dan

Sorry..further point on this topic. The approach your using and others is equivalent to these are brand new teams ?

There not and since sample size is always an issue with football why not attempt to increase the sample?

{ 5 trackbacks }