Tuesday, October 3, 2017

Trout Has Highest OPS+ of Career (187)

His previous high was 176 in 2015. On August 8th, I suggested that he might be the first guy to reach 200 since 2004 (and only 19th since 1900). He as at 216 then in 68 games played and it looked like, overall, he was going to face below average pitching the rest of the way.

He ended up playing 114 games. I estimated he would reach 200 if he had an OPS+ of 178 the rest of the way (assuming he played in all remaining games-he played in 46 of the Angels last 49 games). But he only managed an OPS+ of about 145 the rest of the way. His lowest for a full season has been 168. So a bit of a slump (for him).

Here are his monthly stats:

Split PA HR BB SO BA OBP SLG OPS BAbip
April/March 115 7 14 23 0.364 0.443 0.707 1.151 0.414
May 91 9 22 19 0.297 0.484 0.797 1.28 0.263
July 64 3 10 13 0.315 0.422 0.5 0.922 0.368
August 120 8 27 21 0.315 0.475 0.63 1.105 0.333
Sept/Oct 117 6 21 14 0.237 0.385 0.505 0.89 0.216

He only struck out 14 times in 117 PAs in the last month. Looks like a pretty low rate compared to the other months. Yet his BAbip was very low. He was making contact. Maybe it was weak contact. But he still had decent power, with an ISO of .268 (SLG - BA).

Saturday, September 30, 2017

Career Home/Away splits

Probably someone has done this. But I used the BR Play Index and set a PA minimum of 2500 (for both home and away). I unchecked the box that says "Excl. results which are incomplete." So maybe some guys don't get a completely accurate result.

Gil McDougald had by far the worst negative differential. At home he had a .680 OPS and away he had .847 (so -.167). The next worst was -.093. Chuck Klein had the biggest positive differential .214 (1.027 - .813). But there were several guys very close to that. To see the complete list, here is a link to the Excel file

Complete list

Wednesday, August 30, 2017

The RedSox just committed the only case of illegal lineup reentry in Major League history

This comes from Dave Smith, head of Retrosheet and was posted on the SABR list, reposted with his permission.

"8/25/2017 - Although it was not actually a case of batting out of turn, the Red Sox had an amazing mistake in the 9th inning of their 16-3 loss to Baltimore on August 25, 2017. As is often the custom in such lopsided contests, the Red Sox put a position player on the mound in the top of the 9th. In this case, it was Mitch Moreland, who had played first base the entire game to this point. The Red Sox lost the DH for the remainder of the game and the new first baseman, Hanley Ramirez, entered the game in the 7th spot in the batting order, formerly occupied by DH Chris Young. They made no other changes. Moreland did well in his one inning as pitcher, allowing no runs on two hits and even collecting a strikeout.

The trouble occurred in the home 9th. The first batter was Rafael Devers, batting in the 6th spot. He made an out and the proper next batter was Ramirez. However, Chris Young came to the plate and singled - even though he was no longer in the game! This is the only case of illegal lineup reentry in Major League history. No one appeared to notice - not the umpires or either team. Since it was a 16-3 game with two outs to go, it is likely that Ramirez had not even thought about where he was batting. As for DH Young, he simply followed Devers to the plate as he had all night. The official remedy is to call Young a pinch-hitter for Ramirez, which causes all the official totals to come out right."

Friday, August 18, 2017

Is It Really A Mystery How The Royals Exceed The Expectation Of Computer Projections? (it might be timing as they perform relatively better in high leverage situations)

That is what a Wall Street Journal article says. See The Baseball Team That Computer Models Can’t Figure Out: The Kansas City Royals have exceeded the expectation of every prominent computer projection over the past five years by Jared Diamond. Excerpts:

"PECOTA, Baseball Prospectus’ sophisticated computer model for forecasting on-field performance, is impressively accurate. Half of teams have, on average, finished within 2.75 wins in either direction of PECOTA’s predictions since 2013, with nearly two-thirds of teams coming within 3.25 wins.

But there’s still one team PECOTA can’t figure out: the Kansas City Royals, the unexplained mystery of the major leagues. The Royals outperformed PECOTA by an average of 12½ games from 2013 through 2016, the most in the sport over that span, and are on pace to beat it by about that much again this season."

