2026 ZiPS Projections: Cleveland Guardians

For the 22nd 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, as well as MLB’s glossary entry. The team order is selected by lot, and the next team up is the Cleveland Guardians.

Batters

The 2025 Cleveland Guardians proved that necromancy is, in fact, possible, and despite looking dead by the All-Star break, they went on a monumental late-season tear to close a 12 1/2-game gap in the AL Central over the last five weeks of the season. While the season ended in dissatisfying fashion, with the Guardians dropping the Wild Card Series in three games to the Detroit Tigers, just getting to the playoffs in 2025 felt like they were playing with house money. The fun of Cleveland’s postseason run did hide some serious problems with the team, though, most notably an offense that scored fewer runs than every team except the Pirates and Rockies. The Guardians may have made their big September surge without Emmanuel Clase’s services, but the loss of their best reliever — for what is looking more and more likely to be forever — removes a key part of their core. Cleveland did win 88 games, but the team was outscored by its opponents on the year, and the context of this sentence ought to indicate to you, fair reader, whether run differential or actual wins has more predictive value.

ZiPS projects the Guardians to have a lot of the same strengths and weaknesses as the Twins in 2026. On offense, ZiPS sees both teams as having one hitter it really likes, with José Ramírez being the healthier star compared to Byron Buxton. Then, each team has a couple position players the system likes, with Steven Kwan and the catchers — OK, Bo Naylor — standing in as Cleveland’s version of Luke Keaschall and the Minnesota catchers. But just like with the Twins, once you get past the top guys, ZiPS sees a whole lotta mid going ’round in Cleveland. Kyle Manzardo’s uneven platoon splits keep his ceiling fairly low, so the Guardians could use a lefty smasher to pair with him to make first base a plus position. Second base is fine at the moment, and it should be even better than that if Travis Bazzana, the computer’s preference, pushes for the job sooner rather than later.

The projections look most problematic at center field and designated hitter. Lots of teams slum it at DH, so I can see the Guardians just rolling with [insert mediocre burly batter here] at the position, but there’s probably at least some chance that they’ll make an upgrade in center. Harrison Bader is probably the most interesting option available, at least of the players that the Guardians could theoretically afford; I’d be really surprised to see them want to shell out the cash needed to bring in Cody Bellinger. Perhaps a trade is more likely for Cleveland than signing either free agent.

Put it all together and the Guardians have a below-average offense with some real highlights. Yes, I still think Ramírez is one of the most underrated players of this generation, and I’m already planning my social media meltdowns for 10-15 years from now when I see Hall of Fame ballots with his box unchecked. ZiPS is projecting him for yet another 20/20 season with more than 4 WAR, and considering he’s gone 30/40 with more than 6 WAR in each of the past two seasons, it wouldn’t be surprising to him exceed even ZiPS’ expectations for his age-33 season.

Pitchers

ZiPS is much more confident about the state of the Guardians pitching staff than the lineup. Even if neither pitcher really fits the mold of a typical ace, ZiPS expects both Tanner Bibee and Gavin Williams to surpass 3 WAR based on our Depth Chart playing time. There aren’t any big names in this rotation after Bibee and Williams, but ZiPS sees Slade Cecconi, Logan Allen, and Parker Messick as quietly competent starters. ZiPS has had a silicon-crush on Joey Cantillo for a while now, and led by Austin Peterson, the team has pretty good depth in the form of unexciting pitchers with generally decent command. These are the types that Cleveland, like the A’s, has historically produced like clockwork. Luis Ortiz has a good projection as well, but like Clase, it looks like he won’t ever pitch again in the majors or affiliated ball; the good news is the rotation is deep enough to withstand his likely absence.

Last year, ZiPS was quite taken with the Cleveland bullpen, projecting a 5.9 Depth Chart WAR over the winter. That’s one of those fortune-readings that worked out, as the Guardians actually beat that, finishing the season with 6.6 WAR out of the pen. Crossing out Clase, Sam Hentges, and Nic Enright takes this unit down a notch, but the Guardians still project to have a solid group of relievers. A good bullpen can have Cade Smith as its best reliever, and Hunter Gaddis, Erik Sabrowski, and Tim Herrin make for a darn good trio of lieutenants. ZiPS sees Cantillo as being very good when used in relief, and while he’ll have to break out to get a lot of innings in the majors, there are so many good upside scenarios for Franco Aleman that the computer is far less annoyed than you may expect about his walk rate in Triple-A. The only prominent denizen on the bullpen depth chart that ZiPS is uneasy about is Peyton Pallette, a Rule 5 draftee last week.

All told, the Guardians will likely end up at 80-85 wins, which puts them a little bit behind the Royals and Tigers, but not so far back that it would be crazy to see Cleveland surpass them in the standings.

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
José Ramírez B 33 3B 637 564 91 153 31 3 26 88 63 73 28 6
Steven Kwan L 28 LF 648 580 84 163 24 3 10 61 57 57 18 5
Bo Naylor L 26 C 434 380 53 82 19 1 16 52 47 103 3 2
Travis Bazzana L 23 2B 433 375 65 82 16 3 10 48 50 129 7 2
Kyle Manzardo L 25 DH 513 449 57 109 23 1 22 69 51 119 2 0
Cooper Ingle L 24 C 474 410 54 92 27 0 8 48 58 91 1 2
C.J. Kayfus L 24 1B 504 445 61 111 24 6 13 64 46 140 6 2
Brayan Rocchio B 25 SS 560 500 64 118 26 2 10 57 43 103 12 6
Nolan Jones L 28 RF 447 393 50 96 18 2 11 47 47 130 9 3
Gabriel Arias R 26 SS 444 408 46 94 19 2 13 49 26 136 7 4
Johnathan Rodríguez R 26 RF 503 454 56 115 19 2 17 66 44 143 2 2
Daniel Schneemann L 29 2B 429 383 50 85 19 2 11 43 41 115 8 3
Milan Tolentino L 24 SS 472 422 52 90 19 2 11 48 42 167 12 4
Juan Brito B 24 2B 516 452 62 102 23 1 12 56 51 105 7 6
Austin Hedges R 33 C 191 166 15 31 4 0 4 15 16 50 1 1
Angel Martínez B 24 CF 524 476 59 111 23 3 11 54 32 114 8 3
Kody Huff R 25 C 390 352 32 74 14 1 5 33 29 110 2 1
Alfonsin Rosario R 22 RF 512 462 60 102 19 2 18 66 38 182 8 2
Angel Genao B 22 SS 437 406 52 97 18 3 6 42 27 83 6 2
George Valera L 25 RF 342 305 40 72 13 1 11 39 33 99 1 1
Chase DeLauter L 24 RF 200 179 26 44 10 0 6 23 19 35 1 1
Christian Cairo R 25 3B 406 354 44 75 13 3 2 32 40 108 18 5
Will Wilson R 27 3B 423 381 44 81 14 1 9 41 30 116 4 2
Jacob Cozart L 23 C 400 358 38 73 13 2 7 38 33 113 0 0
Will Brennan L 28 RF 377 353 37 95 17 1 6 39 19 52 6 3
Kahlil Watson L 23 CF 431 386 49 82 15 3 14 53 35 142 11 6
Petey Halpin L 24 CF 528 481 67 106 20 3 10 51 39 159 9 3
Christian Knapczyk L 24 2B 520 464 53 102 15 3 4 46 41 121 6 4
Ralphy Velazquez L 21 1B 571 526 70 123 25 6 19 72 38 140 0 2
Wuilfredo Antunez L 24 RF 426 397 50 92 18 5 12 50 24 115 8 4
Jose Devers R 23 SS 507 475 57 97 22 2 9 49 25 164 8 4
David Fry R 30 DH 309 277 32 59 11 1 10 39 24 86 2 0
Esteban González L 23 LF 437 404 55 93 19 4 7 46 22 124 14 6
Nick Mitchell L 22 CF 356 316 43 68 7 4 3 30 31 69 12 3
Dom Nuñez L 31 C 278 238 25 40 9 1 4 22 33 94 1 1
Joe Lampe L 25 LF 469 424 48 91 18 4 7 44 34 126 11 3
Guy Lipscomb L 25 RF 389 351 45 78 14 1 4 33 30 82 15 5
Cameron Barstad L 25 C 274 249 21 49 12 0 5 29 17 110 1 0
Dayan Frias B 24 3B 468 418 45 83 16 1 6 39 41 138 8 5
Juan Benjamin B 23 3B 391 357 39 81 15 1 2 31 27 98 10 3
Yordys Valdes B 24 SS 387 358 37 71 12 2 5 32 19 130 9 2
Jhonkensy Noel R 24 1B 488 450 54 96 17 1 19 63 28 145 1 1
Jonah Advincula L 25 LF 371 319 40 66 9 3 4 31 40 75 20 5
Tyresse Turner B 26 3B 270 235 35 45 6 1 2 20 24 103 13 2
Jake Anchia R 29 C 248 233 24 45 9 0 5 23 10 87 1 0
Johnny Tincher R 24 C 244 219 15 39 9 0 1 17 18 63 1 1
Jorge Burgos L 23 1B 410 373 40 74 15 1 13 47 30 121 1 1
Micah Pries L 28 1B 345 312 39 65 13 3 8 38 24 91 4 4
Ryan Cesarini L 23 RF 428 382 43 79 12 4 4 37 35 83 15 4
Jaison Chourio B 21 CF 416 362 40 74 11 1 2 29 50 110 8 5
Jake Fox L 23 CF 398 357 42 70 13 4 4 30 37 106 7 2
Kyle Datres R 30 1B 300 264 28 52 8 0 5 28 29 92 7 3
Justin Boyd R 25 RF 108 96 10 15 4 0 0 7 9 47 1 0
Bennett Thompson R 23 C 373 335 37 67 16 1 4 32 28 76 3 3
Jeffrey Mercedes B 21 3B 343 316 23 64 12 2 3 27 20 83 3 1
Kevin Rivas B 23 1B 146 130 10 19 3 1 1 9 13 79 1 1
Kyle Dernedde R 25 2B 250 226 18 41 7 0 1 18 14 105 2 0
Maick Collado B 23 1B 351 318 28 68 10 1 3 26 26 67 2 1
Joe Naranjo L 25 1B 413 365 36 71 13 1 3 30 41 124 1 0
Alex Mooney R 23 SS 443 390 45 73 17 1 4 35 34 151 13 3
Garrett Howe L 23 SS 370 331 33 62 7 1 2 24 29 127 15 7

Batters – Advanced
Player PA BA OBP SLG OPS+ ISO BABIP Def WAR wOBA 3YOPS+ RC
José Ramírez 637 .271 .345 .475 125 .204 .273 4 4.4 .343 119 101
Steven Kwan 648 .281 .349 .384 104 .103 .298 11 3.0 .324 101 83
Bo Naylor 434 .216 .303 .397 93 .181 .253 2 1.8 .306 95 47
Travis Bazzana 433 .219 .322 .357 89 .138 .305 4 1.6 .304 95 45
Kyle Manzardo 513 .243 .324 .445 111 .202 .282 0 1.5 .331 113 65
Cooper Ingle 474 .224 .323 .349 88 .124 .270 -2 1.4 .302 91 47
C.J. Kayfus 504 .249 .328 .418 106 .169 .336 1 1.3 .325 108 63
Brayan Rocchio 560 .236 .304 .356 83 .120 .279 0 1.3 .292 85 59
Nolan Jones 447 .244 .330 .384 98 .140 .337 3 1.2 .314 97 53
Gabriel Arias 444 .230 .284 .382 83 .152 .313 1 1.1 .290 87 47
Johnathan Rodríguez 503 .253 .322 .416 104 .163 .333 -1 1.1 .321 105 62
Daniel Schneemann 429 .222 .299 .368 85 .146 .288 1 1.0 .294 83 45
Milan Tolentino 472 .213 .287 .346 75 .133 .324 2 1.0 .280 79 46
Juan Brito 516 .226 .310 .361 86 .135 .269 -1 0.9 .297 90 55
Austin Hedges 191 .187 .263 .283 53 .096 .241 10 0.8 .247 46 13
Angel Martínez 524 .233 .287 .363 80 .130 .285 1 0.6 .285 82 52
Kody Huff 390 .210 .278 .298 61 .088 .291 6 0.6 .259 63 30
Alfonsin Rosario 512 .221 .293 .387 87 .166 .321 2 0.5 .297 96 55
Angel Genao 437 .239 .286 .342 74 .103 .287 0 0.5 .276 78 42
George Valera 342 .236 .313 .393 95 .157 .313 0 0.5 .310 97 38
Chase DeLauter 200 .246 .315 .402 98 .156 .275 0 0.4 .313 100 23
Christian Cairo 406 .212 .302 .282 65 .070 .299 5 0.4 .268 67 36
Will Wilson 423 .213 .276 .325 67 .112 .281 6 0.4 .267 67 36
Jacob Cozart 400 .204 .280 .310 64 .106 .277 1 0.3 .265 70 31
Will Brennan 377 .269 .310 .374 90 .105 .302 1 0.3 .299 90 43
Kahlil Watson 431 .212 .286 .376 82 .164 .296 -5 0.2 .290 89 46
Petey Halpin 528 .220 .281 .337 71 .117 .308 1 0.2 .273 76 49
Christian Knapczyk 520 .220 .297 .291 65 .071 .289 2 0.0 .267 69 43
Ralphy Velazquez 571 .234 .291 .413 93 .179 .283 -3 0.0 .304 97 64
Wuilfredo Antunez 426 .232 .279 .393 84 .161 .296 1 0.0 .290 87 47
Jose Devers 507 .204 .250 .316 56 .112 .291 5 -0.1 .249 63 41
David Fry 309 .213 .288 .368 81 .155 .271 0 -0.2 .288 81 30
Esteban González 437 .230 .281 .349 74 .119 .315 3 -0.2 .277 78 45
Nick Mitchell 356 .215 .292 .291 64 .076 .266 -1 -0.2 .264 66 31
Dom Nuñez 278 .168 .275 .265 52 .097 .257 -1 -0.3 .250 52 18
Joe Lampe 469 .215 .280 .325 68 .110 .289 6 -0.3 .268 70 42
Guy Lipscomb 389 .222 .288 .302 65 .080 .279 4 -0.3 .265 68 36
Cameron Barstad 274 .197 .263 .305 58 .108 .328 -3 -0.4 .254 62 20
Dayan Frias 468 .199 .275 .285 57 .086 .281 4 -0.4 .253 62 36
Juan Benjamin 391 .227 .285 .291 62 .064 .307 0 -0.4 .259 64 33
Yordys Valdes 387 .198 .243 .285 47 .087 .296 4 -0.4 .234 53 27
Jhonkensy Noel 488 .213 .270 .382 79 .169 .269 0 -0.5 .284 83 47
Jonah Advincula 371 .207 .305 .292 68 .085 .258 -1 -0.5 .273 70 35
Tyresse Turner 270 .191 .277 .251 49 .060 .331 0 -0.5 .244 49 20
Jake Anchia 248 .193 .234 .296 46 .103 .284 -1 -0.6 .233 47 16
Johnny Tincher 244 .178 .250 .233 36 .055 .245 1 -0.6 .222 37 13
Jorge Burgos 410 .198 .263 .349 69 .151 .255 4 -0.6 .269 75 35
Micah Pries 345 .208 .276 .346 72 .138 .268 1 -0.6 .273 72 32
Ryan Cesarini 428 .207 .285 .291 61 .084 .254 3 -0.6 .261 66 36
Jaison Chourio 416 .204 .300 .257 58 .053 .288 -2 -0.7 .259 64 32
Jake Fox 398 .196 .271 .289 56 .093 .267 -1 -0.7 .252 63 30
Kyle Datres 300 .197 .287 .284 60 .087 .281 1 -0.7 .261 58 24
Justin Boyd 108 .156 .236 .198 23 .042 .306 0 -0.8 .204 32 5
Bennett Thompson 373 .200 .271 .290 56 .090 .247 -6 -0.9 .252 61 28
Jeffrey Mercedes 343 .203 .254 .282 49 .079 .265 1 -0.9 .238 55 24
Kevin Rivas 146 .146 .233 .208 24 .062 .360 -1 -1.2 .207 29 7
Kyle Dernedde 250 .181 .244 .226 32 .045 .333 -1 -1.2 .216 35 13
Maick Collado 351 .214 .274 .280 55 .066 .262 2 -1.2 .248 58 25
Joe Naranjo 413 .195 .280 .260 52 .065 .286 3 -1.3 .248 56 27
Alex Mooney 443 .187 .260 .267 47 .080 .294 -6 -1.4 .238 53 31
Garrett Howe 370 .187 .257 .233 38 .046 .297 -3 -1.4 .225 43 26

