Build the Perfect Season

Official OPS+ vs. 162-0’s Derived Indexes

OPS+ is a useful way to put a hitter’s production in league and park context. The number displayed by 162-0 resembles that idea, but it is important to say exactly what the game does: it derives its own simplified indexes from raw season data. It does not ingest official OPS+ or ERA+ fields.

Plain disclosure: the card values labeled with a plus sign are game inputs, not official MLB OPS+ or ERA+. They should not be used as replacements for an authoritative statistical database.

What official OPS+ says

MLB defines OPS+ as on-base plus slugging normalized across the league, with ballpark context included. The scale centers league average at 100. A 150 OPS+ is described as 50 percent better than league average. MLB’s glossary gives the core expression as 100 × (OBP/lgOBP + SLG/lgSLG − 1) and explains that park effects are also considered.

That common scale is the attraction. Raw OPS cannot tell you whether a hitter worked in a high-offense league or a park that exaggerated power. OPS+ tries to supply that context. ERA+ applies the same broad idea to a pitcher’s earned-run prevention, with higher numbers better in both cases. But “100 equals average” does not make every implementation interchangeable. Data sources, league definitions, park adjustments and rounding can differ.

What the game calculates for hitters

The site starts with raw batting totals from the Lahman Baseball Database. It calculates each hitter’s OBP and slugging, calculates league OBP and league slugging from the corresponding season and league, and reads the team batting park factor. Its raw hitter index is:

100 × ((OBP / league OBP) + (SLG / league SLG) − 1) / batting park factor

The park factor is expressed as a ratio, so a listed factor of 105 becomes 1.05. This is a compact, understandable approximation for a game data pipeline. It is not claimed to reproduce MLB’s official OPS+ calculation. The game’s stored field is therefore best read as “162-0 hitter index,” even though the interface uses familiar plus-stat shorthand.

What the game calculates for pitchers

For pitchers, the pipeline totals league earned runs and innings, derives league ERA, calculates the pitcher’s ERA and applies the team pitching park factor. Its raw pitcher index is:

100 × league ERA × pitching park factor / pitcher ERA

Again, 100 is the game’s league-relative center and higher is better. The expression is ERA+-like, but the resulting card field is not an official ERA+ imported from MLB. That distinction is especially important for early baseball and Negro Leagues seasons, where available schedules and records have different shapes and where continuing research can update the data.

Why playing time changes the game value

A rate over a short stretch is less stable than the same rate over a long season. The game addresses that with explicit regression toward 100. For a hitter, the weight given to the raw index is PA / (PA + 60). For a starter, it is IP / (IP + 70). A 600-PA hitter keeps about 91 percent of the distance between the raw index and 100; a 300-PA hitter keeps about 83 percent. These constants are balancing choices made for 162-0, not official statistical standards.

Relievers receive additional treatment because short relief workloads can produce extreme run-prevention rates. First, the raw pitcher index is compressed halfway toward 100. Then the remaining difference is weighted by IP / (IP + 80). Finally, reliever OVR is capped at 90. Those steps do not say that relief pitching is unimportant. They prevent a brief relief season from dominating a roster-building game in the same way as a full season from an everyday hitter or starter.

From an index to OVR

After regression, every position uses the same logarithmic display curve, with the separate 90 cap for relievers:

OVR = clamp(round(50 + 52.3 × ln(regressedIndex / 100)), 35, 99)

The logarithm spreads elite values instead of allowing many cards to pile up at 99. The clamp creates a readable 35-to-99 card scale. It produces exactly two 99 OVR cards in the current 19,807-card pool: Barry Bonds in 2001 and Josh Gibson in 1943. This is a UI and balance decision, not an official ranking of baseball history.

How to read a card responsibly

The full sequence, including card selection and the win formula, is on the 162-0 methodology page. For the two cards at the ceiling, see Josh Gibson, Barry Bonds and the two 99 OVR seasons.

Sources

More reading: all articles · methodology · how to play

Play 162-0 →