OPS stands for On-base Plus Slugging, and it might be the single most useful offensive stat in baseball. Add a hitter’s on-base percentage to their slugging percentage and you get one number that tells you almost everything about their offensive value: how often they reach base and how much damage they do when they hit it. The scale is intuitive once you know it. Babe Ruth, the all-time leader, had a career OPS of 1.1636. League average for a full-time MLB hitter is around .730. Anything above .900 is elite. Anything above 1.000 is historic.
This guide covers everything: how OPS is calculated, what counts as a good OPS at every level, the all-time career leaders, the most dominant single-season records, and why modern analysts often use OPS+ instead of raw OPS for cross-generation comparisons.
Contents
OPS complete reference
How OPS is calculated
OPS is the sum of two component stats:
On-Base Percentage (OBP) = (Hits + Walks + Hit-By-Pitches) ÷ (At-Bats + Walks + Hit-By-Pitches + Sacrifice Flies)
OBP measures how often a hitter reaches base. It includes hits, walks, and hit-by-pitches, but doesn’t count errors or fielder’s choice plays. The denominator includes everything that counts as a “plate appearance” except sacrifice bunts.
Slugging Percentage (SLG) = (Singles + 2×Doubles + 3×Triples + 4×Home Runs) ÷ At-Bats
Slugging measures total bases per at-bat. Each hit type is weighted by its base value — a single counts as 1, a double as 2, a triple as 3, a home run as 4. Walks and hit-by-pitches don’t count for slugging because they don’t generate bases beyond first.
OPS = OBP + SLG
That’s it. The two numbers get added together. The result is a single statistic that captures both a hitter’s discipline at the plate and their power production. The simplicity is part of why OPS became popular in the 2000s as analytics took over baseball — it’s not as elegant as wOBA or as comprehensive as WAR, but it’s easy to calculate, easy to explain, and tells you 90% of what you need to know about a hitter’s offensive value.
What is a good OPS in baseball?
The OPS scale follows a fairly clear hierarchy in MLB:
- 1.000+ — Historic. Only 10 players in MLB history have a career OPS above 1.000.
- .900-.999 — Excellent. MVP candidate territory. Probably hitting .300+ with 30+ home runs.
- .834-.899 — Very Good. All-Star caliber. Strong middle-of-the-order bat.
- .767-.833 — Above Average. Solid contributor on a contending team.
- .700-.766 — Average. Roughly the median for full-time MLB players.
- .634-.699 — Below Average. Replacement-level offense, usually a glove-first player.
- Below .634 — Poor. Defensive specialist or struggling.
The .767 threshold for “good” comes from combining what’s considered above-average for both component stats: a .360 OBP is good, a .450 SLG is the league-average baseline, and adding them gives you .810 — well clear of the .767 minimum. League-average MLB hitters land around .730 OPS in a normal season.
The all-time OPS leaders
The career OPS list is dominated by two eras: the live-ball era of the 1920s-1940s (Ruth, Gehrig, Williams, Foxx) and the steroid era of the late 1990s-2000s (Bonds, McGwire, Manny Ramirez). The chart above includes the top 30, but here’s the headline: only 10 MLB players in history have a career OPS above 1.000.
Babe Ruth’s 1.1636 career OPS is the all-time record, and it’s untouchable. Ruth combined 714 home runs (untouched until 1974) with a .474 on-base percentage that ranks 2nd all-time behind Ted Williams. Across 22 seasons, Ruth never had a year where his OPS dropped below .900 once he became a full-time hitter in 1919. The closest active player to Ruth’s career OPS is Aaron Judge at .9933, and even Judge would need to maintain his current pace for another decade to approach Ruth’s career mark.
Among purely modern players, Mike Trout (.989), Aaron Judge (.993), and Juan Soto (.948) lead the active leaderboards. Shohei Ohtani at .922 ranks 20th all-time despite being just a few thousand plate appearances into his career — a remarkable mark considering he’s also one of the best pitchers in baseball.
The most dominant single-season OPS records
Single-season OPS records belong to Barry Bonds, full stop. Bonds owns the top three single-season OPS marks in MLB history:
- 2004: 1.4217 OPS (all-time record)
- 2002: 1.3807 OPS
- 2001: 1.3785 OPS (the famous 73-home-run season)
Bonds’ 2004 season is the most extreme offensive season in modern baseball history. He drew 232 walks (a record), posted a .609 on-base percentage, and was intentionally walked 120 times — pitchers literally chose not to throw him strikes more than 7% of the time he stepped to the plate. The OPS reflects a player so dominant that the league’s strategic response was to refuse to compete with him.
Babe Ruth’s 1920 (1.379) and 1921 (1.359) seasons are the closest pre-steroid-era marks. Ted Williams’ 1941 season (.406 batting average, 1.287 OPS) is the highest OPS by anyone other than Ruth or Bonds in the post-1900 era.
Among active players, Aaron Judge’s 2024 season at 1.159 OPS is the highest single-season mark since Bonds in 2004 — a 20-year gap that says everything about how rare those extreme offensive seasons are.
OPS vs OPS+: which is better?
For comparing players across eras, OPS+ is the smarter stat. OPS+ is era and park-adjusted, expressed as a number where 100 represents league average. A 150 OPS+ means 50% better than league average; a 200 OPS+ means 100% better.
This adjustment matters because the league environment changes dramatically over time. The 1968 “Year of the Pitcher” had completely different offensive context than 1999 at Coors Field. A .900 OPS in 1968 was far more valuable than a .900 OPS during the steroid era. OPS+ accounts for this.
The all-time OPS+ leaders are: Babe Ruth (206), Ted Williams (191), Oscar Charleston (184), Barry Bonds (182), Lou Gehrig (179), Aaron Judge (178), Turkey Stearnes (177), Rogers Hornsby (175). Notice how Aaron Judge ranks 6th all-time on OPS+ despite his raw OPS not being top-10 — the adjustment recognizes how dominant he’s been against modern pitching.
For everyday conversation, raw OPS is fine. For deep analytical comparisons across eras, OPS+ tells the more accurate story.
Is OPS better than batting average?
For evaluating a hitter’s offensive contribution to a team’s runs, yes — OPS is significantly better than batting average. The reasoning is straightforward: a single, double, triple, and home run all count equally toward batting average, but they don’t all produce equal offensive value. A double drives in twice as many runs as a single, on average. A home run is roughly four times more valuable.
OPS captures this through the slugging component. A player who hits .280 with 35 home runs and 80 walks creates more offensive value than a player hitting .310 with 5 home runs and 25 walks, even though the second player has the higher batting average. The OPS comparison usually clarifies which player actually helps the team score more runs.
Batting average isn’t useless — it tells you how often a player makes contact and produces hits. But OPS gives you the full picture: contact, walks, power, and the value of each at-bat outcome wrapped into a single number.
The shift toward OPS in mainstream coverage is part of the broader analytical revolution in baseball. Traditional triple-crown stats (batting average, home runs, RBI) still appear on broadcasts, but front offices, fantasy baseball players, and serious fans increasingly default to OPS as the cleaner measure of offensive value. The current MVPs of MLB are evaluated on OPS more than batting average, and the all-time greats — Ruth, Williams, Bonds — are remembered by their OPS marks because that’s what defines their offensive dominance.
— Drew, Legion Report