Batters – Top Near-Age Offensive Comps
Player Hit Comp 1 Hit Comp 2 Hit Comp 3
José Ramírez Barry Larkin Bill Madlock Frankie Frisch
Steven Kwan Adam Eaton Michael Brantley Gene Richards
Bo Naylor Ed Kirkpatrick Darrell Porter Fred Walters
Travis Bazzana Robert Hewes Rance Mulliniks Tim Barker
Kyle Manzardo Sid Bream Rhys Hoskins Mark Teixeira
Cooper Ingle Jim French Bill Hance Bruce Look
C.J. Kayfus Dan Briggs Kole Calhoun Daryl Sconiers
Brayan Rocchio Dick Schofield Derrel Thomas Chris Coghlan
Nolan Jones Mike Hegan Larry Harlow Jacob Robson
Gabriel Arias Roberto Mejia Kurt Abbott Kevin Smith
Johnathan Rodríguez Lee Walls Mike Shannon Jeremy Hermida
Daniel Schneemann Brad Tyler Tug Hulett Wayne Terwilliger
Milan Tolentino Tim Barker Robby Thompson Antonio Perez
Juan Brito Felipe Crespo Ralph Milliard Steve Staggs
Austin Hedges Carlos Maldonado Sandy León Mike Knapp
Angel Martínez George Wright Charlie Chant Vernon Wells
Kody Huff Joe McCabe Andy Skeels Carl Nichols
Alfonsin Rosario Horace Speed Alonzo Powell Edward Cook
Angel Genao Frank Kostro Tony Medrano Juan Castro
George Valera Jim Nettles Dan Duran Benjamin Downs
Chase DeLauter Vinnie Pasquantino Tom Hutton Barry Butera
Christian Cairo Bill Crone Mike Mesh Bobby Knecht
Will Wilson Bob O’Connor Grant Buckner Rob Sperring
Jacob Cozart Lloyd McClendon Chris Cannizzaro Juan Gutierrez
Will Brennan Buddy Hassett Timo Perez Leon Brown
Kahlil Watson Ike Blessitt Mike Patterson Nelson Mathews
Petey Halpin Tito Nanni Clete Thomas Terrence Long
Christian Knapczyk Jake Peter Nate Mondou Ryne Birk
Ralphy Velazquez Jim Spencer Ismael Oquendo Fred Whitfield
Wuilfredo Antunez Scott Cousins Nic Jackson Raul Mondesi
Jose Devers Adrian Marin Pedro Florimón Tommy Murphy
David Fry Tagg Bozied Jabari Henry Jeff Liefer
Esteban González Jason Repko Connor Scott Daniel Johnson
Nick Mitchell Chris Prieto Devyn Bolasky John Finn
Dom Nuñez Craig Kuzmic Del Bates Fred Walters
Joe Lampe Cam Gibson Ka’ai Tom Jon Hamilton
Guy Lipscomb Kevin Long Scott Podsednik Doug Schutt
Cameron Barstad Francisco Morales Jacob Wallis Jeff Arnold
Dayan Frias Andy Fox Niko Goodrum John Damon
Juan Benjamin Tony Giarratano Bryan Hoppie Harold Reichenbach
Yordys Valdes Jason Smith Jerry Gil Andres Duncan
Jhonkensy Noel John Scoras Mike Fitzgerald Dave Koza
Jonah Advincula Ryan Rogowski Chris Prieto John Gibbons
Tyresse Turner Jose Sandoval Eric Pringle Kris Goodman
Jake Anchia Josh Johnson Jeff Mathis Tom Gregorio
Johnny Tincher Ricky Gonzalez Tony DeFrancesco Tanner Murphy
Jorge Burgos Bill Haynes Joe De Berry Will Love
Micah Pries Scott Youngbauer Mike Sarbaugh Steve Rinaudo
Ryan Cesarini Brian Ralph Pin-Chieh Chen Eddie Milner
Jaison Chourio Corey Wright Donald Ellis Tommy Toman
Jake Fox Mark Budzinski Rick Prieto James Ramsay
Kyle Datres Chick Fewster Josh Prince Tillman Pugh
Justin Boyd Keith Eaddy Wil Sowers Troy Sieber
Bennett Thompson Jason Fennell Joe Hudson Mike Durant
Jeffrey Mercedes Matt Kata Jerry Salzano Chuck Scrivener
Kevin Rivas Tyler Gibson Daniel Lopez Darwinson Salazar
Kyle Dernedde Matt Nuzzo Jason Benyo Ryan Priddy
Maick Collado Jeffrey Ronevich Kenneth Hamann Steven Wagner
Joe Naranjo Brett McMillan Ryan Rieger Reed Eastley
Alex Mooney Brent Brewer Brett King Edwin Maysonet
Garrett Howe Orlando Ramirez Steve Garrabrants Marcus Sanders

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
José Ramírez .296 .371 .530 144 6.0 .251 .323 .429 107 2.9
Steven Kwan .311 .377 .419 122 4.6 .254 .319 .349 88 1.8
Bo Naylor .244 .331 .457 116 3.0 .191 .273 .336 71 0.6
Travis Bazzana .246 .348 .403 107 2.6 .196 .297 .308 68 0.5
Kyle Manzardo .267 .346 .497 130 2.7 .219 .300 .388 92 0.4
Cooper Ingle .252 .355 .406 109 2.6 .196 .301 .302 70 0.3
C.J. Kayfus .276 .351 .471 126 2.5 .226 .307 .370 89 0.3
Brayan Rocchio .261 .329 .408 102 2.6 .209 .278 .317 66 0.2
Nolan Jones .268 .351 .431 116 2.2 .216 .301 .340 80 0.2
Gabriel Arias .258 .308 .433 105 2.3 .204 .256 .333 63 0.0
Johnathan Rodriguez .283 .349 .467 124 2.4 .224 .292 .365 84 -0.2
Daniel Schneemann .248 .324 .425 104 2.0 .191 .268 .322 64 -0.1
Milan Tolentino .241 .314 .396 95 2.1 .188 .264 .295 57 -0.1
Juan Brito .249 .337 .417 107 2.2 .202 .287 .319 69 -0.1
Austin Hedges .216 .293 .331 72 1.3 .159 .235 .238 35 0.4
Angel Martínez .256 .310 .404 95 1.6 .207 .262 .321 63 -0.5
Kody Huff .245 .309 .343 81 1.5 .182 .249 .259 43 -0.3
Alfonsin Rosario .246 .317 .443 108 1.8 .195 .268 .340 70 -0.7
Angel Genao .264 .307 .382 90 1.4 .214 .262 .301 59 -0.4
George Valera .261 .337 .447 115 1.3 .209 .284 .348 78 -0.2
Chase DeLauter .272 .338 .448 116 0.8 .220 .287 .350 77 -0.1
Christian Cairo .238 .329 .321 82 1.2 .187 .280 .252 50 -0.3
Will Wilson .237 .302 .370 85 1.4 .187 .250 .282 48 -0.6
Jacob Cozart .234 .308 .367 86 1.4 .177 .250 .272 47 -0.5
Will Brennan .301 .339 .416 109 1.3 .238 .279 .328 70 -0.6
Kahlil Watson .237 .312 .422 102 1.2 .187 .263 .331 65 -0.7
Petey Halpin .246 .310 .383 89 1.4 .196 .257 .299 55 -0.8
Christian Knapczyk .245 .324 .324 81 0.9 .196 .276 .253 49 -1.1
Ralphy Velazquez .262 .317 .463 113 1.5 .208 .266 .360 73 -1.3
Wuilfredo Antunez .260 .306 .440 104 1.1 .206 .255 .349 68 -0.9
Jose Devers .229 .277 .363 72 1.0 .179 .225 .270 37 -1.3
David Fry .237 .311 .415 99 0.5 .188 .264 .320 64 -0.9
Esteban González .257 .309 .399 94 0.9 .209 .260 .317 60 -1.0
Nick Mitchell .246 .324 .340 84 0.7 .190 .267 .253 49 -0.9
Dom Nuñez .197 .307 .314 71 0.5 .144 .244 .225 33 -1.0
Joe Lampe .240 .307 .368 86 0.8 .192 .255 .291 52 -1.2
Guy Lipscomb .248 .310 .344 81 0.5 .199 .263 .270 49 -1.1
Cameron Barstad .228 .293 .349 76 0.2 .168 .235 .260 38 -1.1
Dayan Frias .227 .299 .326 74 0.7 .176 .249 .244 40 -1.4
Juan Benjamin .253 .312 .331 79 0.5 .199 .259 .255 45 -1.2
Yordys Valdes .220 .265 .323 61 0.2 .170 .218 .246 29 -1.4
Jhonkensy Noel .240 .295 .432 97 0.6 .187 .246 .336 59 -1.7
Jonah Advincula .231 .334 .328 84 0.4 .183 .281 .255 53 -1.1
Tyresse Turner .221 .301 .290 66 0.1 .161 .246 .213 31 -1.1
Jake Anchia .226 .267 .350 67 0.1 .166 .205 .254 28 -1.2
Johnny Tincher .207 .281 .271 54 -0.1 .150 .224 .196 19 -1.2
Jorge Burgos .227 .292 .398 88 0.4 .176 .240 .304 53 -1.4
Micah Pries .237 .303 .395 93 0.3 .187 .252 .305 56 -1.3
Ryan Cesarini .234 .314 .336 79 0.4 .178 .262 .248 43 -1.6
Jaison Chourio .238 .334 .301 78 0.3 .177 .273 .220 41 -1.5
Jake Fox .223 .301 .336 75 0.2 .169 .245 .251 39 -1.5
Kyle Datres .224 .316 .331 81 0.0 .169 .256 .247 43 -1.5
Justin Boyd .183 .262 .234 40 -0.5 .127 .207 .160 5 -1.0
Bennett Thompson .228 .299 .339 76 0.0 .172 .240 .249 38 -1.9
Jeffrey Mercedes .233 .287 .332 71 0.0 .176 .227 .242 32 -1.7
Kevin Rivas .181 .267 .262 47 -0.8 .114 .200 .161 5 -1.6
Kyle Dernedde .210 .268 .260 47 -0.7 .155 .217 .188 16 -1.7
Maick Collado .242 .303 .314 73 -0.4 .188 .248 .243 39 -1.9
Joe Naranjo .223 .310 .296 70 -0.4 .172 .254 .228 36 -2.2
Alex Mooney .211 .285 .305 64 -0.4 .161 .233 .228 30 -2.4
Garrett Howe .213 .283 .264 54 -0.7 .159 .230 .198 24 -2.1

Batters – Platoon Splits
Player BA vs. L OBP vs. L SLG vs. L BA vs. R OBP vs. R SLG vs. R
José Ramírez .276 .340 .483 .269 .348 .472
Steven Kwan .275 .340 .376 .284 .353 .388
Bo Naylor .203 .286 .347 .221 .311 .420
Travis Bazzana .216 .316 .333 .220 .324 .366
Kyle Manzardo .226 .303 .380 .250 .332 .474
Cooper Ingle .209 .302 .318 .230 .331 .360
C.J. Kayfus .241 .315 .397 .252 .332 .426
Brayan Rocchio .240 .304 .371 .234 .304 .348
Nolan Jones .236 .317 .366 .248 .336 .393
Gabriel Arias .232 .291 .391 .230 .281 .377
Johnathan Rodríguez .265 .337 .464 .248 .314 .393
Daniel Schneemann .207 .279 .345 .228 .308 .378
Milan Tolentino .203 .272 .293 .217 .293 .368
Juan Brito .230 .307 .365 .224 .311 .359
Austin Hedges .189 .279 .264 .186 .256 .292
Angel Martínez .238 .290 .369 .231 .286 .360
Kody Huff .218 .286 .317 .207 .275 .291
Alfonsin Rosario .227 .301 .398 .219 .290 .383
Angel Genao .239 .280 .350 .239 .288 .339
George Valera .216 .289 .343 .246 .325 .419
Chase DeLauter .224 .291 .327 .254 .324 .431
Christian Cairo .211 .311 .289 .213 .298 .279
Will Wilson .216 .283 .328 .211 .272 .324
Jacob Cozart .200 .270 .310 .205 .284 .310
Will Brennan .257 .295 .324 .274 .317 .395
Kahlil Watson .204 .272 .379 .216 .291 .375
Petey Halpin .206 .261 .298 .226 .289 .353
Christian Knapczyk .208 .284 .283 .224 .301 .294
Ralphy Velazquez .229 .283 .393 .236 .294 .420
Wuilfredo Antunez .225 .266 .343 .234 .284 .410
Jose Devers .210 .257 .341 .202 .248 .306
David Fry .219 .299 .375 .208 .279 .362
Esteban González .224 .282 .308 .232 .281 .364
Nick Mitchell .200 .274 .282 .221 .299 .294
Dom Nuñez .154 .253 .231 .173 .284 .277
Joe Lampe .196 .259 .280 .221 .287 .341
Guy Lipscomb .215 .275 .280 .225 .292 .310
Cameron Barstad .188 .250 .275 .200 .268 .317
Dayan Frias .202 .275 .290 .197 .274 .282
Juan Benjamin .232 .287 .303 .225 .285 .287
Yordys Valdes .205 .250 .286 .195 .240 .285
Jhonkensy Noel .217 .277 .395 .211 .267 .376
Jonah Advincula .198 .286 .279 .210 .312 .296
Tyresse Turner .191 .267 .265 .192 .280 .246
Jake Anchia .203 .247 .316 .188 .227 .286
Johnny Tincher .176 .250 .221 .179 .250 .238
Jorge Burgos .190 .259 .314 .201 .265 .362
Micah Pries .202 .270 .317 .212 .279 .361
Ryan Cesarini .198 .274 .277 .210 .289 .295
Jaison Chourio .206 .293 .265 .204 .303 .254
Jake Fox .188 .252 .267 .199 .279 .297
Kyle Datres .205 .295 .313 .193 .283 .271
Justin Boyd .161 .235 .194 .154 .236 .200
Bennett Thompson .206 .281 .284 .197 .266 .292
Jeffrey Mercedes .198 .245 .286 .204 .257 .280
Kevin Rivas .163 .250 .186 .138 .224 .218
Kyle Dernedde .181 .241 .222 .182 .246 .227
Maick Collado .215 .275 .280 .213 .274 .280
Joe Naranjo .193 .268 .254 .195 .285 .263
Alex Mooney .195 .270 .265 .184 .256 .267
Garrett Howe .180 .245 .202 .190 .261 .244

