r/nbadiscussion • u/Glokk39Spaz • 9d ago
Statistical Analysis Every Player Graded Through a Skill Wheel [OC]
Ive spent the past couple weeks working on this personal project of mine. I built a skill wheel that grades 54 different aspects of basketball. I tried breaking down each big skill (such playmaking) into smaller skills and use that to sort of evaluate a player as a whole. Now, of course the data available to the public is limited so a lot of niche skills are pretty hard to quantify but I think I got a sort of good estimate of the skills. If you guys have any ideas for skill grading/skills to add or anything, just let me know I am very open to feedback.
Here is a picture of on of the diagrams, it is much better to see image form than to read:
Here are the skills I decided on:
Offense: 12 groups, 33 skills
- Finishing: Rim Finishing, Contact Finishing
- Above the Rim: Dunking, Lob Threat
- Touch Shots: Floaters, Hooks, Short Jumpers
- Midrange: Pull-up Midrange, Catch-and-Shoot Midrange, Turnarounds & Fadeaways
- Three-Point: Catch-and-Shoot 3s, Quick 3s, Off-Dribble 3s, Deep 3s
- Free Throws: Free Throw Shooting, Foul Drawing
- Self-Creation: Isolation, Pick-and-Roll Ball Handler, Post Scoring
- Driving: Rim Pressure, Drive & Kick
- Off-Ball Scoring: Cutting, Movement Scoring, Transition Scoring
- Playmaking: Creating for Others, Creation Quality, Rim Feeding, Shooter Feeding, Connective Passing, Transition Passing
- Ball Security: Passing Security, Handle Security, Avoiding Offensive Fouls
- Screening & Glass: Screen Setting, Rolling, Offensive Rebounding, Putback Scoring
Defense: 6 groups, 21 skills (There is less because defense is harder to quantify)
- Perimeter: Isolation Defense, Closeouts, On-Ball Stripping, Perimeter Blocking
- Interior: Shot Blocking, Rim Contesting, Rim Deterrence
- Rebounding: Securing Boards, Boxing Out
- Disruption: Passing Lanes, Charge Taking, Loose Ball Recovery
- Assignments: Post Defense, Positional Versatility, Guarding Stars
- Discipline: Fouling Discipline, Transition Defense
I can't really explain each grade because it will be too long, but if you have any questions, you can ask me and I'll respond but I will explain certain ones.
Three Pointers
For Three Point grading I spilt them up into Catch and Shoot 3s (0 dribbles), Quick 3s (1-2 dribbles) and Off Dribble 3s (3+ dribbles), Deep 3s (27ft+). For the whole project I used NBA play by play data a LOT so that data comes in lines like this MISS Herro 27' 3PT Step Back Jump Shot,Missed Shot,Step Back Jump shot,1,3,260,0022501055,2026-03-25,2025-26
Parsing the distance for Deep 3s was easy. For the dribble 3s, the NBA API carries data for shots off certain number of dribbles, but you can also mix this with defender distance so for example there is data on each players 3-6 Dribble 3FGM/FGA with a defender 2-4 feet. So I parsed through all that and each player's attempts and FGs are separated by dribbles and defender distance. Each group also has a league-average rate, so a player's expected 3P% for lets say Catch and Shoot is just the league average 3p% on their defender distance (so for Curry if he takes way tighter catch and shoots his expected 3p% on that is skewed for the tight defender catch and shoot league average). So then a player is compared by their volume and efficiency. Each player gets some league average since if you make lets say like 15/30 Catch and Shoot 3s that is a pretty low sample over like 150/350. The volume is a per 75 basis so not a minutes thing, and then score is bascially a volume * effieciency metric that is Z scored across the league so each skill has the same scale.
Here is Curry 2025-26 for example
Catch-and-Shoot 3s 97th of 388 Att 247 3P% 37.7% x3P% 36.2% +0.3
Quick 3s 1st of 388 Att 87 FG% 48.3% xFG% 33.4% +3.1
Off-Dribble 3s 14th of 388 Att 236 3P% 40.7% x3P% 33.1% +1.1
Deep 3s 1st of 388Att 261 FG% 37.2% xFG% 31.9% +4.8
Finishing
Layups only, from the play-by-play: driving layups, finger rolls, reverse layups. Dunks, cuts, transition, alley-oops and putbacks are left out, because they're graded elsewhere. The efficiency is graded against the same position in this case.
And then again adding some of the league-average shots, volume x efficiency with volume being per 75 and then Z scored the league again.
Rim Deterrence
Rim deterrence is pretty much like a RAPM style regression, a matrix in which the opposing teams Rim Rate is taken into account. Transition shots are removed because then the best Rim Deterers would just be the best point guards that prevent turnovers not the actual best defenders. It is a RAPM regression so it adjusts for teammates but this one requires more possesions so some low usage role players might not have the grade.
A lot of these defense ones are self explanatory
Positional Versatility
This one uses the matchup API to see who he guarded 1 on 1 and then the spilt and compare the percentage
Group Listed positions
G (guard) W (wing G-F, F-G) F (forward) B(big F-C, C-F) C (center)
5
u/Jazzlike_Royal_9567 9d ago
So where are the players? How do we see the grades?
8
u/Glokk39Spaz 9d ago
I can't upload pictures here lol which sucks but its https://www.simulnba.com/player-breakdowns?player=1628401&season=2025-26 here this is derrick whites but you can search any player & the stats that go into each grade are there too when you click
4
u/rustypete89 8d ago
This is a fascinating tool, OP! I went through the data of every available year and looked at the MVP winner of that year, would love if there were a comparison mode where you could side-by-side 2 or 3 players in the same year or multiple years of 1 player rather than flip between them. But still, amazing work!
2
3
u/peasant_1234 8d ago
This is great!
I feel like having the option of separating the player breakdown wheel to offense and defense would be nice.
Maybe having some radio buttons that can change what’s on the wheel would be nice too.
I also think it’d be nice if you can change the data range from just a single season to multiple seasons. Might be a little resource demanding though.
Also I’m on desktop but I find it a bit hard to read. Not sure what to recommend… I’m sure some ui/ux designer could give you advice on that one.
You did an excellent job!
3
u/Glokk39Spaz 8d ago
You can click on the offense and defense parts of the wheel (like the middle part that says offense and defense not the outer) and it splits the wheel up into just offense or defense. I could work on doing multiple seasons but I would have to change how the data is stored so that would take a bit to add. Ty for the feedback
3
u/sandwichcontest 8d ago
So how is Luke Kornet -0.4 on threes while Victor Wembanyama is -0.3 on threes?
It’s a cool idea and nice-ish UI, but it’s hard to take any of this data at face value at all, especially when there is no source for formulas or methodology.
2
u/Glokk39Spaz 7d ago
Kornet doesn't take any 3s so when hes compared against the league hes not really doing anything bad, but I will change it to a dash instead since hes not taking 3s. Wemby just takes like a lot of threes at like either at or slightly worse than league average. Im working on the methodology page, but the gist of it is like volume x efficiency, so that's why Wemby is slightly negative. I guess i could change it since like taking a lot of 3s at league volume is probably but usually players that take more make more and wemby took a good amoutn
1
u/xxStayFly81xx 6d ago
This is so interesting. Appreciate it!
I wonder who is the least "flawed" player out of the ones you have data on.
•
u/AutoModerator 9d ago
Hey, u/Glokk39Spaz, since you aren't on the r/nbadiscussion approved user list, your post has been filtered out to be reviewed by the mod team before it will post. If your posts are consistently approved, you will be added to the approved user list, bypassing the automod for future posts. This helps us ensure the quality of our sub remains high. If you have any questions, feel free to reach out to the mod team.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.