NSBA Draft Analyticsembargoed · 2026-06-06

15_north_star.md

15 — North-Star Metric Discovery (the value currency)

15 — North-Star Metric Discovery (the value currency)

Goal. Define the single team-level quantity that best predicts NSBA standings (matches won; total points as tiebreak), and recommend how to decompose it into per-player win shares — the currency we will draft against for NSBA4.

Data. team_season.csv (41 team-seasons: nsba1=12, nsba2=13, nsba3=16), player_season_master.csv (207 player-seasons), combine_ability.csv. All built from the clean 180-game set (standard Science-Bowl scoring; combine never mixed into value stats). Script: scripts/north_star.py.

Method

For each team-season I engineered candidate north-star metrics and split them into two classes, because not all "predictors" are legal draft inputs:

Target = win_pct. I report univariate pearson/spearman, leave-one-season-out (LOSO) ridge regression (train on 2 seasons, predict the held-out season — the honest test of transfer), and partial correlations to see what adds over raw production.

Definitions: pptf_team = team total toss-up points / total tossups-faced (an efficiency rate, opponent-agnostic). ppg_total = points_for / games (full TU+bonus per game). subject_hhi low = broad; n_subjects = breadth.

Results

Univariate correlation with win% (n=41)

metric pearson spearman class
point_margin +0.799 +0.794 outcome (not draftable)
ppg_total (TU+bonus/game) +0.731 +0.757 roster
pptf_team (toss rate) +0.624 +0.556 roster
n_subjects (breadth) +0.533 +0.503 roster
subject_hhi −0.473 −0.193 roster
ppg_team (toss/game) +0.352 +0.348 roster
top2_share / player_hhi / depth / roster_size / neg_rate ~0 ( r <0.13)

LOSO out-of-sample R² / spearman (predict win%)

model OOS R² OOS spearman
PointMargin only (outcome — upper bound) +0.612 +0.792
PPG_total + n_subjects +0.370 +0.722
PPG_total only +0.354 +0.694
PPTF + n_subjects +0.293 +0.484
PPTF only +0.258 +0.531
PPTF + subject_hhi + depth +0.194 +0.422
breadth / hhi / top2 / depth alone ≤ 0 ~0
full "production+structure" (6 feats) −0.13 +0.07

What adds over raw production?

Recommendation — the north-star value currency

Toss-up production efficiency = PPTF (toss-up points per toss-up faced).

Why PPTF and not the slightly-higher PPG_total or point_margin:

  1. It is a rate, not a count — robust to schedule length, # games, and roster size, so it composes cleanly across players into a team prediction.
  2. It is opponent-agnostic and individually attributablepoint_margin and points_against are downstream outcomes (they encode who you played and lost to), so they top the correlation table but are illegal as a draft input. PPTF is built only from the player's own buzzes.
  3. It transfers (positive every season; LOSO R²=0.26, spearman=0.53) — modest because n=41 teams is tiny, but stable.
  4. PPG_total wins narrowly (R²=0.35) only because it folds in bonus conversion, a team skill that is not individually attributable (bonuses are team-answered). Use it as a team-level scoreboard check, not as the per-player draft currency.

Add breadth as a secondary tiebreak, not the core. PPG_total + n_subjects is the best LOSO model (R²=0.370), and breadth has a +0.17 partial lift over rate — consistent with the F1 prior (corr(win%, #subjects)=+0.52 in natural rosters). But it is a second-order adjustment; production rate dominates.

Decomposition into per-player win shares

The currency decomposes additively because team toss-up points are a sum of player buzzes:

player_win_share = (player_toss_points / team_toss_points) * team_wins

This is implemented in data/processed/player_win_shares.csv (226 player rows). It is exact: each team's player win-shares sum to its actual wins (max abs error = 0.0000). Reading: a player's win-share = the share of his team's wins attributable to his toss-up production. Top contributors:

season team player toss_pts point_share win_shares
nsba1 devansh arolakiv 268 0.728 5.10
nsba2 Coby sanj 196 0.598 4.78
nsba1 sheep b VulcanForge 216 0.667 4.67
nsba1 mount ellis Vish 180 0.529 4.24
nsba3 limitless evan 156 0.582 4.07

For drafting NSBA4: project each candidate's PPTF (expected toss-up points per toss-up faced) from their game history and/or de-biked combine ability (combine_ability.theta_*), sum the projected production across a hypothetical roster to a team PPTF, and add a small breadth bonus for subject coverage. Win shares then allocate expected team wins back to individuals as the value-per-pick currency.

Limitations & caveats

Artifacts


NSBA Draft Analytics · embargoed until after the SSB draft · ← hub