Overview / 2026 Season Review
Overview / 2026 Season Review

How good were we really, and how much was luck?

Pittsburgh went 82–80. Its hits, walks and outs were worth 88.7 wins (BaseRuns, 7th in MLB); its run differential, 83.9 (Pythagorean). The two predict next season equally well, so neither is the one true record. Clubs with records like these have won about 83–86 the next season, give or take 10 wins, with roster changes and aging included. Most of the 7 wins below BaseRuns came from runs allowed in bunches: the staff was 5th in baseball with the bases empty and 21st with runners on; that kind of luck barely repeats (r = .16). The 2027 projections, built player by player, don’t carry it. The defense also gave up 14 more unearned runs than average; those repeat a little (r = .21).
For general manager, ownership, manager Model card 2026 season · standings & team totals (MLB Stats API) · Statcast expected wOBA · tests on 2021–2026
Actual record 82–80 767 scored, 739 allowed
Pythagorean 84–78 MLB’s own expected record: 84–78 · next season ≈ 83
BaseRuns 89–73 7th in MLB · 770 scored, 695 allowed · next season ≈ 86
Contact quality 86–76 every batted ball at its expected wOBA

From the batted balls to the standings

Each record strips out one kind of luck. Warm steps helped Pittsburgh; cool ones hurt. r = how much that step repeats for the same team the next season.

7880828486889092.500 (81 wins)WinsContact quality86.2Results vs. contact+2.5r .30BaseRuns88.7Sequencing−4.8r .16Pythagorean83.9Run timing−1.9r .04Actual82.0
Results vs. contact +2.5 wins
Hitters scored 31 more runs than their contact deserved and pitchers allowed 6 more, before the park. A park where results beat contact raises both teams’ gaps in the same games, which nets out in the record but not in this split: PNC Park added about 19 of the hitters’ +31. With each park’s own effect taken out, hitters scored 13 more than their contact deserved and pitchers allowed 13 fewer. Keystone’s fielding model puts the defense at −3.7 runs on balls in play (defense map); it is measured on a different baseline, so it isn’t subtracted here. This step repeats at r = .30 (95% interval .14 to .44): park, speed and defense live in it.
Sequencing −4.8 wins
Pittsburgh allowed 739 runs on hits, walks and outs worth 695: 44 extra. Errors (unearned runs vs. the MLB average) account for +14, and everything else (bunched hits, wild pitches, baserunning) for +30 (+ = more runs allowed). The offense scored about what its hits were worth (−3).
Run timing −1.9 wins
The record trailed the run differential: 28–21 by 1 run (+7 runs), 27–37 by 2–4 (−26 runs), 27–22 by 5+ (+47 runs). Pythagorean counts every run the same; the runs piled up in lopsided games, which moves run differential more than wins. Year to year, r = .04 (one-run record alone: r = −.10).

Where the runs leaked

wOBA by base state, 2026: Pittsburgh vs. MLB. It shows where runs happened, not why: the table below splits the runs.

Pittsburgh’s pitchers (allowed)

Bases empty .301 5th · MLB .316
Runners on .340 21st · MLB .333

Pittsburgh’s hitters

Bases empty .332 3rd · MLB .316
Runners on .332 17th · MLB .333
.280.320.360

MLB average Pittsburgh (warm = better than average, cool = worse)

RunsActualBaseRunsContact
Scored767770738
Allowed739695689
Unearned allowed (MLB avg. 60)74——
Wild pitches (MLB avg. 47)56——

Pittsburgh allowed 44 more runs than BaseRuns, which has no term for errors or wild pitches. Unearned runs ran 14 above the MLB average. Wild pitches ran 9 above it, worth about +2 runs at roughly 0.28 runs each (a standard linear-weights value, not measured here). What’s left, about +28 runs, can’t be pinned on one cause. Hits allowed bunched together repeat at r = .12; unearned runs a little more (r = .21). Fielding by position is on the Defense page; third base has its own brief.

The season, game by game

Games over .500: the real record vs. the pace its run differential set. Hover for any date, or focus the chart and use the arrow keys.

−40+4+8AprMayJunJulAugSepActualRun-differential pace

 

MonthMarAprMayJunJulAugSep
Record2–314–1316–1211–1512–1312–1515–9
Runs21–23132–118148–129139–146132–12197–10698–96
Pythagorean2–315–1216–1212–1414–1112–1512–12
Luck−0.3−0.9+0.2−1.4−1.6−0.4+2.8

The splits that will get asked about

2026 records. Split records are small samples. Of the ones tested for repeating (5), none repeats for the same team the next year.

SplitRecordWin %Behind it
Home44–37.543 r = .08
Road38–43.469 r = .08
vs. LHP starter18–33.353Team OPS .701 (MLB .711) · r = .07
vs. RHP starter64–47.577Team OPS .749 (MLB .723) · r = .07
Day43–27.614 r = .00
Night39–53.424 r = .00
One-run games28–21.571 r = −.10
Extra innings6–10.375
vs. winning teams35–40.467 r = .01
Grass77–73.513
Turf5–7.417
Decided by 5+27–22.551

18–33 against left-handed starters (64–47 against righties). The hitting behind it: .701 OPS against lefties (MLB .711) and .749 against righties (MLB .723). The record gap between the hands can’t be told from zero year to year (r = .07). The hitting against lefties was about league average, so the record is mostly sequencing and noise. Against its own line versus righties, though, the drop is 48 OPS points to the league’s 12: a handedness question for the lineup, not a hole in the record.

What carries into 2027

Tested on 150 team-seasons, 2021–2026: which record predicts next season, and which luck repeats

Next season’s wins, predicted from…

