Product / Model Cards
Model cards Lineup Lab

Lineup Run Model

An exact Markov model of a nine-inning game, fed by regressed outcome rates by pitcher hand.

Supports: Who starts and in what order against right- and left-handed pitching. Refresh: Weekly in season Open Lineup Lab

What it predicts

Expected runs per game for a lineup and batting order.

Inputs

  • Outcome rates (BB/HBP, 1B, 2B, 3B, HR, K, out) per hitter and pitcher hand, 2024–26, weighted toward 2026
  • League rates and platoon effects by batting side

Method

  • The nine and their positions come from the Winter Plan’s depth chart
  • Event-specific regression toward a starting point: the league line for his batting side, moved toward his Triple-A translation by a weight that fades as his MLB record grows (half at 300 weighted PA)
  • Platoon splits regressed toward the league platoon effect for his side, with ballast measured from 2024–26 for left-handed, right-handed and switch hitters separately (the measured values are below); switch hitters bat from the side opposite the pitcher
  • Against lefties a bench bat platoons in only at a spot he can play, with 150+ MLB PA since 2024 and 100+ of them against lefties, and only when the swap is worth 2+ runs a season and the platoon part of the edge alone is worth 2+ runs; a bench bat better against both hands is listed as a roster question
  • Markov chain over outs and bases per half-inning, chained by who leads off
  • Order search from The Book’s template with pairwise swaps; calibrated to 2026 MLB scoring

How well it works

Computed by the pipeline from the data on this site

Calibration to 2026 MLB scoring
Nine league-average hitters: 4.12 runs per game before scaling vs. 4.48 actual (×1.09)
What the gap is
Steals, wild pitches, and some extra-base running aren’t modeled. Lineups are compared to each other, so the scale cancels.
Platoon ballast, measured from 2024–26 (hitters with 100+ PA against each hand)
Left-handed 1,200 PA of ballast · real split spread ±14 points of wOBA · 132 hittersRight-handed 2,350 PA of ballast · real split spread ±11 points of wOBA · 235 hittersSwitch 350 PA of ballast · real split spread ±27 points of wOBA · 46 hitters His own line against a hand counts half once he has that many PA against it; until then it leans on his overall line plus the league split for his side.

Data: outcome rates by pitcher hand, 2024–26, weighted toward 2026 (Statcast and MLB Stats API).

What it can't see

  • No stolen bases or wild pitches in the run model (the Running Game page covers steals)
  • Assumes an average opposing pitcher and defense
  • Fielding changes from a platoon swap or an added bat aren’t charged to the lineup (the depth chart prices them)
  • Rates aren’t park-adjusted: an outside bat carries his home parks (for Pittsburgh’s what-if bats, a PNC column moves him to PNC; own players’ rates already carry PNC)
  • Its own regressed rates, not the Winter Plan’s Marcel+ projection: forecast blind for 2026, it ranked clubs’ offense only loosely (the Lineup Lab quotes the test)

How we'd measure impact

  • Runs per game vs. LHP before and after a lineup or roster change
Keystone is an independent portfolio project. It is not affiliated with Major League Baseball or any club. Data: MLB Stats API, Baseball Savant, FanGraphs. Used under their terms for individual, non-commercial use.