Non-Parametric NFL Rankings 2017

Most NFL analysis relies heavily on parametric methods. In this post I am to integrate some non-parametric methods to try to control for outliers and opponent performance.

I am interested in applying a different methodology because I think it is unrealistic to rank hundreds of hours of offensive and defensive effort based on means. Means are highly susceptible to outliers (especially with only 16 data points) and do not do a good job of taking into account the opponent’s performance, which is especially important because in the NFL, not all schedules are created equal.  The data I used is 2017 NFL regular season data found on Football Reference.


I read the data into a dataframe and then created a script to rank each game relative to the opponent’s aggregate performance on offense and defense (ie. if a team receives an offensive rank of 1 for a specified game, it means that the team’s offensive output was the highest offensive output that the opposing team allowed all season). I then took the geometric mean of each teams’ adjusted rankings for offensive and defensive yardage to come up with a new metric that I am calling Adjusted Rankscore. The tool below shows the results and visualizes them.

In the visualization above, it is clear that these rankings are very tightly correlated to yardage aggregations, but if we do a deep dive we see that some of the ordering of offensive and defensive performances shift.

Offensive Rankings Deep Dive

It is basically a toss up from a yardage perspective as to which offensive unit was more productive from a yardage perspective between the Saints and Patriots, with the Patriots putting up about 50 more yards throughout the season. However, the Off. Adjusted Rankscore indicates that the Saints forced more defenses into poor performances, implying they were able to emulate the Patriots output while playing against a higher caliber of defensive units. Additionally, we see that the Eagles had the 3rd highest Rankscore despite having the 7th highest yardage output, showing their offense also forced better defensive units into poor performances. On the opposite end of the spectrum, teams like Buffalo, Miami, Arizona, and Denver seem to have had yardages that are inflated by their lower level of competition.

Defensive Rankings Deep Dive

This one doesn’t have much movement at the top; the Vikings and Jags were killer and there’s no real way around that. Pretty much every offense had a tough time with these 2 defensive units. We also see the Panthers unit hop into the top 5 defensive units despite being pretty under the radar throughout the year. On the opposite end of the spectrum, it appears the Lions gave up a ton of yards relative to their competition, as did the Ravens.


In the combined tab, we can see the combined performance of each unit. In the bottom left, we see teams with both strong offensive and defensive units, namely the Vikings, Jags, Falcons, and Eagles. In the top-left, we see the strong defensive units that are weak on offense. The bottom right corresponds to the units that are strong on offense with poor defenses, namely the Patriots, Bucs, and Lions. Top right quadrant is ugly. Sorry Colts.


This methodology sheds some insights into how the level of competition can skew offensive and defensive output. I’d like to see how this metric does as a indicator of playoff success by applying it to years past.  It would be interesting to break down the yardages by passing and rushing yards to really get some granularity into these units’ performances. Click here to check out the code.



Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.