Monday, August 13, 2007

Plunk... take your base

"The Duke led the American League this year in saves, ERA, and hit batsmen. This guy once threw at his own kid at a father-son game." --Harry Doyle (a.k.a. Bob Uecker)


"Our best hitter gets hit in the face, and who knows how long he's going to be out? You've got to do something to protect your hitters," --Jim Palmer.


The beanball has been a part of baseball for as long as the game has been played. Many accusations have been throw out over the years about certain pitchers throwing at opposing batters. The most common of these are after one of your team's batter has been hit by a pitch. Retaliation, or protection according to Palmer, can happen later that game or the follow day or some other game in the future. Because it can be hard to tell if a ball slipped out of a pitcher's hand or not it can be difficult to say just how often retaliation happens.

While I wait on the new and improve intentional walk data to finish I thought I would do a quick study on retaliation. Armed with game logs from Retrosheet I wrote some quick code to look for games where both teams hit a batter. Now, we won't be able to tell which of these games had a pitcher intentionally beaning a batter but we will be able to determine how many games that took place. For all the gory math details read on.

We will define a revenge plunking as any time a pitcher hits an opposing batter after one of his batters has already been hit by a pitch that same game. A simplified version of this is looking for games where both teams had a player getting hit by a pitch as one of them had to be a revenge plunking. The problem will be trying to separate the actually intentional beanings from an accidental hit by pitch.

First, we need to determine just how often a batter get hit by a pitch, intentional or otherwise. I am starting with data from 1970 to 2006 because before 1970 retrosheet is missing a lot of games and we don't want to bias our sample. Because this might change over time we will just count up the total number of HBPs and divide by the total plate appearances that year. That will give us the HBP rate for that year. Here are the results below in a tidy graphical format:

So we can see from the graph that the number of batters being hit by pitches steadily decreased from 1970 to 1984 . There was a small increase until 1989 then beanballs skyrocketed up to the level we see today, which is about 1.1%. With this we can now calculate what the percent chance a game goes by without a batter from one team getting hit. That would be the probability one batter doesn't get hit raised to the power of the number of batters that game for one team.

For example, if we take our HBP rate to be 1% and there were 40 batters for a team in a game then the chances nobody got hit was 0.99^40 or 66.9%. The chances that at least one player on that team got hit then is one minus that number or 33.1%. If the opposing team also had 40 batters come to the plate they too had a 33.1% chance that one of their batter got hit. If we multiply these two we get the chances that both teams had a player hit for that game. That works out to about 11%! Just random chance then says that around one game in ten should have a beanball that could represent retaliation. This is part of the reason there are so many claims that a pitcher is throwing at us.

The other part is some pitchers ARE indeed throwing at the batters during a certain game. It isn't paranoia if they really are out to get you. So how often does that happen? Well we can carry through our example using the correct HBP rate for each year and calculate how many games we would expect both teams to have a batter hit in for that year. This is the background. We then can go through the retrosheet game logs and find how often at least one batter from both teams got hit. The difference between these two numbers represents pitchers actually intending on beaning batters during a game. Here is the plot for since 1970.

Because there are more teams in the league and because the rate of batters being hit is up, the number of games with a revenge plunking has gone up through the years. As you can see, the actual number of games with a revenge plunking generally is a little higher than the predicted background. This isn't the case in all years though. That doesn't mean that there were no intentional beanings that year it just means that there were fewer revenge plunkings than expected. When you are dealing with a large data set and only a small increase over background it is normal to have some negative years. Here then is a graph where I subtracted the expected background from the data. This plot will represent the actual number of games where an intentional beaning in retaliation took place.

So for most years there are a few, but not many, games where pitchers are intentionally throwing at a batter. Again, this method can't tell which games those are, or which pitchers are responsible, only the number of games above background. The average number of these games is just about four per year. So even though the HBP rate is up and the number of total games is higher than in the old days, the number of games where a pitcher threw at a batter in retaliation has remained the same. So it does appear that the beanball is becoming somewhat of a lost art.

Lastly, I'm going to add the retrosheet statement. If you haven't visited them in a while go take a look. They have one of the best baseball site on the web.

The information used here was obtained free of charge from and is copyrighted by Retrosheet. Interested parties may contact Retrosheet at "www.retrosheet.org".

4 Comments:

At August 14, 2007 3:25 PM , Blogger TheJay said...

It might be interesting to look at series rather than one game. Since umpires seem to be quicker to run a pitcher, teams now may just wait until a later game in the series to throw at someone in retaliation.

 
At August 14, 2007 6:50 PM , Blogger Josh Kalk said...

Yeah you are right that retaliation in later games in the series is very possible. The problem is it is a lot harder for me to program in as well. I can do this quick and easy but what do I do if that is the last game of the series? What if there is a double header that day? These are much harder to deal with on the coding side.

BTW, thanks for testing out the comments TheJay. I am glad to see this section of the blog works!

 
At August 15, 2007 12:53 AM , Blogger TheJay said...

Yeah, I don't know much about coding. The only way I thought it was possible was doing an if-then type deal, i.e., "if next game opponent = this game opponent, then look for HBP's", etc. But you obviously would know more about it than I.

 
At August 15, 2007 10:37 AM , Blogger Josh Kalk said...

yeah the retrosheet data doesn't have a nice order to it so the next day's game could be 17 lines away. I would have to store dates of batters getting hit and when a new game shows up look on the list to see if it matched a previous day. Not impossible but harder. It will be on my general list of random things to do and then write about so I will get around to it sometime.

 

Post a Comment

<< Home