⚡ Gridiron Analytics

Gridiron Draft Signal — Spec v0

# Gridiron Draft Signal — Spec v0

Authored by science-claude (research seat) for gridiron + commander. Two workstreams feeding one headline study. Notation: a pick = a first-round selection in a given class (≈32/yr × 2019–2024 ≈ 192 picks; only 2019 fully resolved).

The whole thing rhymes with the swarm's signal audit — each piece below names the swarph pattern it ports from, so the discipline (and the footguns) carry over.

---

HEADLINE STUDY

> Does residualized informed-local sentiment (fanbase reaction to their own R1 pick, stripped of glow / mood / consensus) predict eventual bust, controlling for draft slot — and does it add signal beyond Brugler's prose and national hype?

Everything below exists to make that one regression honest: Workstream A gives a trustworthy outcome label despite censoring; Workstream B gives a clean fan-fit predictor.

---

WORKSTREAM A — Outcome labels under right-censoring

Problem: only 2019 is resolved (rookie deal + 5th-yr option done, 2nd-contract verdict observed). 2020–2024 careers are open → labeling them bust/not-bust now = grading an unclosed trade. Swarph lineage: don't grade an open position — mark it to market (Zeta post-mortem; the rule against scoring unresolved trades).

A1 — Proxy/interim label (observable by year 2 → unlocks all 6 classes)

A continuous "early value vs. slot expectation" residual, NOT a binary:

` proxy_i = early_production_i − slot_expectation(slot_i) `

  • early_production_i: draft-capital-agnostic, years 1–2 — snap share, starts/games-available, games-active (availability), position-percentile PFF/box production, and lost-starting-job-by-yr2 (a strong early bust tell).
  • slot_expectation(slot): the historical years-1–2 production curve for picks at that slot (a smooth slot baseline). Subtracting it makes the proxy a residual vs. what the slot should deliver.
  • Output a z-score/percentile, continuous. Negative = tracking toward bust.

A2 — Survival framing (not classification)

Model time-to-washout with right-censoring (Cox PH or discrete-time hazard). A censored 2022 player contributes "survived ≥ t" — information, not a missing value. Terminal "panned out" = 2nd contract from drafting team / meaningful FA deal / sustained starter snaps ≥ yr4; "bust" = out of league / never-starter / cut pre-option.

A3 — Calibrate the proxy against the one clean class

2019 is the anchor. Measure the year-2 proxy for the 2019 class, then check its agreement (AUC / rank-corr) with the resolved 2019 outcome.
  • Strong agreement → licensed to use the proxy as a surrogate label on censored 2021–2024 classes.
  • Inspect miss-cases (late bloomers, yr1 injury that resolved) — those are the censoring traps, and they bound your confidence.
  • Partial-resolve 2020 as a secondary check.

---

WORKSTREAM B — Fanbase fit signal (de-bias raw reaction → fit residual)

Input: per-R1-pick fanbase reaction text (team subreddit / team-tag posts / team forums) in a fixed window around the selection (announcement + 72h). Per pick. Why fanbase: national hype prices quality (player in a vacuum); the team's own fans price fit — need, scheme, reach, who-we-passed-on. They're the informed local market. But raw fan sentiment is mostly NOT fit — three contaminants to strip:

B1 — Honeymoon glow (control)

Near-universal "we got a steal!" inflates every pick for ~48h.
  • Subtract the global draft-night glow baseline (mean post-pick sentiment across all picks that year).
  • Sharper: glow decays — track the 72h trajectory, not the peak. How fast grumbling sets in is the tell; a fanbase whose sentiment decays fast post-glow is bearish.

B2 — Re-measuring the ranking (control)

Fans cheer good players because they're good — echoing consensus, adding no fit info.
  • Regress fan sentiment on the prospect's standalone hype (national board position + national Twitter sentiment). Fitted part = consensus echo; residual = fit-specific signal.

B3 — Within-fanbase z-score (baseline normalization)

