There are many ways to rank NBA teams; some better than others. This method runs as follows:
- Compile all game advanced team boxscores from Basketball Reference, like this one:
Four Factors Pace eFG% TOV% ORB% FT/FGA ORtg SAS 90.8 .506 13.8 32.6 .186 113.4 BOS 90.8 .647 15.5 18.5 .107 115.6
- Adjust efficiency differential in the game for location and rest days.
- Solve for each team’s efficiency differential by minimizing the residuals^1.5 for each game (using Excel Solver)
- Generate an offense-defense skew for each team by solving for average efficiency in games that team plays, adjusted for rest days (minimizing residuals^1.5 again).
- Use the offense-defense skew and the team’s efficiency differential to generate offensive and defensive ratings for each team.
- Apply the same methods to generate pace values for each team
So this method differs in a few ways from some others:
- It weights each GAME equally, rather than each possession (I don’t want a fast-paced OT game to mean more in the ratings than a slow game).
- I minimize residuals^1.5 rather than squared residuals. I suppose a true average would use squared residuals, but I liked the fact that using ^1.5 causes outliers to have less of an effect. Research is needed to figure out what is the proper approach–for retrospective ratings, ^2 is probably best, but for predictive perhaps something less than ^2. This was simply a judgment call on my part.
So anyway, here are the ratings. I’ll show them both in lovely Excel-conditional-formatting splendor (which would be a headache to code as CSS–only Ken Pomeroy has done it that I know of!) and then I’ll post them in table format as well for easy sorting and copying.
And for sorting and copying, here is the nice table form:
|Rank||Chg||Team||Off Eff||Def Eff||Eff. Margin||Change||Prev||SoS||Pace|