New Retrosheet Modifiers

Saw a note about new Retrosheet modifiers on the Chadwick mailing list.

New modifiers as of December, 2012
/FINT – fan interference
/BINT – batter interference
/RINT – runner interference
/UINT – umpire interference
/OBS  – obstruction
/NDP  – no double play
/AP   – appeal play
/REV  – play reviewed
/PASS - runner passed another runner
/BOOT - batting out of turn

Unfortunately, these are not documented on the Retrosheet site, and it makes me wonder what else is missing.

Passed Balls & Other Advances

When a runner tries to advance after the ball gets away from the catcher, and it’s not ruled a Wild Pitch, two things can happen. If the runner advances safely, the catcher is charged with a Passed Ball. If the runner is thrown out it’s simply an out. You might think the second case is Caught Stealing, but it’s not. From Rule 10.07:

In those instances where a pitched ball eludes the catcher and the runner is put out trying to advance, the official scorer shall not charge any “caught stealing.”

Project Scoresheet codes this as “OA,” Other Advance.

OA is coded for a base runner advance that is not covered by one of the other codes. A comment may be given explaining the advance.

com,"Thompson out trying to advance after ball eluded catcher"

Commish & I saw this happen a couple of times at a B-Mets game this week. Commish was interested to know how many times these events occur. So was I.

Using Retrosheet Event File data from last five regular seasons (MLB 2007-2011), I count 1,522 Passed Balls and 337 Other Advances that involved the catcher. (I didn’t count 19 Other Advances that didn’t seem to involve the catcher.) So, there’s one Other Advance for every 4.5 Passed Balls. A Passed Ball occurs once every eight games on average, while an Other Advance occurs once every 36 games. For comparison, a Wild Pitch occurs once every 1.54 games.

Earned Runs

I’ve been reading up on earned run rules and came across a strange situation.

Can a substitute pitcher face one batter who hits a home run, and have no errors committed, without that pitcher being charged with an earned run? Surprisingly to me, the answer is ‘yes.’ Here’s the sequence of an entire inning:

  1. Pitcher 1 starts the inning.
  2. Batter A singles.
  3. Pitcher 2 replaces Pitcher 1.
  4. Batter B singles, and A is forced at second.
  5. Pitcher 3 replaces Pitcher 2.
  6. Batter C homers, scoring B & C.
  7. Pitcher 4 replaces Pitcher 3.
  8. Batter D strikes out.
  9. Batter E strikes out.
  10. Batter F strikes out.

One earned run is charged to Pitcher 1, one earned run is charged to Pitcher 2, and no earned runs are charged to Pitcher 3!

Pitcher 1 is responsible for one runner when he leaves the game. Because A is out as the result of a batted ball (as opposed to being caught stealing or picked off), it does not reduce the number of runners for which Pitcher 1 has responsibility. Pitcher 2 allowed a single, so he’s responsible for one. When the home run scores two, those runs go to Pitchers 1 & 2, one apiece.

This might not be the only way it could happen, but I can’t think of any others off the top of my head.

The funky part of the sequence is #4, where there’s a single and a force out on the same play. How can this happen? The batter sends a line drive to shallow center. The runner on first believes it will be caught, so he stays close to first. The center fielder plays it on one hop and fires to second to get the force out. It’s rare, but it happens.

Now, if Batter B had grounded into a normal force play, Pitcher 2 would not be responsible for any runners, and when Batter C homered, the two earned runs would have been charged to Pitchers 1 & 3.

* * * * * *

If you allow an error, then it’s easy for a pitcher to give up a homer to the only batter faced and not be charged with an earned run. You just need a muffed foul ball error with two outs before the home run.

Incidentally, it doesn’t matter how many times the third out should have occurred but for errors before Pitcher 3 entered the game. Rule 10.16(i):

When pitchers are changed during an inning, the relief pitcher shall not have the benefit of previous chances for outs not accepted in determining earned runs.

Runs that score under such conditions will be earned for the substitute pitcher but not for the team.

Chadwick organization

Tried a 1982 TBP game using Chadwick only. Procedure: copy *.ROS files from nl & al Retrosheet folders; copy one TEAM1982 file (both contain both leagues); zip those; open with Chadwick. Looks like event files are created automatically. No need to use a *.chw file.

To edit a .EV* file, open from Compressed Folder, edit, save outside Compressed Folder, copy to Compressed Folder.

Tough without a scoresheet: keeping track of stamina, keeping track of unearned run(ners), W/L/S pitchers. In the last case, editing may be necessary in complex situations.

Continue reading Chadwick organization

Chadwick on Windoze

Downloaded Chadwick 0.4.0 for Windoze & also the 0.5.0 utilities. Everything runs nice.

Now, how to organize teams from different years. Everything’s based off the season year. I picked 2008. You need a TEAM2008 file. For Group A this looks like:

BAL71,A,Baltimore,1971 Orioles
NYN73,N,New York,1973 Mets
OAK72,A,Oakland,1972 Athletics
ATL69,N,Atlanta,1969 Braves
CIN64,N,Cincinnati,1964 Reds
MIN69,A,Minnesota,1969 Twins

I added the last two digits of the actual year to the team ID and put the full year in the nickname field. I copied in the Retrosheet roster files, but renamed them to have the team IDs and 2008:


Zipped up the team & roster files into and opened that (open, not import) from Chadwick. Works!

scoresheet 27

For a while I toyed with the idea of using Metapost to create a custom scoresheet, after seeing this guy’s page. Metapost was hard to find documentation for, and seemed tough to figure out.

Then I really took to the Situational Scorekeeping card. But it’s not very compact, and requires two pages. I like the linear representation in the Chadwick narratives.

