2025 ZiPS Projections: Chicago Cubs

For the 21st consecutive season, the ZiPS projection system is unleashing a full set of prognostications. For more information on the ZiPS projections, please consult this year’s introduction and MLB’s glossary entry. The team order is selected by lot, and the next team up is the Chicago Cubs.

Batters

To get this out of the way, ZiPS absolutely adores Chicago’s lineup, from top to bottom and every which way around. ZiPS and the Cubs have been on the same page before — the projections for Shota Imanaga last winter had me proclaiming that his deal was the offseason’s best signing — but the projections haven’t been this high on the lineup since the team’s World Series contention days. Now, a lot of that is defense, with Nico Hoerner, Dansby Swanson, and Pete Crow-Armstrong each having elite defensive projections. But there’s a lot of bat in there as well, with six starters projected for a 100 OPS+ or better, and two of the three who aren’t — Swanson and PCA — bolstered by their aforementioned defense.

Indeed, the system’s love for the Cubs was so intense that, as with the 2023 Diamondbacks (a team ZiPS absolutely drooled over), I made sure to double-check that something funny wasn’t going on by projecting the team using an older version of ZiPS. Much like Arizona two years ago, there was basically no change (0.2 WAR). The happy-Cubs effect has gotten stronger since the start of the winter, with the organization jettisoning a number of players ZiPS wasn’t high on (Cody Bellinger and Isaac Paredes), while adding a player who ZiPS has always liked (Kyle Tucker) and finding more playing time for Matt Shaw, who projects to be a decent starter right now. ZiPS even likes Gage Workman, who was picked up in the Rule 5 draft. It’s a smaller move, but while the computer isn’t optimistic about his bat, it had him as one of the best defensive third basemen in the minors.

Now, the playing time will come down once I do the Officially Licensed ZiPS Projected Standings, but the computer thinks this is a terrific group. It even likes the guys coming up. As it did with Michael Busch last year, it sees Shaw as a legitimate Rookie of the Year candidate, and thinks that Owen Caissie and Moises Ballesteros could be real contributors in the majors right now. And it already sees Kevin Alcántara as having a career projection of 25 WAR! I’m almost bored that there’s nothing to be mean about, at least as it pertains to the offense.

Pitchers

On the flip side, ZiPS is much less excited about the pitching staff, especially the rotation. Since the computer was already enthusiastic about Imanaga, it sees him about the same as it did last winter, and it likes Justin Steele just fine. But once you get past the top two and Matthew Boyd, who ZiPS really digs despite the injuries given his strong stretch run, it’s a rather “meh” set of projections, full of serviceable-at-best pitchers with ERAs fancied up by the team’s defense. ZiPS believes that Javier Assad can continue to beat his FIP by more than the defense contributes, but with a 4.48 FIP projection, you’re not going to see a projected ERA in the 3.00s, even with the adjustment.

With a luxury tax number under $200 million and no onerous long-term deals, the Cubs are a team that ought to be really involved in the offseason pitching market. There are still dudes on the board!

The projections for the bullpen are more optimistic than they are for the rotation, though they fall short of being elite. There’s an amusing consistency among the relievers, with ZiPS basically projecting everyone for ERAs between 3.40 and 3.90, with one notable exception. That exception is Nate Pearson, who still has a great deal of upside, but who remains rather risky; ZiPS would prefer that he and his 4.10 projected ERA be relegated to lower-leverage situations until he shows something.

Elsewhere, the projections for Cody Poteet are intriguing. The Cubs didn’t eat enough of Bellinger’s contract to get a real prospect, but the 30-year-old right-hander could be a valuable bullpen piece who can also throw the occasional emergency start. Ben Brown’s projection as a starter is already healthy, but as a reliever, ZiPS sees him as the best closer option on the team, with a projected ERA right around 3.00 there.

With ZiPS’ more conservative playing time, the Cubs are a slight favorite in NL Central as they’re currently constituted, forecast for 86-87 wins. But if they were to add a Roki Sasaki or a Corbin Burnes, they might very well project as the clear division standout.

Ballpark graphic courtesy Eephus League. Depth charts constructed by way of those listed here. Size of player names is very roughly proportional to Depth Chart playing time. The final team projections may differ considerably from our Depth Chart playing time.

Batters – Standard
Player B Age PO PA AB R H 2B 3B HR RBI BB SO SB CS
Nico Hoerner R 28 2B 619 563 78 155 29 3 9 60 41 67 28 5
Dansby Swanson R 31 SS 604 543 78 133 26 2 18 70 54 147 13 3
Kyle Tucker L 28 RF 524 453 72 119 24 1 23 76 66 80 17 2
Ian Happ B 30 LF 634 550 82 137 33 2 22 81 74 154 11 3
Pete Crow-Armstrong L 23 CF 536 490 77 122 21 7 15 68 30 139 31 6
Seiya Suzuki R 30 RF 561 491 72 133 26 4 21 72 61 139 11 5
Michael Busch L 27 1B 577 505 79 123 28 2 21 72 60 158 2 1
Matt Shaw R 23 3B 507 453 63 112 16 3 16 65 42 109 18 7
Moises Ballesteros L 21 C 529 483 51 118 21 1 14 60 38 111 2 1
Gage Workman L 25 3B 523 477 66 106 22 5 12 62 40 187 15 7
Owen Caissie L 22 RF 567 504 57 122 25 2 14 66 54 188 7 4
Carson Kelly R 30 C 311 276 33 62 11 0 8 34 28 61 1 0
Nick Madrigal R 28 3B 270 247 29 65 12 2 1 24 13 26 4 1
David Bote R 32 3B 311 281 31 63 15 1 7 34 22 78 2 1
James Triantos R 22 2B 480 445 59 112 17 4 5 48 23 65 24 6
Kevin Alcantara R 22 CF 494 456 58 109 19 1 11 52 33 149 10 3
Miguel Amaya R 26 C 331 291 31 69 13 1 8 40 26 68 0 0
Brett Bateman L 23 CF 475 418 54 97 15 2 4 37 47 103 15 5
Benjamin Cowles R 25 SS 447 401 48 88 16 2 8 45 35 150 10 3
Jonathon Long R 23 1B 483 426 65 98 17 0 14 57 46 124 1 0
Luis Vazquez R 25 SS 415 373 40 83 15 1 8 44 26 110 3 4
Pedro Ramirez B 21 3B 515 476 48 111 18 4 5 46 31 116 7 4
Miles Mastrobuoni L 29 SS 408 369 48 87 16 2 4 34 37 87 14 2
Christian Bethancourt 베탄코트 R 33 C 275 260 32 59 12 0 8 33 12 73 4 0
Trayce Thompson R 34 CF 373 334 38 67 14 1 14 44 34 134 5 1
Patrick Wisdom R 33 1B 337 300 40 59 14 1 17 47 30 125 6 1
Gilberto Celestino R 26 CF 315 284 31 67 13 1 3 28 27 68 5 1
Alexander Canario R 25 CF 394 359 43 74 15 1 15 51 30 136 6 2
Chase Strumpf R 27 1B 399 348 44 67 14 1 10 43 41 159 2 2
Matt Mervis L 27 1B 470 424 48 94 19 1 15 60 36 136 2 1
Christian Franklin R 25 RF 426 369 53 78 12 2 5 40 47 118 15 5
Yan Gomes R 37 C 277 258 25 58 10 1 6 30 11 67 1 0
Hayden Cantrelle B 26 2B 309 262 34 46 9 2 4 28 35 101 9 2
BJ Murray Jr. B 25 3B 455 404 45 81 16 1 8 42 45 126 8 2
Ezequiel Pagan L 24 RF 383 355 40 83 11 2 6 39 17 81 5 2
Caleb Knight R 29 C 115 101 9 20 3 0 2 12 8 32 1 1
Felix Stevens R 25 RF 451 408 47 82 17 2 16 56 36 195 2 1
Tyler Payne R 32 C 257 243 23 58 12 0 3 25 10 62 1 0
Pablo Aliendo R 24 C 319 287 33 58 12 1 8 38 21 114 2 0
Cristian Hernandez R 21 SS 517 470 55 97 19 3 5 43 42 153 18 5
Kevin Padlo R 28 1B 366 326 38 63 14 1 9 38 35 114 6 2
Edgar Alvarez L 24 1B 116 105 8 21 4 0 2 10 10 48 0 1
William Simoneit R 28 C 271 243 24 45 10 1 4 29 18 103 1 1
Parker Chavers L 26 RF 339 310 37 66 9 1 5 30 25 95 12 4
Darius Hill L 27 LF 431 400 45 98 19 2 2 37 24 83 2 3
Casey Opitz B 26 C 269 242 23 41 6 1 5 21 24 102 2 0
Jefferson Rojas R 20 SS 413 381 45 84 11 2 6 39 22 86 10 5
Brennen Davis R 25 DH 321 282 35 55 12 0 8 44 25 97 3 2
Bryce Windham L 28 C 272 243 23 52 10 1 1 20 21 62 5 1
Reivaj Garcia B 23 2B 393 371 41 91 14 1 2 31 14 73 4 3
Luis Verdugo R 24 3B 430 400 33 87 19 1 3 34 24 97 2 1
David Avitia R 26 C 124 109 8 17 4 0 1 8 8 67 0 0
Andy Garriola R 25 LF 463 424 53 82 22 1 16 61 26 177 5 1
Jake Hager R 32 2B 261 238 24 46 11 1 3 21 16 83 2 1
Jack Reinheimer R 32 SS 168 156 16 29 5 0 1 12 9 50 4 0
Wally Soto L 22 DH 88 78 5 11 3 0 1 7 6 37 0 0
Rafael Morel R 23 RF 346 315 39 67 8 1 5 33 22 118 4 4
Cole Roederer L 25 LF 370 329 34 62 13 1 6 33 33 126 5 2
Ethan Hearn L 24 C 287 264 28 47 10 2 7 31 15 120 3 1
Jordan Nwogu R 26 LF 382 350 36 68 11 2 8 39 23 129 11 5
Brian Kalmer R 24 1B 323 295 33 53 11 1 9 35 23 147 0 0
Fabian Pertuz R 24 SS 364 342 31 65 12 1 5 31 16 130 5 2
Haydn McGeary R 25 1B 446 401 36 79 15 1 9 44 36 153 4 1
Christian Olivo R 21 2B 375 339 41 63 7 1 2 26 21 115 9 2
Ed Howard R 23 SS 402 378 34 74 11 1 2 27 17 141 4 1