Pitchers – Standard
Player T Age W L ERA G GS IP H ER HR BB SO
Tanner Bibee R 27 11 9 3.71 28 28 165.0 150 68 21 48 153
Gavin Williams R 26 9 7 3.59 29 29 150.3 128 60 18 62 154
Parker Messick L 25 7 7 3.98 26 25 124.3 118 55 17 42 120
Logan Allen L 27 8 9 4.13 27 26 139.3 138 64 18 53 116
Cade Smith R 27 8 3 2.71 68 0 69.7 50 21 5 22 93
Joey Cantillo L 26 6 4 3.65 33 18 106.0 91 43 13 47 118
Emmanuel Clase R 28 6 2 2.69 61 0 60.3 49 18 4 13 59
Luis L. Ortiz R 27 7 7 3.98 23 17 106.3 96 47 14 43 102
Austin Peterson R 26 6 8 4.00 25 24 125.7 132 61 19 32 92
Hunter Gaddis R 28 4 4 3.65 56 7 81.3 71 33 10 26 80
Slade Cecconi R 27 6 8 4.38 26 22 125.3 124 61 20 31 105
Will Dion L 26 5 5 4.15 27 17 97.7 98 45 12 33 79
Yorman Gómez R 23 6 7 4.40 25 16 108.3 108 53 14 42 89
Josh Hartle L 23 6 7 4.41 23 23 102.0 102 50 13 36 77
Trenton Denholm R 26 7 8 4.43 23 18 111.7 121 55 16 30 75
Ryan Webb L 27 5 7 4.54 24 19 103.0 102 52 14 47 88
Khal Stephen R 23 5 5 4.42 20 19 89.7 89 44 13 28 73
Kolby Allard L 28 3 3 4.10 31 11 85.7 89 39 12 26 66
Doug Nikhazy L 26 5 7 4.50 22 19 90.0 87 45 12 47 81
Jakob Junis R 33 3 3 3.71 41 4 70.3 68 29 8 18 60
Rodney Boone L 26 4 5 4.44 17 16 71.0 73 35 11 24 55
Ben Lively R 34 5 6 4.57 17 16 84.7 87 43 13 29 62
Tim Herrin L 29 5 3 3.54 60 0 56.0 46 22 5 26 59
Vince Velasquez R 34 3 4 4.48 16 13 62.3 61 31 10 28 60
Triston McKenzie R 28 4 6 4.66 23 17 85.0 82 44 15 45 80
Rorik Maltrud R 26 4 4 4.66 19 17 67.7 69 35 10 30 55
Peyton Pallette R 25 3 3 4.41 41 6 63.3 57 31 9 28 64
Aaron Davenport R 25 5 7 4.97 24 21 112.3 116 62 18 51 85
Franco Aleman R 26 4 3 3.95 33 1 41.0 36 18 5 18 46
Nic Enright R 29 2 2 3.86 30 0 37.3 35 16 5 13 35
John Means L 33 2 2 4.50 9 9 36.0 37 18 6 9 24
Erik Sabrowski L 28 2 2 3.95 41 1 43.3 34 19 5 27 53
Colin Holderman R 30 3 2 4.02 44 1 47.0 43 21 5 20 45
Dylan DeLucia R 25 4 7 4.97 20 18 83.3 85 46 14 32 65
Trevor Stephan R 30 3 4 4.12 40 1 39.3 38 18 5 15 37
Andrew Walters R 25 2 2 4.15 45 1 43.3 35 20 6 23 51
Carlos Hernández R 29 2 2 4.34 45 3 58.0 54 28 7 26 55
Jack Leftwich R 27 3 4 4.56 30 5 49.3 51 25 7 20 38
Matt Festa R 33 4 4 4.09 55 0 55.0 49 25 7 20 55
Connor Brogdon R 31 3 3 4.25 51 1 59.3 56 28 9 25 62
Davis Sharpe R 26 4 4 4.50 38 3 62.0 64 31 9 20 48
Jake Miller R 25 4 4 4.47 35 3 52.3 55 26 7 19 37
Andrew Misiaszek L 28 2 1 4.37 26 1 35.0 33 17 4 17 32
Carter Spivey R 26 2 3 5.05 18 13 66.0 72 37 10 30 41
Matt Jachec R 24 3 2 4.14 29 0 45.7 47 21 6 16 36
Tanner Burns R 27 3 3 4.77 29 5 54.7 56 29 8 28 42
Magnus Ellerts R 25 2 2 4.30 35 0 44.0 40 21 6 23 45
Mason Hickman R 27 2 4 4.61 26 2 41.0 40 21 6 22 38
Luis Frías R 28 2 1 4.57 35 1 41.3 41 21 5 21 39
Tommy Mace R 27 5 8 5.31 25 19 96.7 106 57 15 53 61
Nick Mikolajchak R 28 2 2 4.73 30 0 32.3 33 17 4 16 24
Alaska Abney R 26 2 2 4.66 30 0 36.7 36 19 5 15 30
Ross Carver R 26 2 4 5.02 29 6 61.0 61 34 9 29 49
Steven Pérez L 25 2 3 4.61 34 0 52.7 53 27 8 23 45
Zane Morehouse R 26 3 4 4.63 40 0 44.7 44 23 6 21 39
Zach Jacobs R 24 3 4 4.99 34 3 61.3 62 34 10 26 46
Adam Tulloch L 25 2 2 5.24 29 4 55.0 57 32 8 33 43
Tyler Thornton R 25 1 3 5.14 30 0 35.0 31 20 5 21 35
Shawn Rapp L 25 1 2 5.40 24 0 30.0 30 18 4 17 21
Alonzo Richardson R 23 2 2 5.43 23 5 69.7 79 42 10 35 36
Jack Jasiak R 25 4 5 4.99 34 0 61.3 66 34 10 23 45

Pitchers – Advanced
Player IP K/9 BB/9 HR/9 BB% K% BABIP ERA+ 3ERA+ FIP ERA- WAR
Tanner Bibee 165.0 8.3 2.6 1.1 7.0% 22.3% .281 114 114 3.96 88 2.8
Gavin Williams 150.3 9.2 3.7 1.1 9.7% 24.2% .277 118 118 4.01 85 2.7
Parker Messick 124.3 8.7 3.0 1.2 7.9% 22.6% .293 106 110 4.22 94 1.8
Logan Allen 139.3 7.5 3.4 1.2 8.8% 19.3% .291 102 103 4.43 98 1.7
Cade Smith 69.7 12.0 2.8 0.6 7.9% 33.2% .287 156 152 2.59 64 1.6
Joey Cantillo 106.0 10.0 4.0 1.1 10.3% 25.9% .288 116 117 3.95 86 1.6
Emmanuel Clase 60.3 8.8 1.9 0.6 5.4% 24.4% .276 158 152 2.82 63 1.5
Luis L. Ortiz 106.3 8.6 3.6 1.2 9.5% 22.5% .281 106 107 4.28 94 1.4
Austin Peterson 125.7 6.6 2.3 1.4 6.0% 17.3% .291 97 100 4.55 103 1.3
Hunter Gaddis 81.3 8.9 2.9 1.1 7.7% 23.7% .279 116 117 3.94 86 1.2
Slade Cecconi 125.3 7.5 2.2 1.4 5.9% 20.0% .284 97 99 4.42 103 1.2
Will Dion 97.7 7.3 3.0 1.1 7.9% 18.8% .294 102 105 4.22 98 1.2
Yorman Gómez 108.3 7.4 3.5 1.2 8.9% 18.9% .292 96 103 4.47 104 1.1
Josh Hartle 102.0 6.8 3.2 1.1 8.2% 17.6% .287 96 101 4.66 104 1.0
Trenton Denholm 111.7 6.0 2.4 1.3 6.3% 15.6% .295 95 99 4.57 105 1.0
Ryan Webb 103.0 7.7 4.1 1.2 10.3% 19.3% .292 93 97 4.82 108 0.9
Khal Stephen 89.7 7.3 2.8 1.3 7.3% 19.2% .287 96 103 4.42 104 0.9
Kolby Allard 85.7 6.9 2.7 1.3 7.0% 17.9% .294 103 106 4.39 97 0.9
Doug Nikhazy 90.0 8.1 4.7 1.2 11.6% 20.0% .291 94 98 4.76 106 0.8
Jakob Junis 70.3 7.7 2.3 1.0 6.1% 20.4% .291 114 110 3.87 88 0.8
Rodney Boone 71.0 7.0 3.0 1.4 7.8% 17.8% .288 95 99 4.77 105 0.7
Ben Lively 84.7 6.6 3.1 1.4 8.0% 17.0% .286 93 88 4.83 108 0.7
Tim Herrin 56.0 9.5 4.2 0.8 10.8% 24.6% .281 120 118 3.82 83 0.6
Vince Velasquez 62.3 8.7 4.0 1.4 10.2% 21.8% .293 95 88 4.77 106 0.6
Triston McKenzie 85.0 8.5 4.8 1.6 11.7% 20.8% .284 91 93 5.23 110 0.5
Rorik Maltrud 67.7 7.3 4.0 1.3 10.0% 18.3% .292 91 96 4.88 110 0.5
Peyton Pallette 63.3 9.1 4.0 1.3 10.3% 23.4% .282 96 102 4.55 104 0.4
Aaron Davenport 112.3 6.8 4.1 1.4 10.2% 17.0% .287 85 90 5.28 117 0.4
Franco Aleman 41.0 10.1 4.0 1.1 10.2% 26.0% .295 107 109 4.04 93 0.3
Nic Enright 37.3 8.4 3.1 1.2 8.2% 22.2% .288 110 110 4.15 91 0.3
John Means 36.0 6.0 2.3 1.5 6.0% 15.9% .277 94 90 4.91 106 0.3
Erik Sabrowski 43.3 11.0 5.6 1.0 14.1% 27.7% .282 107 109 4.22 93 0.3
Colin Holderman 47.0 8.6 3.8 1.0 9.8% 22.1% .290 105 104 4.16 95 0.3
Dylan DeLucia 83.3 7.0 3.5 1.5 8.9% 18.0% .284 85 89 5.12 117 0.2
Trevor Stephan 39.3 8.5 3.4 1.1 8.9% 21.9% .297 103 101 4.31 97 0.2
Andrew Walters 43.3 10.6 4.8 1.2 12.4% 27.4% .276 102 109 4.41 98 0.2
Carlos Hernández 58.0 8.5 4.0 1.1 10.3% 21.7% .290 97 98 4.28 103 0.2
Jack Leftwich 49.3 6.9 3.7 1.3 9.2% 17.5% .293 93 95 4.74 108 0.2
Matt Festa 55.0 9.0 3.3 1.1 8.6% 23.7% .284 103 98 4.13 97 0.2
Connor Brogdon 59.3 9.4 3.8 1.4 9.7% 24.0% .296 100 97 4.41 100 0.2
Davis Sharpe 62.0 7.0 2.9 1.3 7.4% 17.8% .293 94 97 4.71 106 0.1
Jake Miller 52.3 6.4 3.3 1.2 8.3% 16.1% .293 95 98 4.69 106 0.1
Andrew Misiaszek 35.0 8.2 4.4 1.0 11.0% 20.8% .290 97 100 4.45 103 0.1
Carter Spivey 66.0 5.6 4.1 1.4 10.1% 13.8% .290 84 87 5.44 119 0.1
Matt Jachec 45.7 7.1 3.2 1.2 8.0% 18.0% .295 102 106 4.41 98 0.1
Tanner Burns 54.7 6.9 4.6 1.3 11.3% 17.0% .289 89 91 5.18 112 0.1
Magnus Ellerts 44.0 9.2 4.7 1.2 11.6% 22.7% .288 99 103 4.60 101 0.0
Mason Hickman 41.0 8.3 4.8 1.3 12.0% 20.7% .293 92 95 4.97 109 0.0
Luis Frías 41.3 8.5 4.6 1.1 11.2% 20.9% .305 93 95 4.52 108 0.0
Tommy Mace 96.7 5.7 4.9 1.4 11.9% 13.7% .292 80 83 5.75 125 0.0
Nick Mikolajchak 32.3 6.7 4.5 1.1 11.0% 16.4% .290 89 93 4.77 112 -0.1
Alaska Abney 36.7 7.4 3.7 1.2 9.4% 18.9% .287 91 94 4.85 110 -0.1
Ross Carver 61.0 7.2 4.3 1.3 10.6% 17.9% .287 84 88 5.25 119 -0.1
Steven Pérez 52.7 7.7 3.9 1.4 9.7% 19.1% .292 92 96 4.85 109 -0.1
Zane Morehouse 44.7 7.9 4.2 1.2 10.4% 19.3% .292 91 95 4.91 110 -0.1
Zach Jacobs 61.3 6.8 3.8 1.5 9.6% 17.0% .281 85 91 5.30 118 -0.2
Adam Tulloch 55.0 7.0 5.4 1.3 13.0% 16.9% .293 81 85 5.62 124 -0.3
Tyler Thornton 35.0 9.0 5.4 1.3 13.4% 22.3% .277 82 87 5.42 122 -0.3
Shawn Rapp 30.0 6.3 5.1 1.2 12.5% 15.4% .280 78 83 5.70 128 -0.3
Alonzo Richardson 69.7 4.6 4.5 1.3 10.8% 11.1% .292 78 83 5.59 128 -0.4
Jack Jasiak 61.3 6.6 3.4 1.5 8.5% 16.7% .295 85 90 5.19 118 -0.4

