Showing posts with label OPS. Show all posts
Showing posts with label OPS. Show all posts

Thursday, August 13, 2009

Getting Hit Hard in 2009

What do Trevor Cahill and Jeff Suppan have in common? They are the only two pitchers qualified for the ERA title (1 IP per team game) who have allowed opponents to slug .500 or more this season. Suppan sits at .512 while Cahill is at .505. Suppan will shortly fall off the qualified list, as he is currently injured and hasn't pitched since July 27. His fellow Brewer, Braden Looper, is poised to take his place on the list as he has allowed opponents to slug .499 this year. Jeremy Guthrie (.499), Armando Galarraga (.494), and Jamie Moyer (.491) are also nearby.

Since 1954, forty-four qualified pitchers have allowed opponents to slug .500 over a season. Twenty have cracked the .520 plateau:

Jim Deshaies1994MIN.583
Jose Lima2000HOU.578
Darrell May2004KCR.555
Bill Gullickson1994DET.552
Brian Anderson2004KCR.545
Dave Mlicki2001DET/HOU.545
Brandon Backe2008HOU.544
Jose Lima2005KCR.544
Eric Milton2005CIN.543
Terry Mulholland1994NYY.539

The abbreviated 1994 season and Jose Lima are both well-represented. Pitchers just didn't have as much time to a) drop their slugging percentage to something more respectable or b) get replaced before reaching the usual 162 innings to qualify. The other seven seasons all took place this decade, which makes sense as slugging percentages league-wide have reached new heights. Here's the .500+ opponent slugging allowed list prior to 1994:

Don Newcombe
Jack Lamabe
Bob Knepper

Yep, that's it.

A high slugging percentage allowed is fueling Jeff Suppan's run at another distinction. He likely will not reach the required 162 innings, but if the season ended today he would be only the ninth qualifying pitcher to allow an OPS of .900 or higher. The current list of eight is the highest slugging allowed list jumbled a bit:

Jim Deshaies1994MIN.965
Jose Lima2000HOU.942
Dave Mlicki2001DET/HOU.927
Brandon Backe2008HOU.920
Jose Lima2005KCR.917
Bill Gullickson
Brian Anderson
Darrell May

Suppan has allowed opponents to put up a .900 OPS this year. Cahill, if you're wondering, is second with an .856 OPS allowed.

Wednesday, May 6, 2009

The Unique Nationals

The Washington Nationals might have the worst record in the majors, but they've got one thing going for them. Through May 5th, every regular* in the Nationals lineup has an OPS+ over 100. No other team can claim that.

* Guys in the top spots on each team's page.

Sunday, February 8, 2009

More Strikeouts Than Times on Base

In a comment on my post of last Sunday, Mitchell Marshall suggested I look at players whose career strikeout percentage was greater than their career on base percentage. It's an interesting idea and I wish it didn't take me a week to get to it, but so it goes. I'm sure most readers are aware of the formula for on base percentage:

Thanks Wikipedia. The numerator of that fraction is sometimes shortened to times on base (TOB). There's other ways to reach base (errors, fielder's choice, etc.), but the three used in calculating OBP are the most common. So in order to compare strikeouts to on base percentage, I think it would be simplest to compare strikeouts to times on base. Thus in this post strikeout percentage is that same fraction but with only strikeouts in the numerator.

Tossing out pitchers, twenty-one players had 20 or more strikeouts than times on base in their careers. Most of them had a single season's worth or fewer plate appearances. Obviously, they all struggled to get on base: the highest OBP on the list is .328. Only five hitters were over .300.

Players With 20+ More Strikeouts Than Times on Base in Career

Tom Egan1965-1975108433628551.313.266
Jim Fuller1973-19773411308446.385.249
J.R. Phillips1993-199954518013446.331.247
Melvin Nieves1992-1998139248343746.347.314
Dave Nicholson1960-1967166157352746.346.318
Russell Branyan1998-2008231979775938.344.328
Chad Hermansen1999-200454116813632.315.255
Ed Gastfield1884-18859037829.411.089
Brad Eldred2005-2007255936429.365.251
Bo Jackson1986-1994262684181229.321.309
Jared Sandberg2001-200370623620828.337.297
Cliff Cook1959-196343513610927.317.254
Billy Ashley1992-199868823621125.343.307
Kevin Cash2002-200855716113724.292.248
Mike Hubbard1995-2001198603723.303.187
Jason Smith2001-200859117215022.297.259
Frank Cox1884104361521.346.144
Paul Ratliff1963-19723361199821.355.293
Phil Hiatt1993-200146314912821.323.278
Jackie Warner1966133553520.414.263
Ray Busse1971-1974168543420.325.205

My favorite player listed above is Ed Gastfield. The youngest player in the 1884 National League, Gastfield backed up Detroit catcher Charlie Bennett. While Bennett was a hitting star (OPS+ of 129 or higher in 7 of 8 seasons in Detroit), Gastfield was hapless at the plate. It's possible he was overmatched because of how young he was, but his awful .073/.095/.085 (6-82, 1 2B, 2 BB, 34 K in 84 PA) batting line in 23 games didn't make it likely he'd get a chance when he was older. Neither did his 20 passed balls and 35 errors in 19 games. Gastfield did suit up one time for Detroit in 1885, going 0-3 with 2 strikeouts. Somehow he made his way to Chicago, appearing in one game and going 0-3 with 1 strikeout and 3 passed balls. That game ended his major league career.

Gastfield's career batting line works out to .068/.089/.080, good for a .169 OPS. I know it's comparing dissimilar things but I think it's interesting his SO% was more than double his OPS. He's one of only four players in all of major league history to have a higher SO% than OPS in 50 or more plate appearances:
  • Ed Gastfield, .411 SO%, .168 OPS in 90 PA
  • Enrique Cruz, .390 SO%, .240 OPS in 77 PA
  • John Roskos, .358 SO%, .294 OPS in 53 PA
  • Frank Cox, .346 SO%, .321 OPS in 104 PA
Fred Wood, the second-youngest player in the 1884 NL and Ed Gastfield's teammate, had a .367 SO% and .188 OPS in 49 plate appearances. Frank Cox also played on the 1884 Detroit Wolverines, helping to explain why they went 28-84, though at 26 he was an old man on the club. If 1884 is currently known as the year Chicago tinkered with their outfield fences and skewed home run totals, it should also be known as the year Detroit had a really, really, really bad offense. It's skewed because of the aforementioned Chicago shenanigans, but the team's OPS+ was 74. The team hit .208/.247/.284. Blech.

