Thursday, December 8, 2011

Beating The Spread: Statistical Models of NFL Power Rankings and Point Spreads (Part 1)

by Tim Rubin

**Information on this site is collected from outside sources and/or is opinion and is offered "as is" without warranties of accuracy of any kind. Under no circumstances, and under no cause of action or legal theory, shall the owners, creators, associates or employees of this website be liable to you or any other person or entity for any direct, indirect, special, incidental, or consequential damages of any kind whatsoever. This information is not intended to be used for purposes of gambling, illegal or otherwise.**

This is my first contribution to this site. So, before getting into any details, a brief note about myself, and what I will be writing about on this site:

I'm a grad student at UC-Irvine (home of the Anteaters). The research that I do generally relates to Statistics, Machine Learning, and Psychology/Decision-Making. In that light, I’ll mostly be writing about things related to statistical modeling.

The topics that I plan to stick to are topics that (a) I think that the general public will be interested in, (b) that I am very interested in, and that (c) I sadly don't get to work on as part of my graduate work. The topic of the present post is a perfect example of just that: Sports Statistics and Gambling.

My goal is to introduce people to a way of thinking about the world from a statistical modeling perspective. Think of something along the lines of Freakonomics, except with a focus on getting people to think about the world from the perspective of statistical modeling,and even getting them interested in possibly doing some modeling themselves.

In a follow-up to this article, I will demonstrate how to implement the NFL handicapping model that I discuss below in Excel. So even if you have no programming experience or mathematical background, we'll be able to get you some hands on experience with statistical modeling.

Statistical Modeling: a Brief Introduction

Modeling—as a general idea—is something that every person is familiar with, even if they don’t realize it.

For example, if you meet a guy who is 6’6”, it will immediately jump out at you that the person is extremely tall. Why does this persons height jump out at you? Because you have some internal representation (something akin to a model in your brain) that tells you roughly what the distribution of people’s heights is. You may not have a formal representation of this model, or even explicitly think about it, but we can be fairly certain that you do have some model for people's heights. And we can be fairly sure about this because there is something in your brain that will make a 6'6 person walking down the street immediately jump out at you, because they are so dramatically outside of the normal range of heights.

People use models all the time to help understand the world around us. For example, you probably know that a coin flip has 50% probability of being heads. And you also probably can give a rough estimate of what your commute time to work is during rush hour on a Tuesday, or how long you will have to wait in line for a hot-dog at a baseball game.

You may not explicitly represent all these things in your brain, but you certainly have some way of representing all of these things. And one main reason that you have this information is for the purpose of predicting future events. For example: you can't know for certain how long your commute will take next Tuesday if you leave at 7am (since it hasn't happened yet), but you can probably make a pretty reasonable prediction about it, because you have some representation of walking times, driving times, traffic conditions at 7am, etc.

Now, these “internal models” are closely related to the statistical models that I will be talking about. Statistical models are simply a way to formally represent similar types of events in the world, using math.

Using the height example: it is very easy to formalize a model for male height: because height of males generally follows a simple “Normal” or “Gaussian” Distribution (this is even true with self-reported male heights from a dating website). The normal distribution is probably something that you are already familiar with—even if you don't know it. All sorts of things have a normal distribution: height, weight, IQ scores…even roughly what the outcomes are for games like Plinko, which we all know from the Price is Right.

The Gaussian distribution is used all the time in statistics, because (1) there are a ton of things in the real world that actually have this type of distribution,and (2) because it has many convenient (and seemingly magical) properties, some of which will come up in the NFL model I will present tomorrow.
Chess, Halo, the BCS, and NFL game spreads

The knight has doubts about Master Chief's chess acumen, and his ability to take a blindside shot from Patrick Willi

What do Chess, Halo, FIFA, and the BCS all have in common? They rely on statistical models to rank players/teams. Not only that, but almost all of these rating systems are essentially based on the same and very simple statistical model (although you might be surprised to learn that Microsoft's "True Skill" system used to rank Halo players is actually quite a bit more sophisticated than those other systems, although it still is derived from the same basic model).

As far as I am aware, this model was first applied to ranking systems by a Hungarian physicist named Aprad Elo. Elo developed what is known as (surprise,surprise) the "Elo Rating Sytem" to rate Chess players. The Elo system does two things. It assigns players a numerical rating that tells them how skilled they are (e.g., a player is given the title of "Master" when they achieve a rating of 2300 or more). Additionally, when two ranked opponents face one another, the difference in their ratings provides the expected probability of the three possible outcomes for the match.

One limitation of the Elo system is that it only considers three possible outcomes for a game: Win, Loss, or Draw. And since our primary goal here is to model NFL games in terms of point-spreads (rather than in terms of Wins/Losses/Draws),we will be considering a variant of the Elo system which is designed specifically to model the outcome of a game in terms of the margin of victory.

I should note however, that Elo-type systems(which ignore the margin of victory) have been applied to the NFL - Advanced-NFL-Stats has a blog post about it here, and Jeff Sagarin has an "Elo" style model that he publishes here.

Note that on Sagarin’s website he gives each team an “Elo_Chess” rating in addition to a "Pure Points" rating (in which the “score margin is the only thing that matters”). The model that I will be presenting here is similar in nature to Sagarin’s "Pure Points” model, since they both only model the outcomes in terms of the margin of victory (although I can’t say exactly how similar the two models are, since he hasn't released the exact details of his models).

The reason that I will be ignoring the Elo system (for now at least), is that the underlying statistical model for the Elo system is essentially equivalent to what we will be using. To be specific, the parameters of the Elo model and our margin-of-victory model are essentially the same. The only difference is that Elo-based system streat outcomes only in terms of Wins, Losses and Draws, whereas our model treats outcomes in terms of the observed point-differentials.

However, since the parameters of the Elo-model and the Margin-of-Victory model are essentially equivalent, we can easily go back and forth in terms of how we wish to think of game outcomes; it is easy to use the Margin-Of-Victory model to make predictions about Win probabilities.

Various forms of Margin-of-Victory style models have been discussed elsewhere, and I will provide links to some of these in the next post.


Coming Very Soon…Part 2

In my next post, (Part 2) I will be presenting an extremely simple Margin-of-Victory Model for NFL game spreads. We will look at some of the pros/cons of this model and some of the theory behind the model. We will also use the model to generate NFL power ratings and game predictions.

In a later post, I will show you how to fit the model yourself, using Excel.

I apologize for leaving Part 1 on something of a teaser, but the evil bosses are insisting that I post something immediately. Part 2 will hopefully be posted by tomorrow.


  1. Nicely done, Tim. MUHUHAHAHAHA! [evil boss laugh]

  2. good stuff mate. now apply this knowledge and programming to high frequency trading and make millions...