Pitchers – Top Near-Age Comps
Player Pit Comp 1 Pit Comp 2 Pit Comp 3
Tanner Bibee José Berríos Matt Garza Jack McDowell
Gavin Williams Ron Darling Dean Chance Carlos Martinez
Parker Messick Mike Sirotka Jordan Montgomery Sean Manaea
Logan Allen Darren Oliver Kyle Hart Jeff Locke
Cade Smith Mariano Rivera Bob James Danny Frisella
Joey Cantillo Hector Santiago Drew Pomeranz Darrell Jackson
Emmanuel Clase Héctor Rondón Hunter Strickland Bobby Jenks
Luis L. Ortiz Eric Show Rubby De La Rosa Michael Wacha
Austin Peterson Brian Meadows Virgil Vasquez Matt Swarmer
Hunter Gaddis Al Benton Vladimir Nunez Gene Nelson
Slade Cecconi Matt Wisler Luke Hochevar Phil Hughes
Will Dion Randy Lerch Sam McConnell Denis Boucher
Yorman Gómez Paul Stewart Mike Nannini Nate Minchey
Josh Hartle Eric Fowler Kent Murphy Denis Boucher
Trenton Denholm Andrew Moore Kyle Middleton Tyler Eppler
Ryan Webb Ken Reynolds Justin Hampson Trevor Lubking
Khal Stephen Isaac Anderson Kyle Jackson Jesus Castillo
Kolby Allard Mike Caldwell Mike Bacsik J.D. Arteaga
Doug Nikhazy Ken Reynolds Bill Boemler Dave Owen
Jakob Junis Dave Schmidt Rene Arocha Bob Stanley
Rodney Boone Bryan Braswell Wes Benjamin Alan Viebrock
Ben Lively Bob Porterfield Joaquin Andujar Jack Knott
Tim Herrin Sam Freeman Jeff Calhoun Mike Mohler
Vince Velasquez Danny Cox Red Munger Marty McLeary
Triston McKenzie Claudio Vargas Dave Sisler Rich Gale
Rorik Maltrud T.J. Stanton Rocky Cherry Paul Brown
Peyton Pallette Wei-Chieh Huang Alexander Guillen Armando Rodriguez
Aaron Davenport David Hess Gerson Garabito Jordan Milbrath
Franco Aleman Aris Tirado Enosil Tejeda Ian Kadish
Nic Enright Randy St. Claire Pete Appleton Jack Aker
John Means Lefty Tyler Lefty Stewart Hal Newhouser
Erik Sabrowski Kevin Siegrist Renyel Pinto Al Osuna
Colin Holderman Jacob Barnes Jimmy Cordero Chris Ray
Dylan DeLucia Buck Ross Matt Petersen Tommy Wilson
Trevor Stephan Dick Colpaert Randy Veres Federico Castaneda
Andrew Walters Gary Neibauer Pete Ladd Mark Acre
Carlos Hernández JC Ramírez Tom Wilhelmsen Mitchell Boggs
Jack Leftwich Cecilio Garibaldi Ed Reilly Kevin Fynan
Matt Festa Tom Hume Bobby Bolin Al Worthington
Connor Brogdon Sheldon Jones Barry Latman Julio Santana
Davis Sharpe Chad Blackwell Ricky Rojas Sam Bragg
Jake Miller Mark Randall Freddie Davis Nolan Blackwood
Andrew Misiaszek Felix Heredia Don Leshnock Len Whitehouse
Carter Spivey Mark Heuer Cory Taylor Matt Summers
Matt Jachec Cary Hiles Rodney Ormond Steven Fair
Tanner Burns Edgar Martinez A.J. Morris Gary Parmenter
Magnus Ellerts Jake Cosart Jeff Jones Ryan Prahm
Mason Hickman Fernando Zarranz Jim Henderson Mark Voisard
Luis Frías R.J. Rodriguez Josh Judy Carlos Chavez
Tommy Mace Dace Kime Stephen McCray Scott Lyman
Nick Mikolajchak Terry Cornutt Paul Thorp Dave Sells
Alaska Abney Dan Brown Mike Sullivan Brian Otten
Ross Carver Dick Lange Jeremy King Fernando Zarranz
Steven Pérez Hunter Schryver Dave Dowling Derron Spiller
Zane Morehouse Marcus Hostetler Justin Barnes Aaron Kurcz
Zach Jacobs Matty Ott Howie Judson Pete Sivess
Adam Tulloch Marty Schreiber Troy Carrasco Jeff Kelly
Tyler Thornton Dick Drott Gene Pentz Dave Beard
Shawn Rapp Jeffery Sunderlage Rick Williams Bob O’Brien
Alonzo Richardson Trey Watten Trevor Mallory Tayler Scott
Jack Jasiak Austin Fleet Brandon Braboy Francisco Jimenez

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
Tanner Bibee .245 .309 .412 .230 .284 .377 3.9 1.7 3.23 4.32
Gavin Williams .215 .310 .367 .236 .303 .378 3.8 1.5 3.09 4.24
Parker Messick .210 .276 .370 .257 .326 .419 2.6 0.9 3.48 4.63
Logan Allen .218 .291 .352 .264 .333 .435 2.6 0.6 3.64 4.75
Cade Smith .181 .256 .284 .207 .282 .307 2.5 0.7 1.95 3.71
Joey Cantillo .243 .328 .383 .220 .302 .376 2.4 0.7 3.14 4.35
Emmanuel Clase .217 .257 .330 .220 .273 .314 2.0 0.8 2.10 3.54
Luis L. Ortiz .247 .332 .435 .226 .297 .362 2.1 0.7 3.50 4.59
Austin Peterson .247 .303 .390 .276 .318 .484 2.1 0.5 3.81 5.01
Hunter Gaddis .230 .308 .396 .231 .292 .367 1.8 0.4 3.12 4.52
Slade Cecconi .250 .306 .442 .256 .298 .429 2.0 0.4 3.82 4.95
Will Dion .229 .292 .381 .265 .323 .422 1.8 0.4 3.67 4.84
Yorman Gómez .255 .337 .440 .250 .312 .389 1.7 0.4 3.97 4.92
Josh Hartle .237 .308 .336 .262 .338 .450 1.6 0.4 3.94 4.92
Trenton Denholm .267 .321 .446 .270 .312 .435 1.6 0.3 3.95 5.01
Ryan Webb .248 .324 .388 .255 .347 .433 1.6 0.1 3.98 5.22
Khal Stephen .247 .315 .416 .255 .300 .431 1.4 0.3 3.86 5.02
Kolby Allard .267 .318 .455 .258 .310 .421 1.3 0.1 3.60 4.90
Doug Nikhazy .238 .319 .390 .252 .347 .423 1.4 0.2 4.00 5.08
Jakob Junis .261 .320 .418 .236 .285 .364 1.3 0.2 3.04 4.59
Rodney Boone .267 .326 .419 .255 .319 .444 1.1 0.1 3.96 5.10
Ben Lively .268 .345 .465 .257 .305 .429 1.2 0.1 4.04 5.34
Tim Herrin .194 .299 .269 .234 .327 .383 1.1 -0.1 2.89 4.48
Vince Velasquez .265 .349 .442 .237 .313 .420 0.9 0.0 3.88 5.33
Triston McKenzie .250 .339 .434 .249 .343 .463 1.2 -0.2 4.06 5.38
Rorik Maltrud .258 .345 .419 .257 .325 .438 0.9 0.0 4.17 5.27
Peyton Pallette .225 .320 .396 .242 .327 .402 0.9 -0.1 3.78 5.12
Aaron Davenport .262 .350 .447 .261 .338 .445 0.9 -0.3 4.58 5.47
Franco Aleman .217 .316 .391 .236 .317 .371 0.7 -0.1 3.21 4.68
Nic Enright .246 .303 .393 .241 .312 .422 0.5 -0.1 3.24 4.74
John Means .250 .308 .389 .275 .324 .490 0.5 0.0 3.98 5.14
Erik Sabrowski .192 .311 .327 .224 .344 .383 0.8 -0.3 3.13 5.23
Colin Holderman .238 .337 .400 .235 .313 .363 0.7 -0.2 3.38 4.79
Dylan DeLucia .258 .341 .439 .260 .323 .462 0.8 -0.3 4.40 5.58
Trevor Stephan .257 .342 .429 .241 .312 .398 0.6 -0.2 3.46 5.03
Andrew Walters .227 .341 .387 .209 .310 .384 0.6 -0.2 3.53 5.20
Carlos Hernández .220 .313 .400 .258 .331 .387 0.6 -0.2 3.78 5.07
Jack Leftwich .247 .327 .404 .271 .331 .449 0.5 -0.1 4.04 5.19
Matt Festa .258 .343 .449 .218 .288 .353 0.6 -0.3 3.41 4.94
Connor Brogdon .252 .333 .423 .233 .306 .408 0.7 -0.4 3.55 5.20
Davis Sharpe .268 .336 .482 .252 .315 .385 0.6 -0.3 3.85 5.19
Jake Miller .247 .317 .387 .271 .331 .449 0.5 -0.3 3.93 5.07
Andrew Misiaszek .190 .277 .286 .266 .358 .447 0.4 -0.2 3.74 5.20
Carter Spivey .265 .360 .444 .275 .343 .463 0.5 -0.3 4.60 5.63
Matt Jachec .265 .344 .410 .250 .296 .420 0.4 -0.2 3.62 4.64
Tanner Burns .250 .348 .396 .269 .348 .462 0.4 -0.3 4.31 5.47
Magnus Ellerts .273 .371 .468 .204 .299 .344 0.4 -0.3 3.72 4.98
Mason Hickman .247 .345 .438 .247 .340 .404 0.3 -0.4 4.09 5.50
Luis Frías .278 .366 .444 .228 .321 .370 0.3 -0.4 3.84 5.39
Tommy Mace .274 .365 .463 .271 .366 .447 0.5 -0.7 4.89 5.95
Nick Mikolajchak .263 .354 .421 .254 .325 .423 0.2 -0.4 4.04 5.63
Alaska Abney .270 .370 .492 .241 .315 .367 0.2 -0.4 4.05 5.38
Ross Carver .273 .391 .464 .238 .310 .400 0.3 -0.5 4.50 5.66
Steven Pérez .203 .278 .281 .278 .356 .500 0.2 -0.5 4.05 5.27
Zane Morehouse .235 .340 .420 .260 .345 .406 0.2 -0.4 4.13 5.23
Zach Jacobs .255 .342 .441 .263 .342 .453 0.2 -0.6 4.41 5.62
Adam Tulloch .234 .367 .359 .271 .370 .465 0.1 -0.8 4.58 5.99
Tyler Thornton .250 .392 .417 .222 .345 .403 0.0 -0.6 4.42 5.95
Shawn Rapp .222 .364 .333 .272 .375 .469 -0.1 -0.6 4.84 6.38
Alonzo Richardson .293 .376 .472 .264 .342 .442 0.0 -0.9 4.95 6.05
Jack Jasiak .274 .366 .443 .261 .316 .458 0.1 -0.8 4.37 5.60

Players are listed with their most recent teams wherever possible. This includes players who are unsigned or have retired, players who will miss 2026 due to injury, and players who were released in 2025. So yes, if you see Joe Schmoe, who quit baseball back in August to form a Ambient Math-Rock Trip-Hop Yacht Metal band that only performs in abandoned malls, he’s still listed here intentionally. ZiPS is assuming a league with an ERA of 4.16.

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. This last is, however, not an actual requirement.


Job Posting: Pittsburgh Pirates – Multiple Openings

Direct links to applications (please see job details below):

Tech Lead – Baseball Systems
Data Scientist – Research and Development

The Pirates Why
The Pittsburgh Pirates are a storied franchise in Major League Baseball who are reinventing themselves on every level. Boldly and relentlessly pursuing excellence by:

  • purposefully developing a player and people-centered culture;
  • deeply connecting with our fans, partners, and colleagues;
  • passionately creating lifetime memories for generations of families and friends; and
  • meaningfully impacting our communities and the game of baseball.

At the Pirates, we believe in the power of a diverse workforce and strive to create an inclusive culture centered in Passion, Innovation, Respect, Accountability, Teamwork, Empathy, and Service.


Tech Lead – Baseball Systems

Job Summary
We are looking for a Tech Lead to guide the next evolution of our internal baseball decision-making platform. This web-based system equips players, coaches, analysts, and executives with the insights they need to make better, faster decisions. You’ll be combining bleeding edge ML research with the latest in baseball statistics. You’ll pair hands-on engineering with technical leadership: setting the bar for code quality, modern architectures, and DevOps practices while mentoring a high-performing team of software and data engineers.

Responsibilities
Primary

  1. Ensure every baseball systems feature is intuitive, reliable, and delivers measurable impact.
  2. Design clean, scalable architectures and champion platform-wide standards that reflect the latest industry best practices.
  3. Lead cloud-native engineering efforts, including containerization, Kubernetes orchestration, and infrastructure-as-code pipelines.
  4. Partner with data scientists, analysts, software engineers, and front-office leaders to translate baseball strategy into resilient software and ML pipelines.
  5. Model fast, high-quality execution—from building custom React components to tuning data services or ML workflows—and see initiatives through from concept to delivery.
  6. Mentor engineers of varying experience levels, promoting knowledge sharing, thoughtful code review, and continuous improvement.
  7. Champion an Agile product development process that balances experimentation, user feedback, and operational excellence.
  8. Keep a relentless focus on features that strengthen the organization’s competitive edge.

Qualifications
Required:

  1. Authorized to work lawfully in the United States.
  2. Bachelor’s degree in Computer Science, Information Systems, or a related field (or equivalent experience).
  3. Strong communication skills—you translate complex technical concepts for non-technical partners and build trust across departments.
  4. Familiarity with building and operating ML pipelines or advanced analytics services alongside traditional application development.
  5. Track record of shipping full-stack web applications in data-driven, end-user centric environments.
  6. Proven success leading engineering teams, designing technical implementations, and mentoring others to deliver their best work.
  7. Hands-on experience with Kubernetes, Docker, container orchestration, and modern DevOps practices (CI/CD, infrastructure as code).
  8. Expert-level experience with React, Node.js, and Python, plus comfort moving across the stack—from front-end polish to backend services and data workflows.

Desired:

  1. Hands on experience in Statistical Learning or AI Development
  2. Deep curiosity about baseball and how data, analytics, and technology inform strategy and performance.

Equal Opportunity Employer
The Pittsburgh Pirates are an equal opportunity employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, national origin, disability status, protected veteran status or any other characteristic protected by law.

To Apply
To apply, please follow this link.


Data Scientist – Research and Development

Job Summary
As a Data Scientist on the Pirates Research & Development team, you will help transform a wealth of baseball data — from box scores and player tracking to video and biomechanics — into actionable insights that drive the Pirates to make better, faster acquisition, development, and deployment decisions. You will work closely with other data scientists, analysts, and software engineers across Baseball R&D as well as other stakeholders across Baseball Operations (scouts, coaches, player development, front office) to turn your statistical and machine learning models into actionable decision tools.

Responsibilities:

  1. Design, build, validate, and deploy statistical and/or machine-learning models to support all facets of baseball operations, including scouting, player acquisition, player development, and on-field decision making.
  2. Build tools, prototypes, and visualizations to translate complex data and model results into insights understandable by coaches, players, and decision-makers.
  3. Communicate results and insights clearly to both technical and non-technical audiences.
  4. Partner with data engineers to build scalable data pipelines and maintain data quality.
  5. Stay abreast of new data sources, analytical techniques, and research.
  6. Help the organization experiment, learn, and iterate.

Qualifications
We recognize that no candidate will meet every qualification listed below. If you are excited about this role and believe you can add value to our work, we encourage you to apply even if your experience does not align perfectly with every requirement.
Required:

  1. Degree (or equivalent experience) in a quantitative discipline (e.g., Statistics, Computer Science, Mathematics, Economics, Machine Learning, Biomechanics, Engineering, Operations Research).
  2. Demonstrated experience applying complex statistical and/or machine learning tools to real-world problems.
  3. Demonstrated proficiency in a programming language such as Python or R for data analysis and modeling.
  4. Demonstrated ability to communicate complex quantitative concepts clearly, both written and verbally.
  5. Demonstrated experience collaborating with others on data science projects.
  6. Authorized to work lawfully in the United States.

Desired:

  1. Familiarity with advanced statistical techniques (e.g., fixed-effect / random-effect models, generalized additive models, Bayesian modeling, probabilistic programming).
  2. Experience with machine-learning / deep-learning frameworks (e.g., PyTorch, Tensorflow), especially applied to high-dimensional, spatiotemporal, or biomechanical data.
  3. Background in computer vision, biomechanics, sports-science, or modeling of dynamic physical systems.
  4. Prior experience in sports analytics context; baseball is a plus.
  5. Experience with database languages (e.g., SQL) and working with large / relational datasets.

Equal Opportunity Employer
The Pittsburgh Pirates are an equal opportunity employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, national origin, disability status, protected veteran status or any other characteristic protected by law.

To Apply
To apply, please follow this link.

The content in this posting was created and provided solely by the Pittsburgh Pirates.


Effectively Wild Episode 2415: Catch if You Can

EWFI
Ben Lindbergh and Meg Rowley banter about the Ha-Seong Kim, Adrian Houser, and Foster Griffin signings, a prospect-for-prospect Red Sox and Nationals trade, and the Twins’ partial sale, then (34:00) answer emails about saying “pitchoff” instead of “first pitch,” the value of a cool nickname, a Hall of Fame reference in The Wizard of Oz, whether teams value batter performance against elite pitching, protesting ball/strike calls from the dugout, keeping Pete Rose out of the Hall, a running start for pitchers, and moving the catcher back instead of the mound.

Audio intro: Alex Glossman and Ali Breneman, “Effectively Wild Theme
Audio outro: The Shirey Brothers, “Effectively Wild Theme

Link to FG post on Kim
Link to Anthopoulos comments on Kim
Link to MLBTR on Houser
Link to MLBTR on Griffin
Link to FG post on pitching prospects trade
Link to Twins sale story
Link to $/WAR analysis
Link to $/WAR analysis 2
Link to ceremonial first puck wiki
Link to “baseball exceptionalism” series
Link to Sam’s hockey quote
Link to Raleigh “Beef Boys” story
Link to Sam on Trout in 2012
Link to The Wizard of Oz song
Link to halls of fame wiki
Link to Hall of Fame for Great Americans
Link to Schwarber’s postseason stats
Link to pitcher quality adjustment post
Link to Capps hop post
Link to Ben on moving the mound
Link to listener emails database

 Sponsor Us on Patreon
 Give a Gift Subscription
 Email Us: podcast@fangraphs.com
 Effectively Wild Subreddit
 Effectively Wild Wiki
 Apple Podcasts Feed 
 Spotify Feed
 YouTube Playlist
 Facebook Group
 Bluesky Account
 Twitter Account
 Get Our Merch!


Twins Sign Bell, Phillies Sign García, Because Nobody Learns From Others’ Mistakes

Jim Rassol and Jerome Miron-Imagn Images

On Monday morning, the Twins signed Josh Bell to a one-year contract with a mutual option for 2027. Between salary, signing bonus, and option buyout, the deal guarantees Bell $7 million. A couple hours later, the Phillies and outfielder Adolis García agreed to terms on a one-year, $10 million contract.

Look around whatever room you’re sitting in as you read this. Consider the material of the walls, the furniture, whatever appliances (if any) are in view. The carpet, or wood or laminate or tile of the floor. Pens and pencils, soap, hand lotion, power cables, books, magazines, children’s toys… whatever you can see, you know what it’d feel like and taste like if you licked it.

That’s from experience. At some point in your life, you put everything you encountered in your mouth, just to see what would happen. If you’ve ever raised a child, or met a child, or been a child, you know kids are always putting stuff in their mouths. You know equally well that kids aren’t supposed to do that. They could choke, or get sick, or otherwise come to harm by licking the sidewalk.

But they do it anyway, no matter how forcefully their parents remind them not to. There’s only one way to know for sure what the TV remote tastes like, and it’s too important an issue to take anyone else’s word for it. Read the rest of this entry »


