From a Batting Line to OPS, Step by Step
For a worked batting line, the OBP is .365 and SLG is .500; adding the two produces an OPS of approximately .865.

The short answer: OPS equals OBP plus SLG
In baseball, OPS stands for on-base plus slugging. It combines a hitter’s on-base percentage (OBP) and slugging percentage (SLG) into one number:
OPS = OBP + SLG
The two rates are added, not averaged. Do not divide the sum by two. For example:
.340 OBP + .430 SLG = .770 OPS
That definition and calculation match the MLB glossary’s explanation of OPS.
The components describe two related but distinct batting skills:
- OBP represents how frequently a hitter reaches base through the events included in its formula.
- SLG represents total bases per at-bat, giving extra-base hits more weight than singles.
A player can therefore build OPS in different ways. One hitter may produce a strong OBP through hits and walks, while another may offset a lower OBP with more doubles, triples, and home runs. OPS places the two rates side by side and adds them.
That makes OPS a convenient summary of reaching base and hitting for power. It is not a complete account of offense, however.
The batting statistics needed to calculate OPS
If OBP and SLG are already listed, calculating OPS requires only addition. If you are starting with a raw batting line, you need enough information to calculate both components.
Here is the basic notation:
| Abbreviation | Meaning | Used in |
|---|---|---|
| H | Hits | OBP and derivation of singles |
| BB | Walks, or bases on balls | OBP |
| HBP | Hit-by-pitches | OBP |
| AB | At-bats | OBP and SLG |
| SF | Sacrifice flies | OBP denominator |
| TB | Total bases | SLG |
| 1B | Singles | Total bases |
| 2B | Doubles | Total bases |
| 3B | Triples | Total bases |
| HR | Home runs | Total bases |
In practical terms, collect these raw totals:
- At-bats
- Hits
- Doubles
- Triples
- Home runs
- Walks
- Hit-by-pitches
- Sacrifice flies
These values enter OBP and SLG differently. The standard formulas distinguish at-bats, hits, walks, hit-by-pitches, sacrifice flies, and total bases rather than treating every plate appearance or way of reaching base alike. The full notation and component formulas are summarized in this OPS formula reference.
Deriving singles when they are not listed
Many batting lines list hits, doubles, triples, and home runs without a separate singles column. In that case, subtract every extra-base hit from total hits:
1B = H − 2B − 3B − HR
Suppose a player has 30 hits, including six doubles, one triple, and four home runs:
1B = 30 − 6 − 1 − 4 = 19
Every hit belongs to one of four categories: single, double, triple, or home run. Once the extra-base hits have been removed from the hit total, the remainder is the number of singles.
Hits and total bases are not the same
A hit total counts every hit once. Total bases weight each hit according to its type:
| Hit type | Hits added | Total bases added |
|---|---|---|
| Single | 1 | 1 |
| Double | 1 | 2 |
| Triple | 1 | 3 |
| Home run | 1 | 4 |
A double and a single each add one hit to H, but the double adds two total bases while the single adds one. That distinction is the foundation of slugging percentage. The standard weighting assigns one total base to a single, two to a double, three to a triple, and four to a home run (Sports Unlimited).
Walks and hit-by-pitches work differently. They contribute to the on-base component of OPS but do not create total bases for SLG. A walk puts the batter on base, but it is not recorded as a single and does not enter the total-bases formula.
Step 1: Calculate on-base percentage
The first component of OPS is on-base percentage:
OBP = (H + BB + HBP) / (AB + BB + HBP + SF)
The numerator contains the ways of reaching base included in this formula:
- Hits
- Walks
- Hit-by-pitches
The denominator contains the relevant opportunities:
- At-bats
- Walks
- Hit-by-pitches
- Sacrifice flies
A walk or hit-by-pitch does not count as an at-bat, but each still matters to OBP. A sacrifice fly is also not charged as an at-bat, yet it belongs in the OBP denominator. Sacrifice bunts are excluded from the standard denominator shown here (formula and denominator details).
Worked OBP example
Use this batting line:
- AB: 100
- H: 30
- BB: 10
- HBP: 2
- SF: 3
First calculate the numerator:
H + BB + HBP 30 + 10 + 2 = 42
Then calculate the denominator:
AB + BB + HBP + SF 100 + 10 + 2 + 3 = 115
Divide the numerator by the denominator:
OBP = 42 / 115 OBP = .365217… OBP ≈ .365
The player’s OBP is .365 when shown to three decimal places.
Common OBP mistakes
The formula is short, but several errors can change the result:
-
Using AB as the entire denominator. That leaves out walks, hit-by-pitches, and sacrifice flies.
-
Adding sacrifice flies to the numerator. Sacrifice flies belong in the denominator, not the numerator.
-
Omitting sacrifice flies from the denominator. Doing so makes OBP too high when the batting line includes sacrifice flies.
-
Adding sacrifice bunts to this denominator. The standard formula shown here excludes them.
-
Substituting total plate appearances without checking the components. A plate-appearance total may contain events outside this formula. Building the denominator directly from AB, BB, HBP, and SF avoids that problem.
Keeping the numerator and denominator separate makes the calculation easier to inspect and correct.
Step 2: Calculate total bases and slugging percentage
The second component is slugging percentage:
SLG = TB / AB
Before calculating SLG, find total bases:
TB = 1B + (2 × 2B) + (3 × 3B) + (4 × HR)
The weighting is literal:
- A single is worth one total base.
- A double is worth two.
- A triple is worth three.
- A home run is worth four.
Unlike OBP, SLG uses at-bats as its denominator. Walks and hit-by-pitches are excluded from both the total-bases numerator and the at-bats denominator.
Continue the worked example
The player has 30 hits, including:
- Six doubles
- One triple
- Four home runs
Because singles were not supplied directly, derive them:
1B = H − 2B − 3B − HR
Substitute the batting totals:
1B = 30 − 6 − 1 − 4 1B = 19
Now weight each type of hit:
TB = 1B + (2 × 2B) + (3 × 3B) + (4 × HR)
Substitute the values:
TB = 19 + (2 × 6) + (3 × 1) + (4 × 4) TB = 19 + 12 + 3 + 16 TB = 50
The player recorded 50 total bases in 100 at-bats:
SLG = 50 / 100 SLG = .500
Why SLG is not hits divided by at-bats
Dividing hits by at-bats produces batting average, not slugging percentage. In this example:
- H / AB = 30 / 100 = .300
- TB / AB = 50 / 100 = .500
The difference comes from the added weight assigned to extra-base hits. All 30 hits count once in the hit column, but the six doubles, one triple, and four home runs push the total-bases figure to 50.
Common SLG mistakes
Watch for these errors:
- Using H instead of TB. Hits and total bases are not interchangeable.
- Counting every hit as one base. That removes the extra-base weighting built into SLG.
- Failing to derive singles. If only H, 2B, 3B, and HR are supplied, calculate singles before finding total bases.
- Adding walks to total bases. A walk is not a single and contributes no total bases.
- Adding hit-by-pitches to total bases. HBP affects OBP, not SLG.
- Using the OBP denominator for SLG. SLG is total bases divided by at-bats.
A useful arithmetic check is that total bases should not be lower than hits: every hit contributes at least one total base.
Step 3: Add OBP and SLG to finish the calculation
The worked batting line produced:
- OBP: 42 / 115 = .365217…
- SLG: 50 / 100 = .500
Now add the two rates:
OPS = OBP + SLG OPS = .365217… + .500 OPS = .865217… OPS ≈ .865
If both components are displayed to three decimal places, the calculation appears as:
.365 + .500 = .865 OPS
For this example, adding the displayed components and rounding the unrounded result both produce .865. When additional precision could affect the last displayed digit, retain the unrounded components until the final step.
OPS calculation checklist
Before accepting the result, verify that you:
- [ ] Used AB + BB + HBP + SF as the OBP denominator.
- [ ] Put SF in the OBP denominator, not the numerator.
- [ ] Excluded sacrifice bunts from the standard OBP denominator shown here.
- [ ] Derived singles as H − 2B − 3B − HR, if needed.
- [ ] Weighted singles, doubles, triples, and home runs correctly.
- [ ] Divided total bases by at-bats to calculate SLG.
- [ ] Kept walks and HBP out of total bases.
- [ ] Added OBP and SLG rather than averaging them.
- [ ] Rounded the final result consistently.
Reusable OPS worksheet
Inputs
- AB = _____
- H = _____
- 2B = _____
- 3B = _____
- HR = _____
- BB = _____
- HBP = _____
- SF = _____
1. Calculate OBP
- OBP numerator = H + BB + HBP = _____
- OBP denominator = AB + BB + HBP + SF = _____
- OBP = numerator / denominator = _____
2. Calculate singles and total bases
- 1B = H − 2B − 3B − HR = _____
- TB = 1B + (2 × 2B) + (3 × 3B) + (4 × HR) = _____
3. Calculate SLG
- SLG = TB / AB = _____
4. Calculate OPS
- OPS = OBP + SLG = _____
Why OPS can exceed 1.000
OPS resembles a percentage because OBP and SLG are written as decimals, but it is not a conventional percentage capped at 100 percent. It is the sum of two rates.
For example:
.420 OBP + .610 SLG = 1.030 OPS
Slugging percentage can exceed 1.000 because it measures total bases per at-bat, and an extra-base hit can produce more than one total base. Adding OBP means OPS can also exceed 1.000. Published OPS examples above 1.000 follow this same addition rule (Baseball-Reference).
Once OBP and SLG have been calculated correctly, the final OPS step is simple: add the two numbers.
How to interpret an OPS without treating it as a universal grade
A higher OPS generally reflects some combination of:
- Reaching base more often
- Recording more total bases per at-bat
The same OPS can nevertheless be built in different ways:
| Hitter | OBP | SLG | OPS |
|---|---|---|---|
| A | .390 | .430 | .820 |
| B | .330 | .490 | .820 |
Both hypothetical hitters have an .820 OPS. Hitter A reaches base more frequently, while Hitter B records more total bases per at-bat. OPS preserves the same final sum but not the distinction between those offensive profiles. To see that difference, inspect OBP and SLG separately.
There is no universal “good OPS” line
A fixed OPS threshold should not be treated as a permanent grade across every competition or era.
A better question than “Is this OPS good?” is:
How does this OPS compare with the appropriate league and season under similar conditions?
That question is especially important when comparing major-league seasons with one another or moving among professional, college, youth, international, and historical contexts. A single grading scale cannot describe every environment fairly.
Sample size matters
OPS can change sharply over a small number of plate appearances. One extra-base hit immediately affects SLG, while several walks can move OBP. An early-season figure, a bench player’s limited batting line, or a short-tournament result should therefore be read as a description of that sample rather than a guarantee of future performance. Published guidance on OPS likewise warns that small samples can produce quick fluctuations (Sports Unlimited).
Useful questions include:
- How many opportunities produced the OPS?
- Is one short hot or cold stretch driving the result?
- Are OBP and SLG both strong, or is one component carrying the other?
- Are the players being compared receiving similar opportunities?
- Were their results produced in similar offensive environments?
OPS is a starting point, not a complete offensive evaluation
OPS includes information that a hit-only measure omits. Walks and hit-by-pitches affect OBP, while doubles, triples, and home runs receive added weight through SLG. Even so, OPS does not directly describe every event or skill that can contribute to offense.
It also has a structural limitation: standard OPS directly adds OBP and SLG even though the components operate on different scales and are not weighted according to their exact contributions to scoring. Other measures have been developed in part to address the different values represented by reaching base and slugging (Baseball-Reference).
That limitation does not make OPS useless. It explains why OPS works best as a quick, transparent summary rather than the final word on offensive value. Read the overall number, inspect its OBP and SLG components, and add context-sensitive measures when the comparison requires more precision.
OPS versus OPS+: why context matters across teams and eras
Raw OPS reports exactly what its formula says:
OBP + SLG
It does not adjust the result for the hitter’s ballpark, league, season, or historical era. Two hitters can therefore post identical raw OPS figures under different offensive conditions.
One may play in a setting that favors offense, while another may play in conditions that suppress it. A figure produced during a high-scoring season may also have a different relative meaning from the same raw OPS recorded when offense is less common.
Why this matters for historical comparisons
A raw .800 OPS from one era is mathematically the same sum as a raw .800 OPS from another: in both cases, OBP plus SLG equals .800. That does not establish that the two performances stood equally far above or below contemporary competition.
Run environments and playing conditions vary across eras. Cross-era comparisons based only on raw OPS therefore require caution.
Before comparing historical figures, ask:
- What was the league’s offensive level?
- How did each hitter compare with contemporary players?
- Did the home ballpark favor or suppress offense?
- Were the figures produced under materially different conditions?
- Is the purpose to compare raw production or production relative to environment?
Raw OPS answers the raw-production question. It does not fully answer the context-relative one.
What OPS+ adds
OPS+ is a context-adjusted statistic that accounts for league and ballpark conditions. It is normalized around 100, and a figure above 100 represents performance above the relevant league baseline.
The practical distinction is straightforward:
- Use OPS when you want the transparent raw sum of OBP and SLG.
- Consider OPS+ when league and ballpark context materially affect the comparison.
OPS against for pitchers
The same concept can describe the offensive results allowed by a pitcher. In that setting, MLB calls the statistic OPS against. It combines opponents’ OBP and SLG (MLB glossary).
For hitters, a higher OPS generally indicates more reaching base, more total bases per at-bat, or both. From a pitcher’s perspective, a lower OPS against is generally preferable.
Frequently asked questions
Do walks count when calculating OPS?
Yes, but only through OBP. Walks appear in both the numerator and denominator of the standard OBP formula. They do not count as at-bats, hits, or total bases, so they do not directly affect SLG.
Why can a baseball OPS be higher than 1.000?
OPS is the sum of two rates rather than a percentage capped at 100 percent. SLG can exceed 1.000 because extra-base hits may produce more than one total base per at-bat, so the combined OPS can also exceed 1.000.
What is considered a good OPS?
There is no universally correct threshold. Compare the hitter’s OPS with the appropriate league and season while considering ballpark, offensive environment, and sample size. A timeless label such as “good” or “elite” can be misleading when those conditions differ.
What is the difference between OPS and OPS+?
OPS is the raw sum of OBP and SLG. OPS+ adjusts for league and ballpark context and places the result on a scale centered around 100, where a value above 100 indicates performance above the relevant league baseline.
Can OPS be used to evaluate pitchers?
Yes. OPS against applies the same concept to the batting results a pitcher allows. It adds opponents’ OBP and SLG; lower is generally preferable from the pitcher’s perspective.
The three-step OPS calculation
The entire process can be reduced to three reusable steps:
- Calculate OBP from hits, walks, hit-by-pitches, at-bats, and sacrifice flies.
- Calculate total bases, then divide by at-bats to find SLG.
- Add OBP and SLG.
For the worked batting line, those steps produced a .365 OBP, a .500 SLG, and an OPS of approximately .865.
The formula is objective, but interpretation is contextual. Raw OPS efficiently summarizes reaching base and total-base production, while comparisons across parks, leagues, seasons, and eras require additional context—often including a measure such as OPS+.