"The problem with predicting the Royals, prognosticators say, is that they have consistently won more games than their underlying statistics would indicate. They’ve been, as Davenport put it, “far more efficient at winning games with the number of runs they score and allow.”

That spells trouble for the models. Systems like PECOTA, which stands for Player Empirical Comparison and Optimization Test Algorithm, use piles of statistics and historical aging curves to predict how individual players will fare in a given season. After accounting for a team’s projected depth chart, the systems use that data to predict how many runs a team will score and allow, which results in a predicted record."

The article did mention their bullpen as one reason. If your relievers can come in and stop rallies consistently better than other teams, you will win more than expected.

Here is a regression generated formula to predict winning pct based on team OPS differential High, Medium and Low leverage situations. It is based on all teams from 2010-2014.

Pct = .5 + .306*LOW +.420*MED + .564*HIGH

If applied to the Royals of 2013-2016, it predicts them winning fewer games than they actually did. But not by alot. Here are the differences

-1.88
-2.87
-3.71
-0.76

That averages out to 2.31 wins per season. So over 2013-2016, the Royals won 2.31 more games per season than predicted. Not too big of a difference. The table below shows the OPS their hitters had, OPS their pitchers allowed and the differential in the three situations for each season. Notice how they tend to do better both hitting and pitching in High leverage cases than otherwise. OPSA is OPS allowed.

Their 4 best differentials are all in High cases. Of the 8 Low & Medium cases, 6 differentials are negative.


Year Split OPS OPSA Diff
2013 High 0.733 0.672 0.061
2013 Low 0.674 0.688 -0.014
2013 Medium 0.693 0.723 -0.030
2014 High 0.712 0.636 0.076
2014 Low 0.660 0.700 -0.040
2014 Medium 0.713 0.696 0.017
2015 High 0.772 0.669 0.103
2015 Low 0.719 0.697 0.022
2015 Medium 0.734 0.748 -0.014
2016 High 0.728 0.653 0.075
2016 Low 0.712 0.778 -0.066
2016 Medium 0.704 0.767 -0.063

Tuesday, August 8, 2017

Trout has a good chance to be first batter to finish with a 200 OPS+ or higher since Bonds did it in 2004 (and only 19th since 1901)

Trout currently has an OPS+ of 216. He has played 68 games and the Angels have 49 left. Assuming an equal number of PAs per game played for each group of games (which might not be quite right), if he has an OPS+ of 178 the rest of the way, he would finish at 200 (his career OPS+ is 173, so that seems reasonable that he could reach 178 the rest of the way, given what he has done so far).

Three guys reached 190 since 2004: Pujols with 192 in 2008, Miguel Cabrerra with 190 in 2013 and Harper with 198 in 2015.

His path might be easy. The Angels have only 3 games left against any of the top 4 teams in the AL in ERA+ (Bos, Clev, NY, KC).  That team is Clev. Here is the OPS+ of those teams

Bos 124
Clev 124
NY 122
KC 109

The next highest ERA+ the Angels will face is the 102 of Texas & Tampa Bay and Texas traded Darvish. The Angels have 15 games left against 3 of the 4 lowest ERA+ teams in the AL.

Bal 89 (5)
Oak 90 (6)
Chi 92 (4)

The Angels have 2 games left against one NL team, Wash. They have a 107 ERA+ and some good starters: Scherzer, Stasburg (if he is not on the DL) and Gonzalez.

Here are the players who have done it and the number of times. I used the Baseball Reference Play Index and set the minimum PAs as what qualifies for the batting title. If I lower that to 400 PAs (Trout might not make 502 PAs since he was hurt), McGwire and Williams would each get one more.


Player Count
Babe Ruth  11
Ted Williams  6
Barry Bonds  6
Rogers Hornsby  4
Ty Cobb  3
Lou Gehrig  3
Mickey Mantle  3
Jimmie Foxx  2
Frank Thomas  1
Jeff Bagwell  1
Norm Cash  1
George Brett  1
Stan Musial  1
Nap Lajoie  1
Willie McCovey  1
Sammy Sosa  1
Honus Wagner  1
Mark McGwire  1