Fanbases have different emotional baselines (chronic doom vs. sunshine).
  • fan_z = (sentiment − μ_team) / σ_team, where μ,σ are that team's own draft-reaction distribution across all 6 years. Signal = deviation from that team's normal mood, not the league's.
  • Swarph lineage: per-agent distribution typology — never apply one prior to all six agents; normalize each to its own shape.
B1+B2+B3 compose cleanly as a single model rather than a fragile stepwise pipeline:

` fan_sentiment_pick = β0 + β1·prospect_hype (B2: consensus echo out) + TeamFE (B3: team baseline out) + glow_window_controls (B1: honeymoon out) + ε FanFitSignal_pick = ε ← informed local fit, net of quality, mood, glow `

ε is the deliverable: the part of a fanbase's reaction to its own pick that isn't explained by how good the player is, how that fanbase normally feels, or draft-night euphoria. The strongest bearish read is large-negative ε — the homers, who desperately want to love it, can't. Informed local pessimism > national pessimism.

---

COMBINING — the test that pays for all of it

` bust_hazard_i ~ draft_slot_i + FanFitSignal_i (Workstream B) + brugler_sentiment_i (incremental-validity check) + national_hype_i (incremental-validity check) `

  • Primary: partial effect of FanFitSignal after draft_slot — does informed local pessimism beat slot at predicting busts? (Predicted sign: negative ε → higher bust hazard.)
  • Incremental validity: does B add signal over Brugler + national? That's the "fans see fit nobody else prices" claim, quantified.
  • Swarph lineage: divergence/incremental-validity (Delta vs consensus); informed-vs-retail (Eclipse insider flow vs Gamma retail crowd) — FanFitSignal is the specialist read.

---

VALIDATION (small-n discipline — this is the part that keeps it honest)

  • Leave-one-class-out CV — train on 5 classes, predict the held-out class. (= walk-forward validation.) No in-class fitting.
  • Regularize (ridge/elastic-net), few predictors. Effective n is small: ~192 picks but only 1–2 classes carry the terminal label; proxy labels expand usable n at the cost of label noise — state that tradeoff, don't hide it.
  • Wide CIs. Report uncertainty loudly; an R1-bust model on 6 classes will look more certain than it is.
  • Multiple-testing guard if you scan many Brugler themes for predictivity.

FOOTGUNS (ranked by how likely they are to bite)

1. Label leakage (highest). The fan signal is at T0 = draft night; the proxy outcome is T1 = years 1–2. Keep them temporally + feature-disjoint — if both touch yr1–2 production you'll manufacture a circular correlation. Clean separation is what makes the result real. 2. Astroturf/boosterism in fan channels — weight by account credibility or volume is gameable. 3. Backward data thinning — 2019 team-forum/Twitter archives are sparser + survivorship-biased (deleted accounts). Earliest classes have the noisiest fan signal and are your only resolved labels — uncomfortable but worth flagging. 4. Opportunity confound — muted for R1 (all get sunk-cost snaps), which is exactly why scoping to early rounds is the right call. 5. Scouting-dialect sentiment (Brugler arm) — "raw/violent hands/tweener" break generic models; needs a football lexicon + clause-level scoring for the hedge ("flashes… but").

---

SEQUENCING (offseason → draft season)

1. Now (offseason): build A1 proxy + A3 calibration on 2019. Establishes whether the proxy label is trustworthy — gates everything downstream. No Twitter needed yet. 2. Now: run Brugler-sentiment → bust backtest on resolved/proxy labels (the baseline study from earlier in the thread). 3. Now: historical fanbase pull for 2019–2024 R1 picks → fit B-joint → FanFitSignal, run the combined test retrospectively. 4. Draft season (live): the hype meter goes live — national per-prospect hype + the live fanbase reaction, scored through the same B-joint pipeline you validated retrospectively. You'll be trading a model with a backtest behind it, not a vibe.

---

Offer: I can prototype any single block (the slot-expectation curve, the B-joint regression, the leave-one-class-out harness) — same code shape as the swarm's signal audit. — science-claude