What of Cruz and Roskos? Well, Cruz was a rule 5 draft pick who spent all of 2003 in the majors with Milwaukee and resurfaced for one at bat with Cincinnati in 2007. Roskos was a C/1B/OF type who was drafted in the second round by Florida in 1993 and worked his way up the Marlins' minor league system but never really got a shot in the majors.

Monday, June 16, 2008

Worst Minor League OPS's in 2008

I've mentioned numerous times I like dubious records. To me, it's fun to see who's managed to hold onto a baseball job despite mediocre performance. The minor leagues have sort of an aura of hope about them. After all, a good season at one level could earn you a promotion to the next, and so on, until you're wearing a major league uniform. Unfortunately, this ideal isn't realized by many players and there are players at every level performing every day at a level below their peers. I want to find out who these stagnating souls are so far in 2008.

The minimum requirement to qualify for the major league batting title is 3.1 PA/game but the minor leagues use 2.7 PA/game; this is the number I used to calculate the minimum plate appearances needed in each league. I also calculated the average number of games played by each team in each league to find the number of "league games" used in the calculation of the plate appearances requirement. Each entry contains the player's name, his primary position this season, his minor league team (and its major league affiliation), his OPS, and his age in parentheses at the end of the line. Each player's name is linked to his current minor league statistics at

Lowest OPS's In Each Minor League, 2008
(Through June 15)

  • International League - 71 G, minimum 192 PA (Average OPS/Age: .729/27.4)
    1. Brent Lillibridge, SS, Richmond (ATL) - .503 (24)
    2. Derek Wathan, SS, Toledo (DET) - .554 (31)
    3. Nick Green, SS, Scranton-Wilkes Barre (NYY) - .606 (29)
    4. Brennan King, 3B, Lehigh Valley (PHI) - .611 (27)
    5. Bernie Castro, 2B, Scranton-Wilkes Barre (NYY) - .620 (28)
    6. Adam Rosales, 3B, Louisville (CIN) - .620 (25)
    7. Jason Pridie, CF, Rochester (MIN) - .626 (24)
    8. Matt Kata, 2B, Indianapolis (PIT) - .630 (30)
    9. Chris Roberson, RF, Norfolk (BAL) - .632 (28)
    10. Jerry Owens, CF, Charlotte (CHW) - .643 (27)
  • Pacific Coast League - 70 G, minimum 189 PA (Average OPS/Age: .779/27.0)
    1. Anderson Hernandez, SS, New Orleans (NYM) - .528 (25)
    2. Matt Antonelli, 2B, Portland (SDP) - .578 (23)
    3. Yordany Ramirez, CF, Round Rock (HOU) - .579 (23)
    4. Yung Chi Chen, 2B, Tacoma (SEA) - .639 (24)
    5. Casey McGehee, 3B, Iowa (CHC) - .654 (25)
    6. Hernan Iribarren, LF, Nashville (MIL) - .664 (24)
    7. Trent Oeltjen, RF, Tucson (ARI) - .665 (25)
    8. Wilkin Castillo, C, Tucson (ARI) - .666 (24)
    9. Clay Timpner, CF, Fresno (SFG) - .676 (25)
    10. Argenis Reyes, 2B, New Orleans (NYM) - .684 (25)
  • Eastern League - 67 G, minimum 181 PA (Average OPS/Age: .740/24.6)
    1. Emmanuel Garcia, 2B, Binghamton (NYM) - .557 (22)
    2. Simon Klink, 3B, Connecticut (SFG) - .600 (26)
    3. Jose Tabata, RF, Trenton (NYY) - .601 (19)
    4. Carlos Rojas, 2B, Bowie (BAL) - .609 (24)
    5. Tony Granadillo, 2B, Portland (BOS) - .620 (23)
    6. Antoan Richardson, CF, Connecticut (SFG) - .620 (24)
    7. Anthony Webster, OF, Altoona (PIT) - .623 (25)
    8. Anthony Hatch, 3B, New Hampshire (TOR) - .628 (24)
    9. David Maroul, 3B, Connecticut (SFG) - .630 (25)
    10. William Bergolla, 2B, Harrisburg (WSN) - .646 (25)
  • Southern League - 70 G, minimum 189 PA (Average OPS/Age: .734/24.5)
    1. Kris Harvey, RF, Carolina (FLA) - .513 (24)
    2. Javier Guzman, SS, Mississippi (ATL) - .545 (24)
    3. Robert Valido, SS, Birmingham (CHW) - .547 (23)
    4. Micah Schnurstein, 1B, Birmingham (CHW) - .552 (23)
    5. Robert Hudson, 2B, Birmingham (CHW) - .607 (24)
    6. Kyle Reynolds, 3B, Tennessee (CHC) - .618 (24)
    7. Chris Rahl, CF, Mobile (ARI) - .623 (24)
    8. Matt Camp, SS/LF, Tennessee (CHC) - .626 (24)
    9. Cyle Hankerd, LF/RF, Mobile (ARI) - .637 (23)
    10. John Raburn, LF, Montgomery (TBR) - .644 (29)
  • Texas League - 68 G, minimum 184 PA (Average OPS/Age: .754/24.5)
    1. Jose Martinez, 2B, Springfield (STL) - .588 (22)
    2. Mario Lisson, 3B, Northwest Arkansas (KCR) - .591 (24)
    3. Hainley Statia, SS, Arkansas (LAA) - .618 (22)
    4. Lou Santangelo, C, Corpus Christi (HOU) - .632 (25)
    5. Mitch Einertson, RF, Corpus Christi (HOU) - .637 (22)
    6. Elvis Andrus, SS, Frisco (TEX) - .640 (19)
    7. Jose Duarte, CF, Northwest Arkansas (KCR) - .645 (23)
    8. Christopher Nelson, SS, Tulsa (COL) - .647 (22)
    9. Justin Sellers, SS, Midland (OAK) - .647 (22)
    10. Angel Sanchez, SS, Northwest Arkansas (KCR) - .655 (24)
  • California League - 70 G, minimum 189 PA (Average OPS/Age: .736/22.7)
    1. Brad Miller, 1B, Visalia (ARI) - .514 (25)
    2. Manuel Ferrer, 2B, Visalia (ARI) - .524 (23)
    3. Jesus Lopez, SS, Lake Elsinore (SDP) - .570 (20)
    4. Mauro Gomez, 1B, Bakersfield (TEX) - .583 (23)
    5. Jay Cox, LF, Modesto (COL) - .586 (23)
    6. Carlos Triunfel, SS, High Desert (SEA) - .594 (18)
    7. Argenis Diaz, SS, Lancaster (BOS) - .598 (21)
    8. Truan Mehl, RF, Bakersfield (TEX) - .606 (25)
    9. Steve Mena, 2B/OF, Visalia (ARI) - .611 (23)
    10. Sharlon Schoop, SS, San Jose (SFG) - .618 (21)
  • Carolina League - 70 G, minimum 189 PA (Average OPS/Age: .713/22.9)
    1. Greg Buchanan, 2B, Salem (HOU) - .516 (24)
    2. Lee Cruz, LF, Winston-Salem (CHW) - .557 (25)
    3. Salvador Sanchez, RF, Winston-Salem (CHW) - .589 (22)
    4. Cesar Quintero, LF, Salem (HOU) - .592 (25)
    5. Cirilo Cumberbatch, RF, Kinston (CLE) - .605 (21)
    6. Angel Gonzalez, 2B, Lynchburg (PIT) - .623 (22)
    7. Derrick Robinson, CF, Wilmington (KCR) - .626 (20)
    8. Anthony Seratelli, 1B, Wilmington (KCR) - .628 (25)
    9. Miguel Abreu, 2B, Frederick (BAL) - .632 (23)
    10. John Drennen, RF, Kinston (CLE) - .640 (21)
  • Florida State League - 67 G, minimum 181 PA (Average OPS/Age: .703/23.0)
    1. Chuck Caufield, RF, Brevard County (MIL) - .541 (24)
    2. Fidel Hernandez, SS, Clearwater (PHI) - .559 (22)
    3. Jacob Blackwood, 3B, Jupiter (FLA) - .561 (22)
    4. Josue Calzado, RF, Tampa (NYY) - .563 (22)
    5. Nevin Ashley, C, Vero Beach (TBR) - .569 (23)
    6. Ryan Royster, RF, Vero Beach (TBR) - .571 (21)
    7. Ruben Tejada, SS, St. Lucie (NYM) - .580 (18)
    8. Tuffy Gosewisch, C, Clearwater (PHI) - .584 (24)
    9. Mitchell Hilligoss, 3B, Tampa (NYY) - .585 (23)
    10. Luis Nunez, SS, Tampa (NYY) - .594 (21)
  • Midwest League - 68 G, minimum 184 PA (Average OPS/Age: .690/21.7)
    1. Pedro Baez, 3B, Great Lakes (LAD) - .503 (20)
    2. Alwin Perez, 2B, Burlinton (KCR) - .544 (21)
    3. Michael McDade, 1B, Lansing (TOR) - .561 (19)
    4. Kevyn Feiner, 2B, Dayton (CIN) - .574 (21)
    5. Yohermyn Chavez, LF, Lansing (TOR) - .576 (19)
    6. Juan Diaz, SS, Wisconsin (SEA) - .577 (19)
    7. Ramon Ramirez, 3B, South Bend (ARI) - .581 (22)
    8. Domnit Bolivar, 3B, Quad Cities (STL) - .584 (19)
    9. Ron Bourquin, 3B, West Michigan (DET) - .584 (23)
    10. Matthew Ray, 2B/SS, Kane County (OAK) - .600 (24)
  • South Atlantic League - 70 G, minimum 189 PA (Average OPS/Age: .702/21.6)
    1. D'Arby Myers, CF, Lakewood (PHI) - .481 (19)
    2. Mark Thompson, SS, Lake County (CLE) - .543 (23)
    3. Helder Velazquez, SS, Asheville (COL) - .551 (19)
    4. Freddy Galvis, SS, Lakewood (PHI) - .557 (18)
    5. Adam Coe, 3B, Rome (ATL) - .565 (20)
    6. Omar Luna, SS, Columbus (TBR) - .566 (21)
    7. Michael McCormick, C, Columbus (TBR) - .579 (21)
    8. Manuel Arambarris, 3B, Greenville (BOS) - .583 (22)
    9. Brent Brewer, SS, West Virginia (MIL) - .604 (20)
    10. Stephen Vogt, LF, Columbus (TBR) - .609 (23)