Friday, August 4, 2017

Astros Had The 2nd Highest Team SLG For A Month In July Since 1913 At .568 (minimum of 20 games)

Data from the Baseball Reference Play Index.


Team Month Year G SLG SLG
NYY June 1930 28 0.593 0.592522
HOU July 2017 24 0.568 0.567816
STL April/March 2000 25 0.568 0.567599
BOS June 2003 26 0.556 0.556468
ATL July 2006 24 0.554 0.554007
SEA May 1999 27 0.549 0.549428
CLE July 1936 33 0.546 0.546252
TEX Sept/Oct 2011 25 0.544 0.543624
CLE April/March 1997 25 0.543 0.543430
SFG June 2000 26 0.539 0.539037

Now the OPS leaders


Team Split Year G OPS R BA OBP SLG
NYY June 1930 28 1.035 261 0.366 0.442 0.593
STL April/Mar 2000 25 0.959 180 0.301 0.392 0.568
HOU July 2017 24 0.948 174 0.323 0.38 0.568
BOS June 2003 26 0.945 190 0.315 0.388 0.556
CLE April/Mar 1997 25 0.942 167 0.305 0.399 0.543
CLE July 1936 33 0.94 244 0.352 0.394 0.546
SEA May 1999 27 0.935 191 0.308 0.386 0.549
SFG June 2000 26 0.932 175 0.309 0.393 0.539
STL July 1928 29 0.931 188 0.32 0.401 0.529
NYY May 1936 28 0.929 218 0.309 0.395 0.534

Here are the stats for the Yankees in June 1930. They were 20-8, allowing 160 runs. Ruth and Gehrig are the only teammates to have an SLG of at least .900 in the same month, 75+ PAs. First guy not named Ruth to do it is Chick Hafey in 1928 (July) at .925.


Player HR RBI BA OBP SLG OPS PA AB
Babe Ruth 15 35 0.392 0.560 0.918 1.477 137 97
Lou Gehrig 10 42 0.495 0.582 0.919 1.501 137 111
Ben Chapman 2 18 0.346 0.421 0.514 0.936 123 107
Tony Lazzeri 3 34 0.352 0.424 0.562 0.986 121 105
Earle Combs 2 17 0.440 0.505 0.692 1.197 105 91
Harry Rice 1 18 0.366 0.398 0.505 0.903 101 93
Bill Dickey 1 23 0.439 0.483 0.610 1.093 92 82
Lyn Lary 0 9 0.185 0.264 0.277 0.541 76 65
Samuel Byrd 1 9 0.474 0.545 0.632 1.177 44 38
Jimmie Reese 1 6 0.238 0.238 0.333 0.571 44 42
Dusty Cooke 3 9 0.343 0.395 0.714 1.109 38 35
Yats Wuestling 0 1 0.231 0.231 0.308 0.538 27 26
Bubbles Hargrave 0 2 0.286 0.348 0.429 0.776 24 21
George Pipgras 0 4 0.158 0.238 0.263 0.501 22 19
Red Ruffing 0 2 0.474 0.500 0.579 1.079 20 19
Herb Pennock 0 4 0.467 0.529 0.467 0.996 18 15
Ed Wells 0 1 0.333 0.375 0.333 0.708 17 15
Billy Werber 0 2 0.286 0.412 0.286 0.697 17 14
Benny Bengough 0 1 0.308 0.357 0.538 0.896 15 13
Roy Sherid 0 2 0.167 0.286 0.167 0.452 15 12
Hank Johnson 1 6 0.385 0.429 0.923 1.352 14 13
Ownie Carroll 0 1 0.333 0.333 0.333 0.667 7 6

Wednesday, July 12, 2017

The 2005 White Sox Went 14-5 Against The Indians Despite A -.033 OPS Differential In Those Games (and the Indians had an overall OPS differential of .098 while the Sox had .040)

All data from Baseball Reference and the BR Play Index. My formula for estimating winning pct based on OPS differential is

Pct = .5 + 1.33*OPSDIFF

