This morning, the esteemed Tom Tango asked a question about this year's MVP voting. Specifically, he wants to know who had the worst ballot, as measured by eight criteria (all of which measure a ballot's agreement with the full set of ballots).
Although I don't care much about MVP voting (and I care even less about calling voters out for voting a certain way), I thought it'd be a nice quick exercise in using Pandas. I answered the question by writing code that is available here.
Three notes about the code:
- It is not particularly elegant. Hopefully it is clear enough to use. The data is so small that inelegant methods work fine.
- If you generate your tab-separated files by copy/pasting from the BWWAA's Google Sheets (links: AL / NL), you must delete tabs in two of the lines (Jeff Wilson's and Alex Pavlovic's).
- I have run a few ad hoc tests on the code, and I have double-checked some important things (e.g., that sub-processes give the right total voting scores), but I haven't written an exhaustive test suite or anything.
Using the code, we can generate lists of all voters who did not score a perfect 8/8 by Tango's criteria. Again, please note that I made these lists only to answer the question, not to shame anyone or to express any opinion about good and bad ways to cast MVP ballots. And, again, it's possible (but unlikely) that there are errors.
George A. King III 4 Chris Assenheimer 6 Gerry Fraley 7 John McGrath 7 Paul Hoynes 7 Wallace Matthews 7 La Velle E. Neal III 7
Paul Newberry 3 Patrick Saunders 3 Todd Rosiak 4 Craig Davis 4 Marc Carig 5 Jack Etkin 5 Dennis Lin 6 Robert Nightengale 6 Bruce Miles 6 Tim B. Kurkjian 6 Mark Saxon 6 Rick Hummel 7 Jim Salisbury 7 Tom Haudricourt 7 J.P. Hoornstra 7 John Fay 7 Gordon Wittenmyer 7 Mark Zuckerman 7
Addendum: Here is a first draft of a list of scores for the metric Tom proposes on comment #4 to the post:
Bob Elliott 51.5 Ken Rosenthal 50.5 Ryan Divish 49.5 Chris McCosky 49.0 Marc Topkin 49.0 Roger Mooney 49.0 Mike Berardino 48.5 Michael Silverman 48.0 Evan Drellich 46.5 Jesus Ortiz 46.5 Richard Griffin 46.5 Peter Abraham 46.0 Anthony Fenech 45.5 Joe Posnanski 45.5 Naoko Sato 45.5 John Hickey 45.0 Tim Brown 45.0 Wallace Matthews 44.5 Susan Slusser 44.5 Rich Dubroff 43.5 Jeff Wilson 43.0 Pedro Moura 41.0 Gerry Fraley 40.0 John McGrath 38.0 Scot Gregor 38.0 La Velle E. Neal III 37.5 Paul Hoynes 35.5 Sam Mellinger 35.0 Chris Assenheimer 32.5 George A. King III 29.0
Jayson Stark 51.0 Tom Haudricourt 49.5 Clark Spencer 49.5 Bill Brink 48.5 Jim Salisbury 48.0 Alex Pavlovic 47.5 Scott Miller 46.5 Derrick Goold 46.5 Mark Zuckerman 46.0 Bruce Miles 46.0 Rob Biertempfel 44.0 Jack Etkin 43.5 Joe Kay 43.5 Charles Odum 43.5 Henry Schulman 43.0 J.P. Hoornstra 43.0 John Fay 43.0 Marc Carig 43.0 Dennis Lin 42.0 Gordon Wittenmyer 41.5 Mike Puma 41.0 Tim B. Kurkjian 40.5 Todd Rosiak 40.5 Robert Nightengale 40.0 Rick Hummel 39.5 Nick Piecoro 39.5 Craig Davis 38.5 Paul Newberry 38.0 Mark Saxon 37.5 Patrick Saunders 34.5