Top of the 2nd
Alex Rios             0- 0 (---0): S
Aaron Hill            0- 0 (--x0): K
Eliezer Alfonzo       0- 0 (--x1): WP.1-2
Eliezer Alfonzo       0- 0 (-x-1): 8
Reed Johnson          0- 0 (-x-2): D8.2-H
John McDonald         1- 0 (-x-2): 8

The linear representation of the baserunners would make the scoring box shorter, and would allow everything to be done with rectangles.

The result so far is scoresheet 27 (PDF file). I used NeoOffice to create it. The key is to export the file as DPF. Otherwise, the lines are printed much too thick.

The little box in the top right is for out number or run scored.

Instead of the Project Scoresheet columns for play numbers of subs, I’ll try a separate set of fields to list them in order.

I’d like to try a version that’s all cyan, but it’s a tedious process to change all the borders.

mystery bunt

At the Cardinals-Pirates game last Saturday, Nyjer Morgan led off in the top of the eighth. He bunted right in front of the plate, hesitated a moment, and was called out. I figured he must have run into the ball in fair territory. That doesn’t make sense, as he’s a left-handed batter.

Baseball Reference scored it: “Bunt Groundout: C unassisted.” So, maybe he thought it was going foul, and while he was thinking, the catcher picked the ball off the plate & tagged him. That would be simply 2/BG. (That’s how Retrosheet has it.)

Then I checked Gameday on “Nyjer Morgan bunt grounds out to cathcer Gary Bennett. Nyjer Morgan out on batter interference.” OK, that would be 2/BG/INT. (There were 11 plays scored like this in 2006.) Rule 6.06 says:

A batter is out for illegal action when —
(a) He hits a ball with one or both feet on the ground entirely outside the batter’s box.
(b) He steps from one batter’s box to the other while the pitcher is in position ready to pitch;
(c) He interferes with the catcher’s fielding or throwing by stepping out of the batter’s box or making any other movement that hinders the catcher’s play at home base.
(d) He uses or attempts to use a bat that, in the umpire’s judgment, has been altered or tampered with…

I guess all these would be considered “interference,” but what happened in this instance? I’m guessing (a): he was starting for first and had his right foot completely outside the box when he made contact.

Now to the hypothetical case: right-handed batter bunts and accidentally kicks the ball in fair territory as he heads for first. How would you score it? I’m pretty sure the catcher gets the putout. Project Scoresheet defines /BR for “runner hit by batted ball.” Maybe 2/BR/BG? Well, I can’t find any play like this in the Retrosheet event files. All of the /BR plays are of the type “S/BR/G6.2X2(6).”

I just listened to the replay on the archive. Rooney & Shannon called it as the batter running into the ball in fair territory. The Pittsburgh announcers called it the same way, but questioned the call after watching the replay. So maybe my first answer was right! I guess it is possible for a left-handed batter to run into a batted ball. Must have had a “wide stance.” 😉 I still lean towards 2/BR/BG as the way to score it.

Chadwick redux

Had another bash at Chadwick, now that the Retrosheet event files are back on-line.

Rebuilt the 0.4.0 version & it works again. Edited /usr/local/bin/chadwick to run pythonw instead of python.

Chadwick loads & displays the 1973 NL & AL event files just fine, even though I zipped them up myself.

Wiped the *.EV[NA] files and entered a TPB game. (Remembered to save this time!) It loads back up, even if I unzip & re-zip.

Tried entering a TPB game directly. Finished in under 45 minutes. Hardest thing is tracking the number of batters faced. Good game. Pirates threatened in the bottom of the ninth, but Hrabosky struck out Stargell to end the game. Stargell also committed a crucial error in the seventh that let the two deciding runs score. Not a good night for Pops.

Had to go in and edit a couple of unearned runs, and things zipped back up just fine.

box score & narrative

Also tried cwbox, the box-score generator that’s available only in the development version. Turns out it produces a smaller box score similar to those found in the newspaper.

Chadwick update

Thought I’d take a look at the latest development version of Chadwick.

Chadwick in is an SVN repository, so downloaded an SVN 1.44 installer.

Had to build configure from the *.in files.

% svn co
% chadwick_20070921
% aclocal
% automake
% autoconf
% sh ./configure
% make
% sudo make install
% pythonw src/chadwick

That builds OK, but the python stuff doesn’t build–there’s no libchadwick_python.c file. Rats.

Now I can’t get the working version re-installed. Feh.

BTW, that 1973.chw file is poisoned somehow. Can’t figure out what it is.

Situational Scorekeeping

I really like this Situational Scorekeeping method devised by Alex Reisner. It combines the best of the traditional & Project Scoresheet methods. The PDFs provided are very professionally formatted, and there’s great documentation.


  • Plenty of room to write.
  • Shows the men on base when the batter’s hitting.
  • Easy to keep track of batters faced.
  • Easy to see whether batter scored, made out, or was left on.


  • Have to switch between sides of the page.
  • Separation of innings is not as clear.

Lots of other great stuff on Reisner’s site.

Chadwick installation & tweaks

Finally downloaded Chadwick, an open-source scorebook of a sort. Had little hope that it would build, but got it running, including the GUI. (The only hitch was an error message that meant I had to upgrade the Developer Tools from gcc3 to gcc4.) 

The first problems involved colors. Had to change the valid entry background from  SYS_COLOUR_WINDOW (black) to something else. Also had to change the dark green background from (0, 150, 0) to white. 

The next problem is the line-up windows, which have scrollbars that cover up the info and don’t scroll. Tried to change the type from ScrolledWindow to Window. The size was perfect, but the windows didn’t refresh properly. 


The event entry works well, and I haven’t seen any problems as long as I stick to the correct syntax. (The best documentation of that is on Retrosheet.) The highlighting that shows valid/invalid input is invaluable. Unlimited undos, which is also great.  

The box scores & narratives are very cool.