The team rankings below are in terms of generic win probability. The GWP is the probability a team would beat the league average team at a neutral site. Each team's opponent's average GWP is also listed, which can be considered to-date strength of schedule, and all ratings include adjustments for opponent strength.
Offensive rank (ORANK) is offensive generic win probability, which is based on each team's offensive efficiency stats only. In other words, it's the team's GWP assuming it had a league-average defense. DRANK is is a team's generic win probability rank assuming it had a league-average offense.
GWP is based on a logistic regression model applied to current team stats. The model includes offensive and defensive passing and running efficiency, offensive turnover rates, defensive interception rates, and team penalty rates. If you're scratching your head wondering why a team is ranked where it is, just scroll down to the second table to see the stats of all 32 teams.
Click on the table headers to sort:
RANK | TEAM | LAST WK | GWP | Opp GWP | O RANK | D RANK |
1 | IND | 1 | 0.87 | 0.44 | 2 | 4 |
2 | NO | 2 | 0.86 | 0.45 | 1 | 6 |
3 | DEN | 4 | 0.78 | 0.45 | 10 | 1 |
4 | NYG | 3 | 0.74 | 0.40 | 4 | 13 |
5 | PIT | 6 | 0.71 | 0.40 | 5 | 21 |
6 | NE | 14 | 0.64 | 0.48 | 8 | 15 |
7 | DAL | 7 | 0.63 | 0.41 | 3 | 30 |
8 | SD | 15 | 0.59 | 0.52 | 9 | 20 |
9 | GB | 11 | 0.58 | 0.39 | 12 | 19 |
10 | CHI | 10 | 0.55 | 0.49 | 18 | 2 |
11 | PHI | 5 | 0.55 | 0.33 | 15 | 11 |
12 | ARI | 16 | 0.53 | 0.53 | 16 | 5 |
13 | ATL | 8 | 0.52 | 0.44 | 6 | 28 |
14 | MIN | 17 | 0.51 | 0.34 | 13 | 26 |
15 | JAC | 13 | 0.50 | 0.48 | 14 | 22 |
16 | BAL | 19 | 0.49 | 0.43 | 11 | 27 |
17 | CIN | 18 | 0.49 | 0.53 | 17 | 7 |
18 | HOU | 21 | 0.49 | 0.42 | 7 | 32 |
19 | NYJ | 9 | 0.41 | 0.51 | 28 | 3 |
20 | SEA | 20 | 0.41 | 0.51 | 20 | 14 |
21 | MIA | 23 | 0.41 | 0.54 | 19 | 16 |
22 | SF | 24 | 0.38 | 0.43 | 24 | 8 |
23 | TEN | 12 | 0.36 | 0.60 | 22 | 12 |
24 | BUF | 25 | 0.32 | 0.44 | 27 | 18 |
25 | WAS | 22 | 0.31 | 0.28 | 23 | 24 |
26 | OAK | 32 | 0.22 | 0.56 | 30 | 10 |
27 | DET | 27 | 0.22 | 0.59 | 26 | 23 |
28 | CAR | 26 | 0.20 | 0.43 | 31 | 9 |
29 | STL | 30 | 0.19 | 0.45 | 21 | 31 |
30 | KC | 28 | 0.19 | 0.49 | 29 | 25 |
31 | TB | 29 | 0.16 | 0.46 | 25 | 29 |
32 | CLE | 31 | 0.15 | 0.55 | 32 | 17 |
And here are the raw team efficiency stats. Passing, running, and penalties are in yards per relevant play. Fumbles and interception stats are in turnovers per relevant play.
TEAM | OPASS | ORUN | OINT% | OFUM% | DPASS | DRUN | DINT% | PENRATE |
ARI | 6.3 | 2.9 | 2.4 | 1.6 | 6.6 | 2.8 | 2.1 | 0.46 |
ATL | 7.3 | 3.4 | 2.6 | 1.6 | 5.9 | 4.7 | 2.6 | 0.46 |
BAL | 6.8 | 4.9 | 2.2 | 0.6 | 7.2 | 3.5 | 3.7 | 0.55 |
BUF | 5.1 | 4.3 | 3.9 | 0.3 | 4.8 | 5.3 | 5.0 | 0.51 |
CAR | 4.9 | 4.3 | 7.3 | 2.4 | 5.5 | 5.0 | 2.3 | 0.30 |
CHI | 6.3 | 3.8 | 4.1 | 1.7 | 5.4 | 3.7 | 2.7 | 0.43 |
CIN | 6.0 | 4.2 | 3.4 | 1.4 | 6.6 | 3.9 | 2.3 | 0.38 |
CLE | 4.1 | 3.9 | 5.4 | 0.7 | 6.7 | 4.9 | 1.5 | 0.35 |
DAL | 7.5 | 5.9 | 2.4 | 0.4 | 6.5 | 4.2 | 1.1 | 0.53 |
DEN | 7.0 | 4.3 | 0.5 | 1.3 | 5.1 | 3.3 | 3.1 | 0.36 |
DET | 5.0 | 3.7 | 4.7 | 1.3 | 7.3 | 4.6 | 2.0 | 0.45 |
GB | 6.8 | 4.1 | 1.2 | 0.4 | 6.0 | 3.6 | 6.6 | 0.58 |
HOU | 7.7 | 3.0 | 2.3 | 1.9 | 6.6 | 4.9 | 1.5 | 0.34 |
IND | 8.9 | 3.3 | 2.2 | 1.2 | 4.6 | 4.1 | 2.1 | 0.32 |
JAC | 6.1 | 4.5 | 1.4 | 1.0 | 7.1 | 3.8 | 2.3 | 0.30 |
KC | 4.6 | 3.4 | 1.1 | 1.6 | 7.1 | 4.5 | 1.5 | 0.40 |
MIA | 5.2 | 4.8 | 2.1 | 0.7 | 7.3 | 3.4 | 2.1 | 0.40 |
MIN | 6.8 | 4.3 | 1.1 | 0.9 | 6.5 | 3.9 | 2.9 | 0.27 |
NE | 6.7 | 4.1 | 0.8 | 0.3 | 5.6 | 4.7 | 2.2 | 0.37 |
NO | 8.2 | 4.6 | 1.3 | 1.0 | 5.4 | 3.8 | 5.9 | 0.42 |
NYG | 7.8 | 4.5 | 1.6 | 0.9 | 5.2 | 4.4 | 3.2 | 0.46 |
NYJ | 5.3 | 4.9 | 6.7 | 1.0 | 5.3 | 4.0 | 2.4 | 0.44 |
OAK | 4.5 | 3.3 | 4.0 | 1.2 | 6.4 | 4.3 | 2.1 | 0.39 |
PHI | 6.3 | 4.3 | 2.1 | 1.3 | 5.0 | 3.6 | 6.7 | 0.45 |
PIT | 7.9 | 3.9 | 2.9 | 1.5 | 5.3 | 3.8 | 1.9 | 0.42 |
SD | 7.2 | 2.9 | 1.6 | 0.0 | 6.8 | 4.3 | 2.6 | 0.37 |
SF | 5.0 | 4.2 | 1.4 | 0.9 | 5.9 | 3.3 | 3.2 | 0.44 |
SEA | 5.5 | 3.5 | 2.2 | 1.3 | 6.0 | 4.3 | 1.5 | 0.30 |
STL | 5.0 | 4.2 | 2.1 | 1.5 | 7.5 | 4.1 | 2.6 | 0.50 |
TB | 4.9 | 4.4 | 3.9 | 2.3 | 7.5 | 4.9 | 4.1 | 0.37 |
TEN | 5.0 | 5.3 | 4.5 | 2.2 | 7.5 | 3.4 | 1.7 | 0.41 |
WAS | 6.0 | 4.0 | 3.4 | 1.4 | 5.4 | 3.8 | 1.7 | 0.40 |
Avg | 6.2 | 4.1 | 2.8 | 1.2 | 6.2 | 4.1 | 2.8 | 0.41 |
Note: I updated the process for opponent adjustments this past week. Like before, each team's average opponent strength is calculated and applied to create an adjusted GWP. Then this new GWP is used to re-calculate a new opponent adjustment that is applied to the unadjusted GWP. I repeat this process several times until a solution converges toward an equilibrium. The new process simply increases the number of iterations.
Post the algorithm for the updated process?
I'm a little confused. How are the Cowboys, ranked 19th against the pass and 14th against the run, ranked 30th overall on defense? Does the interception rate hurt them that much, or does the defensive ranking take the penalty rate into account? If so, that makes sense.
I also find it a little surprising the 3rd offense and 30th defense translates to 7th best overall. Unfortunately, I think their passing stats are inflated after the Bucs and Chiefs games.
Brian: Looks to me like you may have a calculation error somewhere. Your teams have an average GWP of .468, and opponents are .462.
Also, there continues to be a fairly strong inverse correlation between the two (-.29). I realize strong teams don't have to play themselves and vice-versa, but that should be a fairly small factor. It looks like the system may be "over-correcting" for strength of opponent.
Doesn't it make some sense that the strong teams have a weaker schedule? Not only do strong teams not play themselves, but they add additional losses to the teams they played and vice versa. After the Broncos week 4 win, someone complained they played an easy schedule against combined 6-10 teams. But that included 4 losses against the Broncos to what otherwise would be 6-6 teams.
Also, I've heard a lot of complaints this season all the top teams are playing against extremely weak teams this season.
"Doesn't it make some sense that the strong teams have a weaker schedule?"
No. But could it happen by chance? Sure.
I also notice that the talent spread is huge this week, a SD of over .200. Maybe some regression got omitted? (Unless the data supports the idea that the talent spread has surged this year.)
The extra iterations of the opponent adjustment cause the deviation from average. There are slight rounding errors (and other discrepancies) in the NFL data that make the average .495 (or so) instead of .500. The opponent adjustment iterations enlarge the difference. I think this causes the increased spread in teams as well.
I can 'force' the average to be exactly .5 at every iteration, but I may have to wait to do that next week.
I'm not sure why the correlation exists. I'll never rule out the possibility I've made an error somewhere, but I've double checked everything. Each team has a logit value (without the constant or home field value). That value is simply adjusted by the average value of its opponents' logit.
I think the correlation might be related to the small sample size early in the season. Last season at week 5 there was a correlation between GWP and opponent GWP of +0.25. By the end of the season it was 0.05.
Brian: I'm not following. For some reason, the teams are now showing an average GWP of .468, not .495.
The talent spread also seems a bit extreme, with a SD over .200 (in previous years the actual spread was .160 or lower). Look at it this way: your bottom 7 teams are a collective .19. That means the system expects them to go about 14-60 for the rest of the year (assuming average opposition and 50% HFA). Wouldn't you gladly take the over on that bet?
No, I understand. It's that the .495 (or whatever) grows with each iteration until it becomes .468. I can fix that, but don't have time right now.
The model should become more confident as more weeks of data are included. Each week is one fewer week of "prior" (league average) weight in each team stat.
But .200 seems pretty high. Maybe it's the case this year. I'd say that except for CAR, which is dragged down by those 2 awful games by Delhomme, the bottom few teams are essentially .190 teams. That would be 3-13. A couple will end up with 4 or 5 wins, one will end up with 1 or zero wins.
When I have time in a few days I'll pull apart the code and see if there is a bug somewhere.
OK, I understand now. Thanks.
Would be interesting if competitive balance is decreasing. Actually, the current SD of actual team W-L records is .288, which over 6 games implies a "true talent" spread of about .200. So your estimates may be spot on.
wtf!
Do your rankings assume that past turnover rates are predictive of future turnover rates?
Yes, but only partially. The coefficients of the turnover variables are weighted according to how well they tend to self-predict through the season.
Is it safe to say that the coeff. for fumble rates is close to zero? Everything I have seen shows that they are basically random at the NFL level.
Brian,
Does the difference in GWP between two teams mean anything? What if you define it as the probablity of beating, say Washington, would it mean anything?
Maybe you have touched on this subject before, I'm new here, and liking what I read.
Fumble recovery rates are basically random. But overall fumble rates themselves are not. I think they are probably connected to sack rates and how well the QB hangs onto the ball. Some RBs could be more prone to fumble than others beyond random variation as well.
Jaime-You could select any team as the baseline to compare them all against. It's all relative, so I think using an average team is the most intuitive. Plus, it gives you an idea of what a team's long-run win % should be.