In this project, I will use k-means to Classify NBA prospects from the 2013 through and including the 2018 draft.

I am stopping for players drafted after 2018 since those players careers are still developing and it would not be so beneficial to draw conclusions on them yet…

Undrafted players are not even considered in this project.

To start the data will look like this and it comes from basketball reference with some extra metrics calculated from it by me

…1 year Pk Tm Player Yrs G MP PTS TRB AST FGP F3P FTP MPG PPG RPG APG WS WS_48 BPM VORP GPY VPY PRA WS_YR YrsRate Shares
0 2013 1 CLE Anthony Bennett 4 151 1905 658 472 77 0.392 0.261 0.670 12.6 4.4 3.1 0.5 0.5 0.013 -4.8 -1.3 37.75000 -0.3250000 8.0 0.125000 0.3636364 0.0005518
1 2013 2 ORL Victor Oladipo 10 504 16247 8503 2245 1970 0.436 0.347 0.788 32.2 16.9 4.5 3.9 25.6 0.076 0.7 11.0 50.40000 1.1000000 25.3 2.560000 0.9090909 0.0282530
2 2013 3 WAS Otto Porter Jr. 11 527 13400 5419 2599 783 0.477 0.397 0.797 25.4 10.3 4.9 1.5 36.7 0.132 1.7 12.5 47.90909 1.1363636 16.7 3.336364 1.0000000 0.0405033
3 2013 4 CHA Cody Zeller 11 552 11510 4376 3125 740 0.520 0.220 0.727 20.9 7.9 5.7 1.3 33.5 0.140 -0.7 3.9 50.18182 0.3545455 14.9 3.045454 1.0000000 0.0369716
4 2013 5 PHO Alex Len 11 644 11374 4534 3529 551 0.510 0.324 0.681 17.7 7.0 5.5 0.9 23.2 0.098 -1.9 0.4 58.54545 0.0363636 13.4 2.109091 1.0000000 0.0256042
5 2013 6 NOH Nerlens Noel 9 467 10281 3338 2835 501 0.546 0.200 0.655 22.0 7.1 6.1 1.1 28.3 0.132 0.9 7.4 51.88889 0.8222222 14.3 3.144444 0.8181818 0.0312328

Of the Available data here Win Shares is probaly the #1 way to classify a player as good pr bad

Notice some special metrics.

“GPY” is games per year

“VPY” is VORP per year

“PRA” is Pts+Rbs+Ast per game

“WS_YR” is Win Shares per year

“YrsRate” is the % of seasons that player has played since they were drafted

NOTE!!!![ euro stash players are being hurt here for the year(s) the play overseas (Jokic)]

I think this is actually in the spirit of the metric is being used here

“Shares” is the % of per year Win Shares that Player got from their own draft class, this one is my favorite

the models in this project will be only based on this “Shares” Metric!

Here we can see the expected range of % Win Shares Per Year, for a given draft position according to a simple linear model

This model (solid line) will be used to get around the “noise” caused by players like Rudy Gobert, Jalen Brunson, or Nikola Jokic, so that we can identify those players later as outliers

Now we compare a players “Shares” to what is expected of their draft position, and see what pops out

First we need to know how many types of players get drafted ie (Hits, Busts, or in between)

it looks like we could use 2 or 3 clusters on draft prospects, I think having a 3rd will help smooth out the results since some players are in-between being “hits” or “busts”

This is what that looks like

That is little difficult to see who is who beyond the hits, lets do a different graph for every 10 picks

Let me be clear, if you are anything but green the idea is you were probably a good pick, but if you are blue, you really excelled given your draft position AND draft class!

It must be understood that plenty of good players who were drafted high will not be blue because they were drafted high or come from a better class.

There is also still a bias against younger players who have not reached their peak yet.

And anywhere Win Shares has a blind spot, this will as well

Lets see this year over year, to ponder on past drafts

What is to be done next is to use machine learning to predict which prospects will be “blue” based on their draft profile.

To use AI to identify good value in the NBA draft, this appears to be best suited for picks outside the lottery, “sleepers”