← Blandalytics

Game Sim

Two 2026 lineups and their pitchers, played as MLB games, walk-offs and extra-inning runners included, with the box score averaged over thousands of games.

Any completed 2026 regular-season or postseason game: its teams, starting nines, starters, catchers, ballpark and week.

Sim Settings

loading 2026 data…

How It Works

Plate Appearances

Each plate appearance is drawn as the Lineup Sim draws it: the hitter's 2026 rates in eleven outcomes against the pitcher's by log5, with platoon splits, then the running game and where the runners end up from what happened in that base-out state across 2026. Each team's lineup starts as its starting nine from its most recent 2026 game against a starter of the same hand as the one it faces here (Most recent vs RHP or vs LHP; it follows if that starter is changed, until a slot is edited), or it can be its nine lineup spots (everyone who batted there in 2026, pooled), and any slot can be any 2026 hitter or any team's spot. Small samples adds MLB-average plate appearances to individual hitters and to the starters; the default here, 200, was the Lineup Sim's most predictive option.

Pitching

Each team's starter faces the other lineup, then its bullpen (everyone who pitched for that team in 2026 without starting the game, pooled, right- and left-handers in the shares they pitched; an MLB team gets every 2026 reliever). Modeled hook leaves the starter in until the Lineup Sim's model of 2026 managers takes him out, now with the game's real score; Average start is as many outs as his 2026 starts averaged; Bullpen day has him open for ; Nine innings keeps him in through the 9th, with the bullpen in extra innings. Pitching changes come between plate appearances.

The Bullpen by the Score

Teams bring in their best relievers to hold a close lead and their mop-up men when a game is out of hand either way, so the bullpen pitches to the score: as each of its plate appearances begins, its strikeouts, walks and hits per ball in play move with its team's lead. Holding a lead of one or two, it strikes out 8% more batters and allows 4% fewer hits per ball in play; up three or four, 9% more and 4% fewer; down five or more, 13% fewer strikeouts and 2% more hits. Down three or four, it strikes out 7% fewer; tied, it allows 4% more hits per ball in play; way ahead, it walks 8% fewer. The bullpen's 2026 rates are its average over all of these, so they average out across 2026's relief plate appearances. They come from every 2026 relief plate appearance, each with its batter's rates and the bullpen's own expected, fitted together with home field. With one pooled bullpen, the sim used to keep games too close: over all of 2026's games it had 29.9% of them decided by one run (27.5% were) and 25.7% by five or more (28.6% were), and real margins spread 15% wider than its odds allowed. With the bullpen by the score that's 27.9% and 28.1%, and 3% wider. Its odds on who wins are as accurate as before, its chances on each exact final score as well, and the likeliest final scores now happen as often as their chances say. Fitted on games before July 1 alone, it closed most of the gap in the games after.

MLB Rules

The away team bats first. From the 9th on, the bottom half isn't played when the home team leads after the top. In the bottom of the 9th or later, the game ends the moment the home team goes ahead: a walk-off, on which only the runs needed to win count, unless it's a home run. From the 10th on, each half-inning starts with a runner on second: the hitter who bats just before that inning's leadoff hitter. A game still tied after 40 innings is called a tie.

The Box Score

A run goes to the runner who scored it. A hitter's RBI are the runs that scored on his plate appearance, except on a ground-ball double play; runs on steals, wild pitches, passed balls and balks drive in nobody. A run is charged to the pitcher who let that runner on, so the bullpen's inherited runners count against the starter. Every run is earned except the extra-innings runner's: errors happen inside the advancement tables at 2026 rates, but aren't told apart from other plays. Pitches are drawn from 2026's pitches per plate appearance for each outcome. The win goes to the pitcher of record when his team took the lead for good (a starter needs five innings; short of that, it goes to the bullpen), the loss to the pitcher charged with the run that put the other team ahead for good, and the save to the winning team's last pitcher when he pitched its whole last inning with a lead of one to three runs. A quality start is the starter going six innings or more with three earned runs or fewer charged to him, counting runners he left on base who scored after he came out. A team's bullpen is one line, so it can take a win and a save in the same game, as two of its relievers would.

Stolen Bases

