2025 San Francisco Giants Season Recap

The 2025 San Francisco Giants went 81-81, and I thought it would be interesting to see what a .500 team would do on the tabletop. As it turned out, the dice rolls went San Francisco’s more often than not, and the replay Giants surpassed their real-life success by seven wins to go 88-74. Not only that, but San Francisco’s head-to-head success against the Dodgers and Padres had a massive change on the National League West standings.

It could have been the most competitive finish in division history: 1. San Francisco Giants 88-74, 2. Los Angeles Dodgers 87-75, 3. San Diego Padres 86-76, 4. Arizona Diamondbacks 84-78. Then, the Colorado Rockies at 45-117.

Instead of missing the playoffs, the Giants won the NL West!

The Giants’ replay didn’t unfold much like the real season. The 2025 Giants got off to a great start, then played terribly for a while, had some good and bad stretches, and recovered a bit in the end to get to .500. The replay Giants started awfully (12-17 in late April), had a fantastic summer (48-30 over May, June and July), then coasted to the finish by playing .500 ball over the final two months.

One huge shock playing modern baseball: I rolled 2,862 strikeouts in 162 games, more than 17 1/2 per game. There were 354 home runs, a little more than two per game.

This was done with as-played starting lineups and an APBA basic/master hybrid system. The project ran from March to August 2026.

Batting:

BattingAVGR2B3BHRRBIOBPSLGSBBBSO
Replay.23671024236192694.309.397755411470
Actual.23570523928173672.311.386685561380

Not bad! The batting average was within .001 and the on-base percentage was within .002. The replay Giants scored just five more runs than their real-life counterparts. But the biggest difference were the extra-base hits, as the replay Giants had three more doubles, eight more triples and 19 more home runs.

Pitching:

PitchingERACGSHOSVIPHRERBBSOWHIP
Replay3.49411361441.3124462155946813921.188
Actual3.8217411433.7135368460950613581.297

It happened with my 1989 basic replays and it happened once again with my 2025 master/hybrid replay — the pitching greatly overperformed, with a team ERA a third of a point better than real life.

Fielding:

The Giants had a team fielding percentage of .981 (111 errors) in the replay, compared to .984 (96 errors) in real life. Per the usual with APBA, middle infielders took the brunt of the miscues. Shortstop Willy Adames had 34 errors in the replay but just 16 in real life.

Individual Batting:

Here’s a comparison for the 15 Giants that had more than 100 at-bats:

HittersReplayActual
Dominic Smith.301, 6 HR, 37 RBI.284, 5 HR, 33 RBI
Jung Hoo Lee.270, 6 HR, 63 RBI, 12 SB.266, 8 HR, 55 RBI, 10 SB
Rafael Devers.255, 20 HR, 60 RBI.236, 20 HR, 51 RBI
Mike Yastrzemski.251, 10 HR, 44 RBI.231, 8 HR, 28 RBI
Heliot Ramos.250, 15 HR, 64 RBI.256, 21 HR, 69 RBI
Christian Koss.245, 3 HR, 15 RBI.264, 3 HR, 23 RBI
Luis Matos.243, 10 HR, 23 RBI.221, 8 HR, 22 RBI
Willy Adames.242, 40 HR, 105 RBI, 7 SB.225, 30 HR, 87 RBI, 12 SB
Casey Schmitt.231, 17 HR, 43 RBI.237, 12 HR, 40 RBI
Matt Chapman.222, 28 HR, 86 RBI.231, 21 HR, 61 RBI
Wilmer Flores.222, 13 HR, 36 RBI.241, 16 HR, 71 RBI
Tyler Fitzgerald.209, 6 HR, 21 RBI, 15 SB.217, 4 HR, 14 RBI, 9 SB
LaMonte Wade.205, 2 HR, 24 RBI.167, 1 HR, 15 RBI
Patrick Bailey.195, 3 HR, 26 RBI.222, 6 HR, 55 RBI
Drew Gilbert.147, 4 HR, 10 RBI.190, 3 HR, 13 RBI

Although the Giants’ team totals were extremely close to real life (other than homers), only a few of the individual hitters were on target with their real-life batting averages.

FORTY home runs for Willy Adames! He hit a ton of two-run homers when his card would give him a 1-in-12 shot of hitting it out of the park. He hit 30 in 2025. Matt Chapman, #2 on the team with 28 homers, also had a big increase on his real-life 20. But a few Giants also had less home runs than reality.

Individual Pitching:

Here’s a comparison for the five Giants that started at least 10 games:

PitchersReplayActual
Logan Webb20-7, 2.34 ERA, 241 K15-11, 3.22 ERA, 224 K
Landen Roupp7-7, 3.65 ERA, 102 K7-7, 3.80 ERA, 102 K
Robbie Ray15-9, 3.94 ERA, 201 K11-8, 3.65 ERA, 186 K
Justin Verlander8-13, 4.15 ERA, 134 K4-11, 3.85 ERA, 137 K
Hayden Birdsong5-6, 6.90 ERA, 49 K4-4, 4.80 ERA, 68 K

