The Ringer published its NBA Top 125 yesterday, post-postseason, an in-order ranking of the 125 best players in the NBA. It’s a subjective exercise done for the sake of stoking debate, and therefore it’s far from fundamental truth. It’s also pretty well-done. It’s fair to have major disagreements with it, but those are subjective as well, and The Ringer’s NBA staff is deep, connected, and knowledgeable, three traits which lend well towards 1) washing out extreme opinions (thanks to the depth), 2) reflecting the opinions of NBA front offices (thanks to the connections), and 3) simply doing a good job (thanks to the knowledge).
We wrote on Tuesday about how to win an NBA title (consider that Part 1), and we wrote then too about how much of a player-driven league the NBA is. To that second point: This list is more meaningful than similar lists are for the other Big Four leagues. In the NBA, a ranking of the top 125 players makes up more than a quarter of actively rostered players. Lining up the top quartile of a league, in order, is easier in the NBA than elsewhere, and it gives you a pretty good rundown of where its talent lies. At the end of this season, the Celtics had seven players who now appear in the top 125. At the end of this season, the Rockets had one (Alperen Şengün).
In light of what we said Tuesday about needing to reach a minimum talent level to contend for a title, and in an effort to highlight what “Heat Culture” accomplished (there’s an email in the mailbag that we still want to respond to), we were curious about whether we could “score” each team based on the locations of its players in this top 125. So, we tried.
We created something here we’re calling each team’s Core Score. The Core Score is, theoretically, a reflection of how valuable each team’s core is. It’s a measurement of where its best players line up in this top 125.
There were a few ways we could do this. We could score it like a cross country race, giving 125 points to the top-ranked player and 124 to the second-ranked player and 1 point to the player ranked 125th. We could use a basic exponential function to highlight how the list should theoretically stratify more and more the closer it gets to number 1. We tried to do the latter, thinking it the better approach, but when we checked it against the distribution of basketball WAR scores this season on FiveThirtyEight, we didn’t like what we found. Value, it appears, isn’t consistent enough in its stratification. We ended up doing this:
There are two things to address here, and we’ll get the quicker one out of the way first: Nikola Jokić is really good at basketball. He graded out by the WAR formula FiveThirtyEight uses as nearly twice as valuable as the next-best player this season. We’re suspicious of this, and we’ll come back to it, but Nikola Jokić was his own bucket in our approach, and he didn’t affect the rest of the numbers, being such an outlier.
The second one is what exactly we’re looking at. Our distribution is inconsistent. It speeds up and slows down and speeds up again in its ascent to the top. This is what we saw in that WAR distribution. Maybe that WAR metric isn’t very good, but…well, we’ll get to that later. What we did here was shape our approach based on five buckets, five sections of the list, determining the slope within those buckets to best approximate the value curve.
The unit on Core Score is wins. It’s not wins above replacement, though. It’s wins above the 126th-best player. In words, what Core Score should theoretically say is how good each core would make an average supporting cast. Let’s show how it does.
First, here’s what it thinks of each core, when you add it all up.
Team | Core Score |
Nuggets | 38.8 |
Celtics | 26.7 |
Warriors | 24.6 |
Suns | 23.9 |
Bucks | 22.1 |
76ers | 21.0 |
Timberwolves | 19.9 |
Clippers | 19.7 |
Cavaliers | 19.6 |
Grizzlies | 18.8 |
Heat | 17.3 |
Raptors | 16.3 |
Kings | 16.1 |
Lakers | 15.4 |
Knicks | 15.3 |
Pelicans | 14.5 |
Mavericks | 14.2 |
Hawks | 13.3 |
Thunder | 11.8 |
Blazers | 11.5 |
Bulls | 10.2 |
Nets | 9.5 |
Wizards | 8.4 |
Pacers | 8.0 |
Jazz | 7.9 |
Magic | 5.5 |
Hornets | 4.4 |
Pistons | 4.3 |
Spurs | 2.5 |
Rockets | 1.3 |
Not too bad. The reigning champions are at the top, the other regular season conference champion is next, the next four teams, in order, are built around Steph Curry and Kevin Durant and Giannis Antetokounmpo and the reigning MVP. The four worst teams in the league are at the bottom, though the order’s mixed. The Nuggets are *a lot* better than the rest of the league, but that comes back to the Jokić thing, which I promise we’ll talk more about in a minute.
Now, let’s test this thing for real:
Team | Core Score | Expected Wins | Real Wins | Over/Underperformance |
Grizzlies | 18.8 | 43.0 | 51 | 8.0 |
Kings | 16.1 | 40.3 | 48 | 7.7 |
Bucks | 22.1 | 50.3 | 58 | 7.7 |
Nets | 9.5 | 37.7 | 45 | 7.3 |
Jazz | 7.9 | 32.1 | 37 | 4.9 |
76ers | 21.0 | 49.2 | 54 | 4.8 |
Thunder | 11.8 | 36.0 | 40 | 4.0 |
Knicks | 15.3 | 43.6 | 47 | 3.4 |
Lakers | 15.4 | 39.7 | 43 | 3.3 |
Pelicans | 14.5 | 38.7 | 42 | 3.3 |
Cavaliers | 19.6 | 47.8 | 51 | 3.2 |
Celtics | 26.7 | 54.9 | 57 | 2.1 |
Bulls | 10.2 | 38.4 | 40 | 1.6 |
Magic | 5.5 | 33.8 | 34 | 0.2 |
Clippers | 19.7 | 43.9 | 44 | 0.1 |
Mavericks | 14.2 | 38.5 | 38 | -0.5 |
Hawks | 13.3 | 41.6 | 41 | -0.6 |
Pacers | 8.0 | 36.2 | 35 | -1.2 |
Heat | 17.3 | 45.5 | 44 | -1.5 |
Wizards | 8.4 | 36.6 | 35 | -1.6 |
Timberwolves | 19.9 | 44.1 | 42 | -2.1 |
Blazers | 11.5 | 35.8 | 33 | -2.8 |
Suns | 23.9 | 48.2 | 45 | -3.2 |
Raptors | 16.3 | 44.5 | 41 | -3.5 |
Rockets | 1.3 | 25.5 | 22 | -3.5 |
Spurs | 2.5 | 26.8 | 22 | -4.8 |
Warriors | 24.6 | 48.8 | 44 | -4.8 |
Hornets | 4.4 | 32.6 | 27 | -5.6 |
Nuggets | 38.8 | 63.0 | 53 | -10.0 |
Pistons | 4.3 | 32.5 | 17 | -15.5 |
One very important thing to say right now: We made a conference adjustment. In addition to the basic conversion to get the total number of wins across the league correct, we added two expected wins to every Eastern Conference team and took two away from every Western Conference team to adjust for the difficulty of schedule. This accounts for the average miss by conference between our “Expected Wins” and Real Wins when we don’t make the adjustment.
Looking at the list, three claims:
1. I don’t think that WAR number was bad after all.
2. I think The Ringer’s Top 125 is probably pretty good.
3. I do think WAR overrated Nikola Jokić.
What we’re looking at, numerically, is a number with an average error margin of four wins, and one that predicts 23 of the league’s 30 teams within five wins of their true win total, an error that could absolutely be explained, in significant part, by the quality of each team’s players *not* in the league’s top quartile. Looking at the exceptions, it gets even better.
Of the seven bigger misses, the teams Core Score missed by more than five wins…
- I’m guessing Ja Morant’s ranking is not what it would have been had he not waved all those guns around on camera. I’m guessing this partially because The Ringer mentioned “off-court controversy” in its writeup of him. This might be valid, but the rankings are of this moment, and the true wins total of each team was of all the moments from October through April. Ja Morant was better for a team in November than he is right now.
- The Nets had Kevin Durant and Kyrie Irving for half a season and didn’t have them for another half a season. KD and Kyrie’s “expected wins” go to the Suns and Mavericks. Most of their real wins went to the Nets.
- I think WAR overrated Nikola Jokić. Nate Silver wrote on his substack on how difficult a time his system has had finding comparisons for the best basketball player alive, which is a natural problem for systems to have. To minimize total error when building these things, you generally have to sacrifice some accuracy on the margin.
- Goodness gracious, the Pistons were bad.
That leaves us with the Hornets, who were barely outside the five-win boundary, and then the Kings and the Bucks, on whom Core Score missed a little worse. Core Score didn’t evaluate those teams very well. It did a pretty solid job on the rest of the league.
What this means is not that ‘Core Score’ is some brilliant metric. What it means is what I wrote above: The Ringer and FiveThirtyEight do really good work at this stuff. They do such good work that a blogger with a spreadsheet and an hour was able to convert their rankings and WAR numbers into a serviceable backward-looking projection system. There’s circularity—WAR has a lot to do with actualized wins, WAR and stats like it were likely referenced by the crew at The Ringer—but these guys do good work.
What this also means is that, to state the obvious, it’s good to have good players. Going back to our first list for a minute, removing the conference adjustment, and reducing Jokić’s contribution to Core Score halfway between where we have it and where we’d have it if the number one slot was merely part of the top ten bucket for us, this is how the best teams in the NBA, looking backwards based on end-of-season roster, stack up by expected wins:
- Denver Nuggets: 60.2
- Boston Celtics: 53.1
- Golden State Warriors: 51.0
- Phoenix Suns: 50.3
- Milwaukee Bucks: 48.5
- Philadelphia 76ers: 47.4
- Minnesota Timberwolves: 46.3
- Los Angeles Clippers: 46.1
- Cleveland Cavaliers: 46.0
- Memphis Grizzlies: 45.2
- Miami Heat: 43.7
- Toronto Raptors: 42.7
- Sacramento Kings: 42.5
- Los Angeles Lakers: 41.8
Of these 14 teams, entering the postseason I would offer that the consensus groupthink said that the top five or six could win a title, plus maybe the Lakers. I don’t think anyone seriously believed in the Timberwolves, Clippers, Cavs, Grizzlies, Heat, Raptors or Kings. I think people believed in the Lakers because people think the NBA is rigged.
Combining this groupthink, these rankings, and what we saw in the playoffs, then, let us offer the following:
To have a shot at an NBA title, your “Core Score” needs to be higher than 21. More goes into the title than that, of course (and although Core Score believes the Heat underachieved on the regular season, I do think it supports the theory that Heat Culture is meaningful, so long as you include postseason results), but that is the threshold. To borrow the Theo Epstein theory that winning a title revolves around getting yourself as many rolls of the playoff dice as possible, the threshold at which you’re actually rolling dice in the NBA seems to be somewhere around 21. What does this mean?
Well, if you want to have five players in the top 125—a reasonable number, the average among that top five or six—and you want them evenly spaced, one recipe that gets you to 21.0 is the following:
- The 2nd-ranked player (11.44 Core Score)
- The 32nd-ranked player (5.53 Core Score)
- The 62nd-ranked player (2.48 Core Score)
- The 92nd-ranked player (1.35 Core Score)
- The 122nd-ranked player (0.21 Core Score)
In The Ringer’s rankings, this would be a roster of Steph Curry, Tyrese Haliburton, Michael Porter Jr., Tobias Harris, and Jarred Vanderbilt if you’re willing to take the 123rd instead of the 122nd for the sake of positional fit.
Having the 2nd-ranked player, though, is unrealistic. Unless you’re excellent at free agency recruiting, that’s a matter of luck. So how good, theoretically, would five players have to be if they were all as good as one another? Here’s that lineup:
- The 39th-ranked player (4.56 Core Score)
- The 40th-ranked player (4.42 Core Score)
- The 41st-ranked player (4.28 Core Score)
- The 42nd-ranked player (4.15 Core Score)
- The 43rd-ranked player (4.01 Core Score)
In the rankings, that’s: Desmond Bane, Kyrie Irving, DeMar DeRozan, Bradley Beal, and Julius Randle. Want some positional adjustments? Swap in Evan Mobley (4.98 Core Score) for Bane.
There are other formulas out there, and this is just the core piece of the equation (you still need a good supporting cast), and this is just to get in the door—to have better dice than the Sixers had, you’ll need to be a couple wins better on paper. But if you want a core around which to build a championship team, this is where your core should sit in rankings like The Ringer’s.