If you're curious as to how these numbers translate to the major leagues, you can use the Minor League Equivalency (MLE) calculator at You'll have to look up each player's full stat line (each player's name links to their current minor league numbers) to use it, though. As a preview, here's D'Arby Myers' MLE for his parent club, Philadelphia:

199 AB, 16 R, 26 H, 4 2B, 1 3B, 1 HR, 6 RBI, 6 BB, 55 K, .131/.160/.168, 6 SB, 1 CS, 1 HBP

I'm going to go out on a limb and guess the 2006 4th-rounder won't be making the jump up to the show this year.

Friday, May 9, 2008

Hitters' Performance in Team Wins and Losses

In the Milwaukee Journal Sentinal's regularly updated baseball blog, beat writer Tom Haudricourt recently noted slugger Prince Fielder's performance seemed to be an integral part of the team's wins and losses (link). This idea was later put into a print article (web version). It fell to fellow slugger Ryan Braun to debunk the idea that Fielder was mostly responsible for the team winning and losing. Braun said,
"When you lose close games, you're facing better pitchers in the bullpen, the set-up guy, the closer," he said. "Whereas when you're squaring balls up and scoring runs, you might get the last guy in the bullpen.

"It would be almost impossible for it to be the other way around."
Indeed, it is rare to find a regular player who managed to hit better in team losses than he did in team wins. In fact, of the 280 players who had 300 or more plate appearances in 2007, only six had a higher OPS in team losses. Twenty-six players had a drop of .400 or more in their OPS from team wins to team losses.

If you look at all players who had at least 200 plate appearances in team wins, the composite hitter put up a .319/.392/.527 line, good for a .919 OPS. Pretty darn good when you consider that's about what David Wright has done in his career. Part of that can be explained by the .343 BABIP for those hitters (more on BABIP can be found here). Given that the MLB BABIP in 2007 was .303, this means hitters on teams that won games had hits fall in more often than usual. This makes sense - how many games can you recall turning on bloop hits here and there? Similarly, players with 200+ PA in team losses had worse luck: their BABIP was only .276. Those hitters put up a composite .242/.307/.373 line, good for a .681 OPS - about the same level of production as Endy Chavez.

