Analyzing The 2008 Milwaukee Brewers Lineups

Right Field BleachersCorrespondent IDecember 18, 2008

Also in handy dandy PDF form!

Even before Ned Yost’s oust as Brewers skipper in the middle of a pressure-packed pennant race last September, many people in the Brewers community criticized him for a number of things. One main point of concern for Brewer fans was the lineup. For much of Yost’s tenure in Milwaukee, different lineups were coming in and out of Miller Park even more often than injuries to Ben Sheets (Table 1).

YearLineups Used#Games For Most Common
20038214
2004809
20056824
20067518
20078210
20085445

Table 1: Lineups used by Ned Yost’s Milwaukee Brewers by season.

Much of this is overblown, though, as many teams use a similar amount (or higher) of lineups over the course of a season. Platoons, injuries, hot streaks, and simply resting players contribute to such high lineup totals. In fact, 2008, in which Yost was fired, was Yost’s “best” year for lineup consistency.

The main problem that many people have is the claim that Yost’s lineups tend not to be optimal. Yost insists on “not moving people in a lineup,” which will result in, for example, Kapler batting 3rd or Gwynn batting 2nd. Still, this tends to be a relatively minor issue, seeing as having that lineup for one or two or maybe even 5 games over the course of a season will only have a 1 or 2 run impact. No, the real problem was the fact that many people thought that Yost’s everyday lineup just isn’t the best one that the Brewers could put out there. That was what Dale Sveum thought, and as such the lineup that he used for the last two weeks of the season was vastly different.

Using some data from The Book, I performed some analysis on these two lineups. In The Book Tango, Lichtman, and Dolphin find the linear weights above average for each slot in the batting order (Table 2). For more on Linear Weights, check out this link: http://www.tangotiger.net/wiki/index.php?title=Linear_Weights

Batting Slot1B2B3BHRNIBBHBPKOUT
10.5150.8061.1211.4210.3850.411-0.329-0.328
20.5150.7991.1001.4500.3660.396-0.322-0.324
30.4930.7791.0641.4530.3350.369-0.317-0.315
40.5170.8221.1171.4720.3450.377-0.332-0.327
50.5130.8091.1061.4380.3480.381-0.324-0.323
60.4820.7631.0501.3760.3360.368-0.306-0.306
70.4640.7381.0141.3360.3230.353-0.296-0.296
80.4510.7140.9801.2930.3120.340-0.287-0.286
90.4360.6890.9481.2490.3020.329-0.278-0.277

Table 2: Linear weights above average by batting order and event, 1999-2002 seasons.

Source: The Book, Table 52.

With this data, we can figure out the number of runs that each player was worth in each lineup spot over the course of the season. First, let’s examine Ned Yost’s lineup (Table 3). To simplify things a little bit, this table assumes that the pitcher receives 65% of the at-bats in the 9 slot, while a league average pinch hitter receives the other 35%.

Name1B2B3BHRNIBBHBPKOUTlRUNSPAlRUNS/PAlPA/GlRUNS/GlRuns/162
Weeks68227146614115249-7.855600.10604.800.508782.41
Hardy10231424491983102.836290.12454.680.582794.39
Braun913973738612930813.486630.14034.560.6399103.67
Fielder9630234651213429213.556940.13954.460.6223100.81
Hart9345620255109339-14.76570.09764.340.423768.64
Cameron5625225536142194-0.235080.11954.230.505781.92
Hall5322115353124189-18.44480.07894.100.323652.42
Kendall933022431345344-25.555870.07653.980.304349.3
Pitcher2711118086149-41.22308-0.01382.51-0.0347-5.62
PH--------0-0.12001.350.162126.26
             Total Runs/162654.21

Table 3: Analysis of Ned Yost’s 2008 lineup.

Clearly, we have a problem. According to our numbers, this lineup would only score 654 runs over the course of a season. The 2008 Brewers actually scored 750 runs. So what’s the problem?

Looking back at Table 2, we see that this data is for the 1999-2002 seasons. The average runs/game over these seasons were, respectively, 5.00, 5.00, 4.70, and 4.45, for an average of 4.79 runs/game over this period. 2008, on the other hand, had an average of 4.54 runs/game (Source: Baseball-Reference.com). So if we thrust a team with the same statistics as the 2008 Brewers into the 1999-2002 era (the steroid era), we would see a well below average scoring team. However, we know that the Brewers scored an above average amount of runs in 2008. Let’s take a look at wRAA, which is Runs Above Average based on wOBA for this lineup (Table 4).

NamePAwRAAlPAlPAwRAA
Weeks5602.7777.63.75
Hardy62913.7758.1616.51
Braun66327735.4829.95
Fielder69424722.5224.99
Hart657-0.7703.08-0.75
Cameron50810.3685.2613.89
Hall448-11.8664.2-17.49
Kendall587-17644.76-18.67
Pitcher308-26.59406.46-35.08
PH2180218.860
TOTAL
21.62 17.09

Table 4: wRAA, both for the 2008 season and scaled for the plate appearances for this analysis.