That is based on a regression. So it estimates the Indians to have a .631 pct or 102 wins while the Sox would have .553 and 90 wins. Yet the Sox actually went 99-63 and the Indians went 93-69.

In the 19 games, the Sox had a .667 OPS and the Indians had .700. There were nine 1-run games and the Sox won them all. The White Sox only outscored the Indians 80-75 in their games.

These stats slightly over state the improbability, but only slightly. The Sox had a 3 game lead with a three game left in Cleveland. But given that at that point the Sox led the season series 11-5, they were assured of having the tie-breaker on their side if the two teams had an identical record since the worst the Sox could do against the Indians would be 11-8, thus taking the season series.

The Sox won all of those last three of those games, two by 1 run and one by 2 runs. But that still means that the Sox had been 7-0 in all the 1-run games between the teams before that. They had only outscored the Indians 70-69 in their first 16 games. And still went 11-5.

The Sox had a 15 game lead at the close of play on Aug. 1. By Sept. 22, that had fallen to 1.5 games. It was still 1.5 on Sept. 24 with 8 games left.

The Sox lost 2 of 3 to the Indians over Sept. 19-21 in Chicago, winning only the middle game 7-6 in 10 innings. By winning that one, they got their lead up to 3.5 games. A loss would have meant a 1.5 game lead (which it still fell to anyway two days later).

The Indians outhit the Sox 14-11 in that game, out HRed the Sox 3-2 and out walked them 5-4. The Indians committed 2 errors and had 1 unearned run.

For the whole season, The Sox had the following OPS differentials in High, Medium and Low leverage situations: .102, .018, .034. The Indians had .044, .098, .123.  I do have a regression equation that uses the OPS differentials in the High, Medium and Low cases. Here it is

Pct = .5 + .306*LOW +.420*MED + .564*HIGH

That estimates the Sox to win 93.2 games and the Indians 97.8. Not as big as 12 mentioned at the beginning based on total OPS, but still fairly large. Maybe the Sox had a much higher OPS in High leverage cases in the games between the two teams.

In games between the two teams, here is the Sox OPS in High, Medium and Low leverage situations: .798, .661, .599. For the Indians they were .584, .739, .748. So here are the Sox OPS differentials in their games with the Indians in High, Medium and Low leverage situations: .214, -.078, -.149.

In games between the two teams, the Sox had an OPS of .729 with runners on and the Indians had .651. From the 7th inning on, with the score tied or either team ahead by 1 run, the Sox had an OPS of .784 and the Indians had .705.

Here are the scores of all the games between the two teams that year and the OPS each team had. It shows the OPS each team had. The Diff column is the Sox OPS minus the Indians OPS. The Indians had a higher OPS in 11 of the games, yet won only 5. The Indians had a higher OPS in 8 of the first 16 games and won only 5 of those.


Date Loc Sox R Ind R Inn Sox OPS Ind OPS Diff
 Apr 4 CHI 1 0
0.351 0.181 0.170
 Apr 6 CHI 4 3
0.655 0.454 0.201
 Apr 7 CHI 5 11 11 0.648 0.653 -0.005
 Apr 11 CLE 2 1
0.654 0.618 0.036
 Apr 13 CLE 5 4 10 0.644 0.616 0.028
 Apr 14 CLE 6 8
0.664 0.660 0.004
 Jun 3 CHI 6 4
0.727 0.704 0.023
 Jun 4 CHI 6 5
0.731 0.707 0.024
 Jun 5 CHI 4 6 12 0.729 0.708 0.021
 Jul 14 CLE 1 0
0.740 0.753 -0.013
 Jul 15 CLE 7 1
0.739 0.751 -0.012
 Jul 16 CLE 7 5
0.739 0.748 -0.009
 Jul 17 CLE 4 0
0.739 0.747 -0.008
 Sep 19 CHI 5 7
0.749 0.782 -0.033
 Sep 20 CHI 7 6 10 0.750 0.784 -0.034
 Sep 21 CHI 0 8
0.748 0.786 -0.038
 Sep 30 CLE 3 2 13 0.748 0.790 -0.042
 Oct 1 CLE 4 3
0.748 0.788 -0.040
 Oct 2 CLE 3 1
0.747 0.787 -0.040