Applied AI · Portfolio Project

Can a model draft
better than NBA GMs?

NBA front offices spend millions on scouts, interviews, workouts, medical evaluations, and film study. This model sees none of that — just college box scores. It still drafts better.

The Claim

More value, fewer mistakes

Comparing the model's top 10 college players against the actual top 10 draft picks each year from 2015 to 2022. NBA teams select from college, international, and G League pools — the model only sees NCAA stats.

The Model · College Only
550
career cumulative VORP from top-10 picks
Actual Drafts · College, Int'l & G League
447
career cumulative VORP from top-10 picks
+23%
More career value per pick
over 80 selections
18%
Model bust rate
vs 30% for GMs
26
Productive players found
outside the real top 10
Show the math ↓

For each draft from 2015 to 2022, the model ranks its top 10 college players. We compare the career cumulative VORP of those 10 players against the actual top 10 picks made by NBA teams. All VORP data from Basketball Reference.

Year Model Top 10 GM Top 10 Δ
201577.871.4+6.4
2016102.276.0+26.2
201793.962.4+31.5
201894.0104.1−10.1
201951.333.0+18.3
202056.337.2+19.1
202144.649.6−5.0
202229.613.2+16.4
Total549.7446.9+102.8

+17% more value: 524.5 ÷ 446.9 = 1.174. The model's top-10 picks generated 17% more career VORP than the actual top-10 draft picks across 8 drafts.

18% bust rate: A bust is defined as negative career VORP. 14 of 80 model top-10 picks finished with career VORP below zero (18%), compared to 24 of 80 actual top-10 picks (30%).

28 players found: 28 players ranked in the model's top 10 were picked outside the actual top 10 and went on to produce positive career VORP.

What happens when you combine them?

Blending stats with scouts

The model and scout consensus boards capture different signals. Adding a small dose of consensus — just 16% — squeezes out a bit more value.

Scout Consensus
483
career VORP from top 10
Model + Scouts
556
career VORP from top 10
Model Only
550
career VORP from top 10
Optimal weight: 84% model · 16% consensus · plateau from 24–93%
Year
Blend
Model
Scouts
2015
77.8
77.8
74.9
2016
98.7
102.2
63.9
2017
93.9
93.9
96.4
2018
95.3
94.0
108.1
2019
51.3
51.3
32.7
2020
60.4
56.3
47.9
2021
49.4
44.6
38.0
2022
29.6
29.6
20.7
Total
556
550
483
Blend
Model
Scout Consensus
Why it works: The model drives the strategy — it finds undervalued production players like Sabonis, Siakam, Pritchard, and Herro that scouts overlook. A small scout signal (16%) adds value at the margins by pushing borderline busts out of the top 10 and pulling better athletes up. The result is a +7 VORP edge over the model alone.
Methodology ↓

Scout consensus boards were compiled from Rookie Scale, NBA Mock Draft Database, Hoops Prospects, and cross-referenced contemporary ESPN/SI/NBA.com boards for 2015–2022. International and G League players were filtered out so the comparison is college-only.

Blended rank is computed as w × model_rank + (1−w) × consensus_rank for each college player. Players missing from one list are assigned a penalty rank of 40. The top 10 by blended rank are selected and their career cumulative VORP is summed.

Optimal weight was found by testing every integer percentage from 0–100. The best single weight is 84% model / 16% consensus (553.5 VORP), with a broad plateau from 24–93% model weight where performance stays within 5 VORP of the peak. The model carries the strategy — a small dose of scout signal adds marginal value by catching a few players the model underranks.

Where the model wins

Players the model found early

Ranked in the model's top 10 but selected outside the lottery by actual NBA teams.

SGA
Shai Gilgeous-Alexander
'18 · Actual pick 11
35.0 career VORP
Sabonis
Domantas Sabonis
'16 · Actual pick 11
27.6 career VORP
Siakam
Pascal Siakam
'16 · Actual pick 27
21.1 career VORP
Bam
Bam Adebayo
'17 · Actual pick 14
21.5 career VORP
Hart
Josh Hart
'17 · Actual pick 30
11.9 career VORP
Murray
Dejounte Murray
'16 · Actual pick 29
12.6 career VORP
Herro
Tyler Herro
'19 · Actual pick 13
8.6 career VORP
Pritchard
Payton Pritchard
'20 · Actual pick 26
7.8 career VORP
Looney
Kevon Looney
'15 · Actual pick 30
6.2 career VORP
Duren
Jalen Duren
'22 · Actual pick 13
6.2 career VORP
Kessler
Walker Kessler
'22 · Actual pick 22
5.1 career VORP
Eason
Tari Eason
'22 · Actual pick 17
3.1 career VORP
Full Results

Draft boards by year

The model's top 10 using only pre-draft college stats. VORP (Value Over Replacement Player) measures a player's total contribution compared to a baseline bench-level player — higher means more cumulative impact over their career so far.

Under the Hood

How it works

Data & Features

Trained on Torvik advanced college stats (2010–2026) supplemented with international Kaggle datasets. 144 engineered features span shooting, creation, defense, trajectory, team context, and positional archetypes inspired by EuroLeague clustering research. Target is 3-year cumulative NBA VORP.

Validation

Walk-forward — for each draft year, the model trains only on prior years. No future data ever enters a prediction. Every configuration is evaluated against real career outcomes across all draft classes (2015–2022).

Position System

Continuous probabilistic position classification with post-prediction calibration. Point-forward detection prevents tall playmakers from being penalized as traditional bigs.

Known Limitations

No access to film, interviews, medicals, or combine data. Can't evaluate character, coachability, or team fit — real edges that GMs have and the model doesn't. Only evaluates college players, meaning it competes against GM boards that also include international and G League prospects.

Autonomous Optimizer

150–200 iterations per model. No human in the loop.

A custom hill-climbing algorithm runs the full model pipeline in a loop. Each iteration mutates the configuration — feature inclusion across 200+ candidates, feature weights, position calibration thresholds, regularization parameters, scoring cutoffs, position-specific adjustments, senior discount values — then trains an XGBoost model using walk-forward cross-validation and scores it against actual NBA career outcomes.

Configurations that improve the fitness score survive. Everything else is discarded. Each model converges in 150–200 autonomous iterations, arriving at a feature set and calibration parameters no human selected. Across nine model iterations, correlation improved from ~0.25 to 0.65+.

MutatesFeature selection · weights · position thresholds · regularization · scoring tiers · boost/penalty values
EvaluatesWalk-forward CV fitness across all draft years (2015–2022)
SelectionImprovements survive, regressions die — mutation ranges themselves were also tuned
What is the score?
A composite fitness metric that measures how well the model's predicted rankings match actual NBA career outcomes across all eight validation drafts (2015–2022). Higher means the model better identifies which college players will produce real NBA value — and avoids ranking busts near the top.
Optimizer Convergence
200 iterations · walk-forward validation · 8 draft classes
Best Score
PythonXGBoostPandas TorvikBasketball ReferenceWalk-Forward CV 144 FeaturesHill-Climbing Optimizer

Scott Middlecamp

MS in AI · Building systems that build themselves