So which players declined (or, in the case of the aforementioned six, improved) the most when going from team wins to team losses? Below is a table of the players with the twenty largest drops in OPS from wins to losses along with their corresponding BABIP. Beneath that table is another showing the twenty smallest declines in OPS from wins to losses (negative numbers correspond to OPS and BABIP increases).

20 Largest OPS Differences (Wins-Losses), 2007
Minimum 300 Plate Appearances
Miguel CabreraFLA680.599.178
Matt HollidayCOL713.577.137
Kenny LoftonTEX/CLE559.521.341
Xavier NadyPIT470.497.143
Matt KempLAD311.482.134
Chris DuncanSTL432.476.057
Josh WillinghamFLA604.465.169
Bobby AbreuNYY699.462.159
Hunter PenceHOU484.451.087
Magglio OrdonezDET679.450.128
Jack CustOAK507.449.135
Mark GrudzielanekKCR486.448.130
Marlon ByrdTEX454.448.105
Brad HawpeCOL606.447.090
Jim ThomeCHW536.439.097
Chase UtleyPHI613.429.081
Gary Matthews Jr.LAA579.425.149
Vernon WellsTOR642.423.125
J.D. DrewBOS552.421.123
Travis BuckOAK334.418.094

Many of the players on that list are pretty good hitters overall. I think it's interesting to see guys like Marlon Byrd and Mark Grudzielanek up there, too, since they're not anyone's idea of great hitters. Nevertheless, they raked whenever the Rangers and Royals won.

I just want to note one final time that negative numbers in the table below actually indicate an increase in OPS or BABIP from team wins to team losses.

20 Smallest OPS Differences (Wins-Losses), 2007
Minimum 300 Plate Appearances
Miguel OlivoFLA469-.068-.028
Greg DobbsPHI358-.042.030
Shawn GreenNYM491-.024.027
Nate McLouthPIT382-.013-.009
Andre EthierLAD507-.008-.073
Mike JacobsFLA460-.003.030
Ryan TheriotCHC597.006.002
Jose VidroSEA625.022-.015
Aaron HillTOR657.023.064
Wily Mo PenaBOS/WSN317.028-.014
Lyle OverbayTOR476.031.028
Placido PolancoDET641.033.022
Ryan GarkoCLE541.042-.041
Josh BardSDP443.044-.003
Ron BelliardWSN557.046.029
Brian GilesSDP552.051.026
Dave RobertsSFG443.055.012
Melvin MoraBAL527.057.037
Casey BlakeCLE662.060.038
Corey PattersonBAL503.067.032

Nothing seems to have fazed Nate McLouth or Ryan Theriot last season. They just kept on putting up their regular numbers regardless of whether the team won or lost. Dobbs, Green, and Jacobs are interesting because their OPS increased while their BABIP decreased. All in all, the second list doesn't seem as impressive as the first list in terms of hitter quality. It's kind of cool that Florida had the guys with the largest and smallest declines in OPS from team wins to team losses.

Saturday, February 9, 2008

Nick Punto & Associates

I'm not sure it's very newsworthy outside of Minnesota, but Nick Punto was really, really bad last season. His batting line in 536 total PA was .210/.291/.271, meaning he had a .562 OPS. For some perspective, that's a bit below Carlos Zambrano's career numbers. To be fair, however, Punto hasn't always been that horrible. In 2006, he put up a decent OBP (.352), albeit with little power. His career numbers are .245/.314/.321 which, while still bad, are perhaps palatable for a guy who can play every infield position. Unfortunately for Punto and the Twins, he was a starting third baseman for much of the season. Beyond the Box Score has a post about third basemen last season, including a chart of starting third basemen against the league average. If you look at the chart, you'll notice the line for third basemen drops off the graph before hitting the right edge. That's because of Nick Punto.

All this talk of mediocrity got me thinking: who have the worst starters (offensively) of the last ten seasons been? It's pretty easy to look that sort of thing up: I simply looked for guys with an OPS+ of 60 or below (Punto's was 52) and who qualified for the batting title between 1998-2007. Seventeen mediocre players came up. Most of them are middle infielders, so I suppose it's a little more forgivable, but the corner outfielder on the list is just disturbing. Finally, I realize a lot of horrible hitters would be pulled from their team's lineup before qualifying for the batting title, so this list commemorates the players who persevered.

<= 60 OPS+, Batting Title Qualifiers, 1998-2007
No word on whether that was before or after Neifi Perez started taking performance-enhancing drugs. I think this list also points out an important part of OPS+: it's adjusted to the parks and leagues guys play in. That's why Jose Hernandez has a 60 OPS+ the same year Cesar Izturis had a 60 OPS+, even though their numbers are far apart. It's harder to hit in Dodger Stadium than it is in the three stadiums Hernandez played in so that's factored in to the OPS+ calculation. More details are available at the OPS+ explanation in the glossary (I know I've linked to it a bunch of times, but one more can't hurt).

Saturday, February 2, 2008

All-Time Average Joes

I know I've talked about ERA+ plus before, but I can't remember if I've done the same for OPS+. The link explains it fully if you scroll down a little, but this statistic takes OPS, on base percentage plus slugging percentage, and essentially normalizes it to the league and ballpark(s) a certain player played in. For example, in 2003 Alex Rodriguez had a .996 OPS for the Texas Rangers. Compared to the rest of the American League that year, he was 47% better than an average player would have been in his place and his OPS+ is therefore 147. In 1931, Rogers Hornsby had a .996 OPS for the Chicago Cubs and, compared to the National League in that season, he comes in with an OPS+ of 163. Even though Hornsby and Rodriguez put up the same numbers, the average player in the 2003 AL was a better hitter than the average player in the 1931 NL, so Hornsby's numbers stand out higher relative to when he played. You can do the same thing over multiple seasons to find a player's OPS+ over his whole career.

