Fever BaseballFuture Value Radar (FVR) · On the record
RECORD: 0 HIT · 0 MISS · 9 OPEN · FIRST CALL RESOLVES AUG 12

The receipts · published verbatim from the working file

H2 exploratory results (train years only)

Labeled exploratory per the backtest spec; no holdout contact.

H2 Exploratory Results — TRAIN years only (2026-07-11)

EXPLORATORY, labeled per backtest-spec discipline. Predictor seasons 2015-2021 (2020 excluded); outcomes = next-2-season FanGraphs WAR; qualified batters; youth cohort = age 22-24 (June-30 baseball age). No weight tuning was performed; HOLDOUT (2022-2025 predictor seasons) remains untouched for the pre-registered confirmatory run. Code: catalyst/analysis/h2_exploratory.py (+ inline quality tests).

Finding 1 — CR v0 does NOT beat current WAR at ranking future

value. Reported plainly.

Spearman to next-2yr WAR, youth cohort (n=308): CR 0.416 vs WAR_t 0.542 (edge −0.13). All qualified (n=2,133): CR 0.289 vs 0.537. Top-10 picks/season mean next-2yr WAR: CR 5.80 vs WAR_t 7.43. Incremental: adding CR v0 to a WAR_t model: dR2 +0.004 (p=0.16) youth; +0.0002 (n.s.) overall. The v0 component set is largely redundant with WAR (RE24-family) or unstable (clutch); mild incremental signal only in baserunning (+0.14 partial), defense (+0.11), pitches/PA (+0.10).

Caveats: same-construct advantage (WAR predicting WAR); level- prediction framing favors the incumbent metric by construction; CR v0 lacked any contact-quality input (fixed below) and park adjustments (still missing).

Finding 2 — Contact quality (built from our own BIP data,

1.23M balls in play with launch params, 2015-2025):

H5 stability: ev95 (95th-pct exit velo) r = 0.880 — the most stable metric in the engine; xval (expected value on contact from launch speed/angle grid) 0.706; actual value on contact 0.526; luck_gap (actual − expected) 0.362. Process is more stable than results, and the gap is mostly transient — textbook, and consistent with the entire public xwOBA literature. 2024 xval leaders: Judge, Ohtani, Rooker, Soto (correct).

Finding 3 — THE ALPHA IS IN THE PROCESS-VS-RESULTS SPREAD.

Adding quality metrics to the WAR_t model (all qualified TRAIN, n=2,128; all coefficients per SD):

  • ev95: +0.48 next-2yr WAR, t=+6.16, p<0.0001 — raw top-end power predicts future gains BEYOND current results. The BREAKOUT signal.
  • luck_gap: −0.34 next-2yr WAR, t=−5.73, p<0.0001 — results outrunning contact quality predict decline. The FADE signal.
  • xval conditional coefficient is negative (−0.52, t=−6.19) — suppressor structure with ev95/war_t (interpret the block jointly, not coefficient-by-coefficient); the working read: future improvers are those whose raw power exceeds what current results show ("unconverted power").
  • Youth cohort: same directions, smaller n (308), luck_gap p=0.045, ev95 p=0.14.

Note: top-10-by-predicted-LEVEL barely changes (WAR dominates level ranking). The alpha is in RESIDUAL ranking — who out/under-performs their current price — which is exactly what the product sells (mispricing calls), not "who is best."

Implication for the signal engine (design consequence)

Reframe: CR-as-price stays results-anchored; the SIGNALS are spreads:

  • Breakout flag ≈ high ev95 + negative/neutral luck_gap + (context layer: age, opportunity).
  • Fade flag ≈ positive luck_gap + unexceptional ev95. Both are now statistically grounded on TRAIN data with |t| ≈ 6, and both have clean one-sentence narratives for calls. This converges with the Attention-Gap framework: process (quality) vs results (price) vs attention (coverage) — three spreads, one engine.

Addendum — pitcher exploratory (2026-07-11, TRAIN only, n=2,763)

Stuff-lite adds a detectable but thin edge beyond current WAR (+0.075 WAR/SD, t=2.21, p=0.027; dR2 +0.001). Raw stuff quintiles show a NEGATIVE war_delta spread (top −0.52 vs bottom −0.25) — role confounding: max-effort relievers dominate top-stuff quintiles and carry low WAR ceilings/high volatility. Also rediscovered: given FIP-based WAR, worse runs-allowed predicts bounce-back (+0.18/SD, t=4.5) — the classic ERA-vs-FIP regression, real but publicly well-known (low differentiation value). VERDICT: no pitcher signal is registrable yet. Future work: role-stratified analysis and year-over-year velocity/stuff DELTAS (the known "velo jump" breakout tell). Batter signals remain the launch content.

Queue this creates

  1. Park adjustments (luck_gap r=0.36 hints at park persistence; Coors etc.).
  2. Integrate quality_bat into the production components pipeline (currently an analysis-layer parquet).
  3. Pre-register the confirmatory H2: define breakout/fade labels, models, and success criteria BEFORE touching HOLDOUT 2022-2025.
  4. Pitcher analog: pitch-level extraction (velo/movement from playEvents) -> Stuff-lite; not yet extracted (bip pass covered batted balls only).
  5. MiLB: same xval/ev95 machinery on AAA Statcast (free) = the pre-consensus version of the breakout signal.