Batters – Advanced
Player PA BA OBP SLG OPS+ ISO BABIP Def WAR wOBA 3YOPS+ RC
Nico Hoerner 619 .275 .335 .385 101 .110 .300 11 4.5 .316 98 80
Dansby Swanson 604 .245 .315 .399 98 .155 .304 11 4.4 .312 95 72
Kyle Tucker 524 .263 .355 .473 129 .210 .275 2 3.7 .354 127 80
Ian Happ 634 .249 .342 .436 116 .187 .307 3 3.6 .338 113 86
Pete Crow-Armstrong 536 .249 .302 .412 97 .163 .319 9 3.5 .308 101 70
Seiya Suzuki 561 .271 .353 .468 127 .198 .338 -1 3.3 .353 121 86
Michael Busch 577 .244 .331 .432 111 .188 .313 4 2.6 .332 111 73
Matt Shaw 507 .247 .320 .402 100 .155 .293 -1 2.3 .316 103 65
Moises Ballesteros 529 .244 .301 .379 88 .135 .290 -4 1.7 .296 90 56
Gage Workman 523 .222 .285 .365 80 .142 .338 7 1.7 .284 83 56
Owen Caissie 567 .242 .320 .383 95 .141 .357 3 1.5 .308 100 65
Carson Kelly 311 .225 .302 .351 82 .127 .261 3 1.4 .290 77 30
Nick Madrigal 270 .263 .318 .340 84 .077 .291 5 1.3 .293 82 28
David Bote 311 .224 .290 .359 80 .135 .286 7 1.3 .286 75 30
James Triantos 480 .252 .296 .341 78 .090 .285 2 1.3 .280 80 52
Kevin Alcantara 494 .239 .294 .358 81 .118 .331 2 1.3 .287 84 51
Miguel Amaya 331 .237 .314 .371 91 .134 .283 -3 1.2 .303 91 34
Brett Bateman 475 .232 .312 .306 74 .074 .299 3 1.1 .280 77 45
Benjamin Cowles 447 .219 .291 .329 73 .110 .329 1 1.0 .276 75 42
Jonathon Long 483 .230 .313 .369 90 .139 .292 4 1.0 .301 93 49
Luis Vazquez 415 .222 .284 .332 71 .110 .294 4 1.0 .273 74 38
Pedro Ramirez 515 .233 .284 .319 68 .086 .299 8 0.9 .267 72 46
Miles Mastrobuoni 408 .236 .305 .323 76 .087 .299 -3 0.9 .280 77 40
Christian Bethancourt 275 .227 .263 .366 73 .139 .286 1 0.8 .273 69 26
Trayce Thompson 373 .201 .279 .375 80 .174 .286 0 0.8 .285 72 36
Patrick Wisdom 337 .197 .280 .421 92 .224 .267 1 0.6 .303 85 37
Gilberto Celestino 315 .236 .309 .320 76 .085 .300 0 0.6 .283 77 30
Alexander Canario 394 .206 .272 .379 79 .173 .284 -2 0.6 .284 85 39
Chase Strumpf 399 .192 .289 .325 71 .132 .318 9 0.5 .277 75 34
Matt Mervis 470 .222 .291 .378 85 .156 .290 2 0.5 .293 87 48
Christian Franklin 426 .212 .313 .296 72 .084 .297 2 0.2 .279 76 39
Yan Gomes 277 .225 .264 .341 68 .116 .281 -1 0.2 .263 65 23
Hayden Cantrelle 309 .175 .290 .271 58 .095 .267 1 0.2 .260 60 23
BJ Murray Jr. 455 .200 .286 .304 65 .104 .270 -1 0.1 .267 68 37
Ezequiel Pagan 383 .234 .282 .327 70 .093 .287 4 0.0 .270 71 35
Caleb Knight 115 .198 .282 .287 60 .089 .268 -1 0.0 .260 60 9
Felix Stevens 451 .201 .275 .370 78 .169 .336 -1 0.0 .282 83 42
Tyler Payne 257 .239 .273 .325 66 .086 .309 -4 -0.1 .263 61 22
Pablo Aliendo 319 .202 .274 .334 69 .132 .303 -6 -0.1 .270 75 27
Cristian Hernandez 517 .206 .277 .292 59 .085 .295 -3 -0.1 .255 65 44
Kevin Padlo 366 .193 .273 .325 66 .132 .266 4 -0.2 .266 68 31
Edgar Alvarez 116 .200 .276 .295 60 .095 .345 2 -0.2 .254 65 9
William Simoneit 271 .185 .260 .284 52 .099 .302 -2 -0.3 .246 51 19
Parker Chavers 339 .213 .275 .297 60 .084 .291 4 -0.3 .256 66 29
Darius Hill 431 .245 .289 .317 69 .072 .304 3 -0.3 .269 72 39
Casey Opitz 269 .170 .249 .265 44 .095 .267 0 -0.3 .234 44 16
Jefferson Rojas 413 .220 .271 .307 61 .087 .270 -4 -0.3 .257 64 36
Brennen Davis 321 .195 .287 .322 70 .127 .265 0 -0.4 .275 73 28
Bryce Windham 272 .214 .277 .276 56 .062 .283 -5 -0.4 .250 55 20
Reivaj Garcia 393 .245 .270 .305 60 .059 .301 0 -0.4 .251 62 32
Luis Verdugo 430 .217 .263 .292 55 .075 .280 2 -0.4 .247 56 32
David Avitia 124 .156 .231 .220 27 .064 .391 0 -0.4 .209 31 6
Andy Garriola 463 .193 .246 .363 67 .170 .286 3 -0.4 .262 73 39
Jake Hager 261 .193 .248 .285 49 .092 .282 1 -0.5 .237 45 18
Jack Reinheimer 168 .186 .233 .237 32 .051 .267 -1 -0.6 .212 29 10
Wally Soto 88 .140 .219 .217 23 .077 .248 0 -0.6 .203 34 4
Rafael Morel 346 .213 .276 .292 59 .079 .323 0 -0.9 .256 63 28
Cole Roederer 370 .188 .268 .288 56 .100 .284 1 -0.9 .251 58 27
Ethan Hearn 287 .178 .237 .311 51 .133 .292 -7 -0.9 .242 55 21
Jordan Nwogu 382 .194 .254 .306 56 .111 .281 1 -1.0 .249 61 32
Brian Kalmer 323 .180 .245 .315 55 .136 .317 1 -1.0 .248 64 23
Fabian Pertuz 364 .190 .234 .275 41 .085 .289 -2 -1.0 .225 45 24
Haydn McGeary 446 .197 .271 .307 61 .110 .293 -2 -1.2 .258 64 34
Christian Olivo 375 .186 .240 .230 33 .044 .275 1 -1.3 .214 39 22
Ed Howard 402 .196 .235 .246 35 .050 .306 -3 -1.6 .216 37 23

