OPS is on-base percentage plus slugging
OPS (On-base Plus Slugging) puts two things in one number: how often a hitter reaches base (OBP) and how far he gets when he hits (SLG). It reflects walks and extra-base hits better than batting average does, which is why it is such a common way to compare hitters at a glance.
Enter 502 at-bats, 161 hits, 35 doubles, 3 triples, 28 home runs, 61 walks, 4 hit by pitch and 6 sacrifice flies in the calculator above and you get an OBP of .394, a SLG of .570 and an OPS of .964. On the FanGraphs rough scale that falls in the Great tier (.900 and up).
How to use the calculator
- Enter the stats: type at-bats, hits, doubles, triples, home runs, walks, hit by pitch and sacrifice flies from MLB or your league's stats site into the fields with the same names. Column order differs between sites, so go by the names. Hits means all hits, including doubles, triples and home runs. Blank fields count as 0.
- Read the result: OPS and its tier are at the top, followed by OBP, SLG, AVG, ISO, total bases and singles.
- Check the position: the dot on the OBP and SLG chart is the current stat line. Diagonal lines connect points with the same OPS, so a dot further right is a get-on-base hitter and a dot higher up is a power hitter.
- Follow the steps: the calculation is shown with your numbers in the formulas, so you can match it against a stats site.
Formulas
| Stat | Formula | Example (stats above) |
|---|---|---|
| Singles | H − 2B − 3B − HR | 161 − 35 − 3 − 28 = 95 |
| Total bases (TB) | 1B + 2×2B + 3×3B + 4×HR | 95 + 70 + 9 + 112 = 286 |
| Batting average (AVG) | H ÷ AB | 161 ÷ 502 = .321 |
| On-base percentage (OBP) | (H + BB + HBP) ÷ (AB + BB + HBP + SF) | 226 ÷ 573 = .394 |
| Slugging (SLG) | TB ÷ AB | 286 ÷ 502 = .570 |
| OPS | OBP + SLG | .394 + .570 = .964 |
| Isolated power (ISO) | SLG − AVG | .570 − .321 = .249 |
Only hits, walks and hit by pitch count as reaching base. Reaching on an error, a fielder's choice or a dropped third strike does not. Sacrifice bunts are left out of OBP altogether, and sacrifice flies appear only in the denominator. Despite the name, slugging percentage is not a true percentage but the average number of total bases per at-bat, so it can go above 1 (up to 4.000).
OPS tiers
This is the rough MLB-based scale published by FanGraphs. League averages shift from year to year, so treat it only as a rough yardstick.
| Tier | OPS |
|---|---|
| Excellent | 1.000 |
| Great | .900 |
| Above Average | .800 |
| Average | .710 |
| Below Average | .670 |
| Poor | .600 |
| Awful | .570 |
The calculator shows the highest tier whose threshold your OPS reaches. For example, .899 is Above Average and .900 is Great. Leagues with a different run environment have a different average, so it helps to compare against the league average for the same season.
The same OPS can mean very different hitters
OPS adds OBP and SLG one to one, so hitters of very different types can end up with similar numbers.
| Type (made-up stats) | AVG | OBP | SLG | OPS | ISO |
|---|---|---|---|---|---|
| On-base type: 500 AB, 150 H (28 2B, 3 3B, 10 HR), 100 BB, 5 HBP, 5 SF | .300 | .418 | .428 | .846 | .128 |
| Power type: 540 AB, 132 H (26 2B, 1 3B, 44 HR), 48 BB, 5 HBP, 5 SF | .244 | .309 | .541 | .850 | .296 |
| Contact type: 560 AB, 180 H (32 2B, 4 3B, 8 HR), 35 BB, 4 HBP, 6 SF | .321 | .362 | .436 | .798 | .114 |
The on-base and power types have nearly the same OPS, .846 and .850, yet on the chart the on-base hitter sits toward the lower right and the power hitter toward the upper left. FanGraphs explains that, in terms of the effect on scoring runs, OBP is worth about 1.8 times as much as SLG. So OPS alone tends to flatter power hitters and undersell on-base hitters, which is why measures such as wOBA that correct for this are used as well.
Common mistakes
- Entering only singles as hits: hits here means all hits. If you enter just singles, doubles, triples and home runs can add up to more than hits and the calculator shows an error.
- Entering plate appearances as at-bats: plate appearances (PA) include walks, hit by pitch and sacrifices. Putting them in the AB field makes AVG and SLG come out too low.
- Entering sacrifice bunts as sacrifice flies: only sacrifice flies go into the OBP denominator. Sacrifice bunts are not entered at all.
- Adding rounded numbers: with an OBP of .3944 and a SLG of .5704, adding the rounded values gives .394 + .570 = .964, while adding before rounding gives .9648, which rounds to .965. The last digit can differ.
Limits and cautions
- Each field accepts only whole numbers from 0 to 99,999. With 0 at-bats, only OBP is calculated and SLG, AVG and OPS are left blank.
- OPS is not adjusted for ballpark or league. OPS+, which sets the league average to 100, needs league averages and park factors and is not covered here.
- The tiers are a rough MLB-based scale, so the verdict can change with the league and season.
- The result is calculated from the numbers you enter and is not an official record.
As of The formulas, tier table and OBP weighting were checked against the FanGraphs Library and the MLB Glossary on 2026-10-09.
Sources
- 01FanGraphs Library: OPSOPS = OBP + SLG, the OBP and SLG formulas, the rough tier scale, OBP worth about 1.8 times SLG for scoring
- 02MLB Glossary: On-base PercentageErrors, fielder's choices and dropped third strikes do not count as reaching base; sacrifice bunts are left out
- 03MLB Glossary: Slugging PercentageTotal bases per at-bat; walks and hit by pitch are not included
Frequently asked questions
How is OPS calculated?
OPS is on-base percentage plus slugging. OBP is (H + BB + HBP) ÷ (AB + BB + HBP + SF) and SLG is total bases ÷ AB. With 502 AB, 161 H, 35 2B, 3 3B, 28 HR, 61 BB, 4 HBP and 6 SF, OBP is .394, SLG is .570 and OPS is .964.
What is a good OPS?
On the FanGraphs rough scale (based on MLB), 1.000 is Excellent, .900 Great, .800 Above Average, .710 Average, .670 Below Average, .600 Poor and .570 Awful. League averages change from year to year, so comparing within the same season and league is more accurate.
Do walks count as at-bats?
No. Walks, hit by pitch, sacrifice flies and sacrifice bunts are not at-bats, so they do not affect AVG or SLG. Walks and hit by pitch do go into both the numerator and denominator of OBP, and sacrifice flies go into the denominator.
Why is there no field for sacrifice bunts?
Under the MLB definition, sacrifice bunts are left out of the OBP calculation entirely. They are not at-bats either, so they do not affect AVG or SLG and have no effect on OPS.
Does reaching on an error or a fielder's choice count as reaching base?
No. Only hits, walks and hit by pitch count toward OBP. Reaching on an error, a fielder's choice or a dropped third strike does not, and those plate appearances are usually recorded as at-bats.
Which matters more, OBP or SLG?
OPS adds them with equal weight, but FanGraphs explains that for scoring runs OBP is worth about 1.8 times as much as SLG. So with the same OPS, the hitter with the higher OBP often contributes more runs, and measures such as wOBA exist to correct for this.
Why can OPS differ by .001 from the sum of the OBP and SLG shown?
The calculator adds OBP and SLG before rounding and then rounds to three decimals. Adding the two rounded values you see on screen can leave the last digit off by one.
Is this result an official stat?
No. It is the official formula applied to the numbers you enter. For official stats, check the stats page of MLB or your league. OPS+, which adjusts for league and ballpark, needs league averages and park factors and is not covered by this calculator.