A16b (R2) β Coverage, rebuilt from roster DESIGN (not realized production)
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
M-list in 90_methodology_redteam.md). Date: 2026-05-30.
Reproduce: /home/david/code/nsba/.venv/bin/python scripts/analysis_16b_design_coverage.py
β writes data/processed/team_design_coverage_16b.csv.
Lead caveats (read first)
- Tiny n, and the test effectively lives in 24 nsba2+nsba3 team-seasons. 32 bridged teams at gamesβ₯5 (nsba1=8, nsba2=11, nsba3=13). Design CS coverage exists only in nsba2/nsba3 (nsba1 combine has no CS β and no Energy category at all), and the nsba1 bridge is weak (see next).
- Design coverage requires a draftβgame bridge, and it is imperfect. The win% outcome lives on game team names; the design measure lives on draft team names; the two name spaces do not match. I bridge them by canonical-id roster overlap (greedy 1:1). Bridge quality: nsba2 mean overlap 0.91 (12/13), nsba3 0.66 (14/16), nsba1 only 0.22 (8/12) β nsba1 game sheets use nicknames, so nsba1 design coverage is noisy and I report results with and without it.
- Combine is used as a PREDICTOR only.
theta_catdefines roster design; it is never mixed into the win% outcome or any game value stat. Per guardrails. theta_catis a gameable, Β±-noisy seed signal (combine is tankable). Drafted rosters average 3.8β5.4 of 6 players with a same-season combine row, so a few "covered/punted" calls rest on partial roster combine data.
TL;DR β the coverage rule does not survive a design-based rebuild
The original F16 headline ("don't leave a subject uncovered β ~7 win-pts/punt, corr β0.54") is a property of REALIZED in-game coverage and does not reproduce when coverage is measured from roster DESIGN.
| coverage definition | corr(#punts, win%) | p | n | punters |
|---|---|---|---|---|
| Realized (β₯2 net-correct in games) β F16, same bridged sample | β0.575 | 0.001 | 32 | 5 (all nsba3) |
| Design (β₯1 drafted player with theta_cat β₯ 0.0) | β0.108 | 0.56 | 32 | 7 (1/2/3 mixed) |
- At no design threshold (theta β₯ β1.0, β0.5, 0.0, +0.5, +1.0, or within-season top-25/40/50%) does design-punt β win% reach significance; |corr| ranges 0.04β0.24, all p > 0.16.
- Design and realized punts barely agree: corr(design_punts, realized_punts on
the same measurable subjects) = β0.119 (essentially zero, and not the positive
agreement you'd want). Only 1 of the teams flagged as a punter is flagged under
both definitions (
the other team, nsba3). - The 5 realized-punt teams (usmic, okc, fishnoobs, no like blue, the other team β all nsba3) were, by design, NOT short on coverage: each drafted at least one above-average combine answerer in every measurable subject. Their "punt" is a failure to convert in games, not a hole in the roster they built.
Conclusion: the "don't punt a subject" rule is tautological with being good. "Realized punt = a subject your team didn't score in" is downstream of being a weak (or short-schedule) team. When coverage is measured from the pre-game roster you drafted, it carries no detectable, talent-independent signal for winning at this sample size. The red-team's T2 critique is confirmed, not refuted.
What was tested
For each historical game team (which carries win%), bridge to its drafted roster
(draft_rosters.csv), and for each combine-measurable subject mark it covered if
β₯1 drafted player has combine_ability.theta_<cat> β₯ threshold. #punts = #
measurable subjects with no such player. Re-run the F16 tests: univariate
corr(#punts, win%), talent-controlled partials, drop-one leverage, within- vs
cross-season. Design subject slate: nsba2/nsba3 = {bio,chem,cs,ess,math,phys};
nsba1 = {bio,chem,ess,math,phys} (no CS/Energy combine).
Results in detail
1. Univariate punt β win% (games β₯ 5, n = 32)
| design threshold | corr | p | teams with β₯1 punt | mean punts |
|---|---|---|---|---|
| theta β₯ β0.5 | (no variance / 0 punters) | β | 0 | 0.00 |
| theta β₯ 0.0 (primary) | β0.108 | 0.56 | 7 | 0.34 |
| theta β₯ +0.5 | β0.133 | 0.47 | 27 | 1.72 |
| theta β₯ +1.0 | β0.215 | 0.24 | 31 | 3.38 |
| top-25% within season | β0.220 | 0.23 | 17 | β |
| top-40% within season | β0.098 | 0.59 | 7 | β |
| top-50% within season | +0.156 | 0.39 | 1 | β |
Compare F16's realized measure, which strengthened monotonically as the floor rose (β0.40 β β0.54 β β0.57 β β0.60). The design measure shows no such monotone strengthening and no significance anywhere. Win% by design-punts at the primary threshold is essentially flat: 0 punts β 0.504 (n=25), 1 β 0.366 (n=3), 2 β 0.471 (n=4) β the n=3 dip is not monotone and not distinguishable from noise.
2. Talent controls kill what little is left (games β₯ 5)
| control | partial corr(#punts, win%) | p |
|---|---|---|
| realized star talent (top-2 toss pts, z) | β0.043 | 0.82 |
| realized roster toss pts (z) | β0.202 | 0.27 |
| design talent (mean drafted combine theta, z) | +0.071 | 0.70 |
F16's realized partial-over-talent was β0.37 (p=0.026). The design partial is ~0 and sometimes flips sign. There is no talent-independent design-coverage effect.
3. Drop-one DFBETA leverage (base r = β0.108)
Most influential single teams: dropping Okeh City Okehios moves r to β0.197
(Ξ β0.089); dropping usmic moves it to β0.162 (Ξ β0.054); dropping the other team
moves it to β0.060 (Ξ +0.048). No single team rescues the effect into significance,
and the leverage is mixed-sign β i.e. the near-zero correlation is fragile in both
directions on individual teams. (For contrast, F16's realized β0.54 collapsed to
β0.32 when its two 0%-win nsba3 teams were dropped β also leverage-driven.)
4. Within-season vs cross-season
| sample | corr(#punts, win%) | p | n | punters |
|---|---|---|---|---|
| nsba2 only | β0.000 | >0.99 | 11 | 3 |
| nsba3 only | β0.233 | 0.44 | 13 | 2 |
| nsba2 + nsba3 pooled | β0.041 | 0.85 | 24 | 5 |
| strong-bridge only (overlap β₯ 0.5, ~all nsba2/3), n=22 | β0.044 | 0.85 | 22 | 4 |
Unlike the realized measure (whose entire punt-variation was 5 nsba3 teams), design punts are spread across seasons β but the effect is null in every slice, including the within-nsba3 slice where the realized effect was strongest (F16: nsba3 realized β0.76). Restricting to the well-bridged nsba2/3 teams (dropping the noisy nsba1 nickname bridge) does not change the conclusion.
5. CS specifically (nsba2 + nsba3, games β₯ 5, n = 24)
Per F17/F18, CS is the subject of interest. By design, CS coverage is universal:
every bridged nsba2/nsba3 team drafted β₯1 above-average (theta_cs β₯ 0.0) CS answerer
β there are zero CS design-punters. corr(best drafted CS theta, win%) = β0.036
(p=0.87). If anything the contrast runs backward: teams whose best CS designer is
strong (theta_cs β₯ +0.5, n=20) won 0.429; the 4 teams without such a player won 0.731
β small-n noise, but certainly no positive CS-design-coverage edge. This is
consistent with F18's "the draft already solves CS coverage 96.6% of the time": once
everyone drafts a CS answerer, having one cannot separate winners β only converting
in-game (F17's player-level conversion gap) can.
6. Which subjects get design-punted
At theta β₯ 0.0 (games β₯ 5): nsba2 β chemΓ2, essΓ2, physΓ1, bioΓ1; nsba3 β chemΓ1, essΓ1; nsba1 β chemΓ1, mathΓ1, physΓ1. CS is never design-punted. The design holes are scattered (chem/ess most common) and do not line up with the realized holes (which were CS- and ESS-depth-flavored), reinforcing that the two measures capture different things.
Interpretation: why design β realized here
The realized measure conflates three things the design measure strips out: 1. Being good. A strong team converts β₯2 in every subject because it wins buzzer races everywhere; a weak team fails to in several. "Realized punt" is partly just "weak team," which is mechanically anti-correlated with win%. 2. Games played / schedule length. Realized per-subject totals scale with games; nsba3's short, uneven schedules (1β10 games) make a subject read as "punted" simply from low exposure. (All 5 realized punters are nsba3.) 3. Sub/lineup endogeneity. Realized coverage depends on who actually buzzed, which is itself an in-game choice.
The DESIGN measure (who you drafted Γ their tryout ability) removes (1)β(3). When it does, the coverageβwin% relationship disappears. So F16's "don't punt" correlation was largely the tautology good teams don't have empty stat lines, not a roster-construction lever you can pull on draft night.
Verdict on the F16 coverage rule
| claim (F16) | status after design rebuild |
|---|---|
| "β7 win-pts per uncovered subject" | Not supported by design coverage (corr β0.11, p=0.56; partials ~0). A realized-production artifact. |
| "survives a star-talent control (partial β0.37)" | Does not survive when coverage is design-based (partial β0.04 to +0.07, ns). |
| "corr(win%, #punts) = β0.54" | Reproduces for realized coverage on the bridged sample (β0.575) but is β0.108 for design coverage. |
| "CS is the scarcest coverage, reach for a CS answerer to fill the hole" | The hole does not exist by design β every team drafts a CS answerer (0 CS design-punts; CS-design-coverage corr β0.04). The F17 CS edge, if real, is a conversion/depth effect among already-covered teams, not a coverage-gap fix. |
Bottom line. Measured from roster design rather than realized production, the "don't punt a subject" rule does not survive. At n=32 (effectively 24 nsba2/3) the design-coverageβwin% signal is indistinguishable from zero and vanishes under any talent control. The actionable residue is narrower than F16 claimed: drafting a credible answerer in every subject is table stakes the draft already provides (every bridged team did, CS included) β it is not a differentiating lever, and the leveraged value (if any) is in conversion and depth in-game (F17), not in filling a coverage hole on draft night. The realized-coverage "punt penalty" should be read as a symptom of weak/short-schedule teams, not a roster-construction rule.
Artifacts
data/processed/team_design_coverage_16b.csvβ one row per bridged team (season, game team, drafted team, bridge overlap, design #punts/#covered at 5 thresholds + 3 percentile rules, realized & design talent z-controls).scripts/analysis_16b_design_coverage.pyβ full reproduction.