Bench Coach

How Bench Coach works

The short version. Read the long version at /methodology.

Bench Coach is a 75-state lead-aware Markov model trained on 2.6 million plate appearances. For each MLB game, Coach generates a win probability and a run total, compares against the public sportsbook line, and surfaces the gap as a model-vs-market signal. Personalized batter and pitcher matrices fold in matchup-specific tendencies — 358 batter profiles and 353 pitcher profiles built from Statcast data. Backtested across 9 seasons (361,519 predictions, mean Brier 0.163), confidence-calibrated, and published in full at /methodology.

States

75

Plate appearances

2.6M

Batter profiles

358

Pitcher profiles

353

What Coach reads, what Coach publishes

What Coach reads (inputs)

  • Pre-game: Pythagorean expectation, Log5, starting-pitcher FIP, home-field advantage, park factor, bullpen quality, and lineup wOBA
  • In-game: 75-state lead-aware Markov chain (3-bucket: trailing, tied, leading 2+) with Bayesian batter and pitcher personalization
  • External signals: Open-Meteo weather (wind vector decomposed across 30 MLB stadiums), MLB transactions (IL placements, rotation moves), and ESPN injury feed

What Coach publishes (outputs)

  • Win probability and run total per game
  • Sportsbook compare with the model-vs-market gap
  • Confidence calibration audited per-bin against 9 seasons of out-of-sample predictions
  • Audit trail at /methodology — every equation, every parameter, every data source

Why Coach publishes the math

Bench Coach is built on the principle that a model platform should be auditable end-to-end. Every claim Coach makes on this dashboard cross-checks against the methodology page; every probability is reproducible from the published artifacts. If you want the deep dive, /methodology carries the full picture — the state-space partition, the partial-pooling formula, the bootstrap confidence intervals, the era-stability analysis. If you want the short version, you just read it.