The receipts · published verbatim from the working file
H2 confirmatory results
The single holdout run, published as computed — including the disclosed technical correction.
H2 Confirmatory Results [EVALUATED 2026-07-11 — single run]
Protocol: docs/research/h2-confirmatory-preregistration.md, followed exactly; one disclosed technical correction (below). Script: catalyst/analysis/h2_confirmatory.py.
TRAIN fit n=2,128 (2015-2019, 2021). Frozen M1 coefficients: war_t +1.0006, ev95_z +0.1458, luck_gap_adj_z −0.2781. HOLDOUT n=721 qualified batter-seasons (predictor seasons 2022, 2023; outcomes through 2025). Signals standardized with TRAIN means/SDs.
PRIMARY criteria — ALL PASS
- Out-of-sample ΔR²: M0 0.3854 → M1 0.4140 = +0.0287 (bar: ≥ +0.01; ~3x the bar). PASS.
- Spearman of frozen predictions vs outcome: M0 0.5669 → M1 0.5889. PASS. (Disclosure: the script's original Spearman check returned NaN from an index-alignment bug in the metric computation only; the statistic was recomputed from the same frozen predictions with aligned arrays. Models, data, and predictions unchanged.)
- Holdout re-fit: luck_gap_adj coefficient −0.6234, p < 0.0001 (bar: negative, p < 0.05) — the fade effect is TWICE the TRAIN size out-of-sample. PASS. (ev95: +0.2746, p = 0.0165 — also significant, not gated.)
SECONDARY criteria — both pass; youth stronger
- Signal-overlay top vs bottom quintile, annualized WAR change (war_delta = war_next2/2 − war_t): +1.151 (bootstrap 95% CI +0.800 to +1.493). PASS — top-quintile overlay players gain more than a full win of annualized value over bottom-quintile.
- Fade quintile vs sample mean war_delta: −0.675 (95% CI −0.940 to −0.407). PASS — high park-adjusted luck-gap players decline by ~0.7 annualized WAR.
- Youth (22-24) replication: n=115, ΔR² +0.0384 — stronger than the full sample.
What this licenses (per pre-registered interpretation rules)
All PRIMARY passed → the breakout and fade signals are validated for publication; product calls may cite these holdout numbers. Specifically supportable claims:
- "Players whose top-end exit velocity outruns their results tend to gain value over the next two seasons" (ev95, holdout p = 0.017).
- "Players whose results outran their contact quality tend to give it back" (park-adjusted luck gap, holdout p < 0.0001, effect −0.62 WAR/SD).
- The combined overlay separates future gainers from decliners by ~1.15 annualized WAR between top and bottom quintiles, out-of-sample.
Boundaries (say these too — miss-inclusive doctrine)
- Batters only; pitcher signals unvalidated (Stuff-lite pending, separate registration required).
- MLB only; the MiLB/AAA version is unvalidated.
- Signals rank RESIDUAL value change, not player quality; WAR_t still dominates level prediction.
- 2024-2025 predictor seasons remain unevaluated until their outcome windows close (amended registration required).
- Effect sizes are means over quintiles; individual calls will miss often — hit rates get published, including misses.