2022 Blogmas Day 3 – OPS and OPS+

BA, OBP, and SLG make up what is typically known as the triple slash line for hitting. You’ll often see something written like .275/.310/.382. That is BA, OBP, and SLG in order. However, we do like our summary statistics that reduce how many numbers we need to compare for making quick calls, so we use OPS: On Base plus Slugging.

Just like slugging isn’t really a meaningful percentage, it’s really just an average or rate, OPS is even more far afield mathematically: we’re adding two statistics with entirely different denominators to get a final made-up number.

And yet, OPS is the fastest way to quickly compare “total offensive production”. We take how often they get on base, add how quickly they accrue bases via their hitting, and et voila we get a new number that we have some sense for. Roughly speaking, an OPS over 1.000 is exceptional, while the league average is typically somewhere in the .700-.760 range. Of course OPS isn’t perfect, which we’ll discuss tomorrow, but its relative values tend to align with more advanced statistics.

But, let’s get to the meat of this article. Anytime you see a “+” appended to a baseball statistic, that means it is a league-adjusted, and probably park-adjusted statistic. We normalize it to the run-scoring environment of the league each season, and account for additional factors like how some ballparks are simply more favorable for hitters than others.

Here are the basic tenets of these “+” statistics, which will include OPS+:

  • 100 is always the league average.
  • It’s a percentage score, so someone with a value of 150 is 50% “better” in that statistic than league average.

Because of this normalization, we can pretty confidently make direct comparisons across seasons, even decades apart, to see how some players perform compared to how players years ago were relative to their play. Something like OPS+ still won’t tell us “How much better is Babe Ruth than Jim Thome?”, but it will tell us “Was Babe Ruth way better compared to his peers than Jim Thome was compared to his peers?”

There’s an additional layer of abstraction, but it’s still extremely useful to explore.

Adjustment Factors
These are calculated each year, looking at the offensive environment in each ballpark. You can see the official MLB numbers here. In short, we compare every player’s performance in a single ballpark to their performance everywhere else, and put it on the same “+” scale where 100 is league average.

Things get a little strange, because MLB has access to some different numbers, and things change when you consider historical data. Baseball-Reference explains their approach here, where they do a running-average on their park adjustment factors to account for lack of historical data.1More specifically, a little less than 10 years ago MLB introduced Statcast, which allows tracking of a lot more information, including the speed and angle at which a ball is hit. So we’ve introduced more data to get more accurate statistics, but we still would like to have some idea of these statistics from the past.

Ultimately there is not much difference between the approaches from different sources, and OPS+ is a good measurement wherever you get it from. Even disregarding adjustment factors, having it on a sensible scale, comparable scale is beneficial.2Again, OPS itself is a meaningless value in terms of units, so we might as well rescale it and confirm its lack of units.

Finally, some fun facts.

  • From the ages of 25 – 30, Jim Thome had an OPS+ of 153, which isn’t bad at all! That is 53% better than league average.
  • From the ages of 25 – 30, Babe Ruth had an OPS+ of 218, which is wild.

Continue to Day 4 – Weighted On Base Average

  • 1
    More specifically, a little less than 10 years ago MLB introduced Statcast, which allows tracking of a lot more information, including the speed and angle at which a ball is hit. So we’ve introduced more data to get more accurate statistics, but we still would like to have some idea of these statistics from the past.
  • 2
    Again, OPS itself is a meaningless value in terms of units, so we might as well rescale it and confirm its lack of units.

Leave a Reply