The 15 worst hitters of the 21st century, ranked
Using OPS+ (along with several other metrics), we've compiled the 15 worst single seasons for qualified hitters of the 2000s. OPS+ is a variation of on-base plus slugging percentage adjusted based on conditions such as ballpark effects. (Note: league average OPS+ is 100).
MORE: MLB's worst contracts | Best baseball cards of the '80s and '90s
Chris Davis' 2018 season is the most recent dud, but there are plenty of other examples of meager hitting throughout the past 19 years.
Here are the 15 worst seasons for hitters in the 21st century. Royals and Rockies fans may want to shield their eyes.
Neifi Perez, 2002 Royals
OPS+: 45.5
Batting average: .236
Strikeout percentage: 9.1 percent
Batter WAR: -3.9
What followed: Perez stayed in the major leagues for another five seasons after 2002, playing for three different teams over that span before his career ended at 34 years old. Fortunately for the shortstop, his numbers were never as bad as they were that season — his last in Kansas City — although they were never great either. He hit .256 with a 63 OPS+ from 2003 to 2007.
Omar Infante, 2015 Royals
OPS+: 46.3
Batting average: .217
Strikeout percentage: 15.2 percent
Batter WAR: -2.8
What followed: Infante retired after the 2016 without much improvement at the plate. He finished his career with an 87 OPS+.
Clint Barmes, 2006 Rockies
OPS+: 47
Batting average: .220
Strikeout percentage: 13.5 percent
Batter WAR: -3.6
What followed: Barmes spent most of the next season in Triple-A, but has been a mainstay in the major leagues since. He’s split time between second base and shortstop and played in at least 100 games between 2008 and 2013, sporting a 78 OPS+ in that span. Barmes, 36, is hitting .250 in 91 games in his first season with the Padres.
Cesar Izturis, 2010 Orioles
OPS+: 48.4
Batting average: .230
Strikeout percentage: 10.3 percent
Batter WAR: -2.9
What followed: Izturis played for four different teams over the next three years before his career ended in 2013. 2010, however, was the shortstop’s last full season in the majors. He made just 348 plate appearances between 2011-13, hitting .225 with a 51 OPS+ in that span before his career ended at 33 years old.
Chris Davis, 2018 Orioles
OPS+: 49
Batting average: .168
Strikeout percentage: 36.8 percent
Batter WAR: -2.5
What followed: Davis began the 2019 season by finishing the longest hitless skid in MLB history. He's been a bit better since then, but he's still hitting under .200 as of mid-May. Signed to an expensive deal with the Orioles, he probably isn't going anywhere any time soon.
Nick Punto, 2007 Twins
OPS+: 50.8
Batting average: .210
Strikeout percentage: 16.8 percent
Batter WAR: -2.8
What followed: Punto stuck around in the majors over the next seven seasons because he was a serviceable utility player, but his production at the plate hardly improved as he hit .246 with an 81 OPS+ between 2008 and 2014. Punto, 37, signed a one-year deal with the Diamondbacks in the 2015 offseason but chose to sit out that campaign.
Angel Berroa, 2006 Royals
OPS+: 52.4
Batting average: .234
Strikeout percentage: 17.5 percent
Batter WAR: -2.8
What followed: Berroa spent the rest of his professional career in the minor leagues with a few big league callups mixed in. It was a disappointing turn for a shortstop who won Rookie of the Year with the Royals in 2003. Berroa’s tenure in Kansas City ended in 2008 when he was shipped to the Dodgers. He played in four more organizations over the next three seasons before going to Mexico, where he played as recently as this season, in 2013.
Ronny Cedeno, 2006 Cubs
OPS+: 53.6
Batting average: .245
Strikeout percentage: 19.1
Batter WAR: -2.2
What followed: Cedeno’s rookie year was a forgettable one, and the beginning of what's been an unremarkable career. The shortstop has bounced between the Triple-A and the big leagues in the 10 seasons since, playing in just 683 major-league games and hitting .243 with a 75 OPS in that span. Cedeno spent half of 2015 in the Giants organization before playing in Mexico in late-July.
Billy Hamilton, 2015 Reds
OPS+: 52
Batting average: .227
Strikeout percentage: 16.9 percent
Batter WAR: -2.2
What followed: The centerfielder, now with the Royals, continues to be a prodigious stolen base threat but below-average hitter.
Juan Uribe, 2002 Rockies
OPS+: 53.9
Batting average: .240
Strikeout percentage: 19.4 percent
Batter WAR: -3.3
What followed: Uribe has maintained his major league career since that ugly rookie season, hitting .256 with a 91 OPS+ in the last 13 years. The infielder has played for five different teams since 2004, three of which he’s played for this season. He slashed .249/.319/.409 for the Dodgers, Braves and Mets in 2015 and played his final year in 2016.
Alcides Escobar, 2013 Royals
OPS+: 54
Batting average: .234
Strikeout percentage: 13.1 percent
Batter WAR: -3.2
What followed: Escobar played what was likely his final MLB season in 2018.
Brad Ausmus, 2006 Astros
OPS+: 54.7
Batting average: .230
Strikeout percentage: 14.1 percent
Batter WAR: -2.3
What followed: Ausmus played one full major-league season in 2007 before splitting the next three years between the minor and major leagues. By this point the catcher was in his late-30s and in his twilight, so the dropoff in production wasn’t a surprise. He hit .238 in 374 at-bats between 2008 and 2010 before retiring at 41 years old. He’s now the manager of the Angels.
Willy Taveras, 2008 Rockies
OPS+: 55
Batting average: .251
Strikeout percentage: 14.7 percent
Batter WAR: -2.5
What followed: 2008 was Taveras’ last with the Rockies. He played for the Reds in 2009 before making just 37 plate appearances for the rest of his major league career. The outfielder had three strong seasons in which he hit .293 with a 78 OPS+ before 2008 derailed his career. He's played in seven different organizations from 2008 to 2013, when his career ended in Triple-A with the Royals.
Mike Lansing, 2000 Rockies/Red Sox
OPS+: 55.1
Batting average: .240
Strikeout percentage: 13.7 percent
Batter WAR: -1.5
What followed: Lansing played one more season with the Red Sox in 2001 before his career ended at 33 years old. His value at that point in his major league tenure came as a utility infielder. However, he had hit .310 — the best average of his career — with Colorado in 1999. He was traded as an asset to Boston as part of a trade deadline deal in 2000, and hit .234 with a 58 OPS+ in his year and a half with the Sox.
Brad Ausmus, 2003 Astros
OPS+: 55.3
Batting average: .229
Strikeout percentage: 13 percent
Batter WAR: -2.3
What followed: Ausmus was the only player to make this list twice. As a catcher his numbers were never meant to be impressive, but they regressed more drastically as he entered his 30s. Ausmus was an All-Star in 1999 and retired in 2010 after an 18-year career.