My system went 3-0-1 last weekend (Or 3-1 if you consider my prediction in the Bengals – Chargers game a loss, as opposed to “too close to pick”), so time to present playoff odds for the second round of the playoffs.

Divisional Round Playoff Odds
Home Team Visiting Team Score Diff Win Prob Est. Point Spread
Seattle Seahawks New Orleans Saints 0.676 0.663 5.0
Carolina Panthers SF 49ers -0.157 0.461 -1.2
Denver Broncos San Diego Chargers 0.411 0.601 3.0
New England Patriots Indianapolis Colts -0.060 0.485 -0.4

 

Odds that differ by less than a point in estimated point spread are probably not significant, and from my POV, a suggestion that you don’t bet that particular game.

The regular season has ended and the playoffs have begun. It would be useful to have a set of playoff grade data to do playoff probabilities, and though I’ve been down and out this season (no job at times, foot stress fracture at times, and a bad right shoulder), I currently have some time off my new job, a new laptop, and enough time to grind through some playoff numbers.

NFL stats at the end of the regular season:

week_17_2013_stats

To explain the columns above, Median is a median point spread, and can be used to get a feel for how good a team is without overly weighting a blowout win or blowout loss. HS is Brian Burke’s Homemade Sagarin, as implemented in Maggie Xiong’s PDL::Stats. Pred is the predicted Pythagorean expectation. The exponent for this measure is fitted to the data set itself. SOS, SRS, and MOV are the simple ranking components, analyzed via this Perl implementation. MOV is margin of victory, or point spread divided by games played. SOS is strength of schedule. SRS is the simple ranking.

Playoff Odds are calculated according to this model:

logit P  =  0.668 + 0.348*(delta SOS) + 0.434*(delta Playoff Experience)

The results are given below, as a “score” in logits:

2013 NFL Playoff Teams, C&F Playoff Model Worksheet.
NFC
Rank Name Home Field Advantage Prev. Playoff Experience Strength of Schedule Total Score
1 Seattle Seahawks 0.406 0.434 0.494 1.334
2 Carolina Panthers 0.406 0.0 0.484 0.889
3 Philadelphia Eagles 0.406 0.0 -0.661 -0.256
4 Green Bay Packers 0.406 0.434 -0.842 -0.003
5 San Francisco 49ers 0.0 0.434 0.612 1.046
6 New Orleans Saints 0.0 0.0 0.658 0.658
AFC
1 Denver Broncos 0.406 0.434 -0.546 0.293
2 NE Patriots 0.406 0.434 -0.258 0.582
3 Cancinnati Bengals 0.406 0.434 -0.856 -0.017
4 Indianapolis Colts 0.406 0.434 0.209 1.048
5 Kansas City Chiefs 0.0 0.0 -0.602 -0.602
6 San Diego Chargers 0.0 0.0 -0.118 -0.118

 

The total score of a particular team is used as a base. Subtract the score of the opponent and the result is the logit of the win probability for that game. You can use the inverse logit (see Wolfram Alpha to do this easily) to get the probability, and you can multiply the logit of the win probability by 7.4 to get the estimated point spread.

For the first week of the playoffs, I’ve done all this for you, in the table below. Odds are presented from the home team’s point of view.

First Round Playoff Odds
Home Team Visiting Team Score Diff Win Prob Est. Point Spread
Philadelphia Eagles New Orleans Saints -0.914 0.286 -6.8
Green Bay Packers SF 49ers -1.049 0.259 -7.8
Cincinnati Bengals San Diego Chargers 0.101 0.525 0.7
Indianapolis Colts Kansas City Chiefs 1.650 0.839 12.2

 

Some general conclusions from the data above: the teams my model favors most are the Seattle Seahawks, the Indianapolis Colts, the 49ers, the Carolina Panthers, and then the New Orleans Saints, mostly NFC teams. Since the Super Bowl itself does not have a home team, the odds change once you actually reach the Super Bowl. The sum of the SOS column and the Previous Playoff Experience column can be used to estimate odds of winning “the big one”. The strongest team in a Super Bowl setting would be the San Francisco 49ers, with a total score, less HFA, of 1.049. The Indianapolis Colts, with a total score of 0.643 less HFA, would be the strongest possible AFC contender.

A point I’d like the reader to consider is this question: should the New Orleans Saints be granted an exception to the previous playoff experience rule of “last year only counts” and given the 0.434 advantage of a playoff team? 2012 was an aberration as the coach was suspended. I’m not calculating this variation into the formula at this point, but I’ll note that this is an issue that you, the reader, need to resolve for yourself.

The road to the playoffs is not easy, a topic that can be studied by trying to calculate the path to the playoffs of the Indianapolis colts, a team that would be favored in every matchup along the way. Let’s calculate the odds of Indianapolis actually winning all three games.

