Notice: Trying to get property 'display_name' of non-object in /var/www/html/wp-content/plugins/wordpress-seo/src/generators/schema/article.php on line 52
keyboard_arrow_uptop

All right, so we’ve been looking at how to put a value on the performance of position players—in terms of hitting and fielding. Now let’s move on to pitching.

Evaluating offense is, at least comparatively to everything else, pretty simple—both in principle and in practice. Evaluating fielding is trickier in practice, but I don’t feel it’s any trickier in principle—everyone agrees what a fielder’s job is and what we ought to be measuring.

With pitching—ah, it’s a little more complicated. And it’s a little more complicated in no small part because fielding is more complicated.

When I DIPS, You DIPS

The first major change in how we evaluate pitchers came when someone (probably multiple someones) figured out that a pitcher was not wholly (or even mainly) responsible for how many runs his team scored while he was playing. And there was some understanding that a defense affects a pitcher’s performance, although the methods of measuring defense (errors) and removing them (unearned runs) were rather crude—OK, very crude. And so for a while we had ERA.

Then along came Voros McCracken with probably the most revolutionary finding in sabermetrics:

There is little if any difference among major-league pitchers in their ability to prevent hits on balls hit in the field of play.

A lot of really smart people have devoted a lot of time to trying to poke holes in the assertion; it comes down to how you want to define “little difference.” (And “major-league pitchers,” I suppose.) But the question becomes—how to apply that finding to evaluating major-league pitchers?

What Voros (and others) turned to was a riff off an old Bill James idea, Component ERA, which looked at the ERA indicated by a pitcher’s components (walks, hits, home runs). Almost any ERA estimator based upon DIPS principles (Voros’ original dERA, Tom Tango’s FIP, etc.) is a component ERA estimator, which ignores a pitcher’s hit rate and instead assumes a hit rate based upon his strikeout rate and the league batting average on balls in play.

So on one hand, you have a recording of the runs allowed when a pitcher is on the mound—which indiscriminately credits the pitcher with the performance, good or bad, of his fielders and (in the case of bequeathed runners) his bullpen. On the other hand, you have your DIPS-based estimators, which focus only on the aspects of pitching that show up in raw totals of three true outcomes—the walk, strikeout, and home run. You’re getting an incomplete view either way you look.

Out of Sequence

The biggest thing component estimators throw out is sequencing. We know, for instance, that the following sequence:

Walk, single, fly out, strikeout, single, strikeout

Isn’t necessarily the same as:

Strikeout, single, walk, strikeout, single, fly out

Depending on the breaks, the latter sequence may not score any runs at all. The first one could score two runs, again depending on the breaks. The order of events matters.

Now the pitcher (and to a lesser extent, the catcher) is unique in that they’re involved in every play when they’re in the game. A hitter can’t affect the outcome of the batters before or behind him in the lineup (at least, not directly). Any one fielder may not get a chance to affect any two plays in a row, much less all of them. But the pitcher can affect his sequencing. This isn’t to say that there are (or aren’t) pitchers who can pitch especially well with men on over the course of a career. But when looking at what happened, it’s certainly a part of that.

Now, when we looked at estimating a hitter’s contribution in runs, we ignored the situation the hitter was in, because it allowed us to more easily separate his contributions from his teammates. But we don’t have to do it that way.

What we can do is construct a set of context-specific linear weights. Here, for instance, is the value of an unintentional walk in 2009, based upon the runners on base and the number of outs:

Outs

Runners

Runs

0

___

0.37

1

___

0.25

2

___

0.12

0

1__

0.60

1

1__

0.40

2

1__

0.22

0

_2_

0.37

1

_2_

0.25

2

_2_

0.12

0

12_

0.83

1

12_

0.65

2

12_

0.27

0

__3

0.37

1

__3

0.25

2

__3

0.12

0

1_3

0.60

1

1_3

0.40

2

1_3

0.22

0

_23

0.37

1

_23

0.25

2

_23

0.12

0

123

1.00

1

123

1.00

2

123

1.00

So you can notice the appreciable difference between walking a batter with first base open and walking a batter with a runner already on first. (And walking a runner with the bases loaded always results in a run.)

