NSBA Draft Analyticsembargoed · 2026-06-06

2026-06-06 · the full readable workspace

NSBA Draft Analytics

📍 This page is the live hub — bookmark share.djiang.xyz/nsba. It updates as new analysis lands; newest items are listed right here at the top.

🆕 Latest updates


An analytics engine for the NSBA draft — built overnight from 4 combine seasons, 3 game seasons (181 clean games), 3 historical drafts, the scibowl.live natural-roster baseline, and the NSBA4 Discord. Parsed, adversarially audited, modeled, red-teamed twice, synthesized. Every number comes from a re-runnable Python script.

~40 agent runsIRT · ridge CV · bootstrap · WLS+FE9/11 findings red-team-vetted

🎯 Draft Day Plan — Pick #2 (read this tomorrow) →
The live decision doc: trade #2 to Connor for Rohan + a pick, take Akhil at #3. Akhil is model #1 but field #7–8 — the night's biggest mispricing. Top tier, trade mechanics, MSJ buy-lows, mid-round plan, caveats.
✨ Cool Findings — the highlights reel →
The most surprising results, curated for quiz-bowl / science-bowl folks. Best place to start — and the one to share.
📋 Read: Draft Strategy v3 (specialist-corrected) →
The current strategy. We red-teamed our own generalist bias — it's real but localized to the mid-board, and the under-priced specialists are bio/ESS, not CS (refutes "reach for CS"). Kian downgraded fade→neutral; Vishnu fade stands. Combine-absence steal angle added.
⚠️ Embargoed until after the SSB draft. The draft slot "#9" some pages mention is a placeholder — the real slot is known ~6/6.

