NBA 2026–27 Projection Board

Just Dog Labs model — direct LightGBM per-stat decomposition
Categories check to include in TOTAL; multiplier scales that cat's z
League / auction settings EST $ is our own z-to-$ conversion; formula in Definitions below.
Cell tiers (ours) EliteVery Good GoodAverage Below AvgNot Good quantile bands of the visible board's z-values (our equivalents of Hashtag's color scales)
Definitions & methodology
Z
per-game z vs the refined reference pool (suite method: qualified = projected GP≥20 and MIN≥10; pool = top 156 by first-pass z-total; TOV negated; FG%/FT% volume-weighted impact). Our pool, our z - not Hashtag's.
TOTAL
sum of each checked category's z × its multiplier. Defaults: FG%, FT%, 3PM, PTS, TREB, AST, STL, BLK at x1.0 and TO at x0.25 (mirroring the visible defaults in Derek's reference screenshot).
GP PENALTY (ours)
penalized TOTAL = TOTAL × (1 − p × (82 − GP)/82), p = selected penalty. Transparent in-house formula; Hashtag's is proprietary.
ADP / POS (display-only)
average-draft-position reference column. NEVER a model input. Yahoo column = rank mirrored on FantasyPros' public ADP page (Yahoo's own page requires a logged-in session for its data XHR; mirroring page retrieved 2026-10-09 PT, coverage top ~205). ESPN column = first-party ESPN league-defaults snapshot (retrieved 2026-10-09 PT, 1,095 players). Sleeper column = Sleeper projections endpoint adp_std (retrieved 2026-10-09 PT). POS* = source-site position listing: FantasyPros mirror listing for Yahoo/ESPN (the mirror shows one composite position string per player, not separated per source), Sleeper's own fantasy_positions for Sleeper; the player's own sub-line always shows the suite's position label.
VAL / VALz (value view)
VAL = ADP rank − our rank (positive → we project the player better than draft market). VALz = our TOTAL − ADP-implied z (probit of the ADP rank within the source's ranked pool). Both recompute live with the current TOTAL settings.
EST $ (ours)
our estimated auction value: drafted pool = teams × roster spots; replacement TOTAL = the pool-edge TOTAL (after current multipliers & GP penalty); EST$ = max(1, round( (TOTAL − replacement) / Σ(positive values) × teams × budget )). Changes live with settings. We never ingest published auction values.
FG% / FT% cells
projected percentage with (makes/attempts) per game beneath, e.g. FG% (7.9/17.3).
Omitted vs reference UI
3P% (our model does not project 3PA), OREB/DREB and DD (not projected), Daily/ROS modes (preseason board), Punt presets (out of scope). Type and Based-On have the single honest options shown. “FA” team = unsigned in the Sleeper roster snapshot 2026-10-09.