Actual record 10.3
Pythagorean 9.9
BaseRuns 9.9
Contact quality 10.1
Every club at .500 12.5

Error in wins (root-mean-square), lower is better; highlighted records are within a tenth of a win of the best. Against the real record, Pythagorean gains +0.36 (95% interval −0.003 to +0.69) and BaseRuns +0.35 (−0.09 to +0.76), resampling whole clubs: an edge that can’t be told from zero. Fit only on earlier seasons (120 team-seasons), the errors are 9.8 (actual), 9.3 (Pythagorean) and 9.4 (BaseRuns). Valuing batted balls at expected wOBA doesn’t help further, because those gaps partly repeat.

How much each kind of luck repeats

Run timing .04
One-run winning percentage −.10
Record vs. LHP minus vs. RHP .07
Sequencing .16
Hits allowed bunched together .12
Unearned runs vs. league .21
Hitters’ results vs. contact .42
Allowed results vs. contact .48
Hitters’ results vs. contact, park taken out .22
Allowed results vs. contact, park taken out .28
All luck combined .22
Results vs. contact (the step, in wins) .30
Home minus road record .08
Day minus night record .00
Record vs. winning teams minus overall .01

Bars show r; the faint band is its 95% interval. Grey values can’t be distinguished from zero. Contact gaps do repeat (park, speed and defense are partly skill), which is why “all luck combined” isn’t zero.

From 2026 to 2027

  1. 2026 as played (BaseRuns; actual 82–80)88.7
  2. What records like it have meant the next season83–86
  3. The 2026 club brought back (Kirby Yates, Gregory Soto and Brandon Lowe re-signed), projected player by player81.3
  4. They leave as free agents−2.3
  5. 2027 as the roster stands79.0
  6. Winter Plan moves+2.7
  7. 2027 Winter Plan81.7

The plan’s third-base fix moves Gonzales to second, which exists only because Brandon Lowe is expected to decline the qualifying offer. If he accepts (his choice, not the club’s), the same plan projects 83.5 wins and 51% playoff odds, with Lowe at second and Gonzales on the bench, for $22.4M more 2027 payroll: his leaving costs the plan about 1.8 wins. The Outlook’s bridge splits the change by cause, and the Winter Plan prices every branch.

All 30 teams, 2026

Sorted by wins above or below BaseRuns. Pittsburgh highlighted. Runs columns: + = more runs than the hits, walks and outs imply.

TeamW–LPythag.BaseRunsContactScored vs. BaseRunsAllowed vs. BaseRunsWins vs. BaseRuns
DET Detroit Tigers76–8688.790.192.4−8+5 −14.1
SF San Francisco Giants65–9771.477.477.7−24+33 −12.4
LAA Los Angeles Angels62–10070.773.074.3+8+31 −11.0
PIT Pittsburgh Pirates82–8083.988.786.2−3+44 −6.7
MIA Miami Marlins80–8281.386.779.9−32+20 −6.7
CHC Chicago Cubs89–7395.693.780.4+2−16 −4.7
NYM New York Mets74–8877.678.788.4+1+11 −4.7
COL Colorado Rockies58–10463.261.962.8−13−31 −3.9
WSH Washington Nationals77–8581.679.478.0+31+9 −2.4
KC Kansas City Royals69–9368.871.474.6−31−7 −2.4
LAD Los Angeles Dodgers100–62102.2101.4101.7+1−6 −1.4
BOS Boston Red Sox87–7589.888.084.5−29−43 −1.0
TOR Toronto Blue Jays79–8375.979.774.4−9+25 −0.7
SEA Seattle Mariners76–8674.776.484.0−17−2 −0.4
NYY New York Yankees93–6895.692.893.6+17−9 +0.2
MIN Minnesota Twins77–8575.275.875.7+15+22 +1.2
CWS Chicago White Sox84–7886.782.781.3+24−15 +1.3
HOU Houston Astros81–8177.779.678.1−3+15 +1.4
BAL Baltimore Orioles79–8278.377.587.1+15+8 +1.5
TEX Texas Rangers80–8276.077.675.5−25−11 +2.4
MIL Milwaukee Brewers103–59103.0100.397.2+40+9 +2.7
STL St. Louis Cardinals77–8578.074.376.0+43+9 +2.7
ATH Athletics64–9858.660.868.7−16+8 +3.2
CLE Cleveland Guardians85–7782.280.980.2−18−30 +4.1
AZ Arizona Diamondbacks86–7681.980.773.2+120 +5.3
TB Tampa Bay Rays98–6490.390.975.1+2+7 +7.1
SD San Diego Padres91–7185.483.184.6+4−17 +7.9
ATL Atlanta Braves94–6893.686.082.9+24−46 +8.0
PHI Philadelphia Phillies88–7482.679.093.5+13−21 +9.0
CIN Cincinnati Reds75–8764.765.368.2−26−24 +9.7

Pittsburgh: 4th unluckiest of 30 against BaseRuns. Bars share one scale with the history table below.

Pittsburgh, 2021–2026

The same four records each season. Teams drift toward their BaseRuns record.

SeasonW–LPythag.BaseRunsContactOne-runUnearned (MLB avg.)Wins vs. BaseRuns
202161–10157.959.363.620–2245 (62) +1.7
202262–10057.361.364.421–2782 (62) +0.7
202376–8670.972.772.122–1759 (57) +3.3
202476–8673.171.075.125–2675 (61) +5.0
202571–9173.774.875.125–3547 (58) −3.8
202682–8083.988.786.228–2174 (60) −6.7
Keystone is an independent portfolio project. It is not affiliated with Major League Baseball or any club. Data: MLB Stats API, Baseball Savant, FanGraphs. Used under their terms for individual, non-commercial use.