Pick a player and any 3 to 10 stats. Each stat becomes one corner of the shape, placed by the player's percentile against the comparison group: the further from the center, the better. Add a second player to compare their shapes.
Players in the comparison group whose percentiles are closest to 's on the stats you picked. Choose Compare to overlay one on the chart.
A percentile is the share of the comparison group a player beats on that stat: 90 means better than 90% of them, and ties count as half. For stats where lower is better (turnovers, defensive rating) the scale is flipped, so the outside edge always means good.
Players at or above the minutes cutoff, either league-wide or within the same position group: guards (PG, SG), forwards (SF, PF) or centers (C). A player below the cutoff can still be profiled against the group.
Shooting percentages need enough attempts to mean something: 3P% needs 82 attempts (one per game) and FT% needs 50. Players below the cutoff show n/a and sit at the center for that stat.
Every player in the comparison group gets percentiles on the same stats. The match score is 100 − average |percentile gap|, so 90 means the two players are 10 percentile points apart per stat on average. Because it uses only the stats you picked, changing them changes who counts as similar.
Per-game numbers reward playing time. Per-100-possession and percentage stats (AST%, TRB%, BLK%) measure production rate, which is fairer to bench players and slow-paced teams. Data comes from Basketball-Reference, with season totals used for traded players.