NBA Statistical Twins
Find the five NBA players whose box-score stats most closely resemble your pick’s.
Player explorer
Player data could not be loaded. Reopen the project with all its files, then refresh.
Reading the chart
Closer dots mean closer matches. The angle carries no meaning.
Five closest players
Tap a name to compare. A higher means a closer match.
How stable are these five?
Across alternating games, only 1.29 of five matches repeated on average. Treat nearby scores as a group of possible twins. See limitations.
Twin map
Closer dots mean closer matches. The angle carries no meaning.
Choose any name on the court to compare both players.
Compare their profiles
What drove the score?
| Statistic | League standing |
|---|
League standing is the among eligible players. Marks run from low (left) to high (right). Rates adjust for playing time.
How the model works
We compare players who logged at least 750 regular-season minutes in . A traded player has one season profile across all teams. The team label shows their last team that season.
Method
The five are the other players with the smallest distances. This exact search can find close matches across the boundaries that fixed clusters would impose.
Formulas
How a twin earns its score
Each stat becomes a among eligible players. For every pair, we take the absolute gap on each stat, multiply by its weight, and add the eight results. A weighted average gap of 10 percentile points earns 90 out of 100. A player compared with themself scores 100.
Validation and research
Basketball Reference compares career production through Win Shares. Our season-level rates answer a different question.
Scott Bruce reduces player-tracking measurements to four dimensions. Our eight dimensions stay individually readable.
Hu, Yang and Xue compare shot-location patterns. Three-point share captures one part of shot preference in box scores.
Download full methodology (.md)
Why these weights?
Stats that repeated more reliably between alternating appearances in 2022–23 received more weight. The weights describe repeatability. Basketball judgment guided the choice of eight stats.
.
Why include personal fouls?
Stocks combine steals and blocks. For the eighth stat, we tested personal fouls per 36 minutes, turnover percentage, and the offensive share of a player’s rebounds. Fouls did best at matching profiles from two different sets of games. In 2021–22, adding fouls found the same player in the top five for 275 of 319 players, versus 268 with seven stats.
Do the twins take similar shots?
We checked the 2023–24 matches against next season’s shot locations. Among 155 players with comparable same-position matches, the share of short shots taken at the rim differed by 12.8 percentage points on average, compared with 12.4 with equal weights and 14.6 using assists and rebounds alone.
Limitations
These are statistical twins for one season. A high score describes box-score resemblance. Two players can arrive at the same numbers through different roles, opposing defenses, or shot locations.
Stocks count steals and blocks equally. Players can have the same rate through different mixes of those events. Fouls count whistles against the player. Screens, spacing, matchup difficulty, and off-ball movement are outside these eight measures. Scaling to 36 minutes adjusts for playing time, but pace, teammates, and role still matter.
The exact order can change. When the two halves of the 2023–24 games were ranked separately, only 1.29 of five other players reappeared on average.
Every eligible player gets five matches, even when their profile is unusual. This score measures neither talent nor how well a player would replace another on a team.
Definitions
Sources and code
The analysis repository is private.
The source repository provides an MIT license. Source data license and attribution