I mention all this because I want to find guys that were average hitters for their careers (an career OPS+ of 100). The All-Time Average Joes may not be all that memorable, but there's something to be said for having even an average career: you can take pride in the fact you were better than half the other guys in the league. The minimum requirement for making the ATAJ team is 3000 career plate appearances. Also, the player must have spent over half of his career games at the defensive position he occupies on the ATAJ squad. Beyond that, the selection process among multiple qualifying players is just my personal take; I will try to avoid still-active players who may jeopardize their averageness in future seasons.

1901-2007 All-Time Average Joes

Starting Lineup
  • Catcher: Frankie "Blimp" Hayes - 1931-1947
    • Career AVG/OBP/SLG/OPS: .259/.343/.400/.743
    • Teams: Philadelphia Athletics, St. Louis Browns, Cleveland Indians, Chicago White Sox, Boston Red Sox

  • First Base: Walt "Moose" Dropo - 1949-1961
    • Career AVG/OBP/SLG/OPS: .270/.326/.432/.758
    • Teams: Boston Red Sox, Detroit Tigers, Chicago White Sox, Cincinnati Reds, Baltimore Orioles

  • Second Base: Tony Bernazard - 1979-1991
    • Career AVG/OBP/SLG/OPS: .262/.339/.387/.726
    • Teams: Montreal Expos, Chicago White Sox, Seattle Mariners, Cleveland Indians, Oakland Athletics, Detroit Tigers

  • Shortstop: Art Fletcher - 1909-1922
    • Career AVG/OBP/SLG/OPS: .277/.319/.365/.684
    • Teams: New York Giants, Philadelphia Phillies

  • Third Base: Hank "Heeney" Majeski - 1939-1955
    • Career AVG/OBP/SLG/OPS: .279/.342/.398/.740
    • Teams: Boston Braves, New York Yankees, Philadelphia Athletics, Chicago White Sox, Cleveland Indians, Baltimore Orioles

  • Left Field: Jack Graney - 1909-1922
    • Career AVG/OBP/SLG/OPS: .250/.354/.342/.696
    • Teams: Cleveland Indians

  • Center Field: Willie McGee - 1982-1999
    • Career AVG/OBP/SLG/OPS: .295/.333/.396/.729
    • Teams: St. Louis Cardinals, Oakland Athletics, San Francisco Giants, Boston Red Sox

  • Right Field: George Browne - 1901-1912
    • Career AVG/OBP/SLG/OPS: .273/.318/.339/.657
    • Teams: Philadelphia Phillies, New York Giants, Boston Braves, Chicago Cubs, Washington Senators, Chicago White Sox, Brooklyn Dodgers
Bench Players
  • Utility Infielder: Carlos Baerga - 1990-2005
    • Career AVG/OBP/SLG/OPS: .291/.332/.423/.755
    • Teams: Cleveland Indians, New York Mets, San Diego Padres, Boston Red Sox, Arizona Diamondbacks, Washington Nationals

  • Utility Infielder: Rich Aurilia - 1995-2007*
    • Career AVG/OBP/SLG/OPS: .276/.330/.439/.769
    • Teams: San Francisco Giants, Seattle Mariners, San Diego Padres, Cincinnati Reds

  • Outfielder: Curt Flood - 1956-1971
    • Career AVG/OBP/SLG/OPS: .293/.342/.389/.731
    • Teams: Cincinnati Reds, St. Louis Cardinals, Washington Senators

  • Outfielder: Garry "Secretary of Defense" Maddox - 1972-1986
    • Career AVG/OBP/SLG/OPS: .285/.320/.413/.733
    • Teams: San Francisco Giants, Philadelphia Phillies

  • Catcher: Ron Hassey - 1978-1991
    • Career AVG/OBP/SLG/OPS: .266/.340/.382/.722
    • Teams: Cleveland Indians, Chicago Cubs, New York Yankees, Chicago White Sox, Oakland Athletics, Montreal Expos
*I know Aurilia is still active, but he's the only true utility infielder who has a 100 career OPS+.

I'm going to assume the manager for the All-Time Average Joes team will want a lot of relievers to protect the slim leads his guys might eke out from time to time, so I'll leave the active roster with 13 players. A few of the guys on the list had plus defense to make up for their average offensive skills, so I would guess there'd be a number of defensive switches late in games as well.

Friday, January 25, 2008

Getting Worse as the Game Goes On

As mentioned yesterday, there are always exceptions to the rule in baseball. Though the majority of players improve the more they see a pitcher in a certain game, some unlucky few actually do worse. A lot of this is because of the BABIP concept I brought up yesterday: if you're not getting bloop singles, your batting average, OBP, and slugging percentage will all go down. Thus a number of the players on the list below may simply have had a big downturn in their BABIP causing their OPS to drop. A few, whom I'll note after the list, actually have seen this sort of drop, though not as dramatic, throughout their careers. I've kept the last column of the table as "OPS Increase" just so it's not confusing switching between this post and the last one; that's why there are a bunch of negatives.

Facing Opposing Starters in a Game
Largest Decrease in OPS, 1st to 3rd (or greater) Time

RankName1st Time vs. SP2nd Time vs. SP3rd+ Time vs. SPOPS Increase
(1st to 3rd+)
1Jack Wilson131 PA, 1.014 OPS127 PA, .772 OPS92 PA, .571 OPS-.443
2Morgan Ensberg74 PA, .940 OPS62 PA, .834 OPS59 PA, .528 OPS-.412
3Gary Matthews
136 PA, .889 OPS133 PA, .716 OPS131 PA, .526 OPS-.363
4Adam LaRoche148 PA, .920 OPS145 PA, .884 OPS135 PA, .585 OPS-.335
5Jim Thome124 PA, 1.104 OPS118 PA, 1.041 OPS126 PA, .821 OPS-.283
6Yunel Escobar77 PA, 1.004 OPS73 PA, 1.040 OPS60 PA, .726 OPS-.278
7Matt Diaz81 PA, 1.235 OPS75 PA, .844 OPS52 PA, .967 OPS-.269
8Alex Gonzalez103 PA, .916 OPS96 PA, .824 OPS66 PA, .647 OPS-.268
9Bobby Crosby92 PA, .773 OPS89 PA, .674 OPS65 PA, .505 OPS-.268
10Jason Kendall131 PA, .625 OPS124 PA, .848 OPS77 PA, .360 OPS-.264
11Hideki Matsui143 PA, .999 OPS139 PA, .921 OPS114 PA, .739 OPS-.259
12Adam Kennedy75 PA, .702 OPS73 PA, .809 OPS57 PA, .443 OPS-.259
13Barry Bonds116 PA, 1.219 OPS114 PA, 1.084 OPS116 PA, .963 OPS-.256
14Luis Gonzalez131 PA, .939 OPS126 PA, .831 OPS103 PA, .684 OPS-.255
15Kevin Millar135 PA, .960 OPS132 PA, .773 OPS121 PA, .706 OPS-.254
16Chad Tracy63 PA, .928 OPS59 PA, 1.084 OPS55 PA, .681 OPS-.247
17Frank Catalanotto92 PA, 1.095 OPS87 PA, .495 OPS89 PA, .849 OPS-.246
18Rob Mackowiak82 PA, .823 OPS73 PA, .726 OPS51 PA, .592 OPS-.231
19Mike Redmond72 PA, .740 OPS71 PA, .715 OPS53 PA, .512 OPS-.228
20Jack Cust115 PA, .977 OPS108 PA, 1.039 OPS98 PA, .757 OPS-.220
21Nick Markakis158 PA, .983 OPS157 PA, .833 OPS175 PA, .773 OPS-.210
22Gary Sheffield131 PA, .985 OPS128 PA, .967 OPS137 PA, .777 OPS-.207
23Bengie Molina126 PA, .913 OPS124 PA, .647 OPS98 PA, .706 OPS-.207