Odds of Indianapolis reaching the Super Bowl
WP versus Kansas City WP versus Denver Broncos WP versus NE Pats Cume Probability
0.839 0.586 0.515 0.253

 

Three teams from the NFC would be favored over any possible AFC contender. Those are San Francisco, Seattle, and the New Orleans Saints. Carolina would be favored over any AFC contender except the Indianapolis Colts.

Sorry about any delays in publication. I was between jobs at the time.

Week 13 NFL Stats:

2013_stats_week_13

To explain the columns above, Median is a median point spread, and can be used to get a feel for how good a team is without overly weighting a blowout win or blowout loss. HS is Brian Burke’s Homemade Sagarin, as implemented in Maggie Xiong’s PDL::Stats. Pred is the predicted Pythagorean expectation. The exponent for this measure is fitted to the data set itself. SOS, SRS, and MOV are the simple ranking components, analyzed via this Perl implementation. MOV is margin of victory, or point spread divided by games played. SOS is strength of schedule. SRS is the simple ranking.

OSRS and DSRS stats look like this:

2013_stats_week_13_srs

The two most impressive teams so far, IMO, are Seattle and Carolina. New Orleans may win the division but right now Carolina is something of a statistical darling.

Conversation around Atlanta is that the Falcons are effectively out of the playoff hunt, as they would need to go 8-1 to be back in it. Personally, I don’t see how they can become a better team than Carolina at this point, much less New Orleans.

Week 8 NFL Stats:

2013_stats_week_8

To explain the columns above, Median is a median point spread, and can be used to get a feel for how good a team is without overly weighting a blowout win or blowout loss. HS is Brian Burke’s Homemade Sagarin, as implemented in Maggie Xiong’s PDL::Stats. Pred is the predicted Pythagorean expectation. The exponent for this measure is fitted to the data set itself. SOS, SRS, and MOV are the simple ranking components, analyzed via this Perl implementation. MOV is margin of victory, or point spread divided by games played. SOS is strength of schedule. SRS is the simple ranking.

OSRS and DSRS stats look like this:

2013_stats_week_8_srs

I’m very tempted to start figuring out who would win playoffs if results were frozen and teams were to go into rounds of games at this time. That’s something for a future post, though.

As #1 teams go, Kansas City has had an exceptionally weak set of opponents and as a #1, Kansas City looks to be had. The schedule doesn’t give them very many hard opponents. Denver looms in week 11 and 13, and Indianapolis in week 16, but otherwise the schedule favors this team — until the playoffs.

Week 7 NFL Stats:

2013_stats_week_7

To explain the columns above, Median is a median point spread, and can be used to get a feel for how good a team is without overly weighting a blowout win or blowout loss. HS is Brian Burke’s Homemade Sagarin, as implemented in Maggie Xiong’s PDL::Stats. Pred is the predicted Pythagorean expectation. The exponent for this measure is fitted to the data set itself. SOS, SRS, and MOV are the simple ranking components, analyzed via this Perl implementation. MOV is margin of victory, or point spread divided by games played. SOS is strength of schedule. SRS is the simple ranking.

OSRS and DSRS stats look like this:

2013_stats_week_7_srs

The OSRS and SDSR stats are calculated as described here. The top 5 teams in OSRS turn out to be Denver, Chicago, Indianapolis, Dallas, and Green Bay. The top 5 teams in DSRS are Carolina, Kansas City, Seattle, San Francisco, and New Orleans. Carolina’s stats in general are notable, as they have the second best Pythagorean in the league.

Week 6 stats:

2013_stats_week_6

To explain the columns above, Median is a median point spread, and can be used to get a feel for how good a team is without overly weighting a blowout win or blowout loss. HS is Brian Burke’s Homemade Sagarin, as implemented in Maggie Xiong’s PDL::Stats. Pred is the predicted Pythagorean expectation. The exponent for this measure is fitted to the data set itself. SOS, SRS, and MOV are the simple ranking components, analyzed via this Perl implementation. MOV is margin of victory, or point spread divided by games played. SOS is strength of schedule. SRS is the simple ranking.

Week 6 OSRS and DSRS stats:

2013_stats_week_6_srs

It’s interesting that while the #1 DSRS is Kansas City (expected), the #2 is Carolina (not so expected). The #1 OSRS is Denver, and the #2 for now appears to be Dallas. Dallas’s offense SRS can’t be assigned entirely to the offense. Monte Kiffin’s defense emphasizes turnovers and the Dallas special teams are scoring as well.

It was yesterday that Nathan Oyler asked me on Twitter if I could rewrite my Perl code to calculate offensive SRS and defensive SRS. Nathan, I believe, is working on a game or a simulation and wanted to be able to calculate these values. I replied, “Do you know how to calculate these?” and, after playing around a little, I can only conclude that the best way to handle this calculation is going to be a matter of debate.

