We usually toss around platitudes like “It doesn’t matter that much” when discussing lineup construction. On an almost daily basis during baseball season, many of us (myself firmly included) find nits to pick with the order in which nine names are written on a piece of paper.
Is our nit-picking justified? How many runs (and wins, perhaps) is Price giving up? I’ll venture to show that “not many” is the correct answer, and that the platitude is correct.
To be fair, most of this sort of work has been done in The Book, but I like to take principles like those and apply them in a more specific manner.
Here is the lineup of Bryan Price from yesterday’s season opener:
The figures in the chart represent each player’s career slash line against RHP. For the “Pitcher,” I used the league average from 2016 against RHP for each pitcher. Boy, isn’t it fun to watch players with a collective .338 OPS bat? (That’s a topic for a different article altogether! 😉 )
Honestly, there’s nothing hugely wrong with it once you get over the fact that you’re giving the most plate appearances to a couple of light-hitting speedsters rather than the superlative Joey Votto (domination by Jeremy Hellickson notwithstanding).
Using a method I have devised (I’m sure someone else has done this, but I haven’t seen it!), we’ll look at the expected run output of this lineup, versus what we’ll call an “optimized” lineup to see how our expectations and complaining natures line up.
Before we do that, I need to introduce the idea of runs created. Many of you are familiar with wRC+, which is “runs created” normalized and put on a scale where 100 is league average, while also adjusting for the park you play in. Every point above or below 100 is 1% better or worse than league average. If you removed the scaling and the park factor, you back yourself into simply weighted runs created, or wRC. More on that topic here.
So, here’s Price’s lineup alone with each player’s career wRC againt right-handed pitchers, plate appearances, and how many runs they create per 100 PA (to make the number prettier). The final two columns show the relative difference in plate appearances each lineup spot will receive in a season, with the lead-off hitter scaled to 600 PA.
As we can easily see, the higher a player hits in the lineup, the more PA he will receive in a season. Pretty easy stuff.
I’ve bolded the wRC per 100PA column for an important reason. This is a proxy for overall productivity. It shows how many runs a player creates, in simplest terms. Wouldn’t it make sense to give players more PA if they create more runs per PA? Wouldn’t this lead to a maximization of runs scored? Well, in theory, yes. It would. In the real world the answer is a bit more muddy. wRC has all situational considerations stripped out. For example, a solo home run counts the same as a 3-run home run in wRC world. The reason for this is that the player who hits the home run does not control whether or not the person in front of him gets on base, so why should he be rewarded or penalized? Using wRC as the framework for our analysis, we don’t need to worry about things like “Well, if we bat Votto 1st, he will always have the bases empty in the 1st inning, thus not being able to drive any runs in.” This is true, but also not the point of this exercise. The point is to see how many runs Price might be leaving on the table versus a mathematically-optimized, context-neutral lineup.
So, let’s look at that now!
First think you’ll notice is that I made the lineup in descending order of wRC per 100 PA. I’ve also shown the difference between the new lineup spot and Price’s lineup spot, as well as how many extra PA that will get a player. Finally, we see how many extra (or fewer) runs a player would be expected to produce given their change in playing time. We add them all up and get….
At least by this measure, Price’s lineup is theoretically leaving only six runs on the table over the entire season when compared to an optimized lineup.
Perhaps it’s time for me to stop complaining about lineups… pfft… like I would ever do that…