Trying something different this week – I’m uploading the raw output quickly, and will fill it in with comments by updating the entry later. Biggest movers: San Diego rises, Kansas City falls.

| Rank | Team | Notes | Last Week | BeatPower |
1 |
![]() |
(Beat BAL) I finally got a chance to see the highlights of this game. It seemed like Baltimore almost got robbed – that every New England call was technically defensible. Very weird. |
1 |
100.0(30/30 – 0/30) |
2 |
![]() |
(Beat GB) Dallas rises once again, but it’s again kind of annoying to know that #1 has already played #2, and demolished them. But a team finally has a beatpath to Green Bay. |
8 |
96.0(24/25 – 1/25) |
3 |
![]() |
(Beat JAC) Indianapolis regains their beatwin over Jacksonville and rises in the rankings. |
5 |
92.9(19/21 – 1/21) |
4 |
![]() |
(Lost to DAL) The outcome helped Dallas more than it hurt Green Bay. |
3 |
86.0(20/25 – 2/25) |
5 |
![]() |
(Beat CIN) Dallas leapfrogged Pittsburgh, who otherwise holds steady. We have #1 versus #5 for the game of the week this week. |
4 |
84.6(9/13 – 0/13) |
6 |
![]() |
(Lost to IND) Word is that Jacksonville still played extremely well, despite losing to Indianapolis. |
2 |
85.7(17/21 – 2/21) |
7 |
![]() |
(Beat CHI) The Giants win, but it’s other graph factors responsible for their rise in the rankings, particularly Dallas’ rise, and Minnesota’s win over Detroit. |
11 |
85.4(19/24 – 2/24) |
8 |
![]() |
(Lost to MIN) Detroit is still looking better than most people want to give them credit for, but they do lose some ground on the loss to Minnesota. |
6 |
80.0(18/25 – 3/25) |
9 |
![]() |
(Beat DET) Minnesota’s win gets beatlooped away, but it could help them more in the future – they’re also supported by San Diego’s rise. |
10 |
80.0(18/25 – 3/25) |
10 |
![]() |
(Beat KC) San Diego’s win has a large effect, as it means “Good San Diego” becomes their dominant personality again. Their earlier loss to Kansas City had kept them from several quality beatwins, including over Denver. By splitting with Kansas City, they get those beatwins back. |
20 |
77.1(17/24 – 4/24) |
11 |
![]() |
(Lost to ARI) Cleveland has a fair amount of play in their rankings due to their many beatloops. This also still means that Pittsburgh could still be nowhere near as good as many people think. Remember that the AFC North was assigned to the NFC West this year. |
7 |
73.1(8/13 – 2/13) |
12 |
![]() |
(Lost to OAK) Argh! I didn’t even watch this game. I didn’t have it on my still-yet-to-be-switched-cable, and the stats just looked lousy. It was like Denver didn’t show up. Bad game. But, it didn’t matter so much in terms of the graph, as they still have a beatpath to Oakland through Tennessee. |
9 |
62.5(16/28 – 9/28) |
13 |
![]() |
(Beat NO) Tampa Bay reinforces an existing beatpath. |
15 |
75.0(10/16 – 2/16) |
14 |
![]() |
(Beat PHI) No big reward for defeating Philadelphia, a team that still gets too much press. But at least we have an NFC West team in the top half of the rankings. |
14 |
63.3(7/15 – 3/15) |
15 |
![]() |
(Beat WAS) Buffalo was favored to win – it’s other graph dynamics that make them drop a cpule of slots. |
13 |
44.7(8/19 – 10/19) |
16 |
![]() |
(Beat HOU) Tennessee sweets the season series and reinforces a beatwin. |
19 |
45.5(9/22 – 11/22) |
17 |
![]() |
(Lost to NYG) Chicago’s loss to the Giants doesn’t hurt so much, but other graph dynamics lead to some slippage. |
22 |
42.9(2/14 – 4/14) |
18 |
![]() |
(Lost to SEA) It isn’t even so much the press, as it is the octave that the sports anchors voices drop into. Give me a break. It’s just the Eagles. Their highest quality beatwin is over the Jets. |
18 |
34.6(2/13 – 6/13) |
19 |
![]() |
(Lost to TEN) Houston holds about steady despite the loss. |
21 |
34.8(5/23 – 12/23) |
20 |
![]() |
(Lost to BUF) Washington keeps slipping! The NFC East is looking average now, after looking so strong earlier in the season. |
17 |
25.0(3/16 – 11/16) |
21 |
![]() |
(Lost to SD) Kansas City falls out of some beatloops that protected them, by losing to San Diego. They fall in the rankings considerably. They looked on the verge of elite earlier this season. |
12 |
16.7(0/15 – 10/15) |
22 |
![]() |
(Beat SF) Carolina actually rises on the victory over San Francisco, which is kind of sad if you think about it. |
26 |
22.2(3/18 – 13/18) |
23 |
![]() |
(Lost to PIT) Cincinnati gives up the gains they had made the previous week. |
16 |
25.0(3/22 – 14/22) |
24 |
![]() |
(Lost to TB) New Orleans just can’t get over the hump. |
25 |
19.4(1/18 – 12/18) |
25 |
![]() |
(Lost to STL) Atlanta loses and enters into a beatloop with several other crappy teams. |
24 |
16.7(0/18 – 12/18) |
26 |
![]() |
(Beat DEN) No big reward yet for defeating Denver as it just creates a season split when there are other beatpaths reinforcing their graph placement, but every little bit helps, and the future is looking bright for the team. |
27 |
14.7(1/17 – 13/17) |
27 |
![]() |
(Lost to NE) Baltimore sure looked better than #27 in this game. Or maybe New England is just going downhill. |
23 |
15.8(2/19 – 15/19) |
28 |
![]() |
(Beat MIA) The Jets demolish Miami, which doesn’t really matter. |
28 |
10.5(1/19 – 16/19) |
29 |
![]() |
(Beat CLE) Arizona has a great record for being ranked this low, but they haven’t been able to rise above their crappy losses yet. |
30 |
16.7(0/24 – 16/24) |
30 |
![]() |
(Beat ATL) St. Louis’s win over Atlanta gets beatlooped away. |
32 |
8.3(0/24 – 20/24) |
31 |
![]() |
(Lost to CAR) San Francisco falls a couple of slots on the loss. |
29 |
6.2(0/24 – 21/24) |
32 |
![]() |
(Lost to NYJ) Miami sinks to the bottom again. |
31 |
0.0(0/22 – 22/22) |
