These twenty-three players were the only ones to see a 200 (or more) point decrease in their OPS over the course of a game. Guys like Molina and Catalanotto actually did the worst in their second times to the plate while Chad Tracy, Adam Kennedy, and Jason Kendall improved before crashing downward.

Kendall is a good case study again of the effects of BABIP. He can't hit in the first place, and this is borne out by his .625 OPS with a .252 BABIP in the first column. That .252 is kind of low (again, the MLB average was .305), but .625 is also a little below what you would've expected him to hit anyway. Then in the second time against the same pitcher, his BABIP jumps to .353 and his OPS hops up to .848 - more balls were falling in and, when they did, they went for extra bases. Finally, in the last column, his BABIP fell to an awful .164 and his OPS crashed to an anemic .360. When you look at his career splits (scroll down about 2/3 of the page), you can see that he's usually a normal player, improving slightly against pitchers as the game wears on. This season, however, BABIP wreaked havoc on his numbers.

Only two members of the list saw their BABIP actually increase while their OPS went down. Rob Mackowiak's went from .269 to .360 to .308 and his OPS fell at every step. Gary Sheffield had a barely noticeable .259 to .277 to .260, and his OPS also fell at every step. Kind of strange, but both players' slugging percentages also went down through the game so perhaps they hits they were getting didn't go for extra bases.

Finally, a few players from this list have seen dips in their OPS across their careers. I'm going to express their numbers in the form OPS/BABIP for the 1st, 2nd, and 3rd+ time facing an opposing starter.
  • Morgan Ensberg: .924/.307 to .779/.287 to .893/272
  • Adam LaRoche: .819/.315 to .884/.321 to .810/.307
  • Yunel Escobar, though 2007 was his first season.
  • Hideki Matsui: .884/.302 to .836/.304 to .850/.305
  • Adam Kennedy: .776/.329 to .760/.326 to .677/.288
  • Rob Mackowiak: .768/.332 to .669/.286 to .717/.310
  • Mike Redmond: .755/.318 to .732/.321 to .747/.329
  • Most of Jack Cust's numbers are fueled by 2007.
  • Nick Markakis: .841/.330 to .888/.347 to .806/.295
  • Gary Sheffield: .945/.290 to .953/.288 to .904/.282
Now, most of these changes are almost unnoticeable. Frankly, is it going to bother you that Hideki Matsui dips to a still-good .850 at the end of games? Ditto Adam LaRoche, Ensberg, Markakis, Sheffield, etc. Adam Kennedy and Rob Mackowiak are kind of weird, but perhaps not incredibly so since they're not power threats and their BABIP fluctuates as well.

Of course, in the end, you just look at the fact there's not many plate appearances to work with for a lot of guys and decide this all doesn't mean anything anyway. :)

Thursday, January 24, 2008

Getting Better as the Game Goes On

It's kind of intuitive that as a baseball game goes on, batters will hit the opposing starter better. This is a mixture of seeing the guy's arsenal on that night and perhaps being able to judge a little more accurately what he's going to throw you next, as well as the simple fact that after 80, 90, 100 pitches, a pitcher will be tired. This is borne out in league numbers:

National League, Times vs. Opposing Starter in a Game, 2007
  • 1st: .259/.323/.412, .735 OPS
  • 2nd: .270/.334/.433, .767 OPS
  • 3rd or greater: .293/.357/.480, .837 OPS
American League, Times vs. Opposing Starter in a Game, 2007
  • 1st: .269/.333/.421, .754 OPS
  • 2nd: .276/.337/.432, .769 OPS
  • 3rd or greater: .286/.346/.454, .800 OPS
Today I want to list the players who benefited most from seeing starters more and the players who were actually hurt by seeing pitchers a second and third time. Sample sizes will be pretty small (you can only face a starting pitcher for the first time in a game 162 times per year), but I'm making the minimum requirement 50 plate appearances in each situation. Still a drop in the bucket overall, but it's harder to get on base 40 out of 50 times than it is 8 out of 10 times.

Facing Opposing Starters In a Game
Largest Increase in OPS, 1st to 3rd (or greater) Time

RankName1st Time vs. SP2nd Time vs. SP3rd+ Time vs. SPOPS Increase
(1st to 3rd+)
1Ben Broussard59 PA, .390 OPS55 PA, .757 OPS50 PA, 1.337 OPS.947
2Jason Kubel115 PA, .567 OPS109 PA, .914 OPS92 PA, 1.233 OPS.666
Milton Bradley59 PA, .491 OPS56 PA, .924 OPS53 PA, 1.157 OPS.666
Gregg Zaun93 PA, .467 OPS86 PA, .741 OPS60 PA, 1.048 OPS.581
Joe Mauer106 PA, .529 OPS104 PA, .786 OPS112 PA, 1.048 OPS.519
Juan Encarnacion74 PA, .560 OPS71 PA, .861 OPS56 PA, 1.044 OPS.484
Carl Crawford140 PA, .639 OPS136 PA, .829 OPS146 PA, 1.114 OPS.475
Jeremy Hermida113 PA, .662 OPS110 PA, .920 OPS91 PA, 1.123 OPS.461
Nate McLouth83 PA, .594 OPS67 PA, 1.024 OPS67 PA, 1.055 OPS.461
Chase Utley131 PA, .706 OPS129 PA, .922 OPS118 PA, 1.151 OPS.445
Jose Lopez141 PA, .430 OPS137 PA, .742 OPS98 PA, .866 OPS.436
Jason Varitek122 PA, .493 OPS117 PA, .841 OPS81 PA, .901 OPS.408
Ronny Paulino121 PA, .556 OPS116 PA, .823 OPS72 PA, .962 OPS.406
A.J. Pierzynski117 PA, .536 OPS112 PA, .762 OPS95 PA, .941 OPS.404

