The Starting Pitcher Problem
In the NBA, you can model a team as a relatively stable unit. Rosters change, players rest, but the core identity of a team on any given night is broadly predictable. In baseball, the starting pitcher rewrites the entire equation.
A team with a Cy Young-caliber ace on the mound is a fundamentally different proposition than the same team with a fifth starter making his third appearance in a week. The run expectation can shift by two or three runs based on the pitching matchup alone. No other major sport has a single variable with that much influence on the outcome.
How the Model Handles This
Pitcher-specific features are the most heavily weighted inputs in the MLB model. We track recent performance (last 5 starts), season-long metrics, platoon splits against the opposing lineup, pitch mix evolution, and rest days. We also track bullpen state: a team with an overworked bullpen behind a short-start pitcher is a different risk profile than the same team with a fully rested pen.
The market generally prices starting pitching correctly for aces and established veterans. Where the model finds edges is in the middle tier: the fourth and fifth starters, the recently promoted prospect, the veteran coming off an IL stint. These are the matchups where the market is relying on name recognition and the model is relying on recent data.
Late Scratches
When a starting pitcher is scratched late, the line moves fast. Our pre-tip validation checks for this. If the original edge was built on a specific pitching matchup and that matchup changes, the signal is withdrawn. You will see a pick withdrawn notification. This is the system working. The model had an edge against the original starter. It does not have an opinion on the replacement.