Basketball Data Science All studies Scouting one-pagers Code on GitHub
27 draft classes, priced by slot

Draft value is real. Provable draft skill is rare.

Every June, thirty front offices spend first-round picks like they know something. Do any of them? This analysis prices every pick slot from the careers that actually followed, then asks which franchises and which colleges beat that price. The sample is every draft class from 1989 through 2015: each one with ten full NBA seasons to accumulate a career, scored in career Win Shares against a slot expectation fit isotonically over picks 1-60. No buckets, no functional form, and every table is produced twice, in Python and R, and reconciled to numeric tolerance before a word is written. The companion interactive viewer holds every lottery and full draft board since 1989.

The slot gradient
77 → 2
Expected career Win Shares at pick 1 versus pick 60.
Best drafting franchise
+489 WS
Oklahoma City, above slot expectation across 69 picks.
Intervals crossing zero
27 of 30
Most of the league is statistically indistinguishable on drafting skill.
Wake Forest hit rate
70%
7 of 10 draftees became 10,000-minute NBA players.
The yardstick

A pick slot is a price

The whole analysis runs on one idea: price the slot, then score each pick against its price. The diagram shows the steps and where each result below comes from.

How the analysis prices a pick and scores who drafted it: 1,562 picks from the 1989-2015 classes11,562 picksclasses 1989-2015, each withten full NBA seasons2Price each slotaverage career Win Shares bypick, never rising with alater pick: 77 at pick 1,2 at pick 603Score each pickcareer Win Shares minusits slot's priceFranchisessum of their picks' scores,with a 95% intervalColleges8+ draftees; a hit is acareer of 10,000+ minutesStealssingle picks furthestabove their pricePython and R each build every table; the reconcile gate holds them equal.
How the analysis prices a pick and scores who drafted it: 1,562 picks from the 1989-2015 classes11,562 picksclasses 1989-2015, each withten full NBA seasons2Price each slotaverage career Win Shares bypick, never rising with alater pick: 77 at pick 1,2 at pick 603Score each pickcareer Win Shares minusits slot's priceFranchisessum of their picks' scores,with a 95% intervalColleges8+ draftees; a hit is acareer of 10,000+ minutesStealssingle picks furthestabove their pricePython and R each build every table;the reconcile gate holds them equal.
How the analysis works. Each slot gets a price from the careers that followed it, each pick is scored as its career minus that price, and the scores roll up into the franchise, college, and steal rankings that follow.

Before anyone gets credit for drafting well, the draft itself has to be priced. The expectation curve below is a weighted isotonic fit of career Win Shares over picks 1-60: pick 1 carries an expectation of 77 career Win Shares, pick 60 carries 2. Everything that follows is measured against this curve. A player's value is not his career; it is his career minus what his slot was already worth.

The slot expectation curve. The gradient is steep at the top and nearly flat by the second round, which is why late steals are possible and top-pick "steals" are rare. Hover any pick for its expected career Win Shares.
The franchises

Twenty-seven of thirty error bars cross zero

Rank the franchises by career Win Shares above slot expectation and Oklahoma City leads at +489 over 69 picks, with San Antonio (+411), the Lakers (+251), Phoenix (+240), and Golden State (+204) behind. The LA Clippers sit last at −394. But the honest headline is the intervals: draft value is heavy-tailed, and 27 of 30 franchise intervals cross zero. The ordering is the estimate, not a verdict. Ten thousand fan arguments about "our front office drafts badly" rest on differences this data cannot certify.

All 30 franchises by Win Shares above slot expectation, classes 1989-2015. Hover for the 95% interval and the share of drafted minutes each franchise actually kept: drafting well and keeping the player are different skills.

Drawn with their intervals, the rankings look different. Even Oklahoma City's interval reaches below zero, and the only franchises whose intervals clear zero sit at the bottom of the list.

Every franchise's Win Shares above slot with its 95% interval: 27 of 30 intervals cross zero27 of 30 intervals cross zerocrosses zeroclear of zero−750−500−2500+250+500+750+1,000Oklahoma City ThunderSan Antonio SpursLos Angeles LakersPhoenix SunsGolden State WarriorsIndiana PacersNew Orleans PelicansCleveland CavaliersHouston RocketsDetroit PistonsDenver NuggetsMilwaukee BucksToronto RaptorsUtah JazzBoston CelticsPhiladelphia 76ersBrooklyn NetsMemphis GrizzliesNew York KnicksChicago BullsCharlotte HornetsMiami HeatPortland Trail BlazersOrlando MagicSacramento KingsAtlanta HawksMinnesota TimberwolvesWashington WizardsDallas MavericksLA ClippersWin Shares above slot expectation
Every franchise's Win Shares above slot with its 95% interval: 27 of 30 intervals cross zero27 of 30 intervals cross zerocrosses zeroclear of zero−5000+500+1,000Oklahoma City ThunderSan Antonio SpursLos Angeles LakersPhoenix SunsGolden State WarriorsIndiana PacersNew Orleans PelicansCleveland CavaliersHouston RocketsDetroit PistonsDenver NuggetsMilwaukee BucksToronto RaptorsUtah JazzBoston CelticsPhiladelphia 76ersBrooklyn NetsMemphis GrizzliesNew York KnicksChicago BullsCharlotte HornetsMiami HeatPortland Trail BlazersOrlando MagicSacramento KingsAtlanta HawksMinnesota TimberwolvesWashington WizardsDallas MavericksLA ClippersWin Shares above slot expectation
Each franchise's Win Shares above slot (dot) with its 95% interval (line). Blue intervals cross zero: the data cannot tell that franchise's drafting from average. The red ones clear zero, and all of them clear it on the negative side.
The colleges