I have a few things to note about that list. I stopped at fourteen because those were the only guys matching the criteria to see a 400 point increase in their OPS. A number of those low OPS's in the first column are due to a low Batting Average on Balls In Play (BABIP). If you're in a slump, it might be because bloop hits that were falling in last week are suddenly being caught more often or ground balls that used to sneak through the hole are finding their way into the shortstop's glove instead. This isn't really the batter's fault; it's just one of the vagaries of the game. BABIP is useful for quantifying those things.

I bring this up because Gregg Zaun's .467 OPS in the first column is affected by his very low .157 BABIP (the ML average last season was .305). Once his BABIP got to a more normal .279 in the second column, his numbers look more like his career numbers. It works the other way, as well. In the last column, Zaun's BABIP was .350; his OPS spiked upward as a result.

I find it interesting, however, that not everyone on the list saw their BABIP go up to such a degree across all the columns. Sure, Ben Broussard's BABIP jumped .276 from the first column to the last and subsequently he leads the list, but Sammy Sosa's BABIP only went from .317 to .338 to .323; for whatever reason the balls he did hit late in the game went for more bases, driving his OPS up.

Brad Wilkerson isn't one of the fourteen guys listed above, but he is another weird case. He had a .715 OPS when facing starters for the first time with a .357 BABIP. His second time up, those numbers changed to .826 and .217 -- by the third time, he was at 1.004 and .250, respectively. He managed to increase his OPS while getting hits to fall in less. Other players with a 200 (or more) point increase in OPS but an overall decrease in BABIP were Carlos Beltran (.278/-.051), Khalil Greene (.249/-.019), and Miguel Cabrera (.235/-.067).

Tomorrow I plan on looking at guys who bucked the trend and managed to hit worse as games wore on. A hint: of the four guys at the top (bottom?) of that list, one has been a mediocre hitter for most of his career, one was designated for assignment in the middle of the season, one was a big free agent signing, and the last was a big part of a trade last offseason.

Thursday, December 13, 2007

Worst Minor League OPS's in 2007

Looking for something to do in order to unwind during finals week, I hit upon the idea of finding the lowest OPS's put up by minor leaguers during the 2007 season. I know you can find them at the official site of Minor League Baseball but I wanted to put the information for all the leagues in one place. The minimum requirement to qualify for the major league batting title is 3.1 PA/game but the minor leagues use 2.7 PA/game; this is the number I used to calculate the minimum plate appearances needed in each league. I also calculated the average number of games played by each team in each league to find the number of "league games" used in the calculation of the plate appearances requirement. Each entry contains the player's name, his position, his minor league team (and its major league affiliation), his OPS, and his age in parentheses at the end of the line.