That said, I have a way to calculate these numbers, but first we need a little theory. It starts with Chase Stuart’s comment on the Smart Football blog that these values are related to points for and points against. Given that, and the definition of margin of victory:

MOV(team) = ( “points for” – “points against” ) / games_played(team) = point spread/games_played(team)

We now need to define an average score. This works:

AVG_SCORE = points_for(all teams)/ games_played(all teams)

From these definitions and the hint Chase dropped, we define offensive MOV and defensive MOV this way.

OMOV(team) = ( points_for(team) – games_played(team)*AVG_SCORE ) / games_played(team)

DMOV(team) = ( games_played(team)*AVG_SCORE – points_against(team) ) / games_played(team)

So, rather than plugging in MOV to a SRS linear equation solver, you can plug in offensive MOV and defensive MOV and then you can get numbers that will help you calculate an OSRS and a DSRS.

I say will get you numbers because there a  gotcha, in that whenever you have OSOS and DSOS and they are of opposite sign, then there is no unique solution to the equation

SOS = OSOS + DSOS

as I can choose any constant c and the result

SOS = (OSOS + c) + (DSOS – c)

is also a solution. This kind of linear wandering around, the solver adding arbitrary constants to OSOS and DSOS, happens when you attempt to solve for these equations. The issue is, there is no one obvious solution to this problem, unlike regular SRS where the constraint “sum of all SRS must equal zero” applies.  Now if someone uncovers a constraint, let me know and I’ll be happy to code it. In the absence of such a rule so far, I’ve used this folk rule.

Reduce the magnitude of the OSOS and DSOS terms until the smaller of the two, in terms of absolute magnitude, is zero.

This is straightforward to code. That my solution is not the same as the one in Pro Football  Reference is easy enough to show. If I go to this page, I get these values for the 2007 New England Patriots. If I calculate OMOV and DMOV using my code, we can extract the DSOS and OSOS values for this calculation.

2007 New England Patriots
SRS OSRS DSRS OMOV DMOV OSOS DSOS
20.1 15.9 4.2 15.1 4.6 0.8 -0.4

 

and while my code uses 0.4 and 0 for OSOS and DSOS respectively, the evident values that Pro Football Reference uses are 0.8 and -0.4. All that clear now?

I’m pretty sure my SOS calculation isn’t the same as PFR’s either, as I seen differences in OSRS/DSRS that amount to a point or two. In some cases this occurs when my calc yields same signed OSOS and DSOS values, and in that case, I don’t modify them at all.

The source code I’ve used to do these calculations is given here, as a Perl module. A “snapshot” of the code fragment I use to feed the Perl module source is:

calc_osrs_and_dsrs

typical output is, for the 2007 season:

OSRS-DSRS-2007-First-Cut

And yes, there are plenty of unknowns at this point. PFR has never really given any details of their OSOS/DSOS calculations, or the normalization routines they use. DSRS and OSRS as implemented by them is a “black box”. This implementation may not, in the long run, be the best of them, but it is reasonably well documented.

Update: corrected DMOV definition. Rewritten slightly for clarity.

Week 5, NFL scoring stats.

2013_stats_week_5

To explain the columns above, Median is a median point spread, and can be used to get a feel for how good a team is without overly weighting a blowout win or blowout loss. HS is Brian Burke’s Homemade Sagarin, as implemented in Maggie Xiong’s PDL::Stats. Pred is the predicted Pythagorean expectation. The exponent for this measure is fitted to the data set itself. SOS, SRS, and MOV are the simple ranking components, analyzed via this Perl implementation. MOV is margin of victory, or point spread divided by games played. SOS is strength of schedule. SRS is the simple ranking.

I don’t like working stats the first couple weeks of the season, because they don’t mean very much. But for those who might want some week 4 stats, here they are.

2013_stats_week_4

For those with sharp eyes, Pro Football Reference’s 2013 stats, specifically their SOS and SRS stats, have been busted. This is a screen shot of page http://www.pro-football-reference.com/years/2013/ around 8:30am on this October 11, 2013.

The simple ranking (SRS) is supposed to equal MOV + SOS. On page  above, it does not.  (seen October 11, 2013).

The simple ranking (SRS) is supposed to equal MOV + SOS. On page above, it does not. (seen October 11, 2013).

Simply put, MOV + SOS is supposed to equal SRS. It, in general, does not. Normally my SRS values are within one tenth of a point of PFR’s, but not today, and the failure of the calculation on their part is pretty plain to see.

Nathan Oyler, via Twitter, started asking me the following question, how can my code be used to calculate offensive SRS and defensive SRS? I looked a bit and there doesn’t seem to be a good definition for the term. Some comments by Chase Stuart (1) lead to the notion that you start with “points for” and “points against” stats, and that gives us some useful clues.