Batters – Top Near-Age Offensive Comps
Player Hit Comp 1 Hit Comp 2 Hit Comp 3
Nico Hoerner Steve Sax Dave Cash Cesar Tovar
Dansby Swanson Bill Rigney Tommy Harper Scott Brosius
Kyle Tucker Mookie Betts Gary Sheffield Carl Yastrzemski
Ian Happ Bob Skinner Von Hayes Eric Tipton
Pete Crow-Armstrong Brett Phillips Greg Tubbs Tom Shopay
Seiya Suzuki Al Smith George Selkirk Jack Fournier
Michael Busch Roberto Petagine 페타지니 Norm Siebern Max West
Matt Shaw Brett Lawrie Danny Tartabull Darnell Coles
Moises Ballesteros Miguel Montero Fred Kendall Bill Freehan
Gage Workman Ivan De Jesus Josh Fields Darnell Sweeney
Owen Caissie Andy Tomberlin Mark Bradley William O’Connor
Carson Kelly Greg Olson Charlie O’Brien Marc Hill
Nick Madrigal Mike Caruso Tony Renda John Valente
David Bote Adam Rosales Mark Lewis Lou Merloni
James Triantos Junior Noboa José Ramírez Richard Brewster
Kevin Alcantara Downey Thomas Pete Estrada Heliot Ramos
Miguel Amaya Hank Conger John Wockenfuss Greg Olson
Brett Bateman Aaron Barbosa Anthony Felston Vince Harris
Benjamin Cowles Tim Barker Corey Toups Ray Holbert
Jonathon Long Don Barbara Craig Landis Mark Canha
Luis Vazquez Fausto Cruz Reid Brignac Brian Finegan
Pedro Ramirez Wenceel Perez William Suero Jim Wessinger
Miles Mastrobuoni Cliff Pennington Mark Belanger Albenis Machado
Christian Bethancourt Freddie Velazquez Vance Wilson Matt Batts
Trayce Thompson Rick Monday Leroy Stanton Brad Wilkerson
Patrick Wisdom Franklin Stubbs Adrian Garrett Jose Canseco
Gilberto Celestino Luis Melendez Jose Mota John Schmitz
Alexander Canario Sam Chapman Michael Lutz Moe Hill
Chase Strumpf Billy Martin Reggie Whittemore Nick Weglarz
Matt Mervis Travis Ishikawa Gail Harris Ryan Jackson라이온
Christian Franklin Logan Vick Brian Cisarik Juan Silva
Yan Gomes John Flaherty Tom Pagnozzi Chris Coste
Hayden Cantrelle Jamodrick McGruder Scot Pyle Oliver Dominguez
BJ Murray Jr. Andy González Neil McPhee Doug Baker
Ezequiel Pagan Herlis Rodriguez Ryan Fleming Gary Trammell
Caleb Knight Eric Brooks Mike Knapp Brian Poldberg
Felix Stevens Larry Ray Steven McManaman Larry Daniels
Tyler Payne Bob Melvin Jim Horner Omir Santos
Pablo Aliendo Tom Heierle Larry Howard Marcus Nidiffer
Cristian Hernandez Ike Brown Royce Clayton Juan Gonzalez
Kevin Padlo Mike Wolff Joe Orengo Ben Petrick
Edgar Alvarez Craig Massoni Troy Sieber Casey DeGroote
William Simoneit Roy Anderson Jacob Wallis Lee Evans
Parker Chavers Jordan Schafer Patrick Biondi P.J. Williams
Darius Hill Jesus Figueroa Alec Keller Connor Marabell
Casey Opitz Don Werner Kerry Baker Paul Bradley
Jefferson Rojas Eduardo Núñez Juan Herrera Tomas De La Rosa
Brennen Davis Josh Willingham Bobo Osborne Gary Clemens
Bryce Windham Bruce Kimm Anthony Bemboom Buddy Booker
Reivaj Garcia Pat Maxwell John Sandknop Bobby Dews
Luis Verdugo Corey Jones Jim Johnson Colton Welker
David Avitia Jim Baxter Nate Nolan Matt Allen
Andy Garriola Brad Glenn Cody Puckett Howie Goss
Jake Hager Jayson Nix Kevin Rios P.J. Phillips
Jack Reinheimer Dalphie Correa Eric Yelding Fred McAlister
Wally Soto Yuki Suzuki Martin Robitaille Scott Sulprizio
Rafael Morel Stephen Kesses Andre Newhouse Ben Harrison
Cole Roederer Rick Sofield Brian Blair Dallas Poulk
Ethan Hearn Brian Peacock Takahiko Sato Chris Hatcher
Jordan Nwogu John Ramistella Logan Landon John Cotton
Brian Kalmer Rick Nelson Paul Ratliff Clarence Stanley
Fabian Pertuz Randy Brown Robert McIntyre Damon Thames
Haydn McGeary Jeff Bailey Paul Felix Brian Turner
Christian Olivo Manuel DelCarmen Ovidio Polanco Brett Boyer
Ed Howard Carl Derr Joe Demaestri David Nicholson

