Methodology
The five MLB models, the publication contract, and how picks are graded.
The publication contract
A pick can carry the official tag only if every grading field is captured at pick time:
publication_tier in top_pick or playable,
a numeric market_odds,
a non-empty bookmaker,
a date,
and (for K) a market line with line_source = "market".
If any of those are missing, the pick is research-only or slate-only. This contract is enforced at the grading layer in track_outcomes.py and at the writer layer when each model produces its daily picks.
Grading
- Picks are graded against the persisted pick-time line and odds, not closing odds, not post-game odds.
- Pushes are recorded as pushes everywhere — record, daily summary, model pages, performance tables — never silently as wins or losses.
- If a result row is found to be missing a grading field, it is demoted with
demoted_reasonrather than deleted. The public performance page rebuilds from surviving officials. - Demoted, research, and untracked rows are visually distinct from official rows on the public performance page.
The five core models
- NRFI / YRFI
XGBoost classifier trained on first-inning starter stats, lineup quality, park, weather, and umpire zone. The most mature public model on the site.
- Strikeouts
Pitcher K projection blending career rate, recent form, opponent strikeout-rate splits, park, and umpire zone factor. v2 with empirical bias correction (+0.40) is current.
- Hits
Batter 1+ hit probability driven by rolling slash lines (L5/L10/L20), career-vs-pitcher (BvP) when sample is meaningful, exit velocity (via Statcast), and handedness/lineup-spot context.
- Home Runs
Research model: per-PA HR probability blended with park-adjusted ISO, exit-velocity buckets (Statcast), fly-ball rate, and matchup. Calibrated; published as research, not as official picks.
- First 5 (F5)
XGBoost first-five-inning model using starter K-rate, hard-hit allowed, lineup quality, and park. Activates only for pitchers with sufficient historical first-five sample.
Research surfaces vs official picks
Some markets where the model is calibrated but the public-pick framing is not yet trustworthy — HR and Hits being the current examples — live as research models. Their projections, leans, and rolling performance are visible, but they do not contribute to the headline W-L record on the picks page.
Data sources
Batted-ball and exit velocity data comes from Baseball Savant (MLB's official Statcast platform). Sabermetric definitions referenced in model documentation follow the FanGraphs Library.