One of my on-going interests in baseball stats, aside from HBPs – which is, and will always be the one true measure of baseball greatness – is trying to look at player’s batting stats in a way that doesn’t exclusively focus on season totals or season long averages. Like the old joke about the 6 foot tall statistician who drowned crossing the river with an average depth of 4.78 feet. (The funny part was that he went to 2 decimal places). So last year I came up with the measure of batting consistency called BACON, which attempts to get a handle on day to day batting consistency. You can read about that here. Or just look at this years numbers here. Or you can keep reading this.
Well, recently I’ve seen a couple of articles on streakiness, and the statistical view of it is that streakiness doesn’t exist. Like this article, except you need a subscription to read it. The general point of it is that hot streaks don’t really mean anything because the outcome of any give plate appearance is more correlated with the player’s long term results than his short term results (his current hot or cold streak). But, that doesn’t really show that hot streaks don’t exist, just that there’s no reason to assume that they’d continue. It goes back to the basic problem of whether you think stats are telling you what has already happened or if they’re telling you what’s going to happen. (My general rule was the only thing I trust to tell me what is going to happen is the TV Guide – before it crossed me).
So, the fact of the matter is that Dustin Pedroia and Mark Reynolds have had 4 different streaks of at least 15 consecutive plate appearances without a hit this year. That seems to imply a general tendency toward slumpiness this season. On the other hand, Troy Tulowitzki, Billy Butler, Michael Young and Marco Scutaro have over 250 plate appearances this year, but haven’t gone more than 10 straight without getting a hit. They’ve been good at staying out of slumps. And I want to measure that.
(Note: for purposes of the rest of this, I’m excluding intentional walks from plate appearances, just because an intentional pass shouldn’t count toward how many consecutive plate appearances you’ve gone without a hit, and I don’t want to keep saying “plate appearances excluding intentional walks” a million times, and it made my query run a lot faster to take those out.)
So here’s how we do it – take every plate appearance for each batter this season, in order. Assign each plate appearance a number equal to how many plate appearances they’ve gone without a hit at that point. Add up all those numbers, and divide by the number of plate appearances. Low numbers mean the batter is good at staying out of prolonged hitless slumps, high numbers mean they’ve been prone to forgetting how to hit the ball for relatively long stretches. Longer hitless streaks hurt worse. For example, if two batters go 3 for 10, but one’s plate appearance look like this: 1, 1, 1, 0, 0, 0, 0, 0, 0, 0 and the other’s look like this: 1, 0, 0, 1, 0, 0, 1, 0, 0, 0; the first one looks worse because he had a 7 PA hitless streak. That gets calculated as (1+2+3+4+5+6+7)/10 = 2.8 for the first one and (1+2+1+2+1+2+3)/10 = 1.2 for the 2nd one. For lack of a better word, I’m calling that result the Slump Proneness Analyis Metric – or SPAM. In keeping with the cured meat theme. And, with all respect to the canned Hormel miracle from Austin Minnesota. If you haven’t been to their museum, you should go.
Now that we’ve defined and named it, lets try it on the whole league, and try not to worry when it comes out with Ronny Paulino as the best player with over 125 PAs.
Here are the 30 best players this year at avoiding hitless streaks (125 PA minimum):
| Batter | SPAM | 15+ PA hitless streaks | Longest Hitless Streak | Total PAs (without IBBs) |
| Ronny Paulino (FLA) | 1.83 | 0 | 8 | 172 |
| Vladimir Guerrero (TEX) | 2.03 | 0 | 13 | 259 |
| Reid Brignac (TB) | 2.07 | 0 | 8 | 166 |
| Eric Hinske (ATL) | 2.07 | 0 | 9 | 138 |
| Troy Tulowitzki (COL) | 2.08 | 0 | 10 | 265 |
| Ichiro Suzuki (SEA) | 2.17 | 0 | 13 | 291 |
| Billy Butler (KC) | 2.18 | 0 | 10 | 285 |
| Andre Ethier (LAD) | 2.19 | 1 | 15 | 209 |
| Robinson Cano (NYY) | 2.23 | 0 | 14 | 282 |
| Ivan Rodriguez (WSH) | 2.24 | 0 | 12 | 157 |
| Adrian Beltre (BOS) | 2.25 | 0 | 12 | 270 |
| Joe Mauer (MIN) | 2.26 | 0 | 12 | 238 |
| Michael Young (TEX) | 2.26 | 0 | 10 | 298 |
| Mike Fontenot (CHC) | 2.28 | 0 | 12 | 134 |
| Carlos Guillen (DET) | 2.28 | 0 | 14 | 141 |
| Brandon Phillips (CIN) | 2.29 | 0 | 12 | 296 |
| Ryan Braun (MIL) | 2.29 | 0 | 14 | 289 |
| Mike Aviles (KC) | 2.34 | 1 | 15 | 147 |
| Justin Morneau (MIN) | 2.35 | 0 | 14 | 266 |
| Kevin Kouzmanoff (OAK) | 2.35 | 1 | 16 | 274 |
| Ben Zobrist (TB) | 2.37 | 0 | 11 | 283 |
| Rafael Furcal (LAD) | 2.39 | 0 | 12 | 181 |
| Miguel Cabrera (DET) | 2.42 | 1 | 17 | 268 |
| Brennan Boesch (DET) | 2.43 | 1 | 16 | 176 |
| Manny Ramirez (LAD) | 2.43 | 0 | 10 | 169 |
| David DeJesus (KC) | 2.45 | 0 | 12 | 283 |
| Angel Pagan (NYM) | 2.45 | 0 | 13 | 259 |
| Cristian Guzman (WSH) | 2.46 | 0 | 12 | 235 |
| Rod Barajas (NYM) | 2.48 | 0 | 11 | 191 |
| Evan Longoria (TB) | 2.48 | 1 | 16 | 284 |
And, here are the 30 most slump-prone batters this year (125 non IBB PAs minimum):
| Batter | SPAM | 15+ PA hitless streaks | Longest Hitless Streak | Total PAs (without IBBs) |
| Akinori Iwamura (PIT) | 7.62 | 3 | 40 | 193 |
| Dexter Fowler (COL) | 6.35 | 2 | 36 | 167 |
| Luis Valbuena (CLE) | 5.54 | 2 | 20 | 166 |
| Jeff Clement (PIT) | 5.45 | 2 | 21 | 134 |
| Carlos Pena (TB) | 5.37 | 2 | 29 | 267 |
| Gerald Laird (DET) | 5.23 | 3 | 18 | 150 |
| Lou Marson (CLE) | 5.09 | 1 | 23 | 159 |
| Aramis Ramirez (CHC) | 5 | 3 | 21 | 197 |
| Brandon Wood (LAA) | 4.97 | 2 | 17 | 134 |
| Brendan Ryan (STL) | 4.88 | 3 | 19 | 186 |
| Mark Reynolds (ARI) | 4.82 | 4 | 17 | 269 |
| Rob Johnson (SEA) | 4.8 | 1 | 24 | 128 |
| Chone Figgins (SEA) | 4.73 | 2 | 30 | 285 |
| Carlos Ruiz (PHI) | 4.61 | 2 | 25 | 177 |
| Tony Gwynn (SD) | 4.6 | 2 | 24 | 180 |
| Carlos Quentin (CWS) | 4.6 | 1 | 27 | 230 |
| Mark Teixeira (NYY) | 4.58 | 3 | 23 | 297 |
| Edwin Encarnacion (TOR) | 4.55 | 1 | 17 | 130 |
| Adam Lind (TOR) | 4.53 | 3 | 22 | 271 |
| Casey Kotchman (SEA) | 4.5 | 2 | 20 | 198 |
| Garrett Atkins (BAL) | 4.49 | 2 | 20 | 149 |
| Cliff Pennington (OAK) | 4.38 | 1 | 30 | 254 |
| Travis Hafner (CLE) | 4.29 | 2 | 26 | 236 |
| Aaron Hill (TOR) | 4.23 | 2 | 20 | 234 |
| Nate McLouth (ATL) | 4.23 | 2 | 16 | 204 |
| Jeff Francoeur (NYM) | 4.22 | 2 | 26 | 245 |
| Brad Hawpe (COL) | 4.21 | 2 | 21 | 185 |
| Andy LaRoche (PIT) | 4.18 | 2 | 17 | 196 |
| Drew Stubbs (CIN) | 4.16 | 2 | 25 | 250 |
| Mark Kotsay (CWS) | 4.14 | 1 | 15 | 150 |
It seems to work pretty well, but may benefit from some refinements at some point. The same method could be easily applied to teams, or we could look at on-basing instead of just hitting.
Plunk Signal