Batters – 80th/20th Percentiles
Player 80th BA 80th OBP 80th SLG 80th OPS+ 80th WAR 20th BA 20th OBP 20th SLG 20th OPS+ 20th WAR
Nico Hoerner .303 .364 .421 119 6.0 .252 .312 .347 84 3.0
Dansby Swanson .271 .338 .447 116 5.7 .220 .286 .352 79 2.9
Kyle Tucker .288 .377 .528 148 5.0 .240 .332 .427 113 2.6
Ian Happ .271 .367 .485 134 5.0 .225 .320 .393 99 2.2
Pete Crow-Armstrong .276 .327 .463 117 4.8 .223 .276 .359 77 2.1
Seiya Suzuki .297 .379 .522 148 4.7 .243 .322 .418 107 1.8
Michael Busch .269 .355 .485 132 4.1 .219 .304 .387 93 1.3
Matt Shaw .274 .346 .456 121 3.6 .225 .295 .357 81 1.1
Moises Ballesteros .272 .327 .424 106 2.9 .218 .273 .334 70 0.4
Gage Workman .247 .310 .410 99 3.0 .193 .259 .319 62 0.5
Owen Caissie .272 .350 .439 118 3.1 .210 .292 .341 77 0.1
Carson Kelly .257 .335 .404 104 2.2 .197 .278 .300 61 0.5
Nick Madrigal .291 .344 .380 101 1.8 .231 .286 .294 64 0.5
David Bote .252 .319 .407 99 2.0 .194 .264 .314 61 0.5
James Triantos .280 .324 .388 98 2.5 .224 .271 .309 62 0.3
Kevin Alcantara .264 .319 .408 100 2.5 .214 .267 .316 63 0.1
Miguel Amaya .268 .343 .432 114 2.2 .210 .289 .322 73 0.5
Brett Bateman .258 .338 .344 91 2.1 .204 .286 .268 56 0.0
Benjamin Cowles .247 .318 .386 94 2.2 .193 .266 .288 56 0.0
Jonathon Long .254 .339 .419 110 2.2 .203 .289 .322 73 0.0
Luis Vazquez .248 .310 .376 89 1.9 .198 .259 .298 56 0.1
Pedro Ramirez .258 .305 .358 83 2.1 .208 .260 .281 53 -0.1
Miles Mastrobuoni .262 .328 .365 94 1.8 .208 .278 .281 59 -0.1
Christian Bethancourt .252 .290 .413 93 1.5 .203 .240 .319 56 0.2
Trayce Thompson .224 .303 .435 102 1.7 .172 .253 .321 61 -0.2
Patrick Wisdom .223 .300 .484 115 1.5 .172 .254 .350 70 -0.4
Gilberto Celestino .263 .336 .359 95 1.3 .207 .277 .285 60 -0.1
Alexander Canario .230 .297 .435 100 1.6 .178 .244 .324 57 -0.6
Chase Strumpf .219 .315 .371 88 1.4 .164 .261 .279 51 -0.6
Matt Mervis .246 .313 .428 103 1.6 .197 .263 .339 68 -0.6
Christian Franklin .238 .339 .339 88 1.0 .182 .284 .256 53 -0.9
Yan Gomes .259 .298 .400 90 1.0 .193 .237 .288 46 -0.6
Hayden Cantrelle .198 .314 .313 75 0.9 .148 .263 .227 39 -0.6
BJ Murray Jr. .228 .307 .346 82 1.1 .176 .260 .268 48 -0.9
Ezequiel Pagan .262 .308 .376 89 1.0 .205 .257 .289 53 -0.8
Caleb Knight .226 .314 .342 82 0.3 .169 .254 .253 42 -0.3
Felix Stevens .227 .300 .426 99 1.2 .172 .247 .312 57 -1.3
Tyler Payne .273 .307 .369 88 0.7 .210 .247 .286 48 -0.7
Pablo Aliendo .230 .300 .382 85 0.6 .174 .247 .285 47 -1.0
Cristian Hernandez .234 .302 .330 76 1.1 .182 .253 .250 43 -1.2
Kevin Padlo .218 .300 .373 86 0.7 .168 .242 .280 47 -1.2
Edgar Alvarez .229 .306 .338 79 0.1 .169 .246 .251 40 -0.5
William Simoneit .217 .292 .340 76 0.6 .157 .226 .240 32 -0.9
Parker Chavers .240 .305 .341 78 0.6 .187 .249 .261 44 -1.0
Darius Hill .272 .314 .353 86 0.7 .215 .261 .281 50 -1.3
Casey Opitz .195 .277 .315 64 0.4 .139 .220 .227 27 -0.9
Jefferson Rojas .250 .300 .359 83 0.8 .195 .251 .270 46 -1.1
Brennen Davis .219 .309 .361 87 0.3 .169 .261 .277 53 -1.1
Bryce Windham .251 .313 .324 79 0.4 .181 .246 .235 37 -1.1
Reivaj Garcia .274 .297 .341 78 0.6 .220 .247 .269 46 -1.1
Luis Verdugo .241 .287 .327 71 0.4 .189 .234 .253 37 -1.5
David Avitia .196 .267 .276 54 0.0 .124 .197 .173 7 -0.7
Andy Garriola .219 .270 .412 86 0.7 .166 .218 .306 46 -1.7
Jake Hager .223 .279 .329 67 0.2 .160 .218 .237 27 -1.2
Jack Reinheimer .215 .262 .274 50 -0.2 .161 .205 .202 16 -1.0
Wally Soto .167 .247 .266 42 -0.4 .111 .196 .172 5 -0.8
Rafael Morel .240 .301 .339 78 0.0 .184 .245 .248 40 -1.7
Cole Roederer .213 .291 .324 71 -0.1 .162 .240 .242 37 -1.7
Ethan Hearn .208 .267 .367 76 -0.1 .152 .212 .269 34 -1.6
Jordan Nwogu .222 .282 .363 78 0.2 .168 .228 .262 39 -1.8
Brian Kalmer .209 .277 .370 74 -0.2 .150 .219 .265 34 -1.9
Fabian Pertuz .218 .260 .314 58 -0.2 .165 .208 .231 24 -1.9
Haydn McGeary .222 .298 .349 79 -0.2 .171 .248 .267 45 -2.2
Christian Olivo .210 .264 .259 47 -0.6 .160 .216 .197 18 -2.1
Ed Howard .222 .260 .280 52 -0.7 .169 .211 .214 18 -2.4

Batters – Platoon Splits
Player BA vs. L OBP vs. L SLG vs. L BA vs. R OBP vs. R SLG vs. R
Nico Hoerner .286 .341 .410 .271 .333 .376
Dansby Swanson .254 .331 .433 .242 .310 .389
Kyle Tucker .257 .337 .441 .266 .364 .488
Ian Happ .248 .331 .443 .249 .346 .434
Pete Crow-Armstrong .248 .302 .396 .249 .301 .419
Seiya Suzuki .276 .369 .469 .269 .346 .468
Michael Busch .236 .322 .404 .248 .336 .446
Matt Shaw .257 .333 .419 .243 .314 .394
Moises Ballesteros .231 .284 .338 .249 .307 .394
Gage Workman .201 .259 .315 .232 .297 .387
Owen Caissie .229 .302 .353 .249 .329 .398
Carson Kelly .233 .316 .384 .221 .296 .337
Nick Madrigal .266 .318 .342 .262 .319 .339
David Bote .231 .297 .352 .221 .287 .363
James Triantos .255 .302 .349 .250 .292 .338
Kevin Alcantara .247 .306 .384 .235 .287 .345
Miguel Amaya .240 .319 .380 .236 .312 .366
Brett Bateman .224 .295 .293 .235 .319 .311
Benjamin Cowles .227 .306 .352 .216 .284 .319
Jonathon Long .235 .325 .394 .228 .307 .357
Luis Vazquez .224 .286 .328 .222 .282 .335
Pedro Ramirez .236 .280 .307 .232 .286 .324
Miles Mastrobuoni .229 .289 .300 .240 .314 .336
Christian Bethancourt .233 .275 .384 .224 .257 .356
Trayce Thompson .197 .283 .377 .203 .277 .373
Patrick Wisdom .202 .282 .423 .194 .279 .418
Gilberto Celestino .240 .321 .320 .234 .302 .321
Alexander Canario .209 .279 .403 .205 .267 .364
Chase Strumpf .192 .294 .328 .193 .287 .323
Matt Mervis .220 .285 .360 .223 .295 .387
Christian Franklin .214 .323 .321 .210 .307 .284
Yan Gomes .238 .279 .350 .219 .258 .337
Hayden Cantrelle .176 .292 .264 .175 .290 .275
BJ Murray Jr. .203 .280 .313 .199 .288 .301
Ezequiel Pagan .226 .278 .302 .237 .285 .337
Caleb Knight .189 .268 .297 .203 .292 .281
Felix Stevens .205 .284 .386 .199 .271 .363
Tyler Payne .241 .284 .325 .238 .268 .325
Pablo Aliendo .208 .280 .340 .199 .271 .331
Cristian Hernandez .209 .289 .306 .205 .272 .286
Kevin Padlo .195 .283 .336 .192 .267 .318
Edgar Alvarez .194 .265 .226 .203 .280 .324
William Simoneit .191 .270 .303 .182 .253 .273
Parker Chavers .198 .261 .259 .218 .280 .310
Darius Hill .232 .277 .312 .252 .295 .321
Casey Opitz .171 .250 .276 .169 .249 .259
Jefferson Rojas .227 .279 .328 .218 .268 .298
Brennen Davis .196 .291 .333 .194 .284 .317
Bryce Windham .208 .262 .247 .217 .284 .289
Reivaj Garcia .245 .270 .309 .245 .270 .303
Luis Verdugo .217 .273 .290 .218 .258 .294
David Avitia .171 .256 .200 .149 .220 .230
Andy Garriola .202 .254 .387 .190 .243 .354
Jake Hager .196 .257 .272 .192 .242 .295
Jack Reinheimer .196 .246 .232 .180 .224 .240
Wally Soto .130 .231 .174 .145 .217 .236
Rafael Morel .214 .280 .306 .212 .274 .286
Cole Roederer .182 .255 .253 .191 .274 .304
Ethan Hearn .169 .231 .301 .182 .240 .315
Jordan Nwogu .195 .257 .320 .194 .253 .297
Brian Kalmer .194 .262 .333 .173 .236 .307
Fabian Pertuz .190 .233 .273 .190 .235 .276
Haydn McGeary .198 .279 .314 .196 .268 .304
Christian Olivo .190 .248 .240 .184 .236 .226
Ed Howard .203 .246 .256 .192 .229 .241

