AUDIBLE — how the NFL team composite works
AUDIBLE is a descriptive team-strength composite built from eight position callsigns and Phase B Ridge-fitted weights. Two of three ship gates pass; the third — sign-consistency on offensive skill-position callsigns — fails. We publish anyway, because the composite is honest about how a team is good even when it has no edge against the closing line.
1. The strategy pivot
Phase 3 of the NFL player rebuild aimed to replace v1.2's team-feature backbone for spread prediction by aggregating per-position AUDIBLE ratings up to the team. End-to-end testing in 2026-05-15 showed no spread lift over the existing v1.2 model. The player aggregation is descriptively useful (we can say sharp things about how a team is good, position-by-position) but not forecasting-useful (we don't beat the line by enough to call it a betting signal).
Phase B is the formal write-up of that finding: we ran a 10K-bootstrap Ridge on game-level outcomes, found that 2 of 3 ship gates pass but the third (sign-consistency on all eight callsigns) does not, and decided to publish the result as a descriptive composite rather than as a forecaster. This page is the honest record.
2. How we got here
v1 (hand-weighted). The first cut used hand-picked proportions: POCKET 0.40, ROUTE 0.20, TRENCH 0.20, HINGE 0.10, ENGINE 0.10, with the defensive unit subtracted at full weight. Calibrated by face-validity, not by data — and overweighted QB relative to what the data actually says (POCKET's no-spread variance share is 9%, not 40%).
DS + football consults. Two memos (EXPERT_DS_AUDIBLE_REDESIGN_2026_05_15.md andEXPERT_FOOTBALL_AUDIBLE_REDESIGN_2026_05_15.md) predicted the outcome before the fit ran: the line absorbs skill positions efficiently; the “structural” units (OL, defensive sides, ST) are the rock-stable signals.
Phase B Ridge. We built a training matrix of 2,111 games with home-minus-away differences in the eight callsign ratings plus the closing spread. LOSO CV chose λ=19.3; 10K bootstrap on the full-sample fit gave per-coefficient 95% CIs. The fitted weights are what feeds this page.
3. The eight callsigns
- POCKET (Starter QB). Top QB on the team by posterior_n, off_rating from
qb_v1. The starter selection is the same rule the rankings page uses. - ROUTE (WR corps). Top-3 WRs by
snap_share × posterior_n, weighted within the corps by snap share (renormalised to sum 1). - HINGE (TE × target share). TE1 off_rating multiplied by the team's TE-target-share (sum of TE targets / total team targets in the season). The football memo's read: TE matters only when the TE actually carries.
- ENGINE (Lead RB). Lead RB off_rating by workload.
- TRENCH (OL unit). Composite OL rating: pass-protection + run-block, equal weight, season-z-scored.
- STORM-PASS / STORM-RUSH. Separately fit defensive units. Positive = good (high signal blocks pass / run plays).
- BOOM (Special teams). Single z-scored opponent-adjusted EPA/play across punts, kickoffs, FGs, XPs. New in Phase A.3.
4. The fitted weights
Phase B fit two Ridge models on the same eight callsigns: one with closing spread as a feature, one without. The page publishes the no-spread β as the headline weight (it captures what each callsign explains on its own) and reports the with-spread 95% CI for transparency.
| Callsign | Position | With-spread β | 95% CI | Sign% (8 LOSO folds) | Var share (no-spread) |
|---|---|---|---|---|---|
| STORM-PASS | Pass defence | +2.53 | [+1.94, +3.12] | 100% | 50.9% |
| TRENCH | OL unit | +1.29 | [+0.72, +1.89] | 100% | 24.6% |
| BOOM | Special teams | +1.11 | [+0.57, +1.67] | 100% | 7.1% |
| STORM-RUSH | Rush defence | +1.01 | [+0.44, +1.58] | 100% | 5.4% |
| Starter QB | +0.30 | [-0.29, +0.93]⚠ | 83.5% | 9.4% | |
| ENGINE | Lead RB | +0.22 | [-0.34, +0.76]⚠ | 77.9% | 0.7% |
| ROUTE | WR corps | +0.19 | [-0.39, +0.76]⚠ | 73.7% | 1.9% |
| HINGE | TE × tgt share | -0.01 | [-0.59, +0.57]⚠ | 51.9% | 0.0% |
⚠ = bootstrap CI spans zero. β values are standardised (a +1σ improvement in that callsign moves expected home margin by β points, after controlling for the closing line where applicable).
5. Ship-gate verdict
| Gate | Threshold | Result | Verdict |
|---|---|---|---|
| 1. RMSE ex-best fold | ≤ 13.10 | 12.81 | PASS ✓ |
| 2. ATS ex-best fold | ≥ 51.5% | 55.85% | PASS ✓ |
| 3. Sign-consistency | All 8 callsigns: CI excludes zero AND no LOSO sign-flips | 4 / 8 (TRENCH, STORM-PASS, STORM-RUSH, BOOM pass; POCKET, ROUTE, HINGE, ENGINE fail) | FAIL ✗ |
Headline: RMSE and ATS pass; sign-consistency fails. We publish as a descriptive composite, not as a forecaster. See §7 below for what the failed gate means in football terms.
6. What the data told us — variance partition
In the no-spread fit, full R² (LOSO out-of-fold) = 0.153. The per-callsign share of that explained variance is the most useful read on which signals carry the composite:
TRENCH 24.6% █████████████████
POCKET 9.4% ██████
BOOM 7.1% █████
STORM-RUSH 5.4% ████
ROUTE 1.9% █
ENGINE 0.7% ▌
HINGE 0.0%
STORM-PASS alone explains half of what the eight callsigns can say about game outcomes. TRENCH is #2 at 25%. Together, pass defence + offensive-line is three-quarters of the composite's signal. This is the football consult's §1/§5 prediction verbatim — “defence is more stable than offence, and the pass-D / OL block is the core.”
HINGE (TE × target share) contributes essentially zero to explained variance. ENGINE contributes 0.7%. The original hand-weights gave ENGINE 10% of the composite — that's ~15× overweight. We surface HINGE and ENGINE on the page for descriptive completeness, but the data is clear: at the season-level team-rating grain, RB workload and TE quality add almost nothing on top of OL + defence + ST.
7. Why we don't claim to predict spreads better than v1.2
Phase 3 (separate workstream, end-to-end test) and Phase B (this fit) both arrive at the same conclusion through different paths. Phase 3 ran the player-aggregate team features through v1.2's spread model and got no measurable lift over the production baseline. Phase B's with-spread Ridge fit finds the four skill-position callsigns have bootstrap CIs that span zero — Vegas has efficiently priced QB / WR / TE / RB quality, and the marginal information beyond the closing line is approximately zero on the offensive skill side. The team page publishes the composite as a descriptive number; it is not a betting signal.
8. Situational signals — tracked, not yet folded in
Alongside the composite, the team drawer surfaces six situational metrics for the season:
- Offensive 3rd-down conversion rate (with league rank)
- Defensive 3rd-down conversion rate allowed
- Offensive red-zone TD rate
- Defensive red-zone TD rate allowed
- Offensive turnovers per drive
- Defensive turnovers forced per drive
These are tracked separately because the football consults call them out as orthogonal to the EPA aggregates already captured in the eight callsigns. We'll watch them for a month and decide whether to fold them in. Until then they are explicitly descriptive: shown beside each team but not in the composite.
9. PASPA cliff disclosure
We refit the Ridge separately on pre-2019 (n=799) and post-2019 (n=1,312) games. The closing-spread coefficient is virtually unchanged (Δβ = 0.02). The callsign coefficients drift substantially on the offensive side (POCKET, ROUTE, ENGINE, STORM-RUSH all shift by 0.4-0.9 standardised units). The market has evolved how it prices the callsigns, but its overall calibration is rock-stable.
Practical implication: any production deployment should refit periodically with a rolling window. The bootstrap CIs reported above slightly under-state real uncertainty because the data is non-stationary. The current cadence target is a yearly refit on a rolling 8-year window.
10. Season-sim backtest — Sprint 4 (2026-05-15)
We Monte-Carlo simulate each season Y from the prior season's AUDIBLE ratings (Y−1, walk-forward — never any in-season data leakage) and check three forecasting gates on outcomes 2018-2024. Two bugs were caught and fixed during Sprint 4:
- Defense missing from 2026 view:
team_aggregatorwas readingpass_rating/rush_ratingfrom thedef_unit_v1components blob, but the 2026 schema writesdef_pass_rating/def_rush_rating. 51% of model variance (STORM-PASS + STORM-RUSH, see §6) was silently zeroed for the live publication. Fixed: aggregator now reads both key names and prefers the new one. - No regression-to-mean between seasons: a single prior-season elite team (BAL 2024 had def-contrib +11.13) was being projected forward at full strength into Y+1. Added a per-callsign blend toward the prior-season league mean with weight
w = 0.30, picked from a 5-value grid sweep (0.00, 0.15, 0.20, 0.25, 0.30) by minimum 7-season win MAE.
| Forecasting gate | Threshold | Pre-Sprint-4 (mr=0.00) | Post-Sprint-4 (mr=0.30) |
|---|---|---|---|
| Win-totals MAE (7-season mean) | < 2.50 | 2.565 → 2.463 | PASS ✓ |
| Playoff hit rate (per-conf top-7 logit) | > 60% | 53.6% → 71.6% | PASS ✓ |
| SB champ in top-8 | ≥ 50% | 4/7 → 4/7 | PASS ✓ |
Headline (post-v3, 2026-05-15): all 3 gates pass. The breakthrough was decoupling the playoff decision from the margin-RMSE-optimized win-total scalar. The v2 Ridge still drives per-game margin and win totals; a new per-conference top-7 logistic on makes_playoffs — fit on the 8 callsigns plus 12 situational features (3rd-down conv, RZ-TD%, turnover/drive — levels AND year-over-year deltas) plus coaching-shock features (new HC binary + tenure) — replaces league-wide top-14 ranking. Hybrid 7-season hit rate jumps 53.6% → 71.6%. See docs/AUDIBLE_PLAYOFF_LIFT_2026_05_15.md for the experiment trail (DS1 + DS2 expert memos, 4 candidate feature stacks, ablations).
Sweep results (10K sims each, final winner re-run at 50K):
mr=0.15 MAE 2.518 playoff 53.6% SB 4/7 → 1/3
mr=0.20 MAE 2.506 playoff 53.6% SB 4/7 → 1/3
mr=0.25 MAE 2.497 playoff 53.6% SB 4/7 → 2/3
mr=0.30 MAE 2.486 playoff 52.6% SB 4/7 → 2/3 (winner)
11. Reproducibility
The full Phase B report lives at docs/AUDIBLE_V2_PHASE_B_2026_05_15.md with the training matrix at derived/nfl_players/audible_v2_training_matrix.parquet on the external data drive. The fitted weights this page publishes are at derived/audible_v2_fitted_weights.json + derived/audible_v2_supplemental.json. The team aggregator reads them at import time and rebuilds the composite via polyedge.modules.nfl.players.team_aggregator.
One-line summary
A descriptive composite that's honest about which signals it believes in and which it doesn't. The pass defence and OL unit are the load-bearing 75%; everything else is published with a 95% confidence interval that lets the reader judge whether the ⚠ flag applies.