Move over Paul Skenes, Logan Webb likely wins the National League’s Cy Young Award after going 20-7 and recording an ERA nearly a run less than his real-life mark. Robbie Ray and Justin Verlander had better win-loss records but higher ERAs, interestingly. Shoutout to the 42-year-old Verlander for throwing a no-hitter against the Pittsburgh Pirates.

Things were a bit ridiculous for many of the relievers, who way overperformed. Exhibit #1: Joey Lucchesi. In 2025, he had a 3.76 ERA in 38.1 innings; in the replay he somehow gave up only one earned run in 39.2 innings (a 0.23 ERA). That was the biggest outlier, but not the only one. Some of the other big ERA differences: Joel Peguero 1.02/2.42, Matt Gage 2.43/3.91, Ryan Walker 2.47/4.11, Spencer Bivens 2.93/4.00, Jose Butto 3.74/4.50, Tristan Beck 3.91/4.61. Almost no one underperformed.

Pitching Matchups:

In the 1989 replays, using the basic game, I tracked how many times A, B, C and D starting pitchers were used to see if there was a big advantage for the teams. I kept similar data here, even though it was a bit less of an advantage in 2025 when starters didn’t typically go more than five or six innings. Using the master grades, here’s how it turned out:

Giants +5 advantage20-16
Giants 1-4 advantage24-12
even10-6
Opponent 1-4 advantage23-27
Opponent +5 advantage11-13

The Giants had the starting pitcher advantage 72 times (and went 44-28), while the opponent had the advantage 74 times (the Giants were 34-40 in these games). Not sure what to make of that, other than the Giants did better (the excellent relief numbers by San Francisco probably played a big part).

Opponents:

Home run leaders by opponents: Tommy Edman (LAD) 4, Shea Langeliers (SAC) 4, Max Muncy (LAD) 4, Shohei Ohtani (LAD) 4, Josh Bell (WAS) 3, Alec Bohm (PHI) 3, Hunter Goodman (COL) 3, Nick Kurtz (SAC) 3, Brandon Lowe (TB) 3, Chase Meidroth (CWS) 3, Sean Murphy (ATL) 3.

Top batting averages among NL opponents: Gabriel Moreno (ARI) .444 (12-27), Geraldo Perdomo (ARI) .442 (19-43), Max Kepler (PHI) .438 (7-16), Jose Fermin (STL) .438 (7-16), Josh Bell (WAS) .438 (7-16), Victor Scott (STL) .412 (7-17), Ezequiel Tovar (COL) .400 (10-25), Ozzie Albies (ATL) .391 (9-23), Jackson Merrill (SD) .346 (9-26).

Top batting averages among AL opponents: Jeremy Pena (HOU) .700 (7-10), Chase Meidroth (CWS) .667 (8-12), Nick Kurtz (SAC) .529 (9-17), Jake Burger (TEX) .500 (6-12).

Pitching leaders by NL opponents: Eduardo Rodriguez (ARI) 3-0, 3.50 ERA in three starts; Nick Lodolo (CIN), 2-0, 0.00 ERA in two starts; Christopher Sanchez (PHI) 2-0, 0.00 ERA in two starts; Zac Gallen (ARI) 2-1, 0.86 ERA in three starts; Jesus Luzardo (PHI) 2-0, 1.50 ERA in two starts; Sonny Gray (STL) 2-0, 2.25 ERA in two starts; Clayton Kershaw (LAD) 2-1, 2.65 ERA in three starts.

More Opponents:

Here’s how the Giants did against each opponent in the replay versus what they did in real life. The Giants improved their win-loss record against the Dodgers by six games and the Padres by four games, leading to the huge reordering of the NL West standings.

OpponentReplay+/-Actual
Arizona Diamondbacks2-11-46-7
Atlanta Braves5-15-1
Baltimore Orioles2-12-1
Boston Red Sox2-12-1
Chicago Cubs3-3-25-1
Chicago White Sox1-21-2
Cincinnati Reds3-33-3
Cleveland Guardians1-21-2
Colorado Rockies9-4-211-2
Detroit Tigers2-1+20-3
Houston Astros1-2-23-0
Kansas City Royals2-1+11-2
Los Angeles Angels1-21-2
Los Angeles Dodgers10-3+64-9
Miami Marlins4-2+22-4
Milwaukee Brewers3-4-25-2
Minnesota Twins3-0+30-3
New York Mets5-1+32-4
New York Yankees0-3-22-1
Philadelphia Phillies3-4-14-3
Pittsburgh Pirates6-0+42-4
Sacramento Athletics3-3-25-1
San Diego Padres7-6+43-10
Seattle Mariners2-1-13-0
St. Louis Cardinals2-42-4
Tampa Bay Rays0-3-11-2
Texas Rangers1-2-12-1
Toronto Blue Jays2-1+20-3
Washington Nationals3-33-3

Miscellaneous:

ReplayActual
March2-23-1
April12-1516-11
May17-1013-14
June17-1013-14
July14-109-15
August13-1514-14
September13-1213-12
Extra Innings7-49-6
One-Run Games18-2028-30
Blowouts (5+ runs)28-1922-16
Inter-League23-2524-24
2-Game Series1-0
3-Game Series27-17
4-Game Series2-2-3


A WordPress.com site