The headline (skeptic's version)

Everything is ±a lot (n=41 team-seasons). Trust directions; read the methodology and causal red-teams for where magnitudes are soft. Full detail in the Synthesis.

Charts

All documents

Start here
26 — DRAFT STRATEGY (DRAFT v2) — NSBA4
Status: v2 WORKING DRAFT. Written for David (GM) to read, 2026-05-30.
27 — Bonus Value: Are Knowledgeable-but-Slow Players Undervalued?
Question (GM critique): Bonuses are worth 10 pts vs 4 for toss-ups, so bonuses
40 — Draft Strategy v3 (specialist-corrected)
Date: 2026-06-02. Supersedes the strategy in 26_draft_strategy_preliminary.md (v1)
Decisions Log
Settled decisions and their rationale. Append-only; date everything. (Today = 2026-05-30.)
🎯 Draft Day Plan — Pick #2
Prepared 2026-06-06 for the 06-07 draft. You (xpoes) are the non-playing GM, drafting 2nd overall. Snake, 14 teams × 6 rounds. Embargoed until after the SSB draft.
Live Intel (Discord)
Hand-fed by David from the NSBA server. Opponent behavior + domain hypotheses we can exploit/test.
Key Findings (canonical)
Date: 2026-05-30. Lead analyst synthesis (now incl. second wave F27–F31 + skeptic
Live Draft Tool — runbook
Two tools: an ingestion pipeline (scripts/refresh.py) to keep the board
Open Questions (for David)
David has several years of science-bowl knowledge — use it. Questions are grouped by how
Synthesis — Master Narrative
Lead analyst, A30 synthesis pass. Date: 2026-05-30.
Cool Findings — the highlights reel
A curated tour of the most surprising results, for people who actually know quiz bowl / science bowl. All of it is real code on 3 seasons of game data + 4 combines + 216 draft picks. Sm…
Player reports
Player Report — Anurag Sodhi
P0093 · handles: a new rag#0464, a.new.rag · seen as: Anurag, Anurag Sodhi, a new rag#0464, a.new.rag, a_new_rag
Player Report — arolakiv
nsba1_2022: raw PPTF 1.21 → adjusted 1.90 (Δ -1.21; 77 buzz-wins / 186 contests; reliable)
Player Report — Jonathan Huang
P0310 · seen as: Jonathan Huang
Player Report — Sanjay (likely the same person across NSBA2 + NSBA3, unlinked)
P0521 · handles: sanj#0606 · seen as: Sanjay, sanj#0606
Player Report — thedoge
P0593 · handles: thedoge#1189 · seen as: thedoge#1189
Findings
NSBA Processed-Data Integrity Audit
Auditor role: adversarial data-integrity reviewer (tried to break the parsers).
Spine build: player_season_master.csv + team_season.csv
Script: scripts/build_master.py (idempotent; re-run reproduces byte-identical output)
10 — Combine Ability Model (latent IRT, de-biked)
Goal. Estimate a latent per-player combine ability (theta) that is robust
11 — Reliability & Stabilization of Game Rate Stats
Question. For the key game rate stats — overall PPTF (toss-up points per
12 — Combine → Game Validation
Goal. For players linked combine↔game, quantify how well the combine (raw,
13 — Player Value / VORP for the NSBA4 14-team Draft
Script: scripts/player_value.py (reproducible; reads the game-only spine + combine_ability)
A14 — Growth / Aging + Gideon's Roster-Composition Hypothesis
Inputs: data/processed/player_season_master.csv (207 player-seasons, games nsba1/2/3),
14b — Growth NET of mean-reversion (R3 revision of F14, red-team T1)
Supersedes the development half of 14_growth_aging.md (the Gideon roster
15 — North-Star Metric Discovery (the value currency)
Goal. Define the single team-level quantity that best predicts NSBA standings
15b — SOS-Adjusted Win% + Factual Fixes (REVISION R4)
Date: 2026-05-30. Revision of F15/F16/F17/F13/F19 in response to red-team T6, T8, M3, M2.
A16 — Generalist vs Specialist + Roster Coverage (HEADLINE)
Question. Is a player who is strong across all subjects worth more win-share
A16b (R2) — Coverage, rebuilt from roster DESIGN (not realized production)
Revision of A16 / F16 in response to red-team T2 (91_causal_redteam.md, also
17 — CS Scarcity & Draft Value (falsify-first)
Question: Should the NSBA4 draft reach for a Computer-Science specialist? CS
17b — CS Draft Value, REVISED (R1)
Status: Revision of 17_cs_value.md. The red-team reviews
18 — Natural vs Drafted Rosters: Does Drafting Create Subject-Coverage Gaps?
Question. Real Science Bowl school teams form organically and reach near-universal
19 — Tanking Detection / Buy-Low Board (NSBA4 draft)
Goal. Find players whose real (game / external) ability far exceeds what their
20 — Difficulty Normalization ("Park Factors")
Goal: quantify how question difficulty differs across contexts and produce
21 — ADP & Market (In)Efficiency
Script: scripts/adp_market.py (reproducible; tidy tables only)
22 — Snake-Draft Pick-Value Chart (Jimmy-Johnson analog)
Script: scripts/pick_value.py (reproducible)
23 — Draft → Team Outcome (D4): does the draft *matter*?
Question. This is the end-to-end validation of the whole thesis. Link drafted rosters
24 — Realized Availability of Drafted Players (D3 / D13)
Question. For each historically drafted player, did they actually play?
25 — Pick-Trading Strategy (price the picks, trade up vs down)
Inputs: outputs/pick_value_chart.csv (F22/D2), data/processed/draft_picks.csv,
28 — Player Subject-Ability Profiles + Archetypes
Date: 2026-05-30. Status: exploratory (Task A). Lead with the caveats.
29 — Duo / Pair Synergy: does coverage work as DUOS?
Date: 2026-05-30. Status: exploratory (Task B). LEAD WITH THE CAVEAT.
30 — Undervaluation-vs-Field Metric (value over the market)
Date: 2026-05-30. Status: Task C. Script: scripts/A30_undervaluation.py
31 — Field Depth Under Difficulty (Task D)
Date: 2026-05-30. Env: /home/david/code/nsba/.venv/bin/python.
F32 — The usage / empty-stats bias in PPTF and the value board
Date: 2026-05-30. Question (from David): PPTF = toss_points / tossups_faced, and
F33 — Contestation-Adjusted Individual Ability (teammate-invariant)
Date: 2026-05-30. Task 2 of the player-value audit. David's concern (the
34 — NSBA1 (2022) Draft Analysis & Win-Shares Board
Season: nsba1_2022 · Source: full competition (actual game results, not combine)
35 — Plackett-Luce & the buzzpoint claim
Claim under test (Radius): "There's nothing noticeably better than the
36 — Buzz RANK vs DIFFICULTY-WEIGHTED vs raw celerity vs outcome-only
Follow-up to finding 35. Finding 35 showed raw celerity barely improves an
37 — Identity Reconciliation Fix (draft → game link rate)
Scripts: scripts/reconcile_identities_v2.py (merge engine) and
38 — Cleanup Gets vs Clean First-Buzz Wins
Idea (Anurag): A toss-up "get" (+4) that comes after the opposing team has
39 — NSBA4 #introductions intel (live-pool self-reports)
Goal. Parse the #introductions Discord export (intros.txt, captured 2026-06-02 —
41 — scibowl.live Difficulty Anchor (transferable priors for the joint model)
Goal. Fit subject/question difficulty on the LARGE external scibowl.live corpus
42 — Backtest Scoreboard: the bar a new ranking must clear
Script: scripts/backtest_scoreboard.py (reusable; score_ranking(ranking, season) entrypoint)
43 — Joint Hierarchical Bayesian Value Model (the centerpiece)
Date: 2026-06-03. Replaces the stitched pipeline (per-season combine GRM in
92 — Skeptic Audit: Archetypes / Duo Synergy / Undervaluation / Field Depth (F28–F31)
Date: 2026-05-30. Role: methodology adversary. Scope: re-read F28–F31 and
F93 — Skeptic audit of the usage / empty-stats bias work (F32, F33)
Date: 2026-05-30. Role: adversarial red-team of 32_usage_bias.md and
Science Bowl Coverage Baseline (SSB-2026)
Natural-roster (school-formed team) baseline for subject coverage, breadth, and
Adversarial red-teams
90 — Methodology Red-Team (adversarial review of findings 10–20)
Date: 2026-05-30. Reviewer role: methodology adversary.
91 — Causal / Selection-Bias Red-Team
Role. Adversarial review of findings 10–20 for causal interpretation and
Research briefs
A5 — Discord Qualitative Intel (NSBA4 Draft)
Analyst role: GM-side qualitative scout.
A6 — Sports-Analytics Methodologies Portable to the NSBA Draft Engine
What this is. A research brief mapping established sports-analytics methods onto the
A7 — ML / Statistics Methodology for NSBA Player Projection
Project: NSBA (science-bowl league drafted like the NBA)
A8 — Prior Art: Quiz Bowl & Academic-Competition Analytics
Purpose: Survey existing analytics in the quiz-bowl / academic-competition world before NSBA invents its own draft/combine metrics. Goal: adopt established terminology where it exists, …
A9 — The CS Specialist: A Draft-Strategy Framework for Cornering a Scarce Category
Agent: A9 (CS draft-strategy, conceptual/strategic)
Project docs
Data Dictionary — raw
Processed-table schemas live in DATA_DICTIONARY_PROCESSED.md (written by parser agents).
Data Dictionary — processed
Tidy tables written by scripts/parse_games.py to data/processed/.
Agent Architecture & Plan
Phased by dependency. Status tracked in PROGRESS.md. Research briefs in docs/research/.
Progress & Resume State
Last updated: 2026-05-30 (overnight build). Update this whenever phase status changes.

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