Stats that did not exist yet
The NBA did not track the same things in 1958 that it tracks now. Where a stat did not exist for a player, we store null — and the scoring engine DROPS that component and re-weights the rest of the category rather than scoring it as a zero. A player is never punished for a stat nobody was recording.
Steals and blocks: not recorded until 1973–74
Defense
Nobody counted them before then. Players who retired earlier have no values at all, and players whose careers straddle 1973–74 carry averages from only the seasons that were recorded — John Havlicek’s steal average covers roughly his last five years, not his prime.
One oddity we kept: Basketball-Reference publishes researched (unofficial) block data covering part of Wilt Chamberlain’s Lakers years, giving him a 5.4 blocks-per-game figure even though he retired before blocks were official. We use it and flag it here.
All-Defensive teams: first awarded 1968–69
Defense
Bill Russell has exactly one All-Defensive selection — from the award’s very first season, his second-to-last year. His entire defensive prime predates the award existing. Any numbers-only defensive score will undersell him, and that is a limit of the record, not a verdict on the player.
Defensive Player of the Year: first awarded 1982–83
Defense
Null for anyone who retired before it existed. A zero is only recorded for players who actually had the chance to win it and did not.
Finals MVP: first awarded 1969
ChampionshipsPlayoff rises
Bill Russell won eleven championships and zero Finals MVPs, because the award did not exist for ten of them. It is now named after him.
This is why the Championships slider weights rings at 75% and Finals MVPs at only 25% — weighting the award heavily would bury the pre-1969 dynasties for a bookkeeping reason.
The three-point line: introduced 1979–80
Shooting
Players whose careers ended before it arrived have no three-point percentage, and are scored on free-throw and field-goal percentage instead.
Player Efficiency Rating: not computable for the earliest eras
Advanced metrics
PER needs inputs like minutes played, which were not recorded league-wide until 1951–52. George Mikan’s career PER is null for that reason.
Box plus/minus and VORP: only from 1973–74
Advanced metrics
They need turnover, steal and block data, so eleven players in the pool — everyone who retired before 1974 — have no BPM or VORP at all and are scored on PER and win shares.
Real numbers we deliberately threw away
These figures exist on Basketball-Reference and we chose NOT to use them, because using them would actively mislead. This is the most opinionated part of the dataset, so it gets the most detail.
Partial-era BPM: ten players nulled out
Advanced metrics
Because BPM starts in 1973–74, a player whose career straddles that line gets a “career BPM” calculated only from his final, declining seasons. Oscar Robertson’s reads −0.1 — computed from one of his fourteen seasons. Jerry West’s reads 4.7, from his last year alone. Published as-is, those numbers would tell you two of the greatest guards in history were roughly average players.
So we null BPM and VORP for any player whose coverage is under half his career. That affects Dave Bing (42% covered), Billy Cunningham (27%), Dave DeBusschere (8%), John Havlicek (31%), Jerry Lucas (9%), Willis Reed (10%), Oscar Robertson (7%), Nate Thurmond (29%), Jerry West (7%) and Lenny Wilkens (13%). They are scored on PER and win shares instead.
A missing number is honest. A misleading one is not.
Novelty three-pointers: gated to the three-point era
Shooting
Pete Maravich went 10-for-15 from three in the line’s debut season — a 66.7% career mark, on fifteen attempts, which briefly made him the best shooter in our entire model. Kareem Abdul-Jabbar was 1-for-18.
Three-point percentage now only counts for players whose careers BEGAN in 1979–80 or later. Everyone earlier is scored on free-throw and field-goal percentage, so a handful of experimental heaves cannot crown anybody.
The ABA question
Five players in the pool spent real years in the American Basketball Association. We follow Basketball-Reference and combine ABA and NBA career totals — but not every source counts them, and one of our data sources does not cover the ABA at all.
Combined career totals and selections
Peak scoringLongevityAccoladesChampionships
Julius Erving, George Gervin, Rick Barry, Moses Malone and Billy Cunningham carry combined ABA+NBA totals, All-Star counts and All-NBA/All-ABA selections.
Some specifics: Erving’s three championships are two ABA and one NBA; his two Finals MVPs are ABA Playoffs MVPs, which Basketball-Reference’s award list does not display. Billy Cunningham’s single MVP is the 1973 ABA MVP — he never won the NBA award. Erving’s lone All-Defensive selection is his 1975–76 ABA one.
50-point games do not include ABA games
50-point games
The 50-point counts come from a source that covers the NBA and BAA only. The ABA years of Erving, Gervin, Barry, Moses Malone and Cunningham are not represented, so their counts understate their careers.
Championship bookkeeping
Ring counts sound simple and are not. Every player’s list of title years is cross-checked against their verified ring count, which is how the two errors below got caught.
Rick Barry’s 1969 ABA title does not count
ChampionshipsThree-peatsRing rate
He was injured and missed those playoffs entirely. Basketball-Reference credits him one championship, not two, and so do we.
Robert Parish has four rings, not three
ChampionshipsRing rate
Three with Boston, plus a fourth with the 1997 Chicago Bulls at the end of his career — the one everybody forgets.
George Mikan’s five titles are BAA/NBA only
ChampionshipsThree-peatsRing rate
He is often credited with seven, including National Basketball League titles that predate the modern league. We count the five BAA/NBA championships, matching Basketball-Reference. His 50-point game count is BAA/NBA only for the same reason.
Playoff 50-point games do not count
50-point games
The 50-point slider is regular season only. Bob Cousy and John Havlicek each dropped 50 in a playoff game and still sit at zero here — an honest zero, confirmed by checking their regular-season career highs (46 and 43).
What counts as “one franchise”
The Loyalty slider rewards staying put and penalizes leaving and coming back. Both halves need careful definitions.
Relocations are not moves
Loyalty
A franchise moving cities is not a player changing teams. Elgin Baylor played for the Minneapolis Lakers and the Los Angeles Lakers and is a one-club man. Hal Greer played for the Syracuse Nationals and the Philadelphia 76ers — same franchise, one club.
The same applies to San Diego/Houston, Baltimore/Capital/Washington, Seattle/Oklahoma City, Cincinnati/Kansas City and others.
Coming back costs extra
Loyalty
Twelve players left a franchise and later returned to it, which counts as an additional stint on top of the franchise count: LeBron James (Cleveland), Dwyane Wade (Miami), Scottie Pippen (Chicago), Kevin Garnett (Minnesota), Steve Nash (Phoenix), Allen Iverson (Philadelphia), Jason Kidd (Dallas), Elvin Hayes (Houston), Moses Malone (Philadelphia), Chris Paul (the Clippers, in his final season), Billy Cunningham (Philadelphia, via the ABA) and Rick Barry (the Warriors, via three ABA stops).
Elvin Hayes is the subtle one: two franchises, three stints, because of the Houston return.
The displayed team list is capped — the loyalty math is not
Loyalty
Player pages show at most six franchises to keep the layout readable, so a few journeymen appear shorter than they were: Moses Malone actually played for nine, Russell Westbrook’s 2025–26 Sacramento stop is his seventh, Chris Paul’s Golden State year and Bob McAdoo’s twenty-game Boston stint are trimmed.
Loyalty is calculated from each player’s complete, uncapped stint sequence, so the score is right even where the visible list is abbreviated.
Seasons played, not calendar years
Season-by-season data counts seasons a player actually appeared in. Two sliders divide by that number, so this shapes rankings more than it looks like it should.
Gap years simply are not there
AvailabilityRing rate
Michael Jordan’s two retirements are not gaps in his career arc — season ten is his comeback year. Dominique Wilkins’ seasons in Greece and Italy are absent. Kawhi Leonard missed 2021–22 entirely, Kevin Durant missed 2019–20, Damian Lillard missed 2025–26, and Bill Walton missed multiple full seasons to injury. None of those appear as seasons.
This matters because Ring rate is championships divided by seasons played, and Availability is games divided by seasons played.
Season length has changed a lot
Availability
A season was 72 games before 1967–68 and 82 after, with lockouts cutting 1998–99 to 50 games and 2011–12 to 66, and the pandemic shortening 2019–20 and 2020–21. Games per season therefore mildly flatters players from long-season eras and penalizes those whose careers overlapped shortened ones.
Dolph Schayes’ first pro season is missing
LongevityAvailabilityRing rate
His 1948–49 season was in the National Basketball League, which is not in Basketball-Reference’s NBA tables, so it is not counted here.
Scales that one player breaks
Every category is normalized so the best player in the pool scores 100 and the worst scores 0. A few players are so far ahead that they flatten everyone behind them — that is real, not a bug.
Wilt Chamberlain’s 118 fifty-point games
50-point games
Michael Jordan is second with 31. On a scale where Wilt is 100, Jordan lands around 26 and almost everyone else is near zero. Turn the slider up and you are essentially voting for Wilt.
Bill Russell’s eleven rings in thirteen seasons
Ring rateChampionshipsThree-peats
A ring rate of 0.85 that nobody else approaches — Sam Jones is next at ten in twelve. Russell’s eight straight titles from 1959 to 1966 is also the longest streak in the Three-peats category by a distance.
Numbers that move
Everything here was verified against Basketball-Reference in July 2026. Some of it will be wrong by next season, on purpose.
Active players are current through 2025–26
LongevityPeak scoringAvailability
Giannis Antetokounmpo, Stephen Curry, Anthony Davis, Kevin Durant (now in Houston), James Harden (now in Cleveland), Kawhi Leonard, LeBron James, Damian Lillard and Russell Westbrook (now in Sacramento) all keep accumulating. Chris Paul retired after 2025–26, so his record is final.
Rate stats can go DOWN
Advanced metrics
LeBron James’ career box plus/minus reads 8.4, lower than it was a few seasons ago, because late-career seasons drag a career average down. His VORP of 159.4 is the all-time record and still climbing.
How the model handles all of this
Three rules cover every case above.
Missing data is dropped, never zeroed
If a player is missing one stat inside a category, that stat is removed and the category re-weights across what remains. If a player has none of a category’s stats, the category itself drops out and their overall score re-weights across the categories they do have. Nobody is scored as a zero for a stat that was never recorded.
Every score is relative to this specific pool
Scores are min–max normalized across these 76 players, so a 100 means “best of this group,” not “best ever in absolute terms.” Filtering the board does not change anyone’s score — filters only hide rows.
When in doubt, we used null
Across the whole dataset the rule was to record nothing rather than guess. Where a number was uncertain rather than unknown, it was verified against Basketball-Reference field by field before shipping.