Ha-Seong Kim Returns to Atlanta on One-Year Deal

Jordan Godfree-Imagn Images

Well, the Braves must have liked what they saw. After Atlanta claimed Ha-Seong Kim off waivers in September and watched him decline his $16 million option for the 2026 season, the team is bringing him back on a one-year, $20 million contract. In a rare coup, Jon Heyman scooped the Braves by breaking the news before they could slap some text onto their trusty press release template and post a JPEG to social media. (Peter Labuza of Twins Daily made note of the most important part of the deal: The press release featured no mention of Kim donating 1% of his salary to the Atlanta Braves Foundation.) The reunion isn’t necessarily surprising, as president of baseball operations Alex Anthopoulos expressed interest in bringing Kim back when he opted out. However, the deal represents a departure from Atlanta’s recent strategy, and doesn’t match most of the estimates of what Kim would get in free agency.

This is the first time the Braves have deigned to spend money on the shortstop position since they let Dansby Swanson walk in 2022. They rolled with Orlando Arcia in 2023, and he rewarded them with a 100 wRC+ and 2.4 WAR. When Arcia reverted back to his career norms with a 72 wRC+ in 2023, the Braves got just 0.7 WAR from the position, fifth worst in the league. The punchless, slick-fielding Nick Allen didn’t work out in 2025, prompting the team to claim Kim; on the year, Atlanta’s 0.4 WAR at short was third from the bottom. They recently traded Allen to Houston in exchange for utilityman Mauricio Dubón, who has surprisingly good numbers at short but isn’t really an everyday option. The Braves are clearly sick of having a gaping black hole at short, but you might not be prepared for just how big a departure this is. Swanson made just $10 million in his final year of arbitration, meaning the Braves are about to spend double the amount they’ve ever spent on a shortstop.

Coming into the offseason, most estimates had Kim signing a deal like the one he signed with the Rays last year: two or three years with an opt-out for something like $15 million per year. That made sense, because he was still in a similar position. After a brilliant seven-year KBO career, Kim struggled in his first stateside campaign, then settled in as a reliably above-average middle infielder for the Padres. From 2022 to 2024, he combined great defense with a 106 wRC+, averaging 3.7 WAR per 150 games. That’s a borderline All-Star at a premium position. In 2023, Kim won a Gold Glove and earned some MVP votes. He looked primed for a payday and a long contract heading into free agency. Instead, he tore the labrum in his right shoulder diving back into first base against the Rockies in August 2024. Read the rest of this entry »


JAWS and the 2026 Hall of Fame Ballot: Bobby Abreu, Torii Hunter, and Jimmy Rollins

Howard Smith-USA TODAY Sports, Gary A. Vasquez and Kirby Lee-Imagn Images

The following article is part of Jay Jaffe’s ongoing look at the candidates on the BBWAA 2026 Hall of Fame ballot. For a detailed introduction to this year’s ballot, and other candidates in the series, use the tool above; an introduction to JAWS can be found here. For a tentative schedule and a chance to fill out a Hall of Fame ballot for our crowdsourcing project, see here. All WAR figures refer to the Baseball Reference version unless otherwise indicated.

For the past several election cycles, as a means of completing my coverage of the major candidates before the December 31 voting deadline, I’ve grouped together some candidates into a single overview, inviting readers wishing to (re)familiarize themselves with the specifics of their cases to check out older profiles that don’t require a full re-working because very little has changed, even with regards to their voting shares. This year, I’m adding Bobby Abreu — a candidate for whom I’ve voted five times thus far and intend to include again — to a pair I’ve yet to include on my ballots.

Before Joe Mauer began starring for the Twins, there was Torii Hunter. Before Chase Utley began starring for the Phillies, they had Abreu and Jimmy Rollins. Hunter, a rangy, acrobatic center fielder who eventually won nine Gold Gloves and made five All-Star teams, debuted with Minnesota in 1997 and emerged as a star in 2001, the same year the Twins chose Mauer with the number one pick of the draft. The pair would play together from 2004 to ’07, making the playoffs twice before Hunter departed in free agency. Abreu, a five-tool player with dazzling speed, a sweet left-handed stroke, power, and outstanding plate discipline, quickly blossomed upon being traded to the Phillies in November 1997. But even while hitting at least 20 homers, stealing at least 20 bases, and batting above .300, recognition largely eluded him until he made All-Star teams in 2004 and ’05. Rollins, a compact shortstop who carried himself with a swagger, debuted in 2001 and made two All-Star teams before he and Utley began an 11-year run (2004–14) as the Phillies’ regular double play combination. By the time the pair of middle infielders helped Philadelphia to five NL East titles, two pennants, and a championship — with Rollins winning NL MVP honors in 2007 and taking home four Gold Gloves — Abreu was gone, traded to the Yankees in mid-2006.

All three players enjoyed lengthy and impressive careers, racking up over 2,400 hits apiece with substantial home run and stolen base totals. From a Hall of Fame perspective, Rollins and Hunter have credentials that appeal more to traditionally minded voters than to statheads — particularly their Gold Gloves — while Abreu, despite half a dozen .300 seasons and eight with at least 100 RBI, was a stathead favorite. Regardless, they’ve all spent years languishing on the ballot. Hunter debuted with 9.5% in 2021 but has yet to match that since, scraping by in 2025 with just 5.1%; one fewer vote and he’d have been bumped off the ballot. Rollins debuted with 9.4% in 2022 and has gained roughly two or three points in each cycle since, with 18% in ’25. Abreu barely made the cut with just 5.5% in his 2020 debut, and since then has alternated small gains and losses; he received 19.5% in 2025. Read the rest of this entry »


Miami Needs This Generation’s Pudge

Rick Scuteri-Imagn Images

Throughout history, the Miami Marlins have only produced four kinds of season: The star-studded World Series team of 1997, the star-studded last place team of 2012, unwatchable detritus, and a feisty .500ish club with some fun talent. (The 2003 World Series-winning Marlins were the latter group, plus a one-year cameo by Ivan Rodriguez.)

The 2025 Marlins were expected to be unwatchable detritus, but turned out to be feisty and competitive. I don’t think anyone would accuse these Marlins of being as talented as previous feisty-competitive Miami squads. I’m thinking of the 2014 squad that won 77 games with a roster that featured Giancarlo Stanton, Christian Yelich, Marcell Ozuna, Nathan Eovaldi, as well as (very briefly) Enrique Hernández, J.T. Realmuto, Andrew Heaney, and José Fernández.

That team looked like a juggernaut in the making, because it had a roster full of guys who would spend most of the next decade starting for playoff teams. Just, you know, other playoff teams, and not the Marlins. Read the rest of this entry »


The Red Sox and Nationals Trade Big League-Ready Pitching Prospects

Jake Bennett Photo: Mark J. Rebilas-Imagn Images

Last night, the Boston Red Sox and the Washington Nationals swapped pitching prospects in a one-for-one challenge trade that will likely have an impact on both clubs in 2026. Hard-throwing 22-year-old righty Luis Perales heads to Washington, while changeup-oriented lefty Jake Bennett goes to Boston. Both pitchers participated in the 2025 Arizona Fall League, starting a game against each other on November 1.

Of the two, I slightly prefer the 25-year-old Bennett, who I have evaluated as a near-ready starter and a potential Top 100 prospect this offseason due to his floor and proximity to the majors. Bennett entered pro ball much more fully formed than most pitching prospects from a stamina standpoint, as he worked 117 innings as a junior at Oklahoma. He had Tommy John at the very end of his first pro season, in September of 2023, which cost him all of 2024. He returned to action this past May, and his stuff was up about two ticks compared to when he was last healthy, while his feel for location was intact. He posted a 2.27 ERA across 75.1 innings while reaching Double-A, then picked up 20 more innings in Arizona and was added to the Nationals 40-man roster after the season. Read the rest of this entry »


Reliever Roundup: Milner, Leiter, and Holderman Sign New Deals

Charles LeClaire, Jerome Miron, Vincent Carchietta – Imagn Images

Every winter, the shiniest free agents on the market capture the attention of baseball fans everywhere. “Ooh, could you imagine Kyle Tucker in my team’s colors?” That’s a fun conversation regardless of which team you root for. But most teams aren’t going to sign Kyle Tucker. Most teams aren’t going to sign a top 10 free agent, period. Indeed, come June and July, there’s a good chance that the free agent signing you’re going to either laud or rue will involve some reliever you’d never heard of six months prior. So let’s meet a batch of pitchers who are going to make fans remember their name, one way or another, in 2026: Hoby Milner, Mark Leiter Jr., and Colin Holderman.

I used to think of Hoby Milner as one of the unending wave of Brewers who looked unbeatable in navy and gold and unspectacular elsewhere, but as it turns out, that was unfair to him. He departed the upper Midwest for the first time since 2020 last winter, signing a $3 million deal with the Texas Rangers after Milwaukee non-tendered him. Far from crashing out, though, he spun another solid season, his fourth in a row, while handling 70.1 innings of the highest-leverage work of his career. He finished the season with a 3.84 ERA and a 3.39 FIP, pretty much a dead ringer for his career numbers.

Why, then, is his deal with the Chicago Cubs for just one year and $3.75 million? It’s because he’s an extreme lefty specialist, and that skill set generally comes with a limited market. Milner isn’t a traditional late-inning reliever, a matchup-proof flamethrower. He has enormous platoon splits, triple the league average for lefty pitchers over a fairly substantial sample. It’s for exactly the reason you’d expect: Milner throws sidearm and with little velocity, relying on a sweeper that he throws nearly half the time against lefties to tie them into knots. Read the rest of this entry »


2026 ZiPS Projections: Minnesota Twins

For the 22nd 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, as well as MLB’s glossary entry. The team order is selected by lot, and the next team up is the Minnesota Twins.

Batters

The Minnesota Twins are in a weird place. They looked to be legitimate AL Central contenders when this year began, but for the second straight year, they started slowly and dug themselves a pretty good hole. Just like in 2024, the Twins then got hot, surged to a bit over .500, and looked to right the ship somewhat in May and early June. But this year, after six weeks of lousy play knocked them out for good, they traded away Carlos Correa, and half of their bullpen, including Jhoan Duran and Griffin Jax, slashing payroll and appearing to set off a full rebuilding process. The initial buzz was that Pablo López and Joe Ryan would be looking for new homes this offseason, but they’ve stayed put so far, and the Twins are at least publicly saying they plan to build around the players they didn’t trade away. And it sort of makes sense, though I’m not sure if the Twins see it the same way I do.

The lineup looks to me — and ZiPS — as decidedly below average, but it should be noted that ZiPS is considerably less bullish about Brooks Lee at shortstop and the London Symphony Orchestra-sized cast in left field, seeing both of these positions as real problems. That puts me into the camp of having really mixed feelings about the Correa trade. One can see why a team that clearly didn’t want to run a high payroll might be uneasy spending that much money on Correa, who had one abbreviated awesome season and two underwhelming ones in Minnesota. But at the same time, Correa represented at least potential star performance at shortstop. ZiPS is a big fan of Kaelen Culpepper, who I like to imagine is the son of former Vikings quarterback Daunte Culpepper, but I’m not sure whether the Twins agree with ZiPS and plan on promoting him aggressively, or if they are simply happy to roll with Lee at shortstop. ZiPS also hopes that Emmanuel Rodriguez is healthy and cleans out left field quickly, though it’s still on the fence about the future of Walker Jenkins.

Byron Buxton remains, of course, the closest thing to a star on the team, but there’s always going to be the question of his health that limits the realistic expectation of his playing time. It’s encouraging that he had the most plate appearances of his major league career in 2025, but he’s also creeping into his mid-30s, when players become less durable. I remember being 32, also, and that was about the time where the aches and pains that I assumed would just magically go away in a week just… didn’t.

ZiPS is fine with Luke Keaschall at second, and sees Royce Lewis, Matt Wallner, and Ryan Jeffers as the serviceable middle class of the lineup. But in addition to the poor projections at shortstop and in left, the DH ones are unimpressive, and ZiPS sees very little merit in the Josh Bell signing. Overall, I’m not sure the Twins really have the lineup to be anything but fringe AL Central contenders. While they’ve talked about building around their remaining talent, that also doesn’t necessarily mean they’ll spend that much to work on their current holes rather than trying to develop in-house options over the next two or three years.

Pitchers

Keeping Ryan and López, if that’s what the Twins actually plan to do, is a pretty big deal. With those two at the top, Minnesota would have a legitimate playoff-caliber rotation. Bailey Ober’s history is better than his 2025 performance, and I don’t think it’s unreasonable to see him as a fine mid-rotation starter, and ZiPS has always been stanning for Zebby Matthews. Simeon Woods Richardson, Taj Bradley, and Mick Abel all get highly useful projections from ZiPS, and the computer really likes the organization’s minor league depth.

Meanwhile, Minnesota’s bullpen is interesting. Losing Duran and Jax really crossed out the top tier of the bullpen, but ZiPS still sees the remaining relievers as far more than merely viable. Cole Sands, Kody Funderburk, and Justin Topa all project as solid B-minus relievers, and ZiPS expects the Twins’ tradition of cobbling together a lot of their random Triple-A arms into real bullpen options to continue in 2026. Pierson Ohl, Connor Prielipp, David Festa, Andrew Morris, and Eric Orze all have projections just a shade less sunny than the first three pitchers mentioned at the top of the paragraph.

