Baseball by the numbers: OPS+ not perfect, but it’s a useful tool

SHARE Baseball by the numbers: OPS+ not perfect, but it’s a useful tool

White Sox outfielder Adam Eaton’s .763 OPS last season translated into a better-than-average 117 OPS+. | Orlin Wagner/AP


For the Sun-Times

Modern metrics give us methods to compare players in different ballparks, different leagues and even different eras. Each run is more valuable in times and ballparks in which fewer runs are scored, so accounting for park and league differences is necessary for meaningful comparisons.

Just as lists ERA+ for pitchers, it lists OPS+ for hitters. It starts with on-base percentage and slugging percentage, compares them to league averages, adjusts for all the ballparks a hitter plays in and puts it on a scale so that 100 represents the league average.

To see how it works, check out a number of players with similar OPSes in different contexts. The White Sox’ Adam Eaton had a .763 OPS last season. With no adjustments, that put him in a cluster with Torii Hunter (.765 with the Tigers), Christian Yelich (.764 with the Marlins) and Brian Dozier (.762 with the Twins). However, once league averages and park effects were factored in, Eaton led that group with a 117 OPS+, meaning he produced at 117 percent of a league-average hitter. He was followed by Dozier (114), Yelich (112) and Hunter (110).

American League teams averaged 4.18 runs last season. In 1968, they averaged 3.4; in 1930, they averaged 5.4. That made an OPS near Eaton’s .763 more valuable in 1968, when .764 by the Yankees’ Roy White translated to a star-level 137 OPS+, but less valuable in 1930, when .763 by the Senators’ Ossie Bluege translated to a below-average 93 OPS+.

In times of rapidly changing conditions, you can make the comparison with individual players. In 1968, an .832 OPS by the Cubs’ Billy Williams translated to a 142 OPS+. The next season, the strike zone shrank, the mound was lowered and offense rose. Williams’ raw OPS was in the same neighborhood at .828, but it wasn’t as strong relative to the league average, and his OPS+ dropped to 119.

The basic formula is 100 x (OBP/league OBP + SLG/league SLG – 1). Last season, the average on-base percentage in the AL was .316 and the average slugging percentage was .390. So for a hitter right on the league averages, you’d have 100 x (.316/.316 + .390/.390 -1), which reduces to 100 x (1 + 1 – 1). That gives you the league average of 100. Average offense at all ballparks in which a hitter played is factored in to yield the final OPS+.

Because OPS+ is based on OPS, it takes on the weaknesses of OPS. OPS undervalues walks and doesn’t factor in baserunning. Calculations that better weight all offensive contributions (runs created, base runs and weighted on-base average) correlate better to runs than OPS does, and derived stats (wins above replacement and win shares) are stronger comparisons than OPS+ across varying conditions.

Still, OPS is easy to understand at a glance and has gained widespread currency among fans. By normalizing to league and ballparks, OPS+ takes it a step further and gives us a way to compare hitters playing under different conditions.

The Latest
Biles, who is a five-time all-around world champion and seven-time Olympic medalist, registered the best scores on floor exercise, vault and balance beam.
The Red Sox announced his death in a statement Sunday.
Downers Grove North’s young quarterback, the South Side super bowls, the area’s hottest team and South Elgin’s streak end.
Even if it was against a defense that makes everyone look good, Justin Fields was exceptional in the first half Sunday, posting the best 30-minute span of his passing career.
No. 2 Michigan got 12 first-place votes and 1,436 points but nearly was passed by No. 3 Texas, which received 10 first-place votes and 1,426 points. Both the Wolverines and Longhorns won big on Saturday.