Now if we do this with every event, we will come pretty close to just duplicating a pitcher’s RA. (We also need to consider the out value of each event—for the three true outcomes, the only one we truly need to worry about is the strikeout, which is worth one out.) But what we want to do is measure the effects of a pitcher’s sequencing, without unduly crediting him for the performance of his fielders. (It should be noted that this already settles the issue of separating a pitcher from the performance of his relievers, as regards bequeathed runners, similar to our current “Fair RA” stat.)

So instead let’s turn to our three types of plays, as defined in our new fielding metric—infield ground ball, infield air ball and outfield plays made. Let’s call everything else a “hit” (even though that’s not exactly true—some are reach on error, etc.) We’ll figure the rate of each play, the number of runs per play, and the number of outs per play:

Outs

Bases

H%

IF_
AiB%

GB%

OF%

H_RUN

IF_AiB
_RUN

GB_
RUN

OF_
RUN

H_OUT

IF_AiB_
OUT

GB_
OUT

OF_
OUT

0

___

0.31

0.10

0.34

0.25

0.44

-0.06

-0.06

-0.06

0.01

1.00

1.00

1.00

1

___

0.30

0.10

0.35

0.24

0.30

-0.01

-0.01

-0.01

0.01

1.00

1.00

1.00

2

___

0.31

0.10

0.35

0.25

0.15

0.07

0.07

0.07

0.01

1.00

1.00

1.00

0

1__

0.31

0.09

0.38

0.22

0.76

-0.20

-0.22

-0.18

0.01

1.09

1.36

1.01

1

1__

0.33

0.09

0.34

0.25

0.57

-0.14

-0.13

-0.14

0.02

1.06

1.46

1.02

2

1__

0.31

0.11

0.33

0.26

0.38

-0.05

-0.05

-0.05

0.02

1.00

1.00

1.00

0

_2_

0.27

0.09

0.44

0.20

0.72

-0.24

-0.09

-0.17

0.02

1.02

0.99

1.02

1

_2_

0.31

0.11

0.35

0.24

0.75

-0.19

-0.15

-0.17

0.04

1.05

1.01

1.01

2

_2_

0.30

0.11

0.35

0.25

0.80

-0.15

-0.15

-0.15

0.06

1.00

1.00

1.00

0

12_

0.30

0.07

0.42

0.21

1.05

-0.43

-0.30

-0.30

0.03

1.14

1.32

1.02

1

12_

0.30

0.10

0.35

0.25

1.02

-0.34

-0.37

-0.31

0.03

1.12

1.47

1.03

2

12_

0.29

0.11

0.35

0.25

1.03

-0.27

-0.27

-0.27

0.07

1.00

1.00

1.00

0

__3

0.32

0.11

0.33

0.25

0.61

-0.22

-0.14

0.00

0.02

1.00

1.00

1.03

1

__3

0.34

0.10

0.32

0.24

0.65

-0.36

-0.13

0.17

0.01

1.04

0.99

1.05

2

__3

0.29

0.11

0.34

0.25

0.88

-0.20

-0.20

-0.20

0.00

1.00

1.00

1.00

0

1_3

0.32

0.10

0.33

0.26

0.92

-0.39

-0.20

-0.10

0.03

1.06

1.35

1.03

1

1_3

0.33

0.09

0.35

0.23

0.91

-0.53

-0.31

0.10

0.01

1.11

1.40

1.06

2

1_3

0.32

0.11

0.32

0.25

1.11

-0.33

-0.33

-0.33

0.03

1.00

1.00

1.00

0

_23

0.33

0.12

0.30

0.24

0.90

-0.43

-0.18

-0.08

0.02

1.02

1.00

1.02

1

_23

0.33

0.11

0.34

0.22

1.07

-0.54

-0.08

0.01

0.03

1.02

0.96

1.03

2

_23

0.28

0.12

0.35

0.24

1.49

-0.42

-0.42

-0.42

0.07

1.00

1.00

1.00

0

123

0.34

0.10

0.32

0.24

1.24

-0.59

-0.46

-0.23

0.02

1.05

1.48

1.05

1

123

0.32

0.11

0.32

0.26