The easiest thing for people to do is set this past season as a baseline and understand that this team isn’t going to be much better in 2026. But using last season’s record as a baseline is generally a poor idea, as there’s a good argument that a lot of the 2025 Twins underperformed their actual ability. It’s the same kind of shortcut reasoning that caused people to underrate the Blue Jays going into this season, assuming that the Jays had to build up from their actual 74-win total in 2024 rather than from something closer to 81-83 wins, which was about Toronto’s true talent level. The 2025 Twins were better than a 70-92 team, but they do have some problems with their offense that they may or may not address between now and next season. If the season started today, the Twins look like a roughly .500 team, with their expected win total somewhere in the 78-84 range, but they’re close enough to good that if they were to hit their upside scenario, they could be an interesting contender. How much the Twins end up pushing that upside scenario, rather than simply deciding not to make the team worse, is something I just don’t know yet.

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
Byron Buxton R 32 CF 473 424 75 106 22 4 24 67 37 130 14 0
Matt Wallner L 28 RF 506 436 63 104 25 2 23 69 54 155 4 2
Kaelen Culpepper R 23 SS 510 465 62 115 15 3 13 61 34 105 12 3
Luke Keaschall R 23 2B 373 322 49 85 18 1 7 44 37 62 17 4
Ryan Jeffers R 29 C 428 375 47 92 20 1 12 47 41 86 2 1
Royce Lewis R 27 3B 404 370 45 93 19 0 14 54 29 83 9 1
James Outman L 29 CF 516 450 72 99 20 3 18 55 53 173 12 2
Emmanuel Rodriguez L 23 CF 331 277 47 62 13 3 7 34 50 114 7 2
Edouard Julien L 27 2B 520 443 55 106 20 2 11 50 69 151 5 3
Alan Roden L 26 LF 438 385 57 100 21 2 7 47 38 68 7 2
DaShawn Keirsey Jr. L 29 CF 417 381 48 93 17 4 6 42 27 110 23 5
Mickey Gasper B 30 C 325 282 40 68 15 0 7 36 34 58 3 0
Kody Clemens L 30 1B 392 357 49 82 16 3 16 51 28 95 4 1
Gabriel Gonzalez R 22 LF 534 488 55 132 32 3 9 64 32 92 5 3
Alex Jackson R 30 C 278 254 35 53 15 1 10 31 19 88 1 1
Maddux Houghton R 27 CF 346 316 46 71 13 3 7 36 23 123 12 2
Jhonny Pereda R 30 C 274 241 25 62 13 0 3 25 30 61 0 0
Trevor Larnach L 29 DH 504 445 59 111 22 1 15 58 50 116 3 2
Ryan Fitzgerald L 32 SS 355 317 37 72 17 2 8 37 30 92 4 3
Josh Bell B 33 1B 530 465 53 117 21 1 17 62 58 96 0 2
Ricardo Olivar R 24 C 424 380 49 91 19 1 9 46 37 97 5 1
Noah Cardenas R 26 C 315 271 30 55 13 0 5 31 36 75 2 2
Christian Vázquez R 35 C 271 248 23 56 10 0 4 23 18 48 1 1
Brooks Lee B 25 SS 515 476 52 116 21 1 13 59 33 88 3 1
Eduardo Tait L 19 C 475 442 47 99 28 1 10 50 22 113 0 0
Walker Jenkins L 21 CF 389 343 44 82 17 2 7 43 37 81 9 2
Ryan Kreidler R 28 SS 394 339 42 67 16 1 6 36 44 117 11 5
Danny De Andrade R 22 3B 486 445 46 93 24 5 7 50 27 134 7 4
Andrew Cossetti R 26 C 362 316 37 62 17 2 9 39 36 116 2 1
Austin Martin R 27 LF 361 311 42 78 15 1 3 30 39 57 13 5
Armando Alvarez R 31 3B 289 263 34 62 14 0 7 31 22 71 2 1
Yunior Severino B 26 3B 448 399 43 89 17 1 11 47 42 144 2 1
Kala’i Rosario R 23 RF 548 491 64 111 28 3 16 64 50 177 12 3
Jay Thomason L 24 3B 235 206 27 39 7 2 5 25 23 77 9 1
Rubel Cespedes L 25 3B 439 409 40 95 21 2 8 43 26 99 1 1
Jeferson Morales R 27 LF 328 293 34 68 16 2 5 36 25 69 4 1
Hendry Mendez L 22 LF 487 428 55 109 18 2 5 43 48 76 4 2
Will Holland R 28 SS 301 265 37 55 11 2 5 28 25 91 11 3
Tanner Schobel R 25 SS 456 411 48 90 17 2 7 42 38 109 6 3
Poncho Ruiz R 24 C 347 311 32 65 21 0 1 26 33 88 0 1
Jose Miranda R 28 3B 421 387 35 90 20 1 7 43 25 72 2 1
Kyle DeBarge R 22 2B 531 477 63 96 20 4 6 46 44 146 30 5
Patrick Winkel L 26 C 274 255 19 55 12 0 5 25 17 88 0 0
Jake Rucker R 26 2B 431 393 41 90 17 2 6 40 28 86 5 4
Carson McCusker R 28 RF 447 413 45 93 22 1 13 52 28 164 3 3
Allan Cerda R 26 CF 277 243 27 42 10 1 8 29 29 106 2 2
Caden Kendle R 24 RF 367 335 42 72 18 2 6 39 21 83 7 3
Tyler Dearden L 27 LF 224 204 18 50 9 1 2 21 16 58 1 0
Rayne Doncon R 22 3B 303 278 26 56 13 2 6 27 22 90 2 1
Mike Ford L 33 1B 304 267 28 57 11 0 9 34 32 74 0 1
Billy Amick R 23 1B 254 223 31 48 13 1 4 30 20 82 0 1
Brandon Winokur R 21 CF 527 487 60 100 21 2 14 60 29 162 14 4
Kyler Fedko R 26 CF 489 433 55 95 20 1 12 52 48 117 14 4
Nate Baez R 25 1B 371 334 40 79 16 2 7 40 28 92 1 0
Andy Lugo R 22 1B 348 323 34 73 19 2 4 33 18 88 8 2
Misael Urbina R 24 LF 350 311 35 63 17 2 4 29 31 91 3 2
Ben Ross R 25 SS 485 440 48 89 19 1 10 45 37 139 9 4
Aaron Sabato R 27 1B 416 378 35 79 17 1 11 45 31 139 2 1
Kyle Hess L 27 RF 251 224 24 43 10 2 2 22 21 80 3 2
Jefferson Valladares R 24 C 242 219 20 43 10 1 4 25 11 71 2 1
Jose Salas B 23 1B 335 303 34 63 14 1 5 32 16 108 11 4
Jorel Ortega R 25 2B 405 364 40 74 15 2 7 37 33 120 7 3
Garrett Spain L 25 RF 474 433 42 76 16 3 10 48 31 165 6 4
Jaime Ferrer R 23 1B 365 330 30 65 19 2 3 36 15 97 1 1

Batters – Advanced
Player PA BA OBP SLG OPS+ ISO BABIP Def WAR wOBA 3YOPS+ RC
Byron Buxton 473 .250 .319 .491 119 .241 .304 2 3.0 .343 111 69
Matt Wallner 506 .239 .340 .463 119 .224 .314 0 2.1 .348 119 70
Kaelen Culpepper 510 .247 .314 .376 90 .129 .294 2 1.9 .305 92 59
Luke Keaschall 373 .264 .354 .391 106 .127 .308 0 1.8 .330 107 50
Ryan Jeffers 428 .245 .333 .400 101 .155 .289 -4 1.6 .322 97 51
Royce Lewis 404 .251 .307 .416 97 .165 .289 1 1.4 .313 98 49
James Outman 516 .220 .312 .398 94 .178 .313 -2 1.3 .311 96 59
Emmanuel Rodriguez 331 .224 .347 .368 98 .144 .353 1 1.3 .321 104 38
Edouard Julien 520 .239 .347 .368 98 .129 .338 -6 1.2 .320 97 59
Alan Roden 438 .260 .342 .379 100 .119 .300 3 1.2 .320 102 52
DaShawn Keirsey Jr. 417 .244 .300 .357 81 .113 .328 5 1.1 .289 82 48
Mickey Gasper 325 .241 .335 .369 95 .128 .281 -4 1.0 .314 92 35
Kody Clemens 392 .230 .292 .426 95 .196 .268 8 1.0 .309 90 46
Gabriel Gonzalez 534 .270 .326 .404 100 .134 .318 -1 0.9 .319 101 67
Alex Jackson 278 .209 .273 .394 81 .185 .276 3 0.9 .290 80 28
Maddux Houghton 346 .225 .286 .351 75 .126 .344 5 0.7 .281 76 35
Jhonny Pereda 274 .257 .341 .349 92 .092 .333 -3 0.7 .309 90 29
Trevor Larnach 504 .249 .325 .404 100 .155 .306 0 0.6 .318 98 60
Ryan Fitzgerald 355 .227 .302 .369 84 .142 .295 -1 0.6 .296 80 37
Josh Bell 530 .252 .338 .411 106 .159 .284 -5 0.5 .328 103 65
Ricardo Olivar 424 .239 .314 .366 87 .127 .299 -7 0.6 .301 90 45
Noah Cardenas 315 .203 .311 .306 72 .103 .262 2 0.6 .283 73 27
Christian Vázquez 271 .226 .281 .315 65 .089 .265 6 0.6 .265 65 23
Brooks Lee 515 .244 .293 .374 83 .130 .275 -5 0.5 .291 84 53
Eduardo Tait 475 .224 .265 .360 71 .136 .279 1 0.4 .271 77 42
Walker Jenkins 389 .239 .321 .362 89 .123 .294 -5 0.4 .303 93 43
Ryan Kreidler 394 .198 .299 .304 68 .106 .282 2 0.4 .275 69 35
Danny De Andrade 486 .209 .274 .333 67 .124 .283 8 0.4 .269 72 44
Andrew Cossetti 362 .196 .296 .348 77 .152 .277 -3 0.4 .288 79 33
Austin Martin 361 .251 .345 .334 90 .083 .299 0 0.3 .308 90 41
Armando Alvarez 289 .236 .298 .369 83 .133 .297 -1 0.3 .293 81 30
Yunior Severino 448 .223 .301 .353 80 .130 .320 -2 0.2 .290 81 43
Kala’i Rosario 548 .226 .303 .393 90 .167 .319 -2 0.2 .305 96 62
Jay Thomason 235 .189 .281 .316 65 .127 .274 -1 -0.1 .268 70 21
Rubel Cespedes 439 .232 .280 .352 73 .120 .288 0 -0.1 .277 76 41
Jeferson Morales 328 .232 .308 .352 82 .120 .288 -1 -0.1 .293 85 33
Hendry Mendez 487 .255 .334 .341 88 .086 .300 -3 -0.1 .303 90 50
Will Holland 301 .208 .291 .321 69 .113 .296 -5 -0.3 .275 68 28
Tanner Schobel 456 .219 .289 .321 69 .102 .281 -5 -0.3 .273 73 41
Poncho Ruiz 347 .209 .288 .286 60 .077 .288 -2 -0.3 .261 63 26
Jose Miranda 421 .233 .287 .344 74 .111 .269 -3 -0.3 .278 74 39
Kyle DeBarge 531 .201 .277 .298 59 .096 .277 0 -0.4 .259 64 47
Patrick Winkel 274 .216 .266 .322 62 .106 .309 -3 -0.4 .260 64 22
Jake Rucker 431 .229 .288 .328 70 .099 .279 -2 -0.4 .274 71 40
Carson McCusker 447 .225 .280 .378 79 .153 .339 0 -0.4 .287 80 46
Allan Cerda 277 .173 .274 .321 64 .148 .264 -2 -0.5 .268 66 23
Caden Kendle 367 .215 .275 .334 67 .119 .268 3 -0.5 .269 71 33
Tyler Dearden 224 .245 .308 .328 76 .083 .333 -3 -0.5 .284 77 21
Rayne Doncon 303 .201 .261 .327 61 .126 .275 0 -0.5 .259 69 25
Mike Ford 304 .213 .306 .356 82 .143 .261 -3 -0.5 .295 79 30
Billy Amick 254 .215 .299 .336 76 .121 .321 -1 -0.5 .284 80 23
Brandon Winokur 527 .205 .262 .343 65 .138 .277 -1 -0.5 .265 75 48
Kyler Fedko 489 .219 .301 .353 80 .134 .273 -12 -0.6 .290 83 50
Nate Baez 371 .237 .305 .359 83 .122 .306 -4 -0.7 .293 84 37
Andy Lugo 348 .226 .276 .334 68 .108 .299 1 -0.7 .269 73 32
Misael Urbina 350 .203 .280 .309 63 .106 .273 1 -0.8 .264 63 28
Ben Ross 485 .202 .266 .318 61 .116 .271 -5 -0.8 .259 63 41
Aaron Sabato 416 .209 .276 .347 71 .138 .298 0 -0.9 .275 73 37
Kyle Hess 251 .192 .275 .281 55 .089 .289 0 -0.9 .253 58 19
Jefferson Valladares 242 .196 .264 .306 57 .110 .271 -8 -1.0 .255 64 19
Jose Salas 335 .208 .258 .310 56 .102 .305 3 -1.0 .251 62 28
Jorel Ortega 405 .203 .275 .313 62 .110 .283 -6 -1.0 .263 66 34
Garrett Spain 474 .176 .239 .296 49 .120 .256 10 -1.0 .238 55 34
Jaime Ferrer 365 .197 .256 .294 52 .097 .270 -1 -1.9 .244 56 25