Pitchers – Standard
Player T Age W L ERA G GS IP H ER HR BB SO
Justin Steele L 29 8 5 3.34 27 26 145.3 131 54 14 39 136
Shota Imanaga L 31 9 7 3.49 27 27 152.0 138 59 20 35 153
Jameson Taillon R 33 9 8 4.15 26 26 145.3 144 67 21 35 115
Javier Assad R 27 6 5 4.13 28 24 130.7 125 60 16 52 106
Ben Brown R 25 5 4 3.74 20 15 77.0 64 32 8 30 82
Matthew Boyd L 34 4 2 3.62 13 13 59.7 52 24 7 18 62
Cody Poteet R 30 3 3 3.88 17 16 69.7 63 30 8 23 63
Jordan Wicks L 25 5 5 4.27 20 20 84.3 81 40 11 29 73
Adbert Alzolay R 30 5 4 3.90 32 7 60.0 54 26 8 16 56
Porter Hodge R 24 4 4 3.97 41 8 70.3 58 31 7 34 76
Connor Noland R 25 7 7 4.45 24 23 115.3 123 57 16 30 76
Walker Powell R 29 6 6 4.37 21 13 82.3 85 40 12 20 57
Tyson Miller R 29 4 3 3.76 46 4 64.7 57 27 7 21 60
Cade Horton R 23 3 3 4.33 18 18 68.7 64 33 9 21 59
Eli Morgan R 29 3 3 3.86 44 4 65.3 59 28 9 18 61
Caleb Kilian R 28 3 4 4.48 20 16 82.3 83 41 9 30 63
Keegan Thompson R 30 4 3 4.02 37 5 65.0 54 29 8 30 67
Antonio Santos R 28 5 5 4.33 18 9 60.3 58 29 8 24 53
Luke Little L 24 3 2 3.65 50 1 49.3 36 20 4 27 57
Chris Clarke R 27 3 4 4.50 20 12 66.0 69 33 8 18 44
Jorge López R 32 4 3 3.98 48 3 63.3 59 28 6 23 58
Shawn Armstrong R 34 2 3 4.04 47 5 55.7 54 25 6 18 53
Drew Smyly L 36 7 8 4.47 37 12 88.7 88 44 14 32 82
Rob Zastryzny L 33 2 2 3.89 36 3 37.0 34 16 4 13 35
Daniel Palencia R 25 2 2 4.12 36 5 54.7 46 25 6 28 61
Wil Jensen R 27 4 5 4.37 30 8 82.3 82 40 12 30 69
Julian Merryweather R 33 2 2 3.79 37 0 38.0 33 16 4 16 43
Phil Bickford R 29 4 3 3.95 50 1 57.0 50 25 7 19 57
Nate Pearson R 28 2 3 4.10 51 1 59.3 52 27 8 24 65
Lucas Luetge L 38 3 3 4.18 38 1 47.3 49 22 6 15 42
Yency Almonte R 31 1 2 4.15 38 0 39.0 31 18 4 17 41
José Ureña R 33 5 5 4.66 26 10 87.0 90 45 11 35 59
Josh Staumont R 31 2 1 4.21 37 0 36.3 30 17 3 20 36
Ben Leeper R 28 3 2 4.01 30 0 33.7 31 15 4 13 30
Jack Neely R 25 2 2 4.17 41 0 54.0 47 25 7 21 58
Ethan Roberts R 27 1 2 4.14 34 0 41.3 38 19 5 16 41
Carlo Reyes R 26 2 3 4.54 28 2 39.7 38 20 6 16 36
Brad Wieck L 33 2 2 4.35 28 0 31.0 28 15 4 14 33
Kyle McGowin R 33 2 4 4.91 14 11 58.7 60 32 9 22 45
Gavin Hollowell R 27 2 2 4.32 37 0 41.7 37 20 5 18 43
Sam Armstrong R 24 4 6 4.94 23 17 93.0 97 51 13 34 63
Blake Weiman L 29 2 3 4.37 39 0 45.3 45 22 6 13 37
Colten Brewer R 32 1 1 4.45 27 0 32.3 31 16 4 14 30
Brandon Birdsell R 25 6 8 5.00 23 22 111.7 115 62 20 32 82
Brad Deppermann R 29 0 1 5.01 17 1 23.3 24 13 3 10 19
Blake Whitney R 29 3 4 4.42 35 2 57.0 56 28 8 22 50
Nolan Clenney R 29 3 3 4.39 30 0 53.3 53 26 7 19 46
Riley Thompson R 28 4 5 4.93 27 14 87.7 91 48 13 40 67
Zac Leigh R 27 2 2 4.46 33 0 40.3 37 20 5 22 40
Cam Sanders R 28 3 4 4.72 40 5 61.0 53 32 7 39 62
Matthew Thompson R 24 5 7 5.13 24 22 93.0 92 53 13 52 73
Trey Supak R 29 3 5 4.99 22 10 74.0 80 41 11 25 46
Brooks Kriske R 31 2 2 4.57 40 0 43.3 38 22 7 22 50
Jeff Belge L 27 2 2 4.57 35 0 41.3 39 21 5 23 39
Trey Wingenter R 31 3 5 4.66 39 0 46.3 43 24 7 21 49
Nick Hull R 25 3 3 5.05 28 9 73.0 75 41 10 34 55
Robert Kwiatkowski R 28 5 6 4.74 32 2 62.7 66 33 9 22 42
Riley Martin L 27 4 4 4.53 38 0 57.7 50 29 7 35 63
Eury Ramos R 27 1 1 5.19 21 0 26.0 25 15 3 16 20
Edwin Escobar L 33 3 3 4.63 40 0 46.7 46 24 5 24 37
Manuel Espinoza R 24 4 6 5.30 18 16 73.0 80 43 14 22 51
Joe Nahas R 25 3 4 4.85 28 4 65.0 67 35 9 29 47
Chris Kachmar R 28 3 5 5.22 22 15 79.3 84 46 13 32 58
Michael Arias R 23 3 5 4.90 39 6 60.7 57 33 8 37 58
Sam McWilliams R 29 3 4 5.07 28 4 49.7 46 28 7 30 50
Cayne Ueckert R 29 1 2 4.98 30 0 34.3 32 19 4 20 31
Jake Reindl R 28 1 3 5.68 17 0 19.0 17 12 3 12 20
Dan Straily 스트레일리 R 36 2 4 5.59 13 12 56.3 62 35 11 25 42
Frankie Scalzo Jr. R 25 3 5 4.77 41 0 54.7 55 29 8 21 40

