Instant Runoff Voting for HOF

Tom Tango proposed a form of instant runoff voting for the Hall of Fame: he suggested that voters be forced to rank 10 players on their ballot, but add a line at the point where they thought players deserved induction. So if I think only 3 players get my vote (under the old system), I’d list those three, draw my line, and then list my next 7 choices.
The total needed for election would remain 75% of all ballots. You then go through each ballot and give a player a vote if they’re above that voter’s line. That’s the first pass. Now comes the runoff part. Any ballot where there are still players above the line not yet inducted takes part: you give one vote to the top ranked player below that voter’s line, then remove that player. Now you repeat this process until you’ve done all runoff votes. Effectively each voter stays in the pool until all their above the line choices get in, allocating their remaining “runoff” slots to their ranked list. But the total needed for election remains 75% of the total ballots.
In order to see how this would perform, I decided to simulate the process with a program. I took data from leokitty’s spreadsheet of actual ballots, and for each ballot, I put their votes “above the line”. For ballots with less than 10 names, I randomly assigned players, selecting from a pool of unused players. I weighted that by the actual vote totals the player received, so players who got more overall votes were more likely to appear, or appear higher, on a simulated ballot. I set the threshold for election at 75% of the ballots in the file, and ran the program.
Here’s the results from one run using the 168 ballots for the 2013 election (126 needed for election):

Player Mod Votes Actual Votes
Craig Biggio 151 117 Elected
Mike Piazza 141 98 Elected
Jeff Bagwell 139 108 Elected
Tim Raines 137 106 Elected
Jack Morris 129 95 Elected
Roger Clemens 116 77
Barry Bonds 109 80
Curt Schilling 104 69
Alan Trammell 98 61
Lee Smith 94 55
Edgar Martinez 87 56
Larry Walker 57 28
Fred McGriff 49 28
Dale Murphy 48 26
Mark McGwire 47 23
Sammy Sosa 39 21
Don Mattingly 36 15
Rafael Palmeiro 30 19
Kenny Lofton 13 6
Bernie Williams 6 3
Julio Franco 4 1
David Wells 3 1
Sandy Alomar Jr 2 2
Shawn Green 2 1
Steve Finley 1 0
Jeff Cirillo 0 0
Royce Clayton 0 0
Jeff Conine 0 0
Roberto Hernandez 0 0
Ryan Klesko 0 0
Jose Mesa 0 0
Reggie Sanders 0 0
Aaron Sele 0 0
Mike Stanton 0 0
Todd Walker 0 0
Rondell White 0 0

So under this system in this simulation, rather than a shutout last year, we’d have seen 5 players elected: Craig Biggio, Mike Piazza, Jeff Bagwell, Tim Raines, and Jack Morris. Most of the time when I run the simulation I get these 5, but sometimes Morris or Raines don’t make the cut, and (more rarely) Bonds or Clemens sometimes do. That’s the impact of randomly assigning the ranked part of the ballot. Obviously this simulation doesn’t consider that many voters are avoiding Bonds and Clemens (and, to a lesser extent, Piazza, or even Bagwell and Biggio) due to PED concerns, but this does give some idea how a voting system like this would work.
Mod Votes is the modified total votes after running the runoff algorithm.
Taking 2012 data and running the same program, I got this:
114 total votes. 86 needed for election.

Player Mod Votes Actual Votes
Barry Larkin 112 102 Elected
Jeff Bagwell 104 68 Elected
Jack Morris 104 67 Elected
Tim Raines 97 65 Elected
Lee Smith 85 51
Edgar Martinez 81 38
Alan Trammell 71 41
Fred McGriff 70 29
Larry Walker 61 22
Mark McGwire 58 21
Don Mattingly 55 11
Rafael Palmeiro 49 15
Dale Murphy 44 14
Bernie Williams 27 3
Juan Gonzalez 12 2
Vinny Castilla 4 3
Bill Mueller 4 1

Here four players, Barry Larkin, Jeff Bagwell, Jack Morris, and Tim Raines made the cut, with Lee Smith falling one vote short. But if they’d been elected in 2012, Bagwell, Morris, and Raines would not have even been on the 2013 ballot.
My script is here. It’s a perl script that’s expecting a .csv file as input, with certain elements in the first column of top rows to indicate header data. If you want to tinker with it, feel free to e-mail me with questions or comments – geoff at rotovalue dot com.