If SRS can be broken into two components, OSRS and DSRS, for offensive and defensive SRS, then so can margin of victory. The sum of offensive margin of victory and defensive margin of victory have to equal margin of victory, so it then becomes possible to define such a term.

If you take “points scored” or “points for” and add them all up, divide by the total number of games played, you get the average number of points scored, by one side, in a game. We’re going to call this the average score for now. You can then define the offensive and defensive mov in this way:

offensive mov = (“points for” – games_played(team)* avg_score ) / games_played(team)

defensive mov = ( games_played(team) * avg_score – “points against”) / games_played(team)

These definitions work the way they should. Add the two together and you get margin of victory. Put these terms in place of the MOV in a SRS calculation, and you have a way to calculate an offensive SOS and a defensive SOS. There are still some wrinkles, and those belong in another publication. That’s enough for now, though.

Notes

1. See Chase’s reply to Racer1.

Though the results for the divisional round are embedded in the image of my playoff spreadsheet in my previous article, the table below is certainly easier to read.

 

Divisional Playoff Round
Home Team Visiting Team Home Win Pct Est. Point Spread
DEN BAL 0.477 -0.7
NE HOU 0.638 4.2
ATL SEA 0.462 -1.1
SF GB 0.700 6.3

 

I suspect other systems will rank Seattle as stronger than mine does, and Baltimore as weaker. That said, the Vegas line as of this Sunday gives Atlanta a 2 point advantage over Seattle, and my system slightly favors Seattle. We can calculate odds and points via other mechanisms, say, Pythagoreans, SRS and median point spreads, and if we do, what do we get?

 

Atlanta Versus Seattle
Technique Home Win Pct Est. Point Spread
Median Point Spread 0.632 4.0
Simple Ranking System 0.407 -2.8
Pythagorean Expectation 0.486 -0.4

 

Certainly different systems yield different emphases. For me, the one lasting impression I had was the Washington Seattle game was an almost picture perfect demonstration that home field advantage is strongest in the first quarter.

Of all the teams playing, my system likes San Francisco the best. I suspect it likes it more than others. We’ll learn more as other analytics oriented folks post their odds for the divisional round.

We can’t work with my playoff model without having a set of week 17 strength of schedule numbers, so we’ll present those first.

2012_stats_week_17

Between a difficult work schedule this last December and a very welcome vacation (I keep my stats on a stay at home machine), I haven’t been giving weekly updates recently. Hopefully some of my various thoughts will begin to make up for that.

Though with SOS values, you could crunch all the playoff numbers yourselves, this set of data should help in working out the possibilities:

Odds as calculated by my formula

Odds as calculated by my formula, with home field advantage adjusted to 60%. Point spread calculated with formula 3.0*logit(win probability)/logit(0.60). Click on image twice to expand.

What I find interesting is the difference between Vegas style lines, and my numbers, and the numbers recently posted by Brian Burke on the New York Times Fifth Down blog. My model is very different from Brian’s, but in three of the four wild card games, our percentage odds to win are within 2-3 percent of each other.

Point spreads were estimated as follows: if an effect of 60% were valued at 3 points (i.e. playoff home field advantage is about 60% and home field advantage is usually judged to be worth 3 points), then two effects of that magnitude should be worth 6 points. But it’s only on a logit scale that these effects can be added, so it only makes sense to relate probabilities of winning through their logits. As the logit of 0.60 is about 0.405465, then an estimated point spread can be had with the formula

point spread = 3.0*logit(win probability)/0.405465

Update (1/9/2012) – even simpler is:

est. point spread = 7.4*logit(win probability)

A simplified table of the wild card games, with percentages and estimated point spreads is:

Wild Card Playoff Round
Home Team Visiting Team Home Win Pct Est. Point Spread
GB MIN 0.682 5.6
WAS SEA 0.482 -0.5
HOU CIN 0.642 4.3
BAL IND 0.841 12.3

How many successes is a touchdown worth?

We’ve spoken about the potential relationships between success rates, adjusted yards per attempt, and stats like DVOA here, but to make any progress, you need to consider possible relationships between successes and yards. Let me point out the lower bound of the relationship is known, as 3 consecutive successes must yield at least 10 yards, and 30 consecutive successes must end up scoring a touchdown. In this case, the relationship is 1 success is equal to or greater than 3 1/3 yards.

Thus, if the surplus value of a touchdown is 20 yards, that’s 6 successes. If a turnover is worth 45 yards, that’s about 13.5 successes.

A smarter way to get at the mean value of this kind of relationship, as opposed to a limiting value, would be to add up the yards of all successful plays in the NFL and divide by the number of those plays. For now, that’s something to be pursued later.

Follow

Get every new post delivered to your Inbox.

Join 243 other followers