Triple Crown Forecast simulates how the rest of the Major League Baseball season could play out for individual hitters — who ends up leading their league in a stat, what it takes to get there, and how close anyone is to a Triple Crown. Most projection systems project a single stat line for each player -- the mean or most likely outcome. But I wanted to know the likelihood of players leading their league in stat categories, or hitting specific milestone numbers, or even winning the Triple Crown. To figure out probabilities, especially across multiple stats at once, I've used each player's track record to simulate the remainder of the season many times, and counted up the outcomes.
Methodology
The rest of the season is simulated one game at a time, many times over. Each simulated season produces a full end-of-season batting line for every hitter in the player pool; those lines are then scored for league leads, ties, milestones, and Triple Crowns, and the frequencies you see are just the share of simulations in which something occurred.
Player pool
Hitters are included once they have enough of a track record this season to project — roughly 300 plate appearances, or 10 stolen bases for the base-stealing categories. Batting-average standings use the qualified-rate convention (at-bats are topped up to a full-season qualifying total when a player is short), so partial seasons are not flattered.
Playing time
For each simulated season, each player's remaining games played is drawn from a beta-binomial model, based on their own track record of playing time. Players currently on the injured list miss all remaining IL time, and have increased injury risk after their return.
Stat lines
Simulated future games are sampled from each player's real game logs over the last three seasons. Recent games are weighted more heavily (a Marcel-style 5/4/3 split by season). Each simulated season's games are added to the player's year-to-date stats to generate end-of-season stat lines.
By using real games from a player's past, all of the simulator's outputs are directly taken from performances their own track record -- games they've actually had. This gives realistic relationships between the different stats and realistic variation for each player.
Leads and ties
For each simulated season, we tallied the leaders for each league and across all of MLB, in a number of categories. A simulated season can end in a tie for a league lead. In the hover detail and the “Lead %” columns, a player is counted every time they led or tied, so those figures can add up to more than 100%.
What the model leaves out
It does not simulate opposing pitching, park effects, weather, trades, call-ups, or in-season role changes beyond what shows up in a player's recent game logs and injury status. It is a projection of the plausible range of outcomes, not a forecast of any one season.
Data sources
All baseball data comes from the public MLB Stats API (statsapi.mlb.com): year-to-date batting lines, the game logs used for sampling, team schedules, rosters, and injured-list status. Stats are refreshed periodically; the “as of” timestamp on each page shows when the underlying numbers were last pulled.
This site is not affiliated with or endorsed by Major League Baseball or any team. Photographs credited on individual pages are used under their respective licenses.
About me
I'm a software engineer who has often built simulations of complex systems. I love baseball, and enjoy applying my skills towards my curiosity about the sport. I've been following Yordan Alvarez's chase for the Triple Crown, and realized that estimating his chances was a fun modeling problem that would require a novel solution. This is a personal project built for fun.
Feedback and corrections are welcome — get in touch.