Pitchers – Advanced
Player IP K/9 BB/9 HR/9 BB% K% BABIP ERA+ 3ERA+ FIP ERA- WAR
Justin Steele 145.3 8.4 2.4 0.9 6.5% 22.6% .287 116 114 3.47 87 2.7
Shota Imanaga 152.0 9.1 2.1 1.2 5.6% 24.6% .287 111 107 3.67 90 2.6
Jameson Taillon 145.3 7.1 2.2 1.3 5.8% 18.9% .284 93 90 4.28 107 1.3
Javier Assad 130.7 7.3 3.6 1.1 9.2% 18.8% .283 93 95 4.48 107 1.1
Ben Brown 77.0 9.6 3.5 0.9 9.3% 25.4% .280 103 107 3.68 97 1.0
Matthew Boyd 59.7 9.4 2.7 1.1 7.3% 25.2% .285 107 97 3.68 94 0.9
Cody Poteet 69.7 8.1 3.0 1.0 7.8% 21.5% .281 100 99 3.94 100 0.8
Jordan Wicks 84.3 7.8 3.1 1.2 8.0% 20.2% .287 90 95 4.28 111 0.6
Adbert Alzolay 60.0 8.4 2.4 1.2 6.5% 22.7% .277 99 98 4.04 101 0.6
Porter Hodge 70.3 9.7 4.4 0.9 11.2% 25.0% .282 97 103 4.02 103 0.6
Connor Noland 115.3 5.9 2.3 1.2 6.1% 15.4% .291 87 90 4.47 115 0.5
Walker Powell 82.3 6.2 2.2 1.3 5.8% 16.4% .284 88 89 4.53 113 0.5
Tyson Miller 64.7 8.4 2.9 1.0 7.8% 22.2% .279 103 102 3.89 97 0.5
Cade Horton 68.7 7.7 2.8 1.2 7.2% 20.3% .279 89 95 4.21 112 0.4
Eli Morgan 65.3 8.4 2.5 1.2 6.7% 22.7% .278 100 101 4.02 100 0.4
Caleb Kilian 82.3 6.9 3.3 1.0 8.4% 17.5% .294 86 88 4.31 116 0.4
Keegan Thompson 65.0 9.3 4.2 1.1 10.8% 24.1% .271 96 94 4.24 104 0.4
Antonio Santos 60.3 7.9 3.6 1.2 9.1% 20.2% .287 89 90 4.49 112 0.3
Luke Little 49.3 10.4 4.9 0.7 12.9% 27.1% .267 106 109 3.87 94 0.3
Chris Clarke 66.0 6.0 2.5 1.1 6.4% 15.5% .290 86 89 4.42 117 0.3
Jorge López 63.3 8.2 3.3 0.9 8.5% 21.3% .293 97 95 3.95 103 0.3
Shawn Armstrong 55.7 8.6 2.9 1.0 7.6% 22.5% .304 96 91 3.81 105 0.3
Drew Smyly 88.7 8.3 3.2 1.4 8.3% 21.3% .294 86 80 4.60 116 0.3
Rob Zastryzny 37.0 8.5 3.2 1.0 8.3% 22.3% .291 99 97 3.91 101 0.3
Daniel Palencia 54.7 10.0 4.6 1.0 11.6% 25.3% .288 94 99 4.13 107 0.2
Wil Jensen 82.3 7.5 3.3 1.3 8.5% 19.4% .289 88 91 4.56 113 0.2
Julian Merryweather 38.0 10.2 3.8 0.9 9.8% 26.4% .296 102 97 3.70 98 0.1
Phil Bickford 57.0 9.0 3.0 1.1 8.0% 23.9% .281 98 96 3.93 102 0.1
Nate Pearson 59.3 9.9 3.6 1.2 9.4% 25.4% .288 94 97 4.11 106 0.0
Lucas Luetge 47.3 8.0 2.9 1.1 7.2% 20.2% .307 92 86 4.13 108 0.0
Yency Almonte 39.0 9.5 3.9 0.9 10.4% 25.0% .270 93 91 4.02 108 0.0
José Ureña 87.0 6.1 3.6 1.1 9.2% 15.4% .288 83 79 4.78 121 0.0
Josh Staumont 36.3 8.9 5.0 0.7 12.5% 22.5% .276 92 91 4.00 109 0.0
Ben Leeper 33.7 8.0 3.5 1.1 9.0% 20.8% .281 96 97 4.37 104 0.0
Jack Neely 54.0 9.7 3.5 1.2 9.0% 24.8% .286 93 98 3.99 108 0.0
Ethan Roberts 41.3 8.9 3.5 1.1 9.0% 23.2% .292 93 96 4.22 107 -0.1
Carlo Reyes 39.7 8.2 3.6 1.4 9.4% 21.1% .286 85 89 4.62 117 -0.1
Brad Wieck 31.0 9.6 4.1 1.2 10.4% 24.6% .293 89 85 4.37 113 -0.1
Kyle McGowin 58.7 6.9 3.4 1.4 8.6% 17.6% .287 79 74 4.92 127 -0.1
Gavin Hollowell 41.7 9.3 3.9 1.1 10.1% 24.2% .288 89 93 4.26 112 -0.1
Sam Armstrong 93.0 6.1 3.3 1.3 8.4% 15.5% .287 78 82 5.06 128 -0.2
Blake Weiman 45.3 7.3 2.6 1.2 6.7% 19.2% .289 88 90 4.26 113 -0.2
Colten Brewer 32.3 8.4 3.9 1.1 9.9% 21.1% .293 87 84 4.42 115 -0.2
Brandon Birdsell 111.7 6.6 2.6 1.6 6.7% 17.2% .280 77 82 5.06 129 -0.2
Brad Deppermann 23.3 7.3 3.9 1.2 9.6% 18.3% .300 77 81 4.64 130 -0.2
Blake Whitney 57.0 7.9 3.5 1.3 8.8% 20.1% .291 87 87 4.51 114 -0.2
Nolan Clenney 53.3 7.8 3.2 1.2 8.2% 19.9% .295 88 90 4.40 114 -0.2
Riley Thompson 87.7 6.9 4.1 1.3 10.2% 17.0% .292 78 80 4.98 128 -0.2
Zac Leigh 40.3 8.9 4.9 1.1 12.3% 22.3% .291 87 88 4.74 116 -0.3
Cam Sanders 61.0 9.1 5.8 1.0 14.1% 22.4% .282 82 82 4.90 122 -0.3
Matthew Thompson 93.0 7.1 5.0 1.3 12.2% 17.2% .284 75 81 5.30 133 -0.3
Trey Supak 74.0 5.6 3.0 1.3 7.7% 14.2% .289 77 78 5.12 129 -0.3
Brooks Kriske 43.3 10.4 4.6 1.5 11.4% 25.9% .287 85 82 4.63 118 -0.3
Jeff Belge 41.3 8.5 5.0 1.1 12.3% 20.9% .293 84 87 4.61 118 -0.3
Trey Wingenter 46.3 9.5 4.1 1.4 10.2% 23.8% .293 83 82 4.65 121 -0.3
Nick Hull 73.0 6.8 4.2 1.2 10.3% 16.7% .291 76 81 5.01 131 -0.3
Robert Kwiatkowski 62.7 6.0 3.2 1.3 8.0% 15.3% .288 81 84 4.90 123 -0.4
Riley Martin 57.7 9.8 5.5 1.1 13.5% 24.3% .289 85 89 4.55 117 -0.4
Eury Ramos 26.0 6.9 5.5 1.0 13.0% 16.3% .282 74 78 5.10 134 -0.4
Edwin Escobar 46.7 7.1 4.6 1.0 11.5% 17.8% .293 83 80 4.72 120 -0.4
Manuel Espinoza 73.0 6.3 2.7 1.7 6.9% 16.0% .289 73 78 5.30 137 -0.4
Joe Nahas 65.0 6.5 4.0 1.2 9.9% 16.1% .289 80 83 5.06 125 -0.4
Chris Kachmar 79.3 6.6 3.6 1.5 9.1% 16.4% .290 74 76 5.28 135 -0.4
Michael Arias 60.7 8.6 5.5 1.2 13.4% 20.9% .290 79 84 4.96 127 -0.4
Sam McWilliams 49.7 9.1 5.4 1.3 13.2% 21.9% .289 76 77 5.29 131 -0.4
Cayne Ueckert 34.3 8.1 5.2 1.0 12.8% 19.9% .286 78 77 4.90 129 -0.4
Jake Reindl 19.0 9.5 5.7 1.4 13.5% 22.5% .280 68 70 5.97 147 -0.4
Dan Straily 56.3 6.7 4.0 1.8 9.9% 16.6% .293 69 63 5.72 145 -0.5
Frankie Scalzo Jr. 54.7 6.6 3.5 1.3 8.8% 16.7% .281 81 85 4.93 124 -0.5

