Build the Perfect Season

162-0 Data and Simulation Methodology

This page documents how 162-0 turns historical season lines into draft cards and a single 162-game score. The formulas are published so players can understand the game’s choices, reproduce the basic logic, and see where the model stops.

Core limitation: 162-0 is a roster-building game. Its indexes, OVR ratings, run totals and records are not official statistics or predictions. The site derives simplified league-relative indexes from raw season data and does not ingest official OPS+ or ERA+ fields.

1. What is in the playable data

The current public JSON contains 19,807 card records representing 8,758 distinct player IDs. A player can have more than one card record when he appears in another franchise, decade or position cell. Card seasons run from 1876 through 2025. The reels contain 51 franchise or club entries and 16 decade buckets, from the 1870s through the 2020s. The club count includes the 30 active-franchise lineages and eligible Negro Leagues clubs; it should not be read as 51 current MLB franchises.

The source is the Lahman Baseball Database maintained through SABR. SABR’s current release provides batting, pitching, fielding, team and related data through 2025 and includes Negro Leagues data. The build associates historical team IDs with franchise lineages, so Brooklyn Dodgers seasons live on the Dodgers reel, while the displayed team name can still reflect the player’s actual season.

Which seasons become cards

For hitters, the pipeline requires at least 300 plate appearances for the standard major-league data and 150 for recognized Negro Leagues data, where documented league schedules were shorter. A pitcher is classified as a starter when his starts meet the workload rule in the data build; standard starter cards require 120 innings, with a 50-inning threshold for Negro Leagues seasons. Standard reliever cards require 30 games and 40 innings; the shorter-schedule Negro Leagues thresholds are 12 games and 15 innings.

Within each franchise, decade, position and player combination, the build keeps the highest-OVR season. It then keeps up to 12 cards in each position cell. These are product decisions that create useful reels and manageable candidate lists. They do not define official qualification for a batting or pitching title.

What a card count means

A “card” is one playable record in one franchise, decade and position cell—not necessarily one unique season or one unique person across the whole game. The same player ID can appear on more than one card if the player qualifies in different cells. That is why the honest inventory is both 19,807 card records and 8,758 player IDs. During a draft, however, the game records the IDs already selected and will not offer the same player twice on one roster.

2. How the reels produce a choice

Each round starts with the lineup positions still open. The game examines every franchise-and-decade pair in the metadata and keeps only pairs with at least one card that can fill an open slot. It then chooses randomly from those legal pairs. This matters: a reel result is not sampled blindly from all 51 clubs and all 16 decades and then allowed to dead-end. The available pair list changes as the roster fills.

The standard roster has 12 places: catcher, first base, second base, third base, shortstop, three specific outfield positions, a flexible designated hitter, two starter slots and one reliever slot. The DH can accept any hitter. Each draft begins with one team-reel respin and one decade-reel respin. A respin spends its token only when another legal result exists. The decade tally shown by the interface is descriptive; standard play does not require every choice to come from a different decade.

The Daily Challenge uses ten places: the same eight fielding positions, one flexible hitter and one pitcher who may be a starter or reliever. Its random-number seed is tied to the UTC date, and a rotating rule can narrow the legal pool by era, franchise, rating or budget. Those are draft rules; they do not change the rating formulas below. Salary modes add a separate price and affordability screen before candidates appear. Salary is a puzzle constraint, not an input to OVR or the season score.

3. The raw league-relative indexes

Official OPS+ is a league- and park-adjusted hitting measure centered at 100. MLB’s glossary presents the core formula as 100 × (OBP/lgOBP + SLG/lgSLG − 1) and notes the park adjustment. That official concept motivates the game, but 162-0 runs its own calculation from Lahman totals.

Hitter index

The build totals league hits, walks, hit-by-pitches, at-bats, sacrifice flies and total bases for each year and league. It derives league OBP and slugging, derives the player’s OBP and slugging, and applies the team batting park factor:

raw hitter index = 100 × ((OBP / lgOBP) + (SLG / lgSLG) − 1) / BPF

BPF is used as a ratio: 100 becomes 1.00. The result is rounded for the card. Because this is a simplified local implementation, the site should not call that output official OPS+.

Pitcher index

The build derives league ERA from league earned runs and innings, then compares the pitcher’s ERA with that environment and the team pitching park factor:

raw pitcher index = 100 × lgERA × PPF / pitcher ERA

