The Royals lost in a thrilling finish to the baseball postseason. Down 3 to 2 with 2 outs in the bottom of the 9th, Alex Gordon hit a single which was misplayed in the outfield. He managed to get to take 2 extra bases and pulled up safely at 3rd base. It appeared he only had a small chance of making it home, beating a throw from the outfield. In fact, he would had to bet on an off-line throw to be safe. But being down by a run with 2 outs means you might need to roll the dice.

I happen to have made a baseball simulation over the past two weeks. Based on the Royals' lineup at the time and a game state of "001 2" (runner on 3rd with 2 outs), the Royals win 17.3% of the time. Let's call that WP[hold]. Zero runs obviously loses the game. One run ties it. And more than one wins it. Here's what the resulting distribution of runs scored in the remainder of the 9th inning would look like for this situation.

A successful score by Gordon on that play evens the score and creates a "000 2" base-out state. Given that condition, the Royals win 53.9% of the time. We'll call that WP[go]. We don't need a simulator to know that Gordon being thrown out at the plate gives the Royals a 0% chance of winning. Call that WP[out]. (These numbers all account for the possibility of an additional Royals run in the 9th that would win the game.)

To justify sending Gordon, the net win probability for sending him needs to be at least as high as for holding him. So minimum chance of success for trying to get home would need to be:

(WP[hold] - WP[out]) / (WP[go] - WP[out])

which simply becomes:
WP[hold] / WP[go]

0.173 / 0.539 = 0.299

So the Royals would have wanted to send Gordon only if they believed he would have better than around a 30% chance of scoring.

Right now the sim is limited to a half inning, but it can scale up to a full game pretty easily. It's best feature is that it's built to be tailored to particular batters and lineups. It grabs each batter's stats over the last three seasons, and regresses them similar to how Tom Tango's Marcels projections work. The most recent season is weighted by 50%, the second most-recent season is weighted 33%, and the third-most recent season is weighted 17%.

The sim works in a two-stage process. First, the result of each at bat is drawn for the batter. Second, the change in base-out state is drawn based on the existing base-out state and the outcome of the at bat. There are only 24 possible base-out states in baseball, so the simulation is based on several 24-by-24 matrices of transition probabilities. Those transition probabilities are purely empirical and are based on over 600,000 MLB at bat events over the last three seasons. The sim currently does not account for steals, but it does account for bunts.

The big missing ingredient right now is tailoring the at bat outcome probabilities to the pitcher. This is obviously a big consideration, especially with someone as effective as Bumgarner. This can be easily added by merging pitcher outcome probabilities into the first stage--the at bat outcomes.

But at least we know the direction of effect a pitcher like Bumgarner has. Certainly, it points toward sending Gordon more often than you would with a league-average pitcher on the mound.