Pitchers – Top Near-Age Comps
Player Pit Comp 1 Pit Comp 2 Pit Comp 3
Justin Steele Zane Smith Curt Simmons Tommy John
Shota Imanaga Ed Lopat John Tudor Wilbur Cooper
Jameson Taillon Jeremy Guthrie Iván Nova 노바 Jordan Zimmermann
Javier Assad Tim Wakefield Chi Chi González Anthony Young
Ben Brown Steve Stone Joel Gibson Greg Harris
Matthew Boyd Ed Brandt Al Downing Bobby Cramer
Cody Poteet Rip Collins Tommy Greene Bruce Kison
Jordan Wicks Brett Martin Brad Thomas 토마스 Sean Lawrence
Adbert Alzolay Tommy Hunter Jose Melendez Mark Huismann
Porter Hodge Jeff Jones David Aardsma Ed Myers
Connor Noland Felix Jorge A.J. Shappi Brian Meadows
Walker Powell Jason Dickson Jose Bautista Alvin Spearman
Tyson Miller Jeff Shaw Steven Shell Humberto Robinson
Cade Horton Brian Stirm Mike Roesler Tanner Peters
Eli Morgan Gene Garber Cris Carpenter Jose Melendez
Caleb Kilian Drew VerHagen Jesse Hahn Eddie Butler 버틀러
Keegan Thompson John Wyatt Richie Lewis 리치 Pat Mahomes
Antonio Santos Mike Campbell Connor Robertson Tim Sommer
Luke Little Darren Oliver Bill Bayne Don Shaw
Chris Clarke Scott Winchester Ashton Goudeau Randy Boone
Jorge López Alfredo Simon Dan Spillner Bryan Shaw
Shawn Armstrong Frank Sullivan Chris Nichting Britt Reames
Drew Smyly Joe Nuxhall Rudy May Bill Krueger
Rob Zastryzny Brian Shouse Buddy Groom Billy Hoeft
Daniel Palencia Cole Kimball Mike Kavanagh Willie Smith
Wil Jensen Mike Colla Dan Slania Matt Karchner
Julian Merryweather Jack Baldschun Doug Bair Franklin Nunez
Phil Bickford Austin Brice Danny Barnes Brandon Gomes
Nate Pearson Wes Gardner Scott Proctor 프록터 Dan Miceli
Lucas Luetge Morrie Martin Graeme Lloyd Buddy Groom
Yency Almonte Bob Long Floyd Weaver Larry Sherry
José Ureña Andrew Cashner Edwin Jackson Bud Norris
Josh Staumont Reggie Harris Gregg Olson Ken Ryan
Ben Leeper Pete Appleton Duane Shaffer Fred Lasher
Jack Neely Aris Tirado Harwood Hellen Hector Neris
Ethan Roberts Elio Serrano Wallace Smallwood Daryl Arreola
Carlo Reyes Chris Homer Matt Stites Ryan Halla
Brad Wieck Trever Miller John Grabow George Sherrill
Kyle McGowin Kris Medlen Jesse Jefferson Art Delaney
Gavin Hollowell Eddie Gaillard Keith Fleming Derrick Miramontes
Sam Armstrong Trey Hearne John Brownlee Ricardo Pinto 핀토
Blake Weiman Chad Girodo Dave Schuler Steve Smetana
Colten Brewer Fred Beene Ken Ryan Randy Moffitt
Brandon Birdsell Hector Noesi Matt Wisler David Hess
Brad Deppermann David Lundquist Joseph Jeran Mike Heinen
Blake Whitney Jon Velasquez Adam Thomas Connor Robertson
Nolan Clenney Paul Phillips Charlie Weatherby Thomas Atlee
Riley Thompson Jacob Turner 터너 Blayne Weller Drew Granier
Zac Leigh Jake Reed Jack Savage Barry Manuel
Cam Sanders Roger Salkeld Seth McClung Gene Pentz
Matthew Thompson Greg Talamantez Danny Kolb Joan Baez
Trey Supak Al Widmar Jay Hook Bryce Morrow
Brooks Kriske Brad Boxberger J.J. Hoover Ron Schueler
Jeff Belge Brian Adams Mike Rhodes Leonardo Munoz
Trey Wingenter Jose Pena Steve Johnson Dan Boitano
Nick Hull Jacob Waguespack Mike Giovenco Josh Hill
Robert Kwiatkowski Steve Rowe Justin James Ed Nottle
Riley Martin Wil Ledezma Mark Bowden Mark McLemore
Eury Ramos Mike Heinen Rich Grife Brian Kolbe
Edwin Escobar Gene Bearden Loyd Wallis Brian Duensing
Manuel Espinoza Michael Howell Keenan Bartlett Kenny King
Joe Nahas Matt Herges Ron Braddock Kelvin Perez
Chris Kachmar Parker Bridwell Jason Secoda John Brownell
Michael Arias Travis Bowyer Monte Mansfield Sam Drake
Sam McWilliams Theo Shaw Joel Johnston Josh Zeid
Cayne Ueckert Aris Tirado Barry Manuel Mike Shade
Jake Reindl George Smith Bart Evans Joel Johnston
Dan Straily Jason Marquis Bob Welch Tim Leary
Frankie Scalzo Jr. Bob Davidson Zac Reininger Zac Treece