Just two teams without a beatloss, and they’re playing in five days. How cool is that?
heh someone is upset their team lost to the Raiders. I can understand, I would be too.
Really cool.
I have to say this is the closest the graph has looked to my own assesment of team strength yet. Minnesota looks a little high, the ‘skins are low but deserve it after the Buffalo loss, and the Titans are low but deserve it with their split personality. The Browns look too high until you realize how few teams they have a beatpath to. The bottom five teams look right to me.
TT, where would Baltimore have been with the win? It would have been beatlooped away, of course, but does that allow them to shed the Bengals loss and rise at all?
My graphs are up:
http://www.twomuffin.com/BeatPaths.htm
http://www.twomuffin.com/BeatPathsWeighted.htm
http://www.twomuffin.com/BeatPathsDoktarr.htm
You’ll have to forgive some things as my computer is still in its death throes. I have received my new one so it shouldn’t be a problem much longer.
My standard graph has a redundant path from CLE=>MIA that doesn’t need to be there. I’ll fix it when I get the chance. Also, I haven’t yet implemented the path weighting that will properly score Doktarr’s system. right now it uses the standard scoring which gives each path 1 point per team on it instead of the weight remaining of each path to the teams.
As far as Baltimore winning the game goes, and I’m doing this off the top of my head so corret me if I’m wrong, they would have shed several losses. NE=>BUF=>BAL, NE=>CIN=>BAL, NE=>CLE=>BAL. While this would probably raise them in the numerical standings, it wouldn’t raise them on the graph since the wins they keep are still pathetic.
I think the only thing that a Baltimore win would have changed in the graph is that NE would have lost their beatwin over CLE (and their path to SEA). Their other wins are still reinforced by other paths. BAL is still out of luck after losing two games to CIN and CLE, and stays in the same place on the graph. I doubt it would change the numerical rankings much at all, but I could be wrong.
Wow, that is a seriously vertical graph. I like most of the placements. I think the game that screws that graph up more than anything is the week 5 CAR=>NO defeat. That, and several games involving the Cardinals. But other than those three teams, I like the ordering produced there.
If you’re going to do the path weighting ranking, I think I would weight each path by the (geometric?) average weight on that path, as oppose to the total weight.
I’d love to see an “algorithmic” breakdown like you produced last week, perhaps mentioning which wins in a loop were “preserved” as well. You can e-mail it to me (ahtarr at gmail) if you don’t want to post it.
Another idea I had, now that you have a weighted graph, is to decay games. For example, each week that goes by, the wins from the last week start with 92% of the weight they had the previous week. By week 16, week 1 wins only count as 1/4 of a win, before the algorithm starts working. This would probably be more reliable for picking games, although it would be a worse measure of who had had a better overall season.
Your points-based beatpath graph also got me thinking. What I don’t like about that approach is that blowout wins are basically impossible to erase, unless you both win and lose blowouts (hello, Detroit Lions). My first instinct is to just cap the scores at 17 or so – i.e. 52-7 counts the same as 24-7. This got me thinking that you could weight games based on scoring margins in a more dynamic way – say, 52-7 is worth a tiny bit more than 24-7, but the difference between 24-7 and 10-7 is vast. You could even adjust those numbers by home/away, so a 17 point win on the road is considered more impressive.
Heck, you could even weight wins/losses by the single-game VOA from footballoutsiders. The possibilities are endless. I really like the idea of using other approaches to come up with weights for games, and then use the beatpath algorithm to crank out an ordering based on those weights.
I think the problem is exactly what you said. The possibilities are endless. While some of these other methods may be interesting, they would take way too much time to try to do on a weekly basis.
Also, I’m not very keen on the weighted graph mostly because the score of a game often doesn’t tell much about the game as a whole. One play can be the difference between a 24-7 game and a 17-14 game (think interception in the endzone returned for a touchdown). I agree with your complaints about this method, and am only running the numbers at someone else’s suggestion as my contribution to the site.
I’m not too thrilled about a VOA/DVOA approach either since a team can lose despite having a better rating. This would require and adjustment that I don’t believe to be fair.
Overall, I think the point of the system is to create the most simple and least subjective rating system possible. Any wholly different algorithms, like the one you proposed, are worth taking a look at. But tweaking numbers to make the rankings look more how we want them to goes against the point of objective rating systems.
Oh, and I would post the process for your method, but my odl computer is mostly fried and I won’t be getting Visual Studio installed on this new one for a few days so I might not have it for this week.
I can say that two years ago I spent a ton of time coming up with all sorts of tiebreakers that were more and more complex – each would seem attractive based off of the how they would make the rankings align more with what seemed to make sense given my sense of the league at that time. I tried length of longest beatpath, beatpower, a bunch of things having to do with the number of beatloops a team was in, etc – I ended up writing a backtester (that I need to turn back on again) and I found that almost all of them underperformed the simplest implementation over time.
These later ideas are good and I’m looking forward to testing them or some variant of them though – there are still more ways to explore it in terms of an ecology. The one that I’m most interested in is one that will somehow take into account the rest of the upcoming regular season games – I just thought that week earlier this season was so interesting, where despite San Diego being ranked highly, almost every outcome that week led to them falling in the rankings.
TT, point well taken on the tiebreakers, beatflukes approach, and so on. I’m interested to see what the backtester spits out.
Moose, I’m certainly not trying to imply that we should try to implement all of these things. I’m just pointing out that the beatpaths idea can be applied to plenty of algorithms, and it provides a very elegant way to incorporate “opponent adjustments” that avoids trying to scale things some other way.
With that in mind, you would never use DVOA, just VOA. The opponent adjustments take care of themselves through the operation of the beatpaths. You just have to accept that occasionally your results will suggest that Baltimore beat the Patriots, when the W/L column says otherwise.
One of my favorite ideas is to come up with a random ranking of the teams that respects the vanilla beatpaths graph. And then let people adjust the ranking however they choose, in a way that would still respect the beatpaths graph. There’s a way to move the teams up and down using javascript so they could never go above or below teams in their beatpaths (pushing a team up would just push up its beatwins if they’re right against each other, etc). And then when the person likes it, submit it as a ballot. And then I’d count all the ballots, and tally the votes using the Condorcet methodology, since beatpaths is very similar to Condorcet voting. And then that could be a tiebreaker – the community tiebreaker.
One thing that could be interesting, and may be somewhat easy to implement now (if you’ve got the data), would be to list the min/max of where each team could be in the rankings with respect to the beatpaths graph.
One of the ideas I’ve had is similar to what you’re proposing JT. It would process the ratings for one additional game, changing the results of that game for every possibility. It would see how the graph would change with any new result added, then average the positions the teams finish in to give an idea of each team’s overall stability on the graph. This way, if a team like SD (mentioned in TT’s comment above) is likely to drop heavily in an upcoming week, it can be shown ahead of time.
Beatpaths _is_ a form of Condorcet voting. I didn’t know you were familar with Condorcet’s method, although it is of course not surprising at all.
I like JT’s idea of listing maximum range. So Dallas is between 2nd and 6th, Green Bay is between 3rd and 11th, and so on.
I would expect Muffin’s point margin beatpath to be more accurate than either other approach in backtesting, but this is not surprising since it has more data to work with.
I was trying to work out in my head how a maximum range for each team would be constructed, and it shouldn’t be to hard. For the highest it’s basically [ + 1] and for the lowest it’s [32 -
Silly greater than and less than signs, messing up my post.
What I was basically trying to say it the maximum range for team X would be ((teams with beathpaths to X) + 1) – (32 – (teams X has beatpath to))
You can get some wide ranges for some teams, other very connected teams will get a small range. Some I figured out by hand:
New England 1 – 2
Pittsburgh 1 – 23
Denver 10 – 16
Washington 12 – 29
Chicago 5 – 30
Tampa Bay 3 – 23
So some teams are pretty locked into their ranges, like New England and Denver. Some really wishy-washy teams, like Tampa Bay and Chicago can be all over the map.
Yeah, actually beatpaths came about from me thinking about Condorcet voting, frustrated about how everyone talks about the “contradictions” in the Schwartz sets (same as a beatloop). So when thinking of it in a political context, I would always lazily think of the schwartz sets (rare in practical terms) as ties. And in something like the NFL, that’s how I had the idea to just ignore the beatloops and rely on the other graph dynamics. On one of my other old blogs when I was being more political I’d write about vote theory all the time.
Looks like you can roughly figure out min/max just by looking at the beatpower numbers in the rankings every week. The beatpower numbers are related to how many teams have a beatpath to that team, and how many teams they have a beatpath to. And that’s equivalent to their rankings range.
Jacksonville is 17/21 – 2/21 . (They have beatpath relationships with 21 teams.) Two teams have a beatpath to them (so they can be ranked #3). And they have a beatpath to seventeen teams, which all have to be below them, so the lowest they can be ranked is what, #15?
I don’t think that min/max is sufficient information to give the consistent and descriptive results we’re looking for. If team A=>B=>C, and C has beaten 15 other teams, but those 15 other teams haven’t managed to beat anyone outside of that set, C has 2 teams in and 15 out but could easily move upwards if it sheds it’s loss to B. It is very unlikely to move down due to a heavily reinforced set of wins below it.
On the other hand if A=>C, B=>C, and C=>D with the rest of C’s relationships being looped away, if D has below it 14 other teams in lower paths, C still has 2 teams in and 15 teams out, but will move way down by losing its win over D while it can’t move up more than one slot by losing losses from A or B.
I’m still taking this site in as part of my regular rounds on Football analysis, but may drop it next year.
Just beating teams doesn’t add much to the discussion. The Giants have 8 wins and suck badly. If it weren’t for Detroit and Chicago’s ability to collapse so easily, or the fact the Eagles played without 4 of their best players, this Giants team is 6-6 or possibly 5-7. I just don’t see it. Wins get you to the playoffs, for sure, but never tell a story.
Site needs to find a better way to quantify beatloops. I suggested point totals during games played. I doubt I’ll revisit next year if something isn’t done to improve the looping eliminations. At 5-7, with close losses across the board, the Eagles may not be playoff bound but they are a very good team that has been just this much shy of being 11-1.
You may feel they get too much press. Oddly, here in NYC, we feel New England and Dallas get too much press. While these are the quality teams in the NFL, I’m guessing only one will make the Super Bowl, and whoever it is stands a legitimate shot at losing, given trends in the NFL the last few weeks.
Rick, have you even looked at the weighted graphs I’ve been posting every week? They are exactly the point total driven graphs you are looking for. Using that method PHI rises to 13th, but their losses to NYG and SEA keep them from going any higher.
TT: Yup, the min/max ratings could be determined from the numbers in the beatpower column.
Moose: I agree, it doesn’t tell you everything you’d need to know, but it does give you a brief view of how stable a team is in relation to their rankings. I mostly suggested it because of TT’s comment about user voting based on the graph constraints. Having those min/max would be a first step towards that. And it’s pretty easy to do with the data that’s already there.
As for me, I don’t care much for points entering into it. It’s possible (however unlikely) for a team to go 16-0 and have a total margin of victory of 16 points. I like looking at the weighted graphs each week, but mostly look at how they differ from the vanilla graph.
Rick: Taking your Eagles example, if they really are a “very good team” one could easily argue that they shouldn’t have lost all of those close losses. A good team would’ve found a way to win them. The whole point of this site is to quantitatively judge the teams, taking out the reviewers perceptions like “suck badly”.