Lowest OPS's In Each Minor League, 2007

  • International League - 143 G, minimum 386 PA (Average OPS/Age: .728/27.3)
    1. Danny Sandoval, SS, Ottawa (PHI) - .567 (28)
    2. Dane Sardinha, C, Toledo (DET) - .580 (28)
    3. David Espinosa, RF, Toledo (DET) - .585 (25)
    4. Ed Rogers, SS, Pawtucket (BOS) - .624 (28)
    5. Elliot Johnson, 2B, Durham (TBD) - .627 (23)
  • Pacific Coast League - 144 G, minimum 389 PA (Average OPS/Age: .783/27.0)
    1. Oswaldo Navarro, SS, Tacoma (SEA) - .632 (22)
    2. Lou Merloni, 3B, Sacramento (OAK) - .665 (36)
    3. Josh Anderson, LF, Round Rock (HOU) - .666 (24)
    4. Nick Stavinoha, OF, Memphis (STL) - .682 (25)
    5. Kevin Mahar, OF, Oklahoma (TEX) - .692 (26)
  • Eastern League - 141 G, minimum 381 PA (Average OPS/Age: .734/25.4)
    1. Ryan Klosterman, 3B, New Hampshire (TOR) - .583 (25)
    2. Luis Hernandez, SS, Bowie (BAL) - .592 (23)
    3. Gabe Lopez, 2B, Trenton (NYY) - .631 (27)
    4. P.J. Pilittere, C, Trenton (NYY) - .654 (25)
    5. Kody Kirkland, 3B, Erie (DET) - .657 (24)
  • Southern League - 139 G, minimum 375 PA (Average OPS/Age: .726/24.4)
    1. Christopher Kelly, 3B, Birmingham (CHW) - .567 (25)
    2. Christopher Minaker, SS, West Tenn (SEA) - .570 (23)
    3. Gary Cates, SS, Tennessee (CHC) - .616 (25)
    4. Van Pope, 3B, Mississippi (ATL) - .637 (23)
    5. Josh Asanovich, 2B, Montgomery (TBD) - .650 (24)
  • Texas League - 139 G, minimum 375 PA (Average OPS/Age: .744/24.7)
    1. Cody Fuller, OF, Arkansas (LAA) - .588 (24)
    2. Irving Falu, 2B, Wichita (KCR) - .592 (24)
    3. Michael Collins, 1B, Arkansas (LAA) - .619 (22)
    4. Onil Joseph, OF, Wichita (KCR) - .634 (25)
    5. Jonathan Herrera, SS, Tulsa (COL) - .653 (22)
  • California League - 140 G, minimum 378 PA (Average OPS/Age: .770/23.2)
    1. Anthony Contreras, OF, San Jose (SFG) - .523 (23)
    2. Matt Smith, SS, Bakersfield (TEX) - .582 (24)
    3. Pedro Ciriaco, SS, Visalia (ARI) - .608 (21)
    4. Brian Bocock, SS, San Jose (SFG) - .621 (22)
    5. Jeffery Dominguez, SS, High Desert (SEA) - .675 (20)
  • Carolina League - 138 G, minimum 373 PA (Average OPS/Age: .732/23.4)
    1. Miguel Vega, 1B, Wilmington (KCR) - .602 (21)
    2. Pedro Powell, OF, Lynchburg (PIT) - .629 (23)
    3. Marc Maddox, 2B, Wilmington (KCR) - .648 (23)
    4. Quentin Davis, OF, Myrtle Beach (ATL) - .650 (24)
    5. Mike Butia, OF, Kinston (CLE) - .656 (24)
  • Florida State League - 139 G, minimum 375 PA (Average OPS/Age: .713/23.4)
    1. Hunter Vick, 2B, Vero Beach (TBD) - .536 (25)
    2. Agustin Septimo, SS, Jupiter (FLA) - .560 (23)
    3. James Rapoport, OF, Palm Beach (STL) - .590 (22)
    4. Ovandy Suero, OF, Lakeland (DET) - .601 (25)
    5. Tim Battle, CF, Tampa (NYY) - .602 (21)
  • Midwest League - 139 G, minimum 375 PA (Average OPS/Age: .696/21.8)
    1. Preston Mattingly, 2B, Great Lakes (LAD) - .548 (19)
    2. Audy Ciriaco, SS, West Michigan (DET) - .565 (20)
    3. Garrett Olson, OF, Beloit (MIN) - .591 (22)
    4. Derrick Robinson, CF, Burlington (KCR) - .599 (19)
    5. Daryl Jones, OF, Quad Cities (STL) - .600 (20)
  • South Atlantic League - 138 G, minimum 373 PA (Average OPS/Age: .735/22.2)
    1. Ralph Henriquez, C, Lexington (HOU) - .506 (20)
    2. Pedro Florimon Jr., SS, Delmarva (BAL) - .529 (20)
    3. Francisco Pena, C, Savannah (NYM) - .547 (17)
    4. C.J. Henry, OF, Lakewood (PHI) - .559 (21)
    5. Jairo de la Rosa, SS, Columbus (TBD) - .564 (21)
  • New York-Penn League - 75 G, minimum 203 PA (Average OPS/Age: .697/21.5)
    1. Austin McClune, OF, State College (PIT) - .587 (19)
    2. Thomas Pham, OF, Batavia (STL) - .588 (19)
    3. Craig Corrado, 1B, Tri-City (HOU) - .589 (22)
    4. Luis Sanchez, SS, Auburn (TOR) - .600 (20)
    5. Jake Rogers, SS, Vermont (WSN) - .603 (23)
  • Northwest League - 76 G, minimum 205 PA (Average OPS/Age: .730/21.1)
    1. Andres James, SS, Spokane (TEX) - .430 (19)
    2. Marc Sawyer, 1B, Boise (CHC) - .548 (21)
    3. Ogui Diaz, 2B, Everett (SEA) - .572 (21)
    4. Shane Keough, OF, Vancouver (OAK) - .598 (20)
    5. Walter Correa, IF, Vancouver (OAK) - .604 (20)
  • Appalachian League - 68 G, minimum 184 PA (Average OPS/Age: .712/20.5)
    1. Michael Gioioso, SS, Bluefield (BAL) - .539 (22)
    2. Dustin Biell, OF, Princeton (TBD) - .558 (18)
    3. Hancer Vargas, SS, Bristol (CHW) - .585 (18)
    4. Antonio Jimenez, IF, Burlington (KCR) - .605 (20)
    5. Neder Severino, OF, Burlington (KCR) - .633 (19)
  • Pioneer League - 76 G, minimum 205 PA (Average OPS/Age: .760/21.2)
    1. Manuel Juan, SS, Idaho Falls (KCR) - .483 (21)
    2. Reynaldo Navarro, SS, Missoula (ARI) - .557 (17)
    3. Jimmy Principe, OF, Missoula (ARI) - .642 (21)
    4. Scott Robinson, OF, Casper (COL) - .651 (18)
    5. Michael Jones, OF, Billings (CIN) - .656 (20)
  • Arizona League - 56 G, minimum 151 PA (Average OPS/Age: .727/20.3)
    1. Fernando Cruz, IF, AZL Royals (KCR) - .519 (17)
    2. Emmanuel Solis, 3B, AZL Rangers (TEX) - .553 (18)
    3. Hilton Richardson, OF, AZL Royals (KCR) - .599 (18)
    4. Lifete Jose, SS, AZL Royals (KCR) - .603 (18)
    5. Jacob Kaase, SS, AZL Rangers (TEX) - .612 (21)
  • Dominican Summer League - 68 G, minimum 184 PA (Average OPS/Age: .658/18.5)
    1. Yarody Santos, SS, DSL Rockies (COL) - .455 (17)
    2. Jhonaldo Pozo, 3B, DSL Padres (SDP) - .455 (18)
    3. Jose Carmona, SS, DSL Diamondbacks (ARI) - .457 (18)
    4. Luis Campusano, C, DSL Mets (NYM) - .460 (21)
    5. Cesar Sosa, LF, DSL Padres (SDP) - .466 (18)
  • Gulf Coast League - 57 G, minimum 154 PA (Average OPS/Age: .691/20.6)
    1. Balbino Fuenmayor, SS, GCL Blue Jays (TOR) - .485 (17)
    2. Romulo Ruiz, IF, GCL Cardinals (STL) - .488 (17)
    3. Alexis Oliveras, OF, GCL Reds (CIN) - .493 (18)
    4. Justin Jackson, SS, GCL Blue Jays (TOR) - .515 (18)
    5. Radhames Moreta, SS, GCL Reds (CIN) - .528 (20)
  • Venezuelan Summer League - 69 G, minimum 186 PA (Average Age: .699/17.6)
    1. Luis Rojas, OF, VSL Mets (NYM) - .483 (18)
    2. Ronald Torrealba, SS, VSL Tigers (DET) - .529 (17)
    3. Peter Jaspe, LF, VSL Cardinals (STL) - .533 (17)
    4. Billy Bolivar, OF, VSL Cardinals (STL) - .551 (19)
    5. Jose Guevara, C, VSL Cubs/Twins (CHC) - .554 (19)