Wake Forest, quietly, out-drafted everyone

Flip the question from who drafts to who supplies. Among colleges with 8+ draftees, Wake Forest leads at +323 Win Shares above slot with a 70% hit rate (Tim Duncan and Chris Paul will do that), ahead of UCLA (+224), Marquette (+201), Florida (+142), and Xavier (+117). Among high-volume programs with 15+ draftees, Kentucky has the best hit rate: 25 of 41 picks (61%) became 10,000-minute NBA players.

The twelve colleges whose draftees most outplayed their draft slots. Hover for draftee counts and hit rates. Volume and efficiency diverge: powerhouse programs send more players, but the per-pick surplus hides in smaller ones.
The steals

The biggest steal in the sample went first overall

"Steal" usually means a late pick who hit. Priced against slot expectation, the biggest steal of the era is LeBron James at +200 Win Shares above what pick 1 already promises. The rest of the top five: Dirk Nowitzki (+170 from pick 9), Chris Paul (+155 from pick 4), Kobe Bryant (+145 from pick 13), and Kevin Garnett (+136 from pick 5). A first-overall steal sounds like a contradiction. It is the strongest possible statement about a career: the most expensive slot in basketball, and his career still came to 3.6 times its price.

The 15 biggest steals as dumbbells: each line runs from the slot's price to the career, and its length is the value above slotslot's pricecareer Win Sharesabove slot050100150200250300LeBron James, pick 1+200Dirk Nowitzki, pick 9+170Chris Paul, pick 4+155Kobe Bryant, pick 13+145Kevin Garnett, pick 5+136Nikola Jokić, pick 41+134Tim Duncan, pick 1+129Kevin Durant, pick 2+126James Harden, pick 3+122Jimmy Butler III, pick 30+115Paul Pierce, pick 10+114Stephen Curry, pick 7+111Rudy Gobert, pick 27+107Shaquille O'Neal, pick 1+104Steve Nash, pick 15+104career Win Shares
The 15 biggest steals as dumbbells: each line runs from the slot's price to the career, and its length is the value above slotslot's pricecareer Win Sharesabove slot0100200300LeBron James, pick 1+200Dirk Nowitzki, pick 9+170Chris Paul, pick 4+155Kobe Bryant, pick 13+145Kevin Garnett, pick 5+136Nikola Jokić, pick 41+134Tim Duncan, pick 1+129Kevin Durant, pick 2+126James Harden, pick 3+122J. Butler III, pick 30+115Paul Pierce, pick 10+114Stephen Curry, pick 7+111Rudy Gobert, pick 27+107S. O'Neal, pick 1+104Steve Nash, pick 15+104career Win Shares
Every steal in the table as a line from the slot's price (gray dot) to the career (blue dot); the line's length is the value above slot. Top picks start far to the right, so only a historic career leaves a long line; a late pick starts near zero, so most of its career counts.
Player Year Pick Drafted by WS above slot
LeBron James 2003 1 Cleveland Cavaliers +200
Dirk Nowitzki 1998 9 Milwaukee Bucks +170
Chris Paul 2005 4 New Orleans Pelicans +155
Kobe Bryant 1996 13 Charlotte Hornets +145
Kevin Garnett 1995 5 Minnesota Timberwolves +136
Explore it yourself

Every lottery, every board, in the browser

The numbers above compress 27 draft classes into a few tables. The interactive draft viewer is the uncompressed version: every lottery since 1989 with pre-lottery odds and movement, the full two-round board with career outcomes, colleges, and teams, in light and dark, timezone-safe, no install. The full tables behind this page (colleges.csv, teams.csv, steals.csv, pick_curve.csv, each with an _r.csv twin from the independent R implementation) ship in the repo, and the reconcile gate holds the twins equal.

Method, code, and verification

The full technical write-up (data provenance, model specification, validation gates, and stated limitations) is the README. The analysis is implemented independently in R and Python and reconciled to numeric tolerance; run_checks.sh replays every gate.