Who will hit better, or worse, in Pittsburgh?
The Winter Plan at PNC
Each branch’s 2027 hitters at their plan plate appearances, plus the runs the staff saves (or minus what it gives up) at its plan innings, in runs against an average park. Not in the plan’s wins, which use park-adjusted WAR. The plan’s other 620 PA and 236 IP go to replacement players, counted as average for park (about 0 runs).
| Branch | Plan wins | Hitters | Pitchers (runs saved) | Net | ≈ Wins | Wins with park |
|---|---|---|---|---|---|---|
| Lowe leaves; third base in-house * | 79.1 | +1.8 | +0.1 | +1.9 | +0.19 | 79.3 |
| The plan: Lowe leaves; Isaac Paredes at third, Gonzales to second * | 81.7 | −1.5 | +0.1 | −1.4 | −0.15 | 81.5 |
| Lowe accepts the qualifying offer; Isaac Paredes too | 83.5 | +1.3 | +0.1 | +1.4 | +0.14 | 83.6 |
| Lowe accepts; no acquisition * | 80.8 | +3.9 | +0.1 | +4.0 | +0.41 | 81.2 |
Park fit moves no branch by more than 0.41 wins, and it doesn’t change their order. Keeping Lowe (the accept branch) is worth +2.8 park runs a season over the plan, about +0.29 wins, not counted in its 83.5. * Termarr Johnson has no MLB record, so he counts as an average hitter of his side.
Pittsburgh’s 2027 hitters at PNC
The plan’s lineup, bench and call-ups (decisions feed), runs per 600 PA against an average park, and over each one’s plan PA
- Spencer Horwitz DH · L +2.2 +1.7
- Oneil Cruz CF · L +1.8 +1.3
- Ryan O'Hearn 1B · L +1.7 +1.3
- Bryan Reynolds LF · S +1.1 +1.1
- Nick Gonzales 2B · R −0.4 −0.3
- Konnor Griffin SS · R −1.2 −0.7
- Rafael Flores Jr. C · R −2.7 −1.2
- Isaac Paredes 3B · R · acquired −3.6 −3.4
- Esmerlyn Valdez RF · R −3.7 −2.1
- Jake Mangum CF · S · bench +1.4 +1.1
- Ronny Simon RF · S · bench +1.1 +0.1
- Endy Rodríguez C · S · bench +0.3 +0.1
- Jared Triolo SS · R · bench −1.0 −0.7
- Termarr Johnson L · call-up +1.6 +0.3*
- Nick Yorke 3B · R · call-up −1.9 0.0
- Jack Brannigan SS · R · call-up −2.3 −0.2
- Total 5,482 PA −1.5
Columns: per 600 PA, then runs over his plan PA. An average lineup at the same PA would get −0.3 (an average left-handed hitter +1.8 per 600, right-handed −1.8). The plan’s other 620 PA (of 6,102) go to replacement players, counted as an average hitter: 0.0 runs. * No MLB record: counted as an average hitter of his side.
Pittsburgh’s 2027 pitchers at PNC
The plan’s rotation, bullpen and call-ups (decisions feed). Runs allowed per 600 batters against an average park, from the hitters each one faces, then over his plan innings. Negative: PNC helps him.
- Mason Montgomery RP · 36% LHH −0.7 −0.3
- Noah Murdock call-up · 29% LHH −0.5 −0.1
- Lake Bachar call-up · 53% LHH −0.4 −0.1
- Brandon Eisert RP · 46% LHH −0.3 −0.1
- Evan Sisk RP · 47% LHH −0.3 −0.1
- Antwone Kelly call-up · 52% LHH −0.3 0.0
- Wilber Dotel RP · 53% LHH −0.2 −0.1
- Jared Jones SP · 55% LHH −0.1 −0.1
- Yohan Ramírez RP · 44% LHH −0.1 0.0
- Isaac Mattson RP · 49% LHH −0.1 0.0
- Khristian Curtis call-up · 59% LHH 0.0 0.0
- Luke Weaver RP · 51% LHH 0.0 0.0
- Braxton Ashcraft SP · 53% LHH 0.0 0.0
- Mitch Keller SP · 55% LHH +0.2 +0.2
- Bubba Chandler SP · 55% LHH +0.2 +0.2
- Paul Skenes SP · 55% LHH +0.3 +0.3
- Carmen Mlodzinski RP · 55% LHH +0.4 +0.2
- Runs allowed 1,200 IP · +0.1 to the team’s net −0.1
Runs allowed here; the branch table counts the same runs from the team’s side (runs saved), so the sign flips there. An average staff gives up 0.0 per 600 batters at PNC, the mirror of an average lineup: opponents play the same park. Side-level factors only for pitchers (no spray), and each pitcher’s rates are regressed to the league. The plan’s other 236 IP (of 1,436) go to replacement pitchers, counted as average for park. Outside arms are in the last table.
PNC Park by batting side
Savant index vs. an average park (100). Bar from 40 to 160 with a 95% band; warm is good for hitters. Ranks run from the most hitter-friendly park (1st; for strikeouts, the fewest); grey ranks can’t be told apart from average.
Baseball Savant Statcast park factors, 3-year rolling (2024–26), by batting side. Statcast has 7,948 left-handed and 10,369 right-handed plate appearances at PNC in 2024–26; Savant’s own n (56,380) also counts the road games it compares them with. The calculations use each index after shrinking it toward 100 by its noise (right-handed home runs: 77).
If he played here: outside bats
Roster Builder candidates and the plan’s acquisition. Sorted by the effect against an average park; click a header to sort.
| From | Path | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Isaac Paredes 3B · R | HOU | Winter Plan | −3.6 | −5.2 | 0.68 | 32.2% ▲ | 3.3 plan | −0.35 | 3.0 | $13.3M |
| Riley Greene OF · L | DET | Trade · At a price | +2.9 | +4.5 | 1.00 | 19.7% | 2.9 | +0.28 | 3.2 | $9.3M |
| Kyle Stowers OF · L | MIA | Trade · At a price | +2.3 | +1.7 | 1.00 | 22.8% | 1.8 | +0.20 | 2.0 | $4.0M |
| Dominic Canzone DH/OF · L | SEA | Trade · At a price | +2.3 | +6.9 | 0.99 | 17.2% | 1.9 | +0.19 | 2.1 | $3.9M |
| Luis Arraez 2B · L | PHI | Free agent | +2.1 | +3.5 | 0.96 | 14.0% | 1.6 | +0.21 | 1.8 | $16.3M |
| CJ Abrams SS · L | WSH | Trade · Likely | +2.0 | +0.7 | 0.99 | 21.4% | 2.7 | +0.20 | 2.9 | $8.8M |
| Alec Burleson 1B/OF · L | STL | Trade · At a price | +2.0 | +5.4 | 0.97 | 17.3% | 1.9 | +0.20 | 2.1 | $6.1M |
| Michael Massey 2B · L | KC | Trade · At a price | +1.9 | +1.3 | 0.98 | 22.1% | 1.2 | +0.15 | 1.4 | $4.1M |
| Spencer Jones OF · L | NYY | Trade · At a price | +1.9 | +1.0 | 0.99 | 21.8% | 0.8 | +0.11 | 0.9 | $780K |
| J.P. Crawford SS · L | SEA | Free agent | +1.9 | +5.3 | 1.00 | 14.5% | 1.2 | +0.16 | 1.4 | $9.1M |
| Jake Bauers 1B · L | MIL | Free agent | +1.8 | +3.2 | 0.99 | 18.5% | 1.7 | +0.16 | 1.9 | $17.7M |
| Jazz Chisholm Jr. 2B · L | NYY | Free agent | +1.6 | −0.3 | 1.01 | 22.1% | 3.2 | +0.15 | 3.3 | $32.6M |
| Ian Happ LF · S | CHC | Free agent | +1.6 | +3.1 | 0.94 | 23.0% | 1.9 | +0.16 | 2.1 | $19.0M |
| Griffin Conine OF · L | MIA | Trade · At a price | +1.6 | +1.5 | 0.98 | 19.9% | 1.3 | +0.10 | 1.4 | $780K |
| Nathaniel Lowe 1B · L | CLE | Free agent | +1.6 | +1.7 | 0.97 | 15.3% | 0.4 | +0.13 | 0.5 | $3.0M |
| Trent Grisham CF · L | NYY | Free agent | +1.6 | −1.4 | 1.00 | 21.4% | 1.2 | +0.13 | 1.4 | $7.9M |
| Cedric Mullins CF · L | TB | Free agent | +1.5 | +1.8 | 0.99 | 24.7% | 0.9 | +0.13 | 1.0 | $6.7M |
| Edouard Julien 2B · L | COL | Trade · Likely | +1.4 | −0.4 | 0.95 | 12.2% | −0.6 | +0.08 | −0.5 | $1.3M |
| Daulton Varsho CF · L | HOU | Free agent | +1.1 | +1.5 | 0.97 | 20.3% | 1.6 | +0.10 | 1.7 | $10.8M |
| Patrick Bailey C · S | CLE | Trade · At a price | +0.9 | +2.1 | 0.92 | 16.7% | 1.8 | +0.07 | 1.9 | $2.7M |
| Angel Martínez OF · S | CLE | Trade · At a price | +0.9 | +2.2 | 0.92 | 22.5% | 1.0 | +0.07 | 1.1 | $780K |
| Ben Williamson 2B/3B · R | TB | Trade · At a price | +0.2 | +2.5 | 0.74 | 9.0% | 0.5 | +0.01 | 0.5 | $780K |
| Otto Lopez 2B/SS · R | MIA | Trade · At a price | −0.5 | +0.6 | 0.76 | 11.0% | 3.5 | −0.06 | 3.5 | $6.6M |
| Alec Bohm 3B · R | PHI | Free agent | −0.6 | −1.2 | 0.78 | 8.0% | 1.0 | −0.06 | 1.0 | $5.5M |
| Gleyber Torres 2B · R | DET | Free agent | −0.7 | −0.6 | 0.77 | 11.9% | 1.1 | −0.06 | 1.0 | $7.5M |
| Mauricio Dubón LF · R | ATL | Free agent | −0.9 | −0.8 | 0.68 | 14.2% | 1.6 | −0.08 | 1.5 | $14.4M |
| Miguel Andujar 3B/DH/OF · R | SD * | Free agent | −0.9 | −0.5 | 0.72 | 15.6% | 0.2 | −0.05 | 0.1 | $1.7M |
| Ty France 1B · R | SD | Free agent | −0.9 | −0.2 | 0.80 | 15.2% | 1.0 | −0.08 | 1.0 | $10.8M |
| Yandy Díaz 1B/3B/DH · R | TB * | Trade · At a price | −1.0 | −1.0 | 0.79 | 6.1% | 1.1 | −0.08 | 1.0 | $13.0M |
| Josh Jung 3B · R | TEX | Trade · Likely | −1.1 | +2.0 | 0.78 | 14.5% | 2.0 | −0.09 | 1.9 | $7.1M |
| Amed Rosario SS · R | NYY | Free agent | −1.1 | −0.6 | 0.77 | 15.2% | 0.0 | −0.06 | −0.1 | $1.0M |
| Yainer Diaz C · R | HOU | Trade · At a price | −1.1 | −0.1 | 0.79 | 13.7% | 1.7 | −0.08 | 1.6 | $6.1M |
| Carlos Narváez C · R | BAL | Trade · At a price | −1.3 | −1.5 | 0.78 | 13.9% | 0.8 | −0.08 | 0.7 | $780K |
| Matt Vierling OF · R | DET | Trade · At a price | −1.4 | −0.9 | 0.75 | 10.0% | 0.3 | −0.09 | 0.2 | $3.3M |
| Tyrone Taylor LF · R | CHC | Free agent | −1.6 | +0.2 | 0.71 | 24.2% ▲ | 0.8 | −0.10 | 0.7 | $7.0M |
| Agustín Ramírez C/DH · R | MIA | Trade · At a price | −1.6 | +0.1 | 0.79 | 15.3% | 0.2 | −0.11 | 0.1 | $780K |
| Tyler Stephenson C · R | CIN | Free agent | −1.6 | −2.4 | 0.79 | 19.0% | 1.5 | −0.13 | 1.4 | $11.4M |
| Jordan Walker OF · R | STL | Trade · At a price | −1.7 | −0.8 | 0.80 | 13.6% | 0.9 | −0.16 | 0.8 | $2.7M |
| Carson Kelly C · R | CHC | Free agent | −1.8 | −0.5 | 0.76 | 18.5% | 1.7 | −0.14 | 1.6 | $14.5M |
| Ryan Vilade OF · R | TB | Trade · At a price | −1.8 | −1.8 | 0.79 | 16.2% | 0.5 | −0.11 | 0.4 | $780K |
| Randy Arozarena LF · R | SEA | Free agent | −1.9 | +2.9 | 0.79 | 14.8% | 2.6 | −0.20 | 2.4 | $32.3M |
| Austin Riley 3B · R | ATL | Trade · At a price | −1.9 | −2.1 | 0.79 | 20.8% ▲ | 1.3 | −0.18 | 1.1 | $22.0M |
| Edmundo Sosa LF · R | PHI | Free agent | −1.9 | −2.5 | 0.78 | 15.0% | 1.3 | −0.11 | 1.2 | $8.5M |
| Max Muncy 3B · R | ATH * | Trade · At a price | −1.9 | −1.9 | 0.79 | 17.6% | −0.1 | −0.12 | −0.2 | $780K |
| Luis Robert Jr. OF · R | BAL | Free agent | −1.9 | −1.2 | 0.79 | 18.4% | 0.7 | −0.12 | 0.5 | $4.1M |
| Jorge Soler DH/OF · R | LAA | Free agent | −1.9 | −0.7 | 0.80 | 21.3% ▲ | −0.5 | −0.11 | −0.6 | $1.2M |
| Taylor Ward DH · R | SEA | Free agent | −2.0 | −1.7 | 0.78 | 15.1% | 1.2 | −0.19 | 1.0 | $9.2M |
| Christian Encarnacion-Strand 1B/3B · R | BAL | Trade · At a price | −2.0 | −2.3 | 0.79 | 24.0% ▲ | 0.7 | −0.11 | 0.6 | $780K |
| Ryan Jeffers C · R | MIN | Free agent | −2.0 | −4.6 | 0.77 | 17.2% | 1.8 | −0.15 | 1.7 | $15.8M |
| Jose Siri OF · R | LAA | Trade · Likely | −2.0 | −2.0 | 0.79 | 19.9% ▲ | 0.5 | −0.11 | 0.4 | $5.6M |
| Jeremy Peña SS · R | HOU | Trade · At a price | −2.0 | −1.7 | 0.74 | 20.0% ▲ | 3.2 | −0.17 | 3.0 | $18.2M |
| Matt Chapman 3B · R | SF | Trade · At a price | −2.2 | +0.3 | 0.79 | 15.2% | 1.8 | −0.15 | 1.7 | $25.2M |
| Curtis Mead 1B/3B · R | BOS * | Trade · At a price | −2.2 | −2.5 | 0.75 | 17.0% | 0.9 | −0.15 | 0.8 | $780K |
| Jo Adell OF · R | CLE | Trade · At a price | −2.3 | −1.6 | 0.82 | 16.7% | 0.7 | −0.23 | 0.4 | $5.2M |
| Dillon Dingler C · R | DET | Trade · At a price | −2.3 | −1.9 | 0.77 | 20.2% ▲ | 3.7 | −0.22 | 3.5 | $780K |
| Randal Grichuk OF · R | CWS | Free agent | −2.5 | −3.7 | 0.78 | 19.5% | 0.5 | −0.13 | 0.4 | $5.2M |
| Ramón Laureano LF · R | SD | Free agent | −2.5 | −2.6 | 0.78 | 18.4% | 1.0 | −0.15 | 0.8 | $5.5M |
| Royce Lewis 3B · R | MIN | Trade · At a price | −2.5 | −4.9 | 0.74 | 24.8% ▲ | 0.9 | −0.22 | 0.6 | $3.7M |
| Seiya Suzuki RF · R | CHC | Free agent | −2.8 | −1.6 | 0.78 | 21.6% ▲ | 2.6 | −0.28 | 2.3 | $31.3M |
| Casey Schmitt 2B/3B · R | SF | Trade · At a price | −2.8 | −0.3 | 0.79 | 23.8% ▲ | 1.4 | −0.21 | 1.2 | $2.9M |
| Christian Walker 1B · R | HOU | Trade · At a price | −2.8 | −3.3 | 0.79 | 18.0% | 0.5 | −0.20 | 0.3 | $20.0M |
| Spencer Steer 1B/OF · R | CIN | Trade · Likely | −2.9 | −3.1 | 0.74 | 23.0% ▲ | 0.9 | −0.22 | 0.7 | $4.3M |
| Heriberto Hernández OF · R | MIA | Trade · At a price | −2.9 | −0.3 | 0.80 | 22.0% ▲ | 1.6 | −0.24 | 1.4 | $780K |
| Jake Burger 1B/3B · R | TEX | Trade · Likely | −3.2 | +0.2 | 0.78 | 17.1% | 0.6 | −0.30 | 0.3 | $4.2M |
| Andrés Chaparro 1B/DH · R | WSH | Trade · At a price | −3.2 | −3.9 | 0.74 | 23.4% ▲ | 0.5 | −0.18 | 0.3 | $780K |
| Shea Langeliers C · R | ATH * | Trade · At a price | −3.3 | −3.3 | 0.80 | 19.7% ▲ | 2.4 | −0.27 | 2.1 | $7.5M |
| Eugenio Suárez DH · R | CIN | Free agent | −4.7 | −6.0 | 0.77 | 25.3% ▲ | 1.0 | −0.33 | 0.7 | $6.7M |
“vs. avg park” is the part of PNC a hitter’s park-adjusted WAR leaves out: it is the number to add to the Roster Builder’s and the Winter Plan’s WAR, and “Park wins” does that at his 2027 projected PA. “vs. his parks” is how his stat line would change from the parks he played in (2024–26, weighted like his rates); it is what raw rates such as the Lineup Lab’s would see. ▲ marks right-handed hitters in the top quarter for pulling the ball in the air (19.6%+ of batted balls); their home-run factor already reflects their spray. * Part of his home games came in a park with no Savant factor (the Rays’ 2025 season, the Athletics), counted as average. Park fit is a tiebreaker of a few runs for most bats; the largest effect here is 0.35 wins a season. Price a bat in the Roster Builder or the Trade Builder; both, the Free-Agent Board and the Lineup Lab show his park fit beside him.
If he pitched here: outside arms
Roster Builder starters and relievers, sorted by runs allowed per 600 batters at PNC against an average park (negative: PNC helps him). Park wins are to the team, at his 2027 projected innings.
| Pitcher | From | Path | vs. avg park | vs. his parks | LHH | 2027 WAR | Park wins | WAR + park | 2027 cost |
|---|---|---|---|---|---|---|---|---|---|
| Shota Imanaga SP · L | CHC | Free agent | −1.8 | −0.6 | 25% | 1.3 | +0.22 | 1.5 | $9.7M |
| Kyle Freeland SP · L | COL | Trade · Likely | −1.6 | −8.5 | 22% | 0.9 | +0.16 | 1.1 | $17.0M |
| Jacob Lopez SP · L | ATH | Trade · At a price | −1.6 | −1.6 | 25% | 1.1 | +0.16 | 1.3 | $780K |
| Nick Lodolo SP · L | CIN | Trade · Likely | −1.4 | −1.7 | 22% | 1.2 | +0.14 | 1.3 | $5.9M |
| Matthew Liberatore SP · L | STL | Trade · At a price | −1.3 | +0.3 | 26% | 1.4 | +0.16 | 1.6 | $4.1M |
| Sean Manaea SP · L | NYM | Trade · At a price | −1.3 | −0.1 | 26% | 0.7 | +0.12 | 0.8 | $25.0M |
| Cole Ragans SP · L | KC | Trade · At a price | −1.1 | −2.1 | 25% | 1.5 | +0.08 | 1.6 | $7.6M |
| Andrew Abbott SP · L | CIN | Trade · At a price | −1.1 | −1.4 | 25% | 2.0 | +0.13 | 2.2 | $3.7M |
| Yusei Kikuchi SP · L | LAA | Trade · Likely | −1.0 | −0.5 | 22% | 1.0 | +0.07 | 1.0 | $21.0M |
| Mitchell Parker RP · L | WSH | Trade · At a price | −1.0 | −1.8 | 27% | 0.6 | +0.08 | 0.7 | $1.1M |
| Joey Cantillo SP · L | CLE | Trade · At a price | −0.9 | +0.1 | 26% | 2.0 | +0.11 | 2.1 | $780K |
| Matthew Boyd SP · L | CHC | Free agent | −0.8 | +0.6 | 25% | 1.3 | +0.07 | 1.3 | $9.9M |
| Trevor Rogers SP · L | BAL | Free agent | −0.8 | −1.2 | 23% | 3.3 | +0.10 | 3.4 | $25.9M |
| Cade Povich SP · L | BAL | Trade · At a price | −0.8 | −1.5 | 27% | 0.9 | +0.06 | 0.9 | $780K |
| Foster Griffin SP · L | CLE | Free agent | −0.7 | −0.9 | 27% | 1.8 | +0.08 | 1.8 | $13.2M |
| Tarik Skubal SP · L | LAD | Free agent | −0.7 | −0.7 | 20% | 4.8 | +0.08 | 4.9 | $40.2M |
| Connor Prielipp SP · L | MIN | Trade · At a price | −0.7 | −1.9 | 29% | 1.8 | +0.07 | 1.9 | $780K |
| MacKenzie Gore SP · L | TEX | Trade · Likely | −0.6 | +0.3 | 26% | 2.8 | +0.07 | 2.8 | $11.7M |
| Patrick Sandoval SP · L | BOS | Free agent | −0.5 | −0.6 | 23% | 1.3 | +0.04 | 1.3 | $8.0M |
| Ian Seymour RP · L | TB | Trade · At a price | −0.5 | +0.1 | 34% | 1.1 | +0.04 | 1.2 | $780K |
| Dylan Lee RP · L | ATL | Trade · At a price | −0.4 | −0.2 | 40% | 1.0 | +0.02 | 1.0 | $4.3M |
| Kris Bubic SP · L | LAD | Free agent | −0.4 | −1.6 | 24% | 2.1 | +0.03 | 2.1 | $11.4M |
| Nick Pivetta SP · R | SD | Free agent | −0.3 | +0.2 | 50% | 1.5 | +0.02 | 1.6 | $10.5M |
| Alex Vesia RP · L | LAD | Free agent | −0.3 | −0.9 | 40% | 0.9 | +0.01 | 0.9 | $9.7M |
| Michael Wacha SP · R | KC | Trade · At a price | −0.1 | −1.3 | 55% | 1.9 | +0.01 | 1.9 | $14.0M |
| Sean Newcomb RP · L | CWS | Free agent | −0.1 | 0.0 | 35% | 0.9 | +0.01 | 0.9 | $12.6M |
| Ryne Nelson SP · R | AZ | Trade · At a price | −0.1 | −1.6 | 49% | 1.0 | +0.01 | 1.0 | $3.8M |
| Gregory Soto RP · L | PIT | Re-sign | −0.1 | −0.2 | 39% | 0.8 | 0.00 | 0.8 | $9.2M |
| Samy Natera Jr. RP · L | LAA | Trade · At a price | 0.0 | +1.4 | 43% | 0.8 | 0.00 | 0.8 | $780K |
| Grant Holmes SP · R | ATL | Trade · At a price | 0.0 | +0.3 | 54% | 0.9 | 0.00 | 0.9 | $780K |
| Andrés Muñoz RP · R | SEA | Trade · At a price | 0.0 | +4.7 | 50% | 1.0 | 0.00 | 0.9 | $8.0M |
| José A. Ferrer RP · L | SEA | Trade · At a price | 0.0 | +1.9 | 41% | 0.6 | 0.00 | 0.6 | $1.7M |
| David Peterson SP · L | CHC | Free agent | 0.0 | +1.6 | 26% | 1.9 | 0.00 | 1.9 | $12.7M |
| Kirby Yates RP · R | PIT | Re-sign | +0.1 | +1.2 | 43% | 0.2 | 0.00 | 0.2 | $3.3M |
| Jack Perkins RP · R | ATH | Trade · At a price | +0.1 | +0.1 | 54% | 0.7 | −0.01 | 0.7 | $780K |
| Kevin Gausman SP · R | CHC | Free agent | +0.1 | −0.3 | 52% | 1.8 | −0.01 | 1.8 | $16.6M |
| Sonny Gray SP · R | BOS | Free agent | +0.1 | +1.0 | 56% | 1.7 | −0.01 | 1.7 | $16.7M |
| David Bednar RP · R | NYY | Free agent | +0.1 | −0.1 | 50% | 1.2 | −0.01 | 1.2 | $16.9M |
| Jack Leiter SP · R | TEX | Trade · At a price | +0.1 | +3.1 | 53% | 1.2 | −0.01 | 1.2 | $780K |
| Edward Cabrera SP · R | CHC | Trade · At a price | +0.1 | +0.9 | 55% | 0.8 | −0.01 | 0.8 | $4.5M |
| Jack Flaherty SP · R | DET | Free agent | +0.1 | +0.3 | 54% | 1.7 | −0.01 | 1.7 | $10.8M |
| Tanner Bibee SP · R | CLE | Trade · At a price | +0.2 | +1.5 | 56% | 1.8 | −0.02 | 1.7 | $7.4M |
| Grant Wolfram RP · L | BAL | Trade · Likely | +0.2 | −0.6 | 49% | 0.7 | −0.01 | 0.7 | $780K |
| Brandon Sproat SP · R | MIL | Trade · At a price | +0.2 | +1.5 | 53% | 0.7 | −0.02 | 0.7 | $780K |
| Jacob deGrom SP · R | TEX | Trade · Likely | +0.2 | +3.0 | 55% | 1.6 | −0.01 | 1.6 | $37.0M |
| Brandon Woodruff SP · R | MIL | Free agent | +0.2 | +1.7 | 52% | 1.5 | −0.01 | 1.5 | $9.8M |
| Orion Kerkering RP · R | PHI | Trade · At a price | +0.2 | −0.8 | 44% | 0.7 | −0.01 | 0.7 | $1.6M |
| Casey Mize SP · R | SD | Free agent | +0.2 | +0.7 | 54% | 2.1 | −0.02 | 2.1 | $14.2M |
| Hunter Greene SP · R | CIN | Trade · At a price | +0.2 | −0.4 | 51% | 1.9 | −0.02 | 1.9 | $15.3M |
| Adrian Morejon RP · L | SD | Free agent | +0.2 | +1.7 | 41% | 1.9 | −0.01 | 1.9 | $23.2M |
| Chad Patrick RP · R | MIL | Trade · At a price | +0.2 | +1.7 | 48% | 1.1 | −0.02 | 1.1 | $780K |
| Freddy Peralta SP · R | TB | Free agent | +0.3 | +1.5 | 56% | 2.1 | −0.03 | 2.0 | $13.8M |
| Grayson Rodriguez SP · R | LAA | Trade · At a price | +0.3 | +0.8 | 55% | 0.8 | −0.02 | 0.8 | $1.2M |
| Aaron Civale RP · R | CHC | Free agent | +0.3 | +1.2 | 51% | 0.7 | −0.03 | 0.7 | $7.5M |
| Tyler Mahle SP · R | ATL | Free agent | +0.3 | +2.1 | 51% | 1.9 | −0.03 | 1.8 | $13.5M |
| Will Vest RP · R | DET | Trade · At a price | +0.3 | +0.7 | 44% | 0.7 | −0.01 | 0.6 | $4.9M |
| Luis Castillo SP · R | CWS | Trade · At a price | +0.3 | +5.1 | 52% | 0.9 | −0.03 | 0.8 | $24.1M |
| Trevor McDonald SP · R | SF | Trade · At a price | +0.3 | +2.2 | 55% | 1.1 | −0.03 | 1.1 | $780K |
| David Sandlin SP · R | CWS | Trade · At a price | +0.3 | +1.0 | 60% | 0.7 | −0.02 | 0.7 | $780K |
| Michael Soroka SP · R | AZ | Free agent | +0.3 | −0.4 | 57% | 2.0 | −0.03 | 2.0 | $14.5M |
| Andrew Morris RP · R | MIN | Trade · At a price | +0.3 | −0.4 | 50% | 0.8 | −0.02 | 0.8 | $780K |
| Cade Smith RP · R | CLE | Trade · At a price | +0.3 | +1.3 | 52% | 2.1 | −0.02 | 2.0 | $4.2M |
| Dustin May SP · R | MIL | Free agent | +0.4 | +1.4 | 59% | 1.9 | −0.04 | 1.8 | $13.3M |
| Jhoan Duran RP · R | PHI | Trade · At a price | +0.4 | −0.6 | 53% | 1.8 | −0.02 | 1.8 | $9.7M |
| George Kirby SP · R | SEA | Trade · At a price | +0.4 | +5.5 | 51% | 2.6 | −0.05 | 2.5 | $9.6M |
| Nick Martinez SP · R | TB | Free agent | +0.4 | +0.8 | 51% | 1.5 | −0.04 | 1.5 | $13.7M |
| Seth Lugo SP · R | KC | Trade · At a price | +0.5 | −0.5 | 59% | 0.8 | −0.04 | 0.8 | $21.5M |
| Brady Singer SP · R | CIN | Free agent | +0.6 | −0.3 | 60% | 1.2 | −0.07 | 1.1 | $5.1M |
| Sandy Alcantara SP · R | MIA | Free agent | +0.6 | +1.1 | 56% | 2.1 | −0.09 | 2.0 | $16.4M |
“vs. avg park” is runs allowed per 600 batters against an average park, the part of PNC his park-adjusted WAR leaves out; “Park wins” turns it into wins to the team at his 2027 projected innings (4.31 batters an inning, 9.7 runs a win). “vs. his parks” is how his runs allowed would change from the parks he pitched in. Side-level factors only (no spray), and his rates are regressed to the league. As for bats, park fit is a tiebreaker: the largest effect here is 0.22 wins a season. The Free-Agent Board and the Roster Builder show the same park wins beside each player.
Does it work?
Hitters who changed home parks, and the spray model’s own checks
- Change in home-minus-road wOBA for 38 hitters who changed home parks (2024→25, 2025→26, 150+ PA each side)
- Error (RMSE) 74 pts with no park, 70 side-level, 70 spray-aware; r = 0.41 / 0.42 The factors predict the direction of the change (r = 0.41). The change in a hitter’s home-minus-road split varies by 74 wOBA points from one season to the next, so the error barely moves. Spray awareness changes the error by 0.2 pts, well inside what 38 hitters can detect: this test can’t judge the spray model, the held-out balls below can. The factors cover the same seasons, so this is not fully out of sample.
- Spray model
- Held-out 2026 balls: park-specific home-run rates beat the league’s by 208 log-likelihood points, against 96 for the earlier model that shrank every bin straight toward the league. Each park’s rate in a region (pull direction × launch angle) is shrunk toward the league’s (prior worth 10 expected home runs), and each bin toward its region (40 balls), on the log-odds scale. Check: the model puts PNC at ×0.82 for right-handed home runs (×0.78 before shrinking, on 209 home runs), against Savant’s 70 (77 after shrinking); left-handed ×0.91 against 98 (99). Both measure the same park with different methods and noise.
- A hitter’s PNC adjustment
- Repeats at r = 0.66 between odd and even games (391 hitter-sides), and 89% of its consistent spread is not park noise (40 bootstrap redraws of every park’s balls: SD 0.017 of 0.050). It is shrunk toward ×1.00 by both.