1.35

-0.67

-0.66

-0.13

0.04

1.06

1.49

1.05

2

123

0.28

0.13

0.34

0.25

1.76

-0.55

-0.54

-0.55

0.06

1.00

1.00

1.00

These are not baselined to average (nor to plate appearances) but instead to runs per out. That way, we can use them the way we’re accustomed to using pitching stats (per inning or per game are just other ways of looking at the per out relationship.)

So if we want to figure the runs and outs generated by each BIP in a given situation, we can simply do something like:

H%*H_RUN + IF_AiB% * IF_AiB_RUN + GB% * IF_GB_RUN + OF% * OF_RUN

And the same for the outs.

But what we recognize is that there are times when a ground-ball out is more beneficial than an air-ball out. What we can’t do (at least, not without compromising the point of the entire exercise) is look at a pitcher’s actual ground outs and air outs.

But—as you may recall—we have estimates of a pitcher’s ground-ball and air-ball tendencies, constructed as part of our fielding metric. So what we can do is use those to tell us which pitchers may get a beneficial ground ball more often than others. We also have an idea of which pitchers are able to induce more pop-ups than others, and we can account for that as well here.

So once we combine our estimates of runs allowed and our estimates of outs generated, we can easily come up with a measure that looks like RA:

Est_Runs / (Est_Outs/3) * 9 = Fair RA

This can be scaled, for presentational purposes, to look more like ERA as well—generally speaking, multiplying a value on the RA scale by .92 will produce a value that looks like ERA.

And, just like with hitting, a lot of people like a rate stat baselined at 100. Now, thanks to the presentation of ERA+ at Baseball Reference, people have come to intuitively expect values greater than 100 to represent better performances and values lower than 100 to represent worse performances—which is of course totally the reverse of the RA/ERA scale.

The problem (at least with the specific method used for ERA+) is that the scale gets thrown off—the difference between an ERA+ of 150 and one of 125 is smaller than the difference between an ERA+ of 125 and 100. (For those interested in a longer discussion of these issues, Patriot has written an invaluable summary.) So we’ll use a different method, originally suggested by GuyM, to produce Fair RA+:

(2—(FairRA/lgFairRA)) * 100

This will produce something with the inverted values people have become accustomed to without the distortions introduced by ERA+.

What’s Next

Obviously, I now have to discuss park factors for offense and defense. I made my life a little easier in this regard—when I estimated the likelihood of one of our four play types occurring in each situation, I adjusted them based upon the tendencies of that park. If a park tends to increase the likelihood of a hit, for instance, I increased (yes, increased) my expectation that a hit occurs.

This seems counterintuitive—after all, this makes the resulting output more park dependent than it would be if I skipped this step entirely. The payoff, however, is that we can use park factors designed for RA without having to adjust for the park’s effects on batted balls. This lets us be more consistent in the park factors we use. More on that later.

 And notably this discussion only covers a pitcher’s rates of performance. It doesn’t discuss the quantity of his performance. I’ve been spending a lot of time recently working on how to properly value a workhorse starter (and on the flip side, how to properly value a short reliever). And that’s the direction we’re headed in next.  

Thank you for reading

This is a free article. If you enjoyed it, consider subscribing to Baseball Prospectus. Subscriptions support ongoing public baseball research and analysis in an increasingly proprietary environment.

Subscribe now
You need to be logged in to comment. Login or Subscribe
rawagman
8/18
Colin - it's very interesting stuff, but the presentation would be greatly helped if you gave a little ad-hoc key to your graphs for new abbreviations. Cheers.
nateetan
8/18
How do the out outcomes have a positive run expectancy change for the two outs and bases empty state?
ScottBehson
8/18
I always thought that accounting for sequencing of events, as opposed to evaluating outcomes in a vaccum was the unattainable holy grail of pitching evaluation. This article is a great 1st step towards potentially getting there.
nateetan
8/18
Random bit of noticing: You can clearly see the "hit a ground ball to right side" effect with a runner at second and nobody out. That state has the highest GB% as well as the lowest H% and lowest OF%.
nateetan
8/18
Er, make that the bunting effect. :)

Also visible in 12_ 0 out state.