Batters – Top Near-Age Offensive Comps
Player Hit Comp 1 Hit Comp 2 Hit Comp 3
Byron Buxton Will Venable Alfonso Soriano George Watkins
Matt Wallner Mack Jones Matt Joyce Jonny Gomes
Kaelen Culpepper Bill Spiers Howard Freigau Ricky Adams
Luke Keaschall Willie Randolph Quilvio Veras Ray LaDuke
Ryan Jeffers Jim Leyritz Butch Henline Johnny Edwards
Royce Lewis Andy Carey Don Money Gene Freese
James Outman Gary Redus Keon Broxton Corey Brown
Emmanuel Rodriguez Scott Reid Larry Foster Billy Grabarkewitz
Edouard Julien Colin Walsh Cavan Biggio Marlan Coughtry
Alan Roden Creighton Tevlin Tom Poquette Billy Severns
DaShawn Keirsey Jr. McKay Christensen Bert Hamric Jeff Stone
Mickey Gasper Rick Dempsey Bud Bulling Ron Hassey
Kody Clemens Willie Kirkland Jim Beauchamp Jim Marshall
Gabriel Gonzalez Mark Smith Bob Koeppel James Loney
Alex Jackson Troy Afenir Brett Hayes Mark Strucher
Maddux Houghton Dennis Hood Steve Walker David Fowler
Jhonny Pereda Roy Partee Jose Morales Mitch Meluskey
Trevor Larnach Chris Parmelee Steve Cox Travis Lee
Ryan Fitzgerald Chase d’Arnaud Jayson Nix Mike Brumley
Josh Bell Alvin Davis Yonder Alonso Pete O’Brien
Ricardo Olivar Joe Durso Marv Foley Steven Sogge
Noah Cardenas Pete Gonzalez James Skelton Bob Bonalewicz
Christian Vázquez Charlie Hargreaves Scott Servais Birdie Tebbetts
Brooks Lee Bobby Bragan Kevin Elster Rey Quinones
Eduardo Tait Julio Vinas Javier Valentin John Orsino
Walker Jenkins Roger Cedeno Joe Solimine Joe McCarthy
Ryan Kreidler Anthony Granato Lauro Felix Anderson Machado
Danny De Andrade Scott Hemond Tony Taylor Tyler Goeddel
Andrew Cossetti Arlo Brunsberg Don Werner Herbert Orensky
Austin Martin J.T. Bruett Todd Mayo John Finn
Armando Alvarez Adam Rosales Fran Mullins Mark Teahen
Yunior Severino Bruce Caldwell Randy Asadoor Stefan Welch
Kala’i Rosario Ruben Rivera Mike Cameron Nelson Mathews
Jay Thomason Todd Claus Jamie Doughty Larry Beardman
Rubel Cespedes Corey Slavik Ray Knight Cam Kneeland
Jeferson Morales Mike Koritko Marlin McPhail Jeff McVaney
Hendry Mendez Rod Gaspar Bob Burda Tommy Gregg
Will Holland Buddy Biancalana Luis Ugueto Connor Kopach
Tanner Schobel Danny Solano Robinson Chirinos Nelson Castellanos
Poncho Ruiz Austin Rei Chip Alley Chadd Krist
Jose Miranda Maikel Franco Nate Hanson Gordon Beckham
Kyle DeBarge Rod Smith Donnie Sadler Jose Ortiz
Patrick Winkel Al Corbeil Dave Ullery Geoff Klein
Jake Rucker Thomas Silicato Junior Betances Vic Gutierrez
Carson McCusker Rhyne Hughes Chris Wakeland Howie Goss
Allan Cerda Paul Jernigan Vinnie Scarduzio Jack Daniels
Caden Kendle Kyle Logan Alberth Martinez Brody Jackson
Tyler Dearden Gerardo Avila Chad Sedio Bob Gallagher
Rayne Doncon Parker Wilson George Arias Torsten Boss
Mike Ford Mike Jorgensen Brad Nelson Miguel Ojeda
Billy Amick Matt Rizzotti Scott McDonald Matt Huff
Brandon Winokur Ron Shepherd Ellis Burks Mike Shannon
Kyler Fedko Steve Lyons Chip Ambres Joe Patterson
Nate Baez Dan Jones Dexture McCall Ed Hartman
Andy Lugo Art Toal Gary Isakson Daniel Russell
Misael Urbina Shane Gunderson Elbie Flint Tom Harms
Ben Ross Dylan Moore Ryan Klosterman Ryan Lane
Aaron Sabato Keith Raisanen Kiel Roling Gabe Johnson
Kyle Hess David Robinson Bob Deller Brian Blair
Jefferson Valladares Brian Valichka Stan Hough Alex Garabedian
Jose Salas Max Mejia Jose Taveras Jonathan Piron
Jorel Ortega Mica Lewis Kody Eaves Frederick Nori
Garrett Spain Jamie Sykes Mike Scanlin Tom Smith
Jaime Ferrer Clint Vaughn Franklin Hernandez Shawn Buhner

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
Byron Buxton .277 .344 .548 139 4.1 .227 .295 .425 96 1.7
Matt Wallner .266 .364 .520 139 3.2 .213 .315 .402 98 0.9
Kaelen Culpepper .276 .340 .428 109 3.1 .224 .289 .334 75 0.8
Luke Keaschall .295 .383 .445 127 2.8 .237 .326 .343 87 0.9
Ryan Jeffers .273 .358 .450 121 2.6 .220 .307 .349 82 0.6
Royce Lewis .276 .332 .465 117 2.3 .229 .282 .370 80 0.5
James Outman .247 .337 .455 114 2.6 .196 .289 .349 75 0.2
Emmanuel Rodriguez .257 .377 .427 120 2.2 .192 .313 .323 79 0.5
Edouard Julien .268 .375 .421 117 2.5 .211 .319 .325 77 0.0
Alan Roden .287 .367 .426 118 2.2 .235 .315 .333 82 0.2
DaShawn Keirsey Jr. .275 .326 .406 99 2.1 .218 .268 .310 60 0.0
Mickey Gasper .270 .364 .421 115 1.8 .210 .310 .321 75 0.3
Kody Clemens .259 .318 .481 117 2.1 .203 .267 .377 75 0.1
Gabriel Gonzalez .300 .355 .450 122 2.3 .240 .295 .354 83 -0.3
Alex Jackson .240 .304 .455 103 1.7 .182 .243 .326 57 0.1
Maddux Houghton .253 .312 .402 96 1.6 .195 .257 .311 56 -0.1
Jhonny Pereda .285 .367 .390 110 1.3 .227 .310 .302 72 0.1
Trevor Larnach .267 .348 .452 116 1.6 .225 .302 .365 85 -0.3
Ryan Fitzgerald .256 .330 .413 101 1.3 .200 .277 .327 67 -0.1
Josh Bell .280 .361 .452 123 1.5 .225 .312 .368 89 -0.6
Ricardo Olivar .269 .341 .417 106 1.6 .214 .287 .324 71 -0.3
Noah Cardenas .231 .340 .358 92 1.4 .174 .282 .260 54 -0.1
Christian Vázquez .258 .314 .364 85 1.3 .193 .253 .266 45 -0.1
Brooks Lee .274 .322 .424 104 1.9 .218 .267 .333 66 -0.6
Eduardo Tait .253 .292 .417 91 1.6 .199 .238 .315 52 -0.7
Walker Jenkins .266 .347 .411 109 1.4 .212 .292 .313 71 -0.4
Ryan Kreidler .225 .328 .357 88 1.4 .167 .271 .258 48 -0.5
Danny De Andrade .234 .300 .375 84 1.5 .186 .247 .294 50 -0.6
Andrew Cossetti .222 .323 .404 98 1.3 .166 .263 .300 56 -0.5
Austin Martin .280 .373 .378 107 1.1 .227 .321 .299 74 -0.4
Armando Alvarez .267 .329 .415 103 1.0 .206 .270 .317 63 -0.5
Yunior Severino .249 .323 .405 99 1.2 .197 .277 .307 63 -0.7
Kala’i Rosario .254 .330 .445 112 1.7 .200 .273 .338 70 -1.1
Jay Thomason .219 .312 .374 87 0.5 .156 .252 .262 44 -0.7
Rubel Cespedes .260 .309 .395 90 0.8 .207 .253 .308 53 -1.2
Jeferson Morales .257 .333 .398 98 0.5 .206 .279 .310 63 -0.9
Hendry Mendez .283 .361 .381 105 0.9 .225 .305 .303 70 -1.1
Will Holland .235 .320 .372 91 0.5 .179 .265 .280 52 -0.9
Tanner Schobel .244 .314 .362 86 0.7 .193 .264 .278 51 -1.2
Poncho Ruiz .241 .319 .331 81 0.5 .177 .257 .240 40 -1.2
Jose Miranda .259 .314 .389 94 0.8 .207 .265 .303 57 -1.2
Kyle DeBarge .230 .303 .342 78 0.8 .177 .250 .259 43 -1.5
Patrick Winkel .245 .298 .363 80 0.3 .182 .235 .275 41 -1.1
Jake Rucker .258 .318 .374 89 0.6 .205 .263 .288 53 -1.3
Carson McCusker .256 .310 .428 100 0.7 .192 .247 .325 57 -1.7
Allan Cerda .201 .298 .374 82 0.1 .144 .245 .266 44 -1.1
Caden Kendle .242 .302 .380 86 0.3 .189 .254 .292 51 -1.2
Tyler Dearden .275 .336 .368 93 0.0 .212 .275 .281 56 -1.1
Rayne Doncon .233 .295 .381 83 0.4 .172 .232 .274 41 -1.2
Mike Ford .236 .335 .409 104 0.3 .182 .278 .305 62 -1.3
Billy Amick .241 .325 .382 94 0.0 .188 .271 .292 58 -1.1
Brandon Winokur .234 .288 .395 83 0.6 .179 .235 .296 48 -1.8
Kyler Fedko .242 .323 .396 97 0.5 .193 .275 .313 63 -1.6
Nate Baez .259 .330 .409 101 0.1 .210 .279 .321 67 -1.4
Andy Lugo .254 .303 .380 87 0.1 .198 .249 .292 52 -1.5
Misael Urbina .233 .308 .347 81 -0.1 .177 .252 .265 45 -1.6
Ben Ross .224 .288 .365 79 0.2 .174 .237 .272 43 -1.9
Aaron Sabato .235 .304 .392 89 0.0 .185 .251 .303 53 -1.8
Kyle Hess .220 .306 .328 73 -0.3 .165 .250 .242 37 -1.5
Jefferson Valladares .227 .295 .362 79 -0.3 .167 .233 .262 36 -1.6
Jose Salas .238 .283 .354 75 -0.3 .182 .231 .271 40 -1.7
Jorel Ortega .229 .302 .365 83 0.1 .171 .248 .262 42 -2.0
Garrett Spain .203 .264 .340 69 0.3 .154 .214 .253 31 -2.0
Jaime Ferrer .226 .286 .344 73 -1.0 .172 .233 .255 35 -2.6

Batters – Platoon Splits
Player BA vs. L OBP vs. L SLG vs. L BA vs. R OBP vs. R SLG vs. R
Byron Buxton .258 .326 .500 .247 .316 .487
Matt Wallner .225 .325 .420 .245 .347 .483
Kaelen Culpepper .247 .313 .377 .248 .314 .376
Luke Keaschall .263 .357 .384 .265 .353 .395
Ryan Jeffers .261 .360 .412 .238 .319 .395
Royce Lewis .254 .315 .432 .250 .303 .409
James Outman .209 .302 .345 .225 .317 .424
Emmanuel Rodriguez .220 .326 .366 .226 .356 .369
Edouard Julien .227 .331 .333 .244 .353 .383
Alan Roden .243 .328 .364 .266 .348 .385
DaShawn Keirsey Jr. .235 .292 .319 .248 .304 .374
Mickey Gasper .241 .323 .368 .241 .341 .369
Kody Clemens .222 .286 .389 .233 .294 .442
Gabriel Gonzalez .281 .337 .419 .265 .320 .396
Alex Jackson .216 .289 .409 .205 .265 .386
Maddux Houghton .233 .293 .367 .221 .283 .345
Jhonny Pereda .267 .357 .360 .252 .331 .342
Trevor Larnach .241 .308 .370 .252 .331 .415
Ryan Fitzgerald .224 .294 .346 .229 .306 .381
Josh Bell .248 .331 .406 .253 .340 .413
Ricardo Olivar .246 .323 .381 .237 .309 .359
Noah Cardenas .207 .330 .333 .201 .302 .293
Christian Vázquez .225 .282 .310 .226 .281 .316
Brooks Lee .243 .287 .371 .244 .296 .375
Eduardo Tait .204 .256 .315 .231 .268 .374
Walker Jenkins .234 .311 .330 .241 .325 .373
Ryan Kreidler .208 .314 .308 .192 .291 .301
Danny De Andrade .216 .281 .343 .206 .271 .328
Andrew Cossetti .196 .304 .371 .196 .292 .338
Austin Martin .257 .361 .336 .247 .336 .333
Armando Alvarez .248 .306 .396 .228 .292 .352
Yunior Severino .228 .298 .360 .221 .303 .350
Kala’i Rosario .231 .315 .400 .224 .297 .390
Jay Thomason .179 .266 .268 .193 .287 .333
Rubel Cespedes .220 .268 .331 .237 .285 .361
Jeferson Morales .235 .309 .378 .231 .307 .338
Hendry Mendez .243 .318 .322 .259 .340 .348
Will Holland .217 .305 .348 .202 .284 .306
Tanner Schobel .220 .301 .331 .218 .285 .317
Poncho Ruiz .213 .293 .281 .207 .286 .288
Jose Miranda .244 .297 .370 .227 .283 .331
Kyle DeBarge .204 .290 .307 .200 .271 .294
Patrick Winkel .206 .250 .294 .219 .272 .332
Jake Rucker .238 .297 .349 .225 .284 .318
Carson McCusker .236 .291 .390 .221 .275 .372
Allan Cerda .179 .284 .316 .169 .268 .324
Caden Kendle .220 .282 .360 .213 .272 .323
Tyler Dearden .234 .300 .328 .250 .312 .329
Rayne Doncon .213 .276 .360 .196 .254 .312
Mike Ford .213 .298 .333 .214 .309 .365
Billy Amick .217 .304 .319 .214 .297 .344
Brandon Winokur .211 .269 .346 .203 .259 .342
Kyler Fedko .217 .306 .362 .221 .297 .349
Nate Baez .234 .303 .355 .238 .306 .361
Andy Lugo .229 .279 .344 .225 .275 .330
Misael Urbina .200 .280 .305 .204 .279 .311
Ben Ross .205 .279 .318 .201 .260 .318
Aaron Sabato .215 .285 .354 .206 .272 .343
Kyle Hess .186 .273 .220 .194 .276 .303
Jefferson Valladares .209 .270 .299 .191 .262 .309
Jose Salas .210 .259 .320 .207 .257 .305
Jorel Ortega .209 .285 .327 .201 .271 .307
Garrett Spain .168 .231 .269 .178 .242 .306
Jaime Ferrer .202 .259 .313 .195 .255 .286

Pitchers – Standard
Player T Age W L ERA G GS IP H ER HR BB SO
Joe Ryan R 30 11 10 3.77 28 28 155.3 134 65 23 36 169
Pablo López R 30 10 7 3.69 25 25 141.3 131 58 16 37 141
Bailey Ober R 30 7 8 4.22 27 27 147.0 142 69 23 34 132
Taj Bradley R 25 7 8 4.27 28 28 147.7 138 70 19 51 136
Zebby Matthews R 26 7 6 3.93 23 22 112.3 111 49 16 27 118
Simeon Woods Richardson R 25 6 6 4.16 27 25 127.7 119 59 17 46 117
Andrew Morris R 24 6 6 4.14 22 20 100.0 102 46 12 28 80
Mick Abel R 24 7 8 4.46 25 24 117.0 113 58 14 53 107
Connor Prielipp L 25 5 5 4.00 25 24 83.0 81 38 9 30 77
Pierson Ohl R 26 6 5 4.10 30 11 96.7 102 44 14 17 78
David Festa R 26 5 6 4.22 21 19 91.7 86 43 12 32 93
Kendry Rojas L 23 4 4 4.36 22 21 84.7 84 41 10 34 76
Darren McCaughan R 30 5 6 4.71 25 16 105.0 112 55 15 31 80
John Klein R 24 6 8 4.67 26 15 94.3 95 49 13 34 79
Travis Adams R 26 6 6 4.55 32 12 97.0 101 49 12 33 75
Cole Sands R 28 5 4 3.91 57 4 69.0 62 30 7 21 68
Thomas Hatch R 31 5 7 4.70 25 16 103.3 114 54 13 36 72
Christian MacLeod L 26 4 4 4.73 24 17 80.0 82 42 11 39 67
Ricky Castro R 26 3 4 4.76 24 13 81.3 87 43 12 26 60
Trent Baker R 27 4 6 4.81 27 15 88.0 94 47 13 32 66
Marco Raya R 23 4 5 4.88 28 20 94.0 94 51 12 45 78
Kody Funderburk L 29 4 4 4.04 48 2 64.7 60 29 6 27 61
Chase Chaney R 26 5 7 4.99 24 19 106.3 122 59 15 31 60
C.J. Culpepper R 24 3 3 4.83 23 23 72.7 73 39 8 34 56
Ryan Gallagher R 23 5 8 5.11 21 21 104.0 111 59 18 33 83
Justin Topa R 35 3 2 4.04 47 1 49.0 50 22 4 15 39
Eric Orze R 28 3 3 4.04 50 0 62.3 56 28 7 28 63
Sam Armstrong R 25 5 7 5.23 24 21 103.3 115 60 15 35 66
Mike Paredes R 25 4 5 4.59 34 3 86.3 92 44 12 27 61
Cory Lewis R 25 4 6 5.06 22 13 74.7 75 42 11 44 66
Alejandro Hidalgo R 23 3 5 5.40 23 23 81.7 84 49 13 42 71
Adam Plutko R 34 4 7 5.35 16 15 75.7 88 45 13 23 44
Grant Hartwig R 28 3 4 4.32 34 0 41.7 39 20 4 18 39
Brady Feigl L 35 2 4 4.75 20 3 36.0 38 19 5 16 34
Noah Davis R 29 3 4 5.18 31 9 73.0 74 42 10 31 66
Jarret Whorff R 27 4 6 4.61 36 1 66.3 68 34 9 25 55
Angel Macuare R 26 2 2 5.06 22 5 48.0 53 27 7 17 33
Anthony Misiewicz L 31 2 2 4.46 37 0 38.3 39 19 5 15 33
Connor Gillispie R 28 3 5 5.47 20 13 79.0 83 48 13 33 55
Michael Tonkin R 36 3 2 4.47 37 0 52.3 51 26 7 18 47
Jaylen Nowlin L 25 3 5 5.29 30 8 68.0 69 40 10 38 58
Erasmo Ramirez R 36 2 3 4.86 34 1 50.0 56 27 8 15 36
Brooks Kriske R 32 2 2 4.74 36 0 43.7 40 23 6 23 49
Génesis Cabrera L 29 1 2 4.67 50 0 52.0 50 27 8 24 47
Jacob Bosiokovic R 32 2 3 4.81 28 0 33.7 32 18 4 17 31
Gabriel Yanez L 26 3 4 4.75 36 0 53.0 59 28 8 18 39
Logan Whitaker R 26 2 2 4.76 23 0 34.0 37 18 5 12 24
Kade Bragg L 24 4 5 4.84 40 0 57.7 54 31 8 28 56
Alex Speas R 28 2 3 4.96 30 0 32.7 30 18 4 22 31
Sam Ryan R 27 3 5 5.05 39 2 62.3 66 35 8 30 47
Darren Bowen R 25 3 6 5.68 22 14 69.7 78 44 11 30 41
Hunter Hoopes R 26 4 6 5.04 40 0 44.7 41 25 6 20 43
Joel Cesar R 30 2 4 5.28 22 0 29.0 31 17 4 13 23
Kyle Bischoff R 26 2 4 5.27 33 0 41.0 40 24 6 24 36
Jacob Wosinski R 27 3 6 5.51 36 1 50.7 56 31 8 22 35

