When I released the first version of my NBA Draft Analytics site, The 5th Factor, I spoke about how the site was born from my desire to create a continuously evolving list of potential draft prospects.
While I still believe the work I shared was helpful for both myself and hopefully most of those who read it, prospect evaluation is far more nebulous and fluid than a static list of players. I needed to build a dynamic watchlist that provided digestible & informative statistics that could empower individuals to form their own opinions in real time while simplifying the task of tracking hundreds of prospects for myself and the draft space as a whole. This realization was my first step towards building what would become The 5th Factor.
My initial pass did “…provide digestible & informative statistics that could empower individuals to form their own opinions in real time while simplifying the task of tracking hundreds of prospects for myself and the draft space as a whole…” but it (ironically) was anything but dynamic. The 101 prospects displayed on the 1st version of The 5th Factor were complied by my own subjective selection1 of players, which limited the scope of both myself and any potential users’ prospect identification & tracking.
As the season went on and the sample grew, I began to plot of ways to expand the prospect pool. The result of all that plotting was a full watchlist of 1200+ players, 11 players getting promoted to my ranked list and 36 players being inducted into the “go ahead and get that NIL check next season” tier. This article will talk through the methodology I used to broaden the prospect pool on my site, my biggest learnings & plans for future improvements.
A Refresher on The Core Metric
The DRE Formula
DRE (Daily RAPM Estimate) is a single-game composite metric that estimates whether a player had a good game, based entirely on their box score. You can think of DRE as Game Score's more advanced cousin, as it derives the box score weights from RAPM (Regularized Adjusted Plus-Minus) to better capture the statistical value of each box-score input (points, rebounds, assists, offensive rebounds, steals, etc.).
DRE Per-40 normalizes for playing time: (DRE / Minutes) * 40
The formula does NOT include team-level stats (wins, SOS2, etc.), which means outside of the competition level filters on the site, DRE can’t natively account for level of opponent faced. Production is production, BUT a freshman at Duke and a senior at a 300th-ranked school face fundamentally different contexts, so they should be viewed as such.
the T10 most productive players vs T100 competition
Program Tier Classification
Instead of incorporating a SOS component into DRE, I opted to use my historical database to calculate draftable thresholds based on program tier and prospect classes. I began by classifying every NCAA team into 6 competition tiers using Bayesian-smoothed 5-year NET rankings, which is essentially a weighted average of 5 years of NET rankings with recency bias plus shrinkage toward the global mean for programs with fewer years of data. This prevents a team that had one ranked year from being classified as High-Major permanently and avoids overreacting to a single good/bad season.
Tier stratification
This program tier classification is necessary as a player’s production vs High-Major competition is subjected to some measure of statistical suppression that would be less dramatic vs a lower-major competition pool. Checkout the tier distribution landscape for the 2026 season below.
Bayesian rank tier distribution
Class-Specific Thresholds
Thresholds are stratified by both class year AND program tier, which produces 24 unique threshold combinations (4 classes x 6 tiers). I iterated through the previous 5 draft classes to derive the thresholds for each combination, assigning each player to their respective Bayesian-smoothed tier. Only players who played at least 10 games and 200+ mins were included in these samples.
the full threshold matrix
If a (class, tier) combo had fewer than 5 historically drafted players, the calculated threshold was discarded and replaced with the following conservative fallback:
This fallback preserved the conclusion from the threshold calculation that upperclassmen should be more dominant to be draftable, in addition to lower-tier players needing to clear a higher production bar to compensate for facing weaker competition. Since there’s still about a month of college basketball, I gave the players a bit of grace in the rigidity of the draftable thresholds. Players within 1 standard deviation of the average DRE of their threshold were included in the sample, with 2 caveats: 1) the threshold never drops below 90% of the lowest DRE any drafted player in that group or 2) below an absolute minimum of 3.0.
the final minimum DRE thresholds
Ranked Prospects Refinement
Of the 100+ players on my watchlist, ~60% of those players cleared their (class, tier) threshold. I kept the vast majority of these players in the top 7 tiers.
sadly i didn’t screenshot the tiers after I fixed the school mappingPart 2 of the watchlist prospects who met draftable thresholds
Roughly 40% of the players on my watchlist did NOT meet their draftable thresholds. The vast majority of these players are either underclassmen OR bigs whose production is a bit handicapped by playing for dominant teams3. This pool helped me refine the back half of my watchlist much earlier in the cycle than in previous years.
Expanded Pool Qualification Criteria
A player qualifies for the expanded pool if ALL of the following are met:
Minimum games played (10+) + minimum minutes (200+)
DRE threshold: Season DRE >= Threshold for (class, program_tier)
Not already ranked
Thanks to Mike Gribanov’s hard work adding biographical data to Barttorvik, I was able to add DD age & weight to the prospect pool as well, which allowed me to add auto-eligible flags to players that are 22+ on draft day, in addition to age and weight filters.
T30 expanded players by DRE
Since this threshold approach is far less sophisticated than the eventual draft model I’ll release in the coming months, every player that I wanted to add/remove from my rankings required a deep dive into their profile. Rafael Castro is one such player, as his production immediately caught my eye (he ranks 4th in DRE among the 1200+ draftable prospects on my site). Castro has missed the last 6 games of conference play4 and had experienced a noticeable drop in his production vs T100 opponents before going down with a foot injury suffered in practice. Nonetheless, he’s such an excellent per-minute rebounder and defensive playmaker that I had to dig deeper into his profile. There are plenty of bigs who positively impact the possession battle on the glass, but there are so few who pair that strength with positive defensive turnover influence.
Graves, Castro, Tugler »
The film confirmed what the numbers were screaming, Castro’s defensive playmaking ability relative to his position is absolutely ridiculous. His hands are exceptionally active in drop, he boasts excellent reaction speed and understands his opponents’ passing angles. He combines all these traits with fluid coordination and strong spatial awareness.
The offense is more formulaic, and as with most bigs, his measurements will be crucial to his NBA translation case. His growth as a shot blocker (while reducing fouls), steady efficiency at the rim and mobility comfortably places him in my T10 auto-eligible players.
the 10 highest ranked auto-eligible players on my watchlist
Castro joins Allen Graves, Pryce Sandfort, Rueben Chinyelu, Kashie Natt, Bruce Thornton, Juke Harris, Jeremy Fears Jr., Keyshawn Hall, Quadir Copeland and Milan Momcilovic as the 11 expanded pool players to get promoted to the watchlist.
Final Watchlist Audit
After evaluating the expanded prospects and swapping out players, 80.6% of the watchlist cleared their respective draftable thresholds.
Only 2 players not ranked in that “Returners” tier didn’t meet their DRE threshold. Quaintance and Tugler are 2 defensively titled bigs with per minute production that far outpaces their per game production, plus JQ’s 17-year old season at Arizona State still holds immense weight in my eval of his NBA likelihood as he recovers from knee soreness.
Next Steps
This initial expansion has massively helped with my understanding of this draft class, and I hope it can do the same for anyone who’s been using the site and wished to find more sleepers and track their favorite niche prospects. As I mentioned above, I have a full-fledged draft model in the works that I plan to have ready shortly after the end of the season. Expect plenty more draft + NBA work from me in the meantime, including a draft board with writeups for every ranking I just updated on the site.
look at Cam Boozer man so inspirational
For now, I hope you all enjoy the expanded pool + new features, including the Big Board history & weight + age filters. As always, please reach out via my social links with any questions, feedback, or feature requests!
I’m a lifelong basketball enthusiast who blends film study and advanced analytics in my independent coverage of basketball and the NBA Draft across Tiktok, Twitter, Youtube, Substack and Instagram. I’ve also covered the Hawks for ~2 years as an accredited digital journalist for Afro News, and I am a member of the Atlanta Hawks’ Creators Collective.
Comments