Before each plate appearance, every runner with the next base open (home is always open) may try for it, lead runner first, and the first who goes is the play. The odds come from a model of every 2026 steal opportunity (the stolen_bases project's pull of MLB's play-by-play, with the runner, the pitcher and the catcher on each): two logistic models, one for whether he tries (stolen base, caught stealing, or caught breaking on a pickoff) and one for whether he makes it, each with the runner, the pitcher and the catcher as effects shrunk toward average, and the bases, outs, score and the pitcher's hand as context. How much to shrink each was picked by fitting games before July 1 and predicting the rest. Who's involved predicts attempts well (runners differ most, then pitchers, then catchers), but success much less: in one season a runner's or pitcher's success rate is mostly luck, so those are shrunk nearly to average, while catchers keep some spread. The catcher is one of the team's nine: a 2026 catcher in the batting order as himself, or a lineup spot as the team's catchers who batted in it, pooled (the box lists the spots that did at least 5% of the team's catching); a lineup with no 2026 catcher in it has the one picked catch like an MLB-average catcher. A lineup spot is its 2026 runners pooled, a bullpen its relievers, and the MLB-average starters every one of that hand, each set to give as many attempts and steals as its players did. Where the runners end up on an attempt (a double steal, a throwing error) comes from 2026's plays with that attempt; without one, the running game (wild pitches, passed balls, balks, pickoffs) is 2026's without one. Steals on the pitch that ends a plate appearance (a strikeout and a runner thrown out) are part of that plate appearance's result, as in the Lineup Sim, and aren't counted as SB or CS. With MLB-average everything it gives about 0.62 stolen bases and 0.18 caught stealing a team game, against 2026's 0.58 and 0.17 counted the same way. League-average running game under Sim Settings puts back the Lineup Sim's running game.

Load a 2026 Game

Type a game's gamePk (the 6- or 7-digit number in its Baseball Savant or MLB Gameday link), or paste the link, and press Load or Enter; or press Random Game for any game that loads, each equally likely (the pick's gamePk goes in the box). Opened plainly, with no matchup or game in the link, the page loads the season's most recent completed game, by its start time, and shows the default matchup until it's in, or for good if the Stats API doesn't answer. Both ask the Stats API for the season's schedule, once. The page asks MLB's Stats API for that game's schedule entry and box score, and sends it nothing but the gamePk. From the game it takes both teams; each team's starting nine, in batting order; the starting pitchers; each team's starting catcher (for stolen bases); the ballpark; and the game's date, for When. A regular-season game gets its own week; a postseason game (Wild Card through World Series) gets the regular season's last week, the latest the park factors go. It takes 2026 MLB games that were completed (a rain-shortened game counts) and refuses the rest, saying why: another season (the players' rates are 2026's), a minor-league game, the All-Star Game, a game that was never completed (cancelled, or postponed and not yet made up; one made up later keeps its gamePk and loads, on its makeup date), and preseason games, whose lineups are full of players who never played in the regular season and have no rates to simulate. A starter the 2026 data doesn't have would be replaced (a hitter by his team's lineup spot, a pitcher by an MLB-average right-hander) and named in the note; every 2026 starter is in it. If the Stats API doesn't answer within 8 seconds, can't be reached, or sends something unreadable, the note says so and the matchup on screen stays. He pitches is set from the game: a starter who recorded 6 outs or fewer and isn't a regular starter (no 2026 starts, or starts averaging 3 innings or less) opened a bullpen day; any other starter gets the modeled hook, a regular starter knocked out early included. The Sim Settings stay as they were; the simulation is of that matchup, not a replay of the game. A link to blandalytics.com/game-sim/ and the gamePk (blandalytics.com/game-sim/822778, say) opens the Game Sim with that game loaded; the note under the box gives it after each load.

Ballparks

The game is played in the home team's park, or the one picked, with the park factors from Park Factors: for each park, how often a plate appearance there ends in a strikeout, walk, hit by pitch, single, double, triple or home run, against the season's average park (100), from a fit of every plate appearance that adjusts for who batted and pitched there. They apply outcome by outcome to every plate appearance of the game, both teams' alike, and are for all batters: 2026's factors aren't split by batter hand, so a left-handed hitter gets the same park as a right-handed one. When picks a week of 2026 instead of the whole season: the park's own pattern across the season (the park-factors model gives each park a curve by date, shaped by its roof type) times the league's calendar that week (every park together: cold April, summer heat, September call-ups). It is a week, not a game: day or night, and whether a roof was open, aren't in it. Players' 2026 rates already carry their home park, half their games, so each matchup first takes out the hitter's and the pitcher's environment (their home park's factors averaged with every other team's, half and half), then puts in the park's; the outs in play take up the difference. A team's spots and bullpen use that team's environment, a player his team's, and MLB's spots and average arms none. Runs follow from the outcomes, so a park's effect on runs comes out near its R factor but not exactly: the running game and how runners advance are league-wide, not by park. MLB's average park takes every home park out; No park leaves the 2026 rates as they are.

Home Field

Beyond batting last, the home team's hitters get the edge 2026's home teams had at their own parks, and the road team's hitters the reverse, in every plate appearance after the ballpark: they strike out less (×0.971), walk more (×1.022) and get more hits on the balls they put in play (×1.010, the mix of singles to home runs kept), with the outs in play taking the difference. Measured on every 2026 plate appearance at the home team's park, park-neutral and with each one's batter and pitching (the starter, or his team's bullpen) accounted for, fitted together with the bullpen by the score, home teams' hitters struck out 4.6% less than road teams', walked 3.5% more and got 1.6% more hits per ball in play; players' rates are about half home and half road, so each side gets half the gap. Hit by pitch didn't differ. Those half-gaps as measured left the home teams' share of wins over all of 2026's games, simulated as they were set up, at 52.3% (they won 52.9%), so each is raised to the 1.25 power: that gave 52.9% and the most accurate game-by-game odds of the strengths tried. There is none at a neutral site: a park that's another club's home or no club's, which the ballpark note says. MLB's average park and No park keep it, as do MLB's spots and average arms on either side.

Not Modeled

park-specific baserunning (extra bases at Coors, say), pinch hitters and defensive substitutions, individual relievers (the bullpen is pooled, pitching to the score), the times-through-the-order penalty, intentional walks and bunts. Results use a fixed random seed, so the same matchup always gets the same numbers.