Pitchers – Advanced
Player IP K/9 BB/9 HR/9 BB% K% BABIP ERA+ 3ERA+ FIP ERA- WAR
Joe Ryan 155.3 9.8 2.1 1.3 5.7% 26.9% .279 114 111 3.78 88 2.8
Pablo López 141.3 9.0 2.4 1.0 6.3% 24.1% .296 117 113 3.55 85 2.6
Bailey Ober 147.0 8.1 2.1 1.4 5.6% 21.7% .285 102 101 4.20 98 2.0
Taj Bradley 147.7 8.3 3.1 1.2 8.1% 21.7% .286 101 103 4.11 99 1.9
Zebby Matthews 112.3 9.5 2.2 1.3 5.7% 25.1% .309 110 109 3.69 91 1.8
Simeon Woods Richardson 127.7 8.2 3.2 1.2 8.5% 21.5% .284 104 105 4.21 96 1.8
Andrew Morris 100.0 7.2 2.5 1.1 6.6% 18.7% .297 104 108 4.05 96 1.5
Mick Abel 117.0 8.2 4.1 1.1 10.3% 20.8% .296 97 101 4.38 103 1.3
Connor Prielipp 83.0 8.3 3.3 1.0 8.4% 21.6% .303 105 108 4.02 96 1.2
Pierson Ohl 96.7 7.3 1.6 1.3 4.2% 19.3% .300 105 108 4.02 95 1.2
David Festa 91.7 9.1 3.1 1.2 8.2% 23.8% .296 102 103 4.01 98 1.2
Kendry Rojas 84.7 8.1 3.6 1.1 9.2% 20.5% .301 99 104 4.29 101 1.0
Darren McCaughan 105.0 6.9 2.7 1.3 6.9% 17.7% .299 91 91 4.58 110 0.9
John Klein 94.3 7.5 3.2 1.2 8.3% 19.3% .294 92 97 4.68 109 0.8
Travis Adams 97.0 7.0 3.1 1.1 7.8% 17.7% .299 95 97 4.34 105 0.8
Cole Sands 69.0 8.9 2.7 0.9 7.3% 23.5% .291 110 110 3.60 91 0.8
Thomas Hatch 103.3 6.3 3.1 1.1 7.9% 15.9% .305 92 90 4.62 109 0.8
Christian MacLeod 80.0 7.5 4.4 1.2 10.8% 18.5% .298 91 95 4.89 110 0.7
Ricky Castro 81.3 6.6 2.9 1.3 7.3% 16.8% .296 91 94 4.64 110 0.6
Trent Baker 88.0 6.8 3.3 1.3 8.2% 17.0% .298 90 92 4.81 111 0.6
Marco Raya 94.0 7.5 4.3 1.1 10.6% 18.4% .294 88 94 4.82 114 0.6
Kody Funderburk 64.7 8.5 3.8 0.8 9.6% 21.7% .295 107 106 4.01 93 0.6
Chase Chaney 106.3 5.1 2.6 1.3 6.6% 12.8% .300 86 90 4.91 116 0.6
C.J. Culpepper 72.7 6.9 4.2 1.0 10.6% 17.4% .293 89 95 4.70 112 0.6
Ryan Gallagher 104.0 7.2 2.9 1.6 7.2% 18.2% .296 84 90 4.86 119 0.5
Justin Topa 49.0 7.2 2.8 0.7 7.2% 18.7% .307 107 99 3.80 94 0.4
Eric Orze 62.3 9.1 4.0 1.0 10.4% 23.4% .290 107 109 4.09 94 0.4
Sam Armstrong 103.3 5.8 3.0 1.3 7.7% 14.5% .298 82 87 5.11 122 0.4
Mike Paredes 86.3 6.4 2.8 1.3 7.2% 16.2% .295 94 98 4.60 107 0.4
Cory Lewis 74.7 8.0 5.3 1.3 12.8% 19.2% .295 85 91 5.12 118 0.3
Alejandro Hidalgo 81.7 7.8 4.6 1.4 11.2% 19.0% .297 80 88 5.18 125 0.2
Adam Plutko 75.7 5.2 2.7 1.5 6.9% 13.2% .298 80 76 5.23 124 0.1
Grant Hartwig 41.7 8.4 3.9 0.9 9.9% 21.5% .297 100 100 4.12 100 0.1
Brady Feigl 36.0 8.5 4.0 1.3 9.9% 21.1% .317 91 83 4.58 110 0.1
Noah Davis 73.0 8.1 3.8 1.2 9.6% 20.4% .302 83 84 4.82 120 0.1
Jarret Whorff 66.3 7.5 3.4 1.2 8.6% 18.9% .298 93 96 4.58 108 0.1
Angel Macuare 48.0 6.2 3.2 1.3 8.0% 15.6% .301 85 89 4.93 118 0.1
Anthony Misiewicz 38.3 7.7 3.5 1.2 8.9% 19.5% .301 97 94 4.39 104 0.1
Connor Gillispie 79.0 6.3 3.8 1.5 9.5% 15.8% .285 79 80 5.39 127 0.0
Michael Tonkin 52.3 8.1 3.1 1.2 8.0% 21.0% .293 96 88 4.48 104 0.0
Jaylen Nowlin 68.0 7.7 5.0 1.3 11.9% 18.2% .295 81 86 5.35 123 0.0
Erasmo Ramirez 50.0 6.5 2.7 1.4 6.8% 16.4% .304 89 83 4.82 112 0.0
Brooks Kriske 43.7 10.1 4.7 1.2 11.7% 25.0% .301 91 89 4.42 110 0.0
Génesis Cabrera 52.0 8.1 4.2 1.4 10.5% 20.6% .286 92 92 4.91 109 0.0
Jacob Bosiokovic 33.7 8.3 4.5 1.1 11.2% 20.4% .292 90 87 4.65 112 -0.1
Gabriel Yanez 53.0 6.6 3.1 1.4 7.7% 16.7% .305 91 94 4.79 110 -0.1
Logan Whitaker 34.0 6.4 3.2 1.3 8.0% 16.0% .299 90 93 4.81 111 -0.1
Kade Bragg 57.7 8.7 4.4 1.2 11.0% 22.0% .289 89 95 4.74 112 -0.1
Alex Speas 32.7 8.5 6.1 1.1 14.3% 20.1% .286 87 89 5.15 115 -0.1
Sam Ryan 62.3 6.8 4.3 1.2 10.6% 16.5% .301 85 88 4.91 117 -0.1
Darren Bowen 69.7 5.3 3.9 1.4 9.5% 13.0% .293 76 80 5.59 132 -0.2
Hunter Hoopes 44.7 8.7 4.0 1.2 10.2% 21.9% .285 85 90 4.86 118 -0.2
Joel Cesar 29.0 7.1 4.0 1.2 9.8% 17.3% .303 82 81 4.92 122 -0.2
Kyle Bischoff 41.0 7.9 5.3 1.3 12.6% 18.8% .288 82 85 5.43 122 -0.3
Jacob Wosinski 50.7 6.2 3.9 1.4 9.5% 15.2% .298 78 81 5.37 128 -0.4

Pitchers – Top Near-Age Comps
Player Pit Comp 1 Pit Comp 2 Pit Comp 3
Joe Ryan Fergie Jenkins Dennis Leonard Mike Mussina
Pablo López Bob Welch Jack McDowell Mike Mussina
Bailey Ober LaMarr Hoyt Masahiro Tanaka Pete Harnisch
Taj Bradley Edwin Jackson Ervin Santana Taijuan Walker
Zebby Matthews Mike Gardiner José Urquidy Brad Ziegler
Simeon Woods Richardson Stan Bahnsen Tommy Greene Matt Keough
Andrew Morris Bill Paschall Alec Mills Charlie Ruud
Mick Abel Chance Adams Livan Hernandez Jorge De Paula
Connor Prielipp Dan Searle Don Hood Steve Trout
Pierson Ohl Jim Atchley Geoff Geary Josh Stevens
David Festa Mark Dempsey Pete Smith Kent Greenfield
Kendry Rojas Orlando Lara Bob House Bob O’Brien
Darren McCaughan Dick Drilling Leverette Spencer Terry Doyle
John Klein Scott Jeffery Rob Wassenaar Jack Fisher
Travis Adams Seth Lugo Erick Fedde Anthony Bass
Cole Sands Tony Pena Rich Bordi Scott Sullivan
Thomas Hatch Erv Palica Tyler Herron Jaime Navarro
Christian MacLeod Ben Kozlowski Gary Christenson Abraham Elvira
Ricky Castro Parker Bridwell Parker Curry Clint Johnson
Trent Baker Bill Wengert Mark Tranberg Jared Jensen
Marco Raya Ryan Tucker Eddie Watt Matt Magill
Kody Funderburk Phil Coke Frank Gonzales Gary Lavelle
Chase Chaney Andrew Moore Chad Jenkins Brian Powell
C.J. Culpepper William Leinheiser Santiago Guzman Dan Opperman
Ryan Gallagher José Taveras Nabil Crismatt Tyler Mahle
Justin Topa Brandon Kintzler Blaine Boyer Jim Johnson
Eric Orze Tony Menendez Pat Dobson Pete Mikkelsen
Sam Armstrong Chase De Jong Aaron Slegers Jon Harris
Mike Paredes Mike Shelton Casey Daigle Gary Sarno
Cory Lewis Patrick Weigel Yeiper Castillo Miguel Almonte
Alejandro Hidalgo Bruce Swango Manuel Soliman Jonah Bayliss
Adam Plutko Tomo Ohka Kyle Kendrick Rick Langford
Grant Hartwig Hipolito Pichardo Dave Johnson Rich Carlucci
Brady Feigl Dave Schuler Jack Spring Eric Gunderson
Noah Davis Shawn Hillegas Asher Wojciechowski Bob Hall
Jarret Whorff Jerome Rozmus Chance Chapman Kevin Hodge
Angel Macuare Gilberto Mendez Glenn Tucker Freddie Davis
Anthony Misiewicz Joe Grzenda Jason Pearson Ron Meridith
Connor Gillispie Fred Talbot Phil Ortega Sammy Ellis
Michael Tonkin Mike Ryba Dick Drago Dick Tidrow
Jaylen Nowlin John Rosengren Matt Ruebel Roger Samuels
Erasmo Ramirez Tom Gorman Bob Smith Murry Dickson
Brooks Kriske Juan Rincon Don Larsen Justin Grimm
Génesis Cabrera Josh Osich Ron Mahay Frank Brooks
Jacob Bosiokovic Lerrin LaGrow Matt Karchner Freddy Schmidt
Gabriel Yanez Steve Smetana Justin Sturge Larry Wimberly
Logan Whitaker Larry Groves Greg Knowles Scott Murray
Kade Bragg Joel McKeon Williams Jerez Alan Webb
Alex Speas Fred Lasher Jesus Colome Don Newhauser
Sam Ryan Chris Beck Brandon Mathes Doug Scherer
Darren Bowen Jon Moscot Santo Perez Brian Rauh
Hunter Hoopes Dave Beard Johnny Barbato Ken Sanders
Joel Cesar Jimmy Marrujo Daryl Patterson Mike Crudale
Kyle Bischoff Jonathan Garcia Jim Henderson Jack Lazorko
Jacob Wosinski James Pugliese Ed Reilly Steven Spurgeon

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
Joe Ryan .234 .289 .409 .224 .276 .388 3.6 1.5 3.25 4.63
Pablo López .258 .313 .409 .221 .273 .363 3.4 1.6 3.20 4.40
Bailey Ober .257 .303 .435 .245 .291 .430 2.7 1.1 3.74 4.80
Taj Bradley .257 .329 .436 .228 .285 .369 3.0 0.9 3.69 4.85
Zebby Matthews .253 .305 .444 .241 .277 .379 2.7 1.1 3.28 4.58
Simeon Woods Richardson .239 .307 .376 .245 .311 .426 2.6 0.8 3.65 4.92
Andrew Morris .265 .319 .439 .249 .298 .383 2.1 0.7 3.56 4.89
Mick Abel .243 .333 .392 .250 .325 .403 2.0 0.5 3.98 5.05
Connor Prielipp .265 .339 .373 .238 .308 .396 1.8 0.6 3.62 4.76
Pierson Ohl .266 .306 .444 .260 .287 .425 1.9 0.6 3.47 4.72
David Festa .241 .312 .388 .243 .307 .416 2.0 0.6 3.56 4.83
Kendry Rojas .237 .308 .366 .254 .331 .414 1.7 0.4 3.77 5.01
Darren McCaughan .256 .323 .427 .277 .329 .450 1.5 0.2 4.18 5.33
John Klein .259 .350 .431 .253 .315 .414 1.3 0.2 4.23 5.27
Travis Adams .261 .332 .392 .261 .313 .441 1.4 0.2 4.02 5.16
Cole Sands .242 .312 .403 .229 .288 .336 1.3 0.2 3.24 4.86
Thomas Hatch .284 .350 .463 .261 .324 .399 1.3 0.2 4.23 5.29
Christian MacLeod .250 .336 .385 .261 .346 .446 1.1 0.1 4.22 5.36
Ricky Castro .273 .331 .474 .260 .312 .416 1.0 0.0 4.28 5.41
Trent Baker .253 .318 .429 .278 .344 .455 1.1 0.0 4.29 5.41
Marco Raya .273 .364 .448 .236 .325 .382 1.2 -0.1 4.38 5.49
Kody Funderburk .232 .319 .317 .244 .330 .393 1.1 0.0 3.31 4.84
Chase Chaney .292 .351 .449 .272 .321 .460 1.1 0.0 4.53 5.54
C.J. Culpepper .261 .350 .387 .247 .335 .418 0.9 0.1 4.41 5.41
Ryan Gallagher .277 .338 .527 .255 .307 .403 1.1 -0.2 4.53 5.72
Justin Topa .267 .337 .411 .250 .307 .356 0.8 0.0 3.30 5.02
Eric Orze .209 .313 .327 .256 .326 .419 0.9 -0.1 3.38 4.92
Sam Armstrong .288 .354 .481 .260 .330 .413 0.9 -0.2 4.72 5.72
Mike Paredes .282 .343 .481 .254 .306 .402 1.1 -0.1 3.91 5.13
Cory Lewis .250 .347 .410 .258 .354 .457 0.9 -0.1 4.51 5.65
Alejandro Hidalgo .261 .363 .425 .253 .330 .454 0.7 -0.5 4.78 6.11
Adam Plutko .303 .354 .503 .268 .318 .463 0.6 -0.4 4.76 6.04
Grant Hartwig .250 .365 .375 .236 .303 .382 0.4 -0.2 3.71 5.24
Brady Feigl .245 .322 .358 .269 .349 .473 0.4 -0.2 4.00 5.78
Noah Davis .261 .363 .478 .250 .330 .378 0.6 -0.4 4.56 5.88
Jarret Whorff .254 .336 .424 .260 .323 .418 0.6 -0.4 4.01 5.33
Angel Macuare .279 .344 .477 .266 .331 .422 0.5 -0.2 4.41 5.67
Anthony Misiewicz .232 .295 .375 .274 .346 .453 0.4 -0.3 3.69 5.37
Connor Gillispie .283 .364 .476 .251 .328 .443 0.5 -0.5 4.96 6.10
Michael Tonkin .267 .340 .488 .243 .323 .365 0.5 -0.5 3.59 5.57
Jaylen Nowlin .270 .365 .382 .251 .360 .453 0.5 -0.5 4.66 5.99
Erasmo Ramirez .284 .343 .474 .271 .319 .458 0.3 -0.4 4.20 5.84
Brooks Kriske .247 .351 .407 .230 .320 .402 0.3 -0.6 3.93 6.04
Génesis Cabrera .250 .338 .391 .250 .335 .449 0.3 -0.5 4.04 5.49
Jacob Bosiokovic .274 .357 .435 .217 .329 .377 0.2 -0.4 4.03 5.70
Gabriel Yanez .261 .316 .391 .277 .337 .473 0.3 -0.4 4.14 5.47
Logan Whitaker .277 .347 .508 .257 .309 .392 0.1 -0.4 4.22 5.43
Kade Bragg .243 .341 .371 .242 .335 .425 0.4 -0.6 4.12 5.69
Alex Speas .255 .388 .455 .232 .349 .362 0.1 -0.5 4.34 6.02
Sam Ryan .270 .363 .444 .254 .326 .397 0.3 -0.6 4.48 5.71
Darren Bowen .286 .360 .474 .267 .351 .453 0.2 -0.5 5.19 6.23
Hunter Hoopes .228 .337 .380 .250 .352 .424 0.1 -0.5 4.38 5.79
Joel Cesar .259 .365 .407 .266 .324 .453 0.0 -0.5 4.53 6.27
Kyle Bischoff .268 .395 .437 .239 .340 .420 0.0 -0.6 4.74 6.13
Jacob Wosinski .290 .374 .505 .259 .333 .420 -0.1 -0.8 4.96 6.31

Players are listed with their most recent teams wherever possible. This includes players who are unsigned or have retired, players who will miss 2026 due to injury, and players who were released in 2025. So yes, if you see Joe Schmoe, who quit baseball back in August to form a Ambient Math-Rock Trip-Hop Yacht Metal band that only performs in abandoned malls, he’s still listed here intentionally. ZiPS is assuming a league with an ERA of 4.16.

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. This last is, however, not an actual requirement.