Pitchers – Splits and Percentiles
Player BA vs. L OBP vs. L SLG vs. L BA vs. R OBP vs. R SLG vs. R 80th WAR 20th WAR 80th ERA 20th ERA
Justin Steele .208 .273 .277 .244 .294 .389 3.7 1.7 2.83 3.90
Shota Imanaga .224 .263 .340 .240 .290 .414 3.6 1.3 2.95 4.21
Jameson Taillon .260 .318 .436 .247 .280 .416 2.1 0.4 3.69 4.67
Javier Assad .238 .325 .383 .255 .319 .419 1.9 0.2 3.69 4.70
Ben Brown .226 .307 .368 .217 .291 .344 1.6 0.2 3.24 4.47
Matthew Boyd .200 .259 .300 .237 .301 .395 1.3 0.3 3.07 4.50
Cody Poteet .235 .291 .390 .237 .308 .374 1.3 0.2 3.40 4.52
Jordan Wicks .265 .324 .429 .239 .306 .400 1.2 -0.1 3.77 4.89
Adbert Alzolay .255 .320 .455 .217 .269 .342 1.1 -0.1 3.31 4.76
Porter Hodge .236 .340 .374 .206 .302 .333 1.2 -0.2 3.35 4.82
Connor Noland .279 .325 .464 .256 .298 .416 1.3 -0.3 3.94 5.03
Walker Powell .275 .320 .456 .247 .294 .416 1.0 -0.1 3.86 5.00
Tyson Miller .236 .315 .364 .228 .289 .375 1.1 -0.2 3.12 4.54
Cade Horton .244 .317 .386 .239 .289 .413 1.1 -0.2 3.65 5.04
Eli Morgan .246 .293 .404 .228 .289 .397 1.0 -0.2 3.24 4.78
Caleb Kilian .259 .329 .408 .254 .320 .401 1.0 -0.3 3.95 5.11
Keegan Thompson .237 .328 .404 .206 .295 .344 1.0 -0.4 3.34 4.84
Antonio Santos .234 .325 .393 .258 .319 .422 0.8 -0.2 3.78 4.97
Luke Little .180 .306 .262 .208 .324 .342 0.8 -0.2 3.02 4.42
Chris Clarke .267 .326 .417 .261 .312 .415 0.7 -0.2 4.04 5.08
Jorge López .254 .333 .412 .229 .306 .336 0.8 -0.3 3.43 4.72
Shawn Armstrong .258 .330 .382 .242 .300 .398 0.7 -0.2 3.40 4.76
Drew Smyly .229 .292 .365 .262 .331 .464 1.1 -0.7 3.70 5.56
Rob Zastryzny .196 .288 .348 .260 .321 .406 0.7 -0.1 3.09 4.75
Daniel Palencia .206 .330 .330 .239 .323 .394 0.7 -0.3 3.48 4.78
Wil Jensen .244 .316 .423 .263 .321 .437 0.8 -0.5 3.84 5.06
Julian Merryweather .227 .329 .364 .228 .295 .380 0.4 -0.4 3.05 5.08
Phil Bickford .220 .301 .363 .238 .297 .397 0.6 -0.5 3.33 4.81
Nate Pearson .241 .331 .417 .220 .290 .364 0.5 -0.6 3.45 4.93
Lucas Luetge .232 .293 .362 .277 .336 .454 0.5 -0.6 3.37 5.54
Yency Almonte .238 .342 .365 .195 .287 .341 0.4 -0.5 3.35 5.13
José Ureña .278 .353 .450 .246 .313 .394 0.5 -0.6 4.18 5.15
Josh Staumont .242 .347 .339 .200 .299 .347 0.3 -0.4 3.39 5.07
Ben Leeper .250 .348 .433 .229 .295 .357 0.2 -0.4 3.46 4.66
Jack Neely .250 .333 .396 .211 .281 .376 0.5 -0.6 3.35 5.02
Ethan Roberts .233 .325 .384 .244 .320 .407 0.3 -0.4 3.45 4.82
Carlo Reyes .254 .342 .448 .241 .302 .414 0.3 -0.5 3.86 5.28
Brad Wieck .225 .311 .350 .241 .337 .430 0.3 -0.5 3.36 5.50
Kyle McGowin .257 .333 .422 .260 .324 .447 0.3 -0.6 4.35 5.62
Gavin Hollowell .247 .345 .452 .221 .306 .326 0.3 -0.6 3.69 5.18
Sam Armstrong .261 .338 .457 .265 .340 .411 0.4 -0.7 4.50 5.43
Blake Weiman .242 .296 .394 .259 .317 .429 0.3 -0.5 3.63 5.05
Colten Brewer .232 .328 .393 .257 .329 .414 0.2 -0.5 3.71 5.36
Brandon Birdsell .271 .324 .443 .250 .310 .477 0.6 -0.9 4.45 5.50
Brad Deppermann .279 .367 .442 .245 .309 .429 0.1 -0.5 4.03 6.00
Blake Whitney .280 .345 .467 .224 .300 .371 0.3 -0.7 3.82 5.08
Nolan Clenney .258 .340 .430 .250 .307 .405 0.2 -0.7 3.72 5.20
Riley Thompson .248 .333 .404 .274 .341 .473 0.5 -0.9 4.35 5.52
Zac Leigh .250 .360 .421 .228 .333 .380 0.1 -0.7 3.89 5.34
Cam Sanders .253 .385 .414 .211 .329 .346 0.2 -1.0 4.12 5.67
Matthew Thompson .228 .342 .368 .275 .363 .472 0.4 -1.0 4.61 5.72
Trey Supak .277 .351 .511 .264 .326 .403 0.2 -0.8 4.53 5.52
Brooks Kriske .228 .337 .392 .233 .316 .442 0.2 -0.9 3.74 5.71
Jeff Belge .255 .349 .345 .238 .336 .429 0.1 -0.7 4.00 5.27
Trey Wingenter .221 .323 .384 .258 .340 .452 0.1 -0.8 3.93 5.58
Nick Hull .259 .353 .430 .261 .337 .438 0.2 -1.0 4.53 5.73
Robert Kwiatkowski .294 .355 .477 .243 .310 .407 0.1 -0.8 4.21 5.35
Riley Martin .219 .348 .356 .233 .335 .390 0.3 -1.0 3.79 5.48
Eury Ramos .234 .345 .340 .259 .359 .463 -0.1 -0.6 4.57 6.11
Edwin Escobar .254 .343 .356 .252 .350 .415 0.0 -0.9 3.93 5.63
Manuel Espinoza .277 .331 .454 .270 .325 .513 0.1 -1.0 4.80 5.99
Joe Nahas .276 .348 .472 .246 .338 .388 0.0 -0.9 4.39 5.44
Chris Kachmar .270 .350 .465 .261 .333 .446 0.2 -1.0 4.69 5.84
Michael Arias .265 .370 .402 .220 .331 .407 0.1 -1.0 4.31 5.69
Sam McWilliams .242 .349 .407 .238 .376 .406 0.0 -1.0 4.40 5.92
Cayne Ueckert .258 .361 .435 .225 .341 .366 -0.1 -0.8 4.29 5.82
Jake Reindl .250 .386 .472 .216 .375 .351 -0.3 -0.6 5.24 6.86
Dan Straily .266 .362 .477 .280 .338 .492 -0.1 -1.0 4.98 6.53
Frankie Scalzo Jr. .255 .330 .422 .257 .325 .434 -0.2 -0.9 4.30 5.38

Players are listed with their most recent teams wherever possible. This includes players who are unsigned or have retired, players who will miss 2025 due to injury, and players who were released in 2024. So yes, if you see Joe Schmoe, who quit baseball back in August to form a Norwegian Ukulele Dixieland Jazz band that only covers songs by The Smiths, he’s still listed here intentionally. ZiPS is assuming a league with an ERA of 4.11.

Hitters are ranked by zWAR, which is to say, WAR values as calculated by me, Dan Szymborski, whose surname is spelled with a z. WAR values might differ slightly from those that appear in the full release of ZiPS. Finally, I will advise anyone against — and might karate chop anyone guilty of — merely adding up WAR totals on a depth chart to produce projected team WAR. It is important to remember that ZiPS is agnostic about playing time, and has no information about, for example, how quickly a team will call up a prospect or what veteran has fallen into disfavor.

As always, incorrect projections are either caused by misinformation, a non-pragmatic reality, or by the skillful sabotage of our friend and former editor. You can, however, still get mad at me on Twitter or on BlueSky.





Dan Szymborski is a senior writer for FanGraphs and the developer of the ZiPS projection system. He was a writer for ESPN.com from 2010-2018, a regular guest on a number of radio shows and podcasts, and a voting BBWAA member. He also maintains a terrible Twitter account at @DSzymborski.

52 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
scotth855Member since 2020
1 month ago

Kyle Tucker has a career WRC+ of 139 and 145 over the past 4 seasons and he’s projected to have a 129 OPS+… is that right?

boomstickMember since 2024
1 month ago
Reply to  scotth855

Regression to the mean is cold-hearted

averagejoe15Member since 2024
1 month ago
Reply to  boomstick

Maybe this is sarcasm but regression to the mean isn’t applicable here. His career OPS+ is 139 so regression to the mean would be to…139. Sure the ‘mean’ it’s calculating to might be weighted differently, but generally projections weight recent performance more highly so it’s especially confusing why his OPS+ projection would be 129 as he hasn’t hit below that level in a season since the shortened 2020.

I don’t see how the park change alone is going to account for a 10 point reduction in OPS+. Statcast park factors (3 year rolling) do see Wrigley as especially tough on HR for LHH (90 park factor) versus 110 for HRs at Minute Maid. But Wrigley is at a 99 overall for LHH and Minute Maid at 101. Last year Wrigley played especially poorly for LHH overall (90 park factor), but I also believe Dan has mentioned ZiPS uses some form of multi-year park factors.

And a shin fracture isn’t an injury known for sapping a player’s hitting ability like wrist or shoulder injuries so I can’t imagine that’s a contributor.

ZiPS is projecting a somewhat low BABIP as well (.275 proj. vs. .284 career)

Must be missing something that ZiPS is seeing.

dl80Member since 2020
1 month ago
Reply to  averagejoe15

You’re assuming his true talent level in Wrigley is 139. That’s pretty unlikely, or at least ZIPS thinks so.

averagejoe15Member since 2024
1 month ago
Reply to  dl80

Can you point to where I made that assumption? My assumption related to park factors is that going from a 101 LHH park factor to a 99 LHH park factor wouldn’t lead to a 10 point drop in OPS+.

I quite literally point to it as a potential contributing factor.

KennyMember since 2020
1 month ago
Reply to  scotth855

Yeah, came here to say the same. Tucker’s offensive production seems low.

Jason BMember since 2017
1 month ago
Reply to  Kenny

But those comps!

montrealMember since 2022
1 month ago
Reply to  scotth855

Brutal projection for Kyle Tucker. I get Wrigley is not good for LH hitters but wow. If those numbers are close to reality 2 things are going to happen. A) Cubs fans will be extremely disappointed and B) Kyle Tucker will never sign there.

sadtromboneMember since 2020
1 month ago
Reply to  scotth855

It feels like he kind of has to do better than that, and if he doesn’t it’s going to be a huge letdown.