PPF is also a ratio. Higher remains better, which is convenient for card comparison. This is the game’s own ERA+-like value—not an official ERA+ field.

4. Regression and reliever treatment

The simulator does not use the raw index directly. It pulls every card toward the league-relative center of 100 according to playing time. These denominators are transparent balance settings, not published MLB standards.

For example, a hitter with a raw index of 160 over 600 plate appearances receives a weight of 600/660, producing a regressed index near 155. A 60-inning reliever with a raw index of 200 is first compressed to 150, then keeps only 60/140 of that remaining distance from average, producing about 121. The examples show the mechanics; they do not claim to estimate the player’s true talent.

5. OVR is a display rating

The regressed index goes through a logarithmic curve:

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

The logarithm spreads exceptional cards across the upper range. The clamp prevents display values below 35 or above 99. Relievers receive an additional 90 OVR cap. None of those limits exists in official baseball statistics; they make the card set legible and keep short relief seasons from becoming automatic cornerstones.

Exactly two current cards have 99 OVR: Barry Bonds, 2001, and Josh Gibson, 1943. MLB’s 2024 record integration is essential context. Gibson now holds recognized career batting average, slugging and OPS records, as well as the single-season records in those categories. Bonds retains the single-season home run record from 2001 and on-base percentage record from 2004, but should not be described as the single-season slugging or OPS leader. Similarly, Ted Williams is the last AL or NL qualified hitter above .400, not the last Major Leaguer; Gibson hit .466 in 1943.

6. From a roster to runs

The standard game drafts nine hitters, two starters and one reliever. The offense index is the mean of the nine regressed hitter indexes. When both starter and reliever groups are present, the pitching index is 60 percent of the starter mean plus 40 percent of the reliever mean. The Daily Challenge has one generic pitcher slot, so that selected pitcher’s index is used directly.

The game sets a 4.5 runs-per-game baseline and deliberately amplifies roster strength:

RS/G = 4.5 × (offenseIndex / 100)1.9
RA/G = 4.5 × (100 / pitchingIndex)1.6

The 4.5 RPG baseline, 1.9 offense exponent and 1.6 pitching exponent are tuning choices. They do not assert a universal relationship between a plus-style index and real team scoring.

7. From runs to wins

The engine applies a Pythagorean-style formula with exponent 1.83:

win percentage = RS1.83 / (RS1.83 + RA1.83)

It multiplies that percentage by 162, then subtracts a depth penalty. The penalty is the difference between the highest and lowest OVR on the roster, multiplied by 0.12. In compact form:

base wins = win percentage × 162 − (max OVR − min OVR) × 0.12

This weak-link rule rewards a complete draft. It is not a researched claim about the causal value of rating spread on a real club.

A worked scoring example

Suppose a completed roster averages 140 across its nine regressed hitter values. Suppose its two starters average 135 and its reliever has a regressed value of 120. The pitching blend is 0.6 × 135 + 0.4 × 120 = 129. The run formulas produce about 8.53 runs scored and 2.99 runs allowed per game. The 1.83 Pythagorean step yields roughly a .872 winning percentage, or about 141.2 wins before the roster-spread deduction.

If the best and worst OVR cards on that roster are 95 and 75, the spread is 20 and the penalty is 2.4 wins. That leaves about 138.8 base wins. Because the base result is not above 150, the elite boost is zero; rounding produces 139-23. The example is an audit trail through the game math, not a forecast that a real team with comparable statistics would score 1,382 runs.

The elite boost

A custom boost activates only after base wins exceed 150. The code sets t = clamp((base wins − 150) / 9, 0, 1), then adds 6 × t1.5. The final wins are rounded and clamped from zero to 162. This explicit game-design device makes the title goal reachable for a nearly flawless roster. It is not part of Pythagorean expectation and has no official or predictive standing.

8. What the result omits

The model does not simulate individual games, batting order, defense by position, handedness matchups, injuries, travel, schedule strength, relief roles, postseason play or random variation. It averages season-level card values. It also inherits limitations in the source data, including incomplete surviving Negro Leagues records. MLB described the available 1920–1948 record as still subject to future discoveries and revisions.

The result is best used to compare rosters drafted inside the same version of 162-0. It should not be used to settle who was the greatest player, convert a historical line into an official plus statistic, or predict a real club’s record. The model is transparent because the fun improves when its boundaries are visible.

Sources

Related: official OPS+ vs. the game’s derived indexes · how the perfect-season score works · the two 99 OVR cards

Play 162-0 →