Weird Things about ERA

One of my planned projects during my new found unemployment involves sabermetrics. As a first step, I’m writing scripts to parse Retrosheet files and calculate advanced pitching metrics like FIP and WAR. Along with these advanced metrics, I’m also calculating more traditional stats like ERA.

When some of the resulting ERAs in my database did not match those found on the back of a player’s baseball card, I did a bit of debugging and found out that some weird shit happens with plays involving a fielder’s choice. For example take this game between the White Sox and Angels on May 6, 2007. The top of the 8th inning starts with Bartolo Colon on the mound for the Angels. Here’s the play-by-play for that half inning:

- C. Kotchman at first
- J. Crede doubled to deep center
- A. Cintron singled to right, J. Crede to third
- S. Shields relieved B. Colon
- R. Sweeney grounded into fielder’s choice, J. Crede scored, A. Cintron out at second
- A.J. Pierzynski hit for G. Molina
- A.J. Pierzynski homered to deep right, R. Sweeney scored
- D. Erstad popped out to shallow left
- P. Ozuna flied out to right

Colon put Crede and Cintron on base (that’s a lot of players whose last names begin with the letter ‘C’). Shields then relieved Colon and finished the inning. Crede, Cintron, and Pierzynski all scored in the inning. I was under the assumption that Colon would’ve been responsible for Crede and Cintron, and Shields would’ve been responsible for Pierzynski. Turns out that all runs are charged to Colon. Well, according to rule 10.16(g):

When pitchers are changed during an inning, the official scorer shall not charge the relief pitcher with any run (earned or unearned) scored by a runner who was on base at the time such relief pitcher entered the game, nor for runs scored by any runner who reaches base on a fielder’s choice that puts out a runner left on base by any preceding pitcher.

The official rules go on to give examples using fictitious players with names like Peter, Roger, Abel, Baker, and Charlie.

Anyway, I had to transfer base runner responsibilities between pitchers during such situations to compensate. I’ll provide details of the solution after cleaning up the code a bit. A lot of help was provided by looking through Chadwick, an open source suite of tools for parsing Retrosheet files.

This entry was posted in Baseball and tagged , , , , , . Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>