So, from Table 4, we see the Ned Yost’s lineup would score 17.09 runs more than the average NL lineup. From Baseball-Reference.com, we have that NL clubs scored 4.54 runs/game. Over 162 games, this comes out to a total of 735.48 runs. So that means that this lineup, over 162 games, would be expected to score 752.57 runs. This is more like it. Now we have to alter Table 2 so that it is appropriate for the run environment we are analyzing.

I struggled with this part of the analysis for a long time, but thanks to the community over at www.beyondtheboxscore.com and Tom Tango, I was able to continue. Per Tango, in order to adjust for run environment, the only values that need to be adjusted are the out values. The adjustment necessary is NewValue = OrignalValue + (Runs/Outs).

In our case, we are 752.57 - 654.21 = 98.36 runs away from our expected run value. Also, looking at Table 2, we can find that there are 4208.6 outs made by this lineup over 162 games. So we need to adjust the K value and the Out value in Table 2 by adding 98.36/4208.6 = .0234. Here’s our new table (Table 5). This is a bit of a crude adjustment (optimally, we’d find new linear weight values for each slot and event, but this does the job for our purposes).

Batting Order1B2B3BHRNIBBHBPKOUT
10.5150.8061.1211.4210.3850.411-0.299-0.305
20.5150.7991.1001.4500.3660.396-0.292-0.301
30.4930.7791.0641.4530.3350.369-0.287-0.292
40.5170.8221.1171.4720.3450.377-0.302-0.304
50.5130.8091.1061.4380.3480.381-0.294-0.300
60.4820.7631.0501.3760.3360.368-0.276-0.283
70.4640.7381.0141.3360.3230.353-0.266-0.273
80.4510.7140.9801.2930.3120.340-0.257-0.263
90.4360.6890.9481.2490.3020.329-0.248-0.254

Table 5: Linear weights above average adjusted for run environment.
And now, with this new table, we can form a correct analysis of Yost’s lineup (Table 6).

Name1B2B3BHRNIBBHBPKOUTlRUNSPAlRUNS/PAlRUNS/GlRuns/162
Weeks682271466141152490.495600.12090.580294
Hardy102314244919831012.166290.13930.6521105.64
Braun913973738612930823.496630.15540.7088114.82
Fielder9630234651213429223.326940.15360.6850110.98
Hart9345620255109339-4.456570.11320.491479.61
Cameron56252255361421947.495080.13480.570092.34
Hall5322115353124189-11.214480.09500.389463.08
Kendall933022431345344-16.695870.09160.364459.04
Pitcher2711118086149-35.823080.00370.00931.5
PH        020.12000.162126.26
            Total/162 G747.27

Table 6: Analysis of Ned Yost’s lineup using our adjusted linear weights.

Here, we’re within 1% of our expected value for runs/162. The adjustment appears to be working. Now, let’s take a look at Sveum’s most common lineup (Table 7). Later, we will take a look at Ray Durham’s impact on the lineup, so for now we will look at only the players who were around for the majority of Yost’s time.

Name1B2B3BHRNIBBHBPKOUTlRUNSPAlRuns/PAlRuns/GlRuns/162
Cameron562522553614219475080.13380.6422104.03
Hall5322115353124189-12.254480.09270.433670.25
Braun913973738612930823.496630.15540.7088114.82
Fielder9630234651213429223.326940.15360.6850110.98
Hardy102314244919831011.226290.13780.598296.91
Hart9345620255109339-3.626570.11450.484378.45
Weeks682271466141152490.455600.12080.495380.24
Kendall933022431345344-16.695870.09160.364459.04
Pitcher2711118086149-35.823080.00370.00931.5
PH--------0-0.12000.162126.26
            Total/162 G742.486

Table 7: Analysis of Dale Sveum’s lineup (without Ray Durham) using our adjusted linear weights.
Well, maybe Sveum didn’t know what was best for the Brewers. His lineup, over 162 games, is projected to score 5 runs fewer, or win ½ fewer games. Let’s take a look at the slot by slot by slot difference for these two lineups (Table 8)

SlotYost Runs/162Sveum Runs/162Difference
194104.03-10.04
2105.6470.2535.39
3114.82114.820
4110.98110.980
579.6196.91-17.31
692.3478.4513.89
763.0880.24-17.15
859.0459.040
927.7627.760
  Yost -Sveum TOTAL4.78

Table 8: Difference in Runs/162 games for Yost and Sveum’s lineups by lineup slot.

Sveum made no changes to the 3, 4, 8 or 9 spots in the order. Therefore, we see no difference between the two lineups in those slots. However, there are differences between the 1, 2, 5, 6, and 7 slots. One number should really jump out at you. Sveum’s lineup has a projected 35 runs less production out of the #2 spot in the order. This spot was planned to be a platoon between Hall and Durham, but a late injury to Durham negated this possibility. The conclusion that we can draw from this finding is that outside of the decision to bat Hall in the 2nd slot of the order, Sveum’s lineup actually was a bit better than Yost’s. However, this decision was so egregious that, over the course of the season, it would end up costing the Brewers ½ a win.

This, of course, begs the question of what the optimal lineup is. I will present more data on this in a later post.