Archive for Featured

As Before, So Again: Cody Bellinger Is a Yankee

Mark Smith-Imagn Images

Our long national nightmare is over. After weeks of back and forth between Cody Bellinger and the New York Yankees, it’s official: He’s staying in the Bronx. The two sides have agreed to a five-year, $162.5 million deal with opt outs after the second and third seasons, a $20 million signing bonus, and a full no-trade clause, as first reported by Jeff Passan.

This fit was so obvious that it almost had to happen. The Yankees need offense, and they’d prefer it to come in the form of a left-handed outfielder who can cover center field in a pinch. They’re already familiar with Bellinger, who just put up a 5-WAR season in pinstripes. No other teams needed this exact type of player as much, at this current moment, as they did. Likewise, Bellinger was probably going to have to sign with the Yankees to get the deal he wanted. Now that that foregone conclusion has been reached, let’s unpack how this all fits together.

This contract is the culmination of a long, decorated career that was conspicuously lacking in free agency appeal. Bellinger burst onto the scene in 2017 with 39 homers for the Dodgers, taking Rookie of the Year honors in the process. He then went fully supersonic in the homer-happy 2019 season, with the rocket ball propelling him to 47 homers, a 161 wRC+, and NL MVP honors. Disaster struck in the 2020 World Series, however. Bellinger dislocated his shoulder celebrating a home run, and his performance fell off a cliff immediately after. Read the rest of this entry »


2026 ZiPS Projections: Chicago Cubs

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 antepenultimate team is the Chicago Cubs.

Batters

ZiPS was a big believer in the 2025 Chicago Cubs, and it was right on point about most of their core talent. The problem, though, was that ZiPS wasn’t right about the Milwaukee Brewers, and though Chicago stayed in the NL Central race for most of the season, Milwaukee’s 14-game winning streak all but settled things by mid-August. Add in a five-game loss to the Brew Crew in the NLDS, and a successful season ended in underwhelming fashion for the North Siders. The Cubs went into the offseason looking to replace Kyle Tucker in the lineup and shore up the rotation a bit.

Generally speaking, the Cubs have a rather boring lineup in one manner: It’s mostly well-established players who are largely in the same roles as last season. Carson Kelly and Miguel Amaya, the latter swapped in for Reese McGuire, will be a competent tandem behind the plate. Dansby Swanson, Nico Hoerner, and Pete Crow-Armstrong will play terrific defense, with PCA adding a bunch of homers at the cost of a rather low on-base percentage. Ian Happ and Seiya Suzuki are on the wrong side of 30, but not distressingly so, and the typically B+ corner outfielders will likely put up their typical B+ seasons. One can see why the Cubs felt they could afford to trade Owen Caissie to Miami for Edward Cabrera; he was going to have a hard time finding playing time, and Kevin Alcántara’s defense makes him a more versatile fourth outfielder.

Where there are changes are at third base and designated hitter (by way of Suzuki playing a lot more right field). Alex Bregman is more or less the Kyle Tucker replacement, with a bit less bat and a bit more defensive value. Moisés Ballesteros has a lot of offensive upside, but he’s not really exciting yet as a full-time designated hitter, and Matt Shaw loses significant value as a DH. ZiPS is optimistic about Tyler Austin after a mostly successful six-year run in Japan, though he doesn’t provide a lot of flexibility, as it’s been years since he’s played anywhere but first base. I say mostly successful because he wasn’t particularly durable in NPB, with his most notable — and amusing — injury coming when he smashed his head on the dugout ceiling while changing his jersey.

I’m actually not quite sure what happens with Shaw, who appears to have been musical chaired out of a significant role by the Bregman and Austin signings. I don’t know just how seriously the Cubs consider him a supersub. Swanson and Hoerner were both durable in 2025, so we didn’t get any sneak peeks at how the Cubs truly felt about Shaw’s ability to play the middle infield when the rubber meets the road.

I wonder if the Cubs will be particularly active with non-roster invitations over the next month; ZiPS doesn’t see a great deal in the way of reinforcements in the high minors. Guys like Scott Kingery are probably far too high in the ZiPS WAR rankings than the Cubs ought to be comfortable with.

Pitchers

ZiPS sees the Cubs as having a very deep rotation that’s also very deep in unexcitement. There’s certainly some upside here, especially in Edward Cabrera, but ZiPS largely views the team as having a whole lot of broadly average starting pitching options. The good news here is that if Justin Steele has any setbacks, ZiPS likes the team’s replacement options. Even with especially bad luck in the injury department, the computer thinks Javier Assad will be adequate — it has him with an ERA considerably lower than his FIP, though some of that is thanks to the stellar Cubs defense — and that Ben Brown and Jordan Wicks would both be far more acceptable as starters if called into duty than they’ve shown so far. Heck, if Colin Rea or even Connor Noland were forced into starting some games, that wouldn’t be an apocalyptic scenario for the Cubs.

While deep in meh, ZiPS is more enthusiastic about the Chicago bullpen. Now, as was the case with Assad, some of the bullpen’s projected sufficiency comes down to the defense behind it, but ZiPS largely sees these relievers as having ERAs below four, and generally well below that line. ZiPS especially likes Hunter Harvey, Daniel Palencia, and the relief version of Porter Hodge. In the case of Hodge, remember the rule not to freak out about one-year home run totals for otherwise competent pitchers. The only prominent relievers ZiPS looks at with a bit of a side eye are Ethan Roberts and recent signee Jacob Webb.

All in all, the Cubs look like a team with a win total in the low 90s. The only negative of that projection is that ZiPS feels similarly about the Brewers this time around. We won’t know the end of this story for another nine months.

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
Pete Crow-Armstrong L 24 CF 614 560 91 143 28 6 25 91 33 151 32 8
Nico Hoerner R 29 2B 634 580 82 161 28 3 9 62 40 57 26 6
Dansby Swanson R 32 SS 601 543 78 131 24 2 19 71 52 155 14 3
Michael Busch L 28 1B 586 513 82 132 27 3 28 87 62 142 3 0
Ian Happ B 31 LF 638 548 82 134 33 1 22 79 81 151 8 2
Seiya Suzuki R 31 RF 601 525 74 136 27 4 26 86 67 150 7 3
Alex Bregman R 32 3B 568 491 71 118 24 1 18 70 65 83 2 1
Matt Shaw R 24 3B 530 470 69 115 21 4 16 65 49 105 19 6
Moisés Ballesteros L 22 C 586 530 60 139 23 2 14 72 47 100 2 2
Carson Kelly R 31 C 359 317 39 73 12 1 11 42 35 73 2 0
Pedro Ramirez B 22 3B 570 523 61 127 18 4 7 55 36 114 14 6
Jonathon Long R 24 1B 566 495 68 122 18 1 14 67 59 130 1 0
Tyler Austin R 34 1B 329 290 41 71 18 1 14 49 36 91 0 0
Miguel Amaya R 27 C 267 238 27 57 12 1 7 35 19 58 0 0
Jon Berti R 36 3B 294 263 35 64 9 1 3 21 25 65 19 5
Forrest Wall L 30 CF 370 326 49 76 12 2 5 36 34 106 23 5
Kevin Alcántara R 23 CF 473 431 54 101 20 1 12 53 38 154 8 3
Dixon Machado R 34 3B 331 286 28 59 8 0 3 27 36 66 3 1
Scott Kingery R 32 SS 380 346 41 71 11 3 9 38 26 127 8 1
Carlos Santana B 40 1B 449 389 46 83 15 0 12 51 54 87 4 0
Reese McGuire L 31 C 235 214 21 47 8 0 6 27 14 51 1 0
Hayden Cantrelle B 27 2B 373 316 41 61 11 3 4 32 44 133 14 3
Brett Bateman L 24 CF 425 370 45 84 11 1 3 31 48 103 12 4
Chase Strumpf R 28 3B 398 341 43 64 13 1 10 43 48 152 4 1
Justin Dean R 29 CF 391 347 50 73 10 4 5 34 37 127 22 7
Justin Turner R 41 1B 419 365 44 88 18 0 9 44 41 79 2 1
BJ Murray Jr. B 26 1B 506 442 50 92 17 1 12 53 57 130 10 4
Ariel Armas R 23 C 377 344 24 68 17 1 4 34 26 90 4 3
Jefferson Rojas R 21 SS 480 432 55 89 13 3 9 48 38 102 11 3
Ben Cowles R 26 SS 490 445 50 95 20 2 7 48 34 164 11 5
Cameron Sisneros L 25 1B 343 300 28 67 12 1 7 40 32 72 5 1
Christian Bethancourt R 34 C 243 226 25 45 10 0 7 26 10 72 2 1
James Triantos R 23 2B 486 451 58 107 18 3 5 47 26 79 20 7
Felix Stevens R 26 RF 383 344 41 69 14 1 13 49 32 155 2 1
Pablo Aliendo R 25 C 367 336 33 64 14 1 10 43 21 147 1 1
Caleb Knight R 30 DH 90 80 6 15 3 0 1 10 5 28 1 1
Devin Ortiz R 27 3B 479 429 47 92 11 1 5 40 38 112 8 4
Parker Chavers L 27 LF 355 317 39 63 11 2 3 28 35 100 10 4
Darius Hill L 28 LF 350 322 35 73 16 2 3 32 22 78 2 2
Casey Opitz B 27 C 251 225 21 37 5 1 4 20 22 96 1 0
Leonel Espinoza R 23 CF 454 419 54 93 14 2 6 44 25 125 12 5
Reivaj Garcia B 24 2B 413 384 41 91 14 2 1 31 19 82 6 2
Carter Trice R 23 CF 374 328 41 59 13 1 12 43 41 139 8 4
Drew Bowser R 24 3B 328 293 32 52 12 1 4 29 30 132 6 2
Miguel Pabon R 25 C 261 234 22 42 6 1 2 18 21 91 2 0
Jordan Nwogu R 27 LF 376 342 39 71 10 2 6 38 23 123 12 5
Edgar Alvarez L 25 LF 424 384 38 84 15 0 7 39 34 125 4 1
Brian Kalmer R 25 1B 351 317 36 60 11 2 10 37 30 130 1 0
Eriandys Ramon B 23 3B 226 215 22 38 8 2 3 19 9 76 2 2
Haydn McGeary R 26 DH 398 353 32 69 12 1 7 38 38 141 3 0
Alexis Hernandez R 21 SS 277 252 28 44 7 1 3 20 21 92 7 2
Reginald Preciado R 23 3B 335 313 29 60 10 1 3 26 15 110 5 3
Jaylen Palmer R 25 RF 433 387 45 68 12 1 9 42 39 195 12 5
Ethan Hearn L 25 C 319 294 29 52 9 2 7 33 19 124 3 1
Luis Sanchez L 18 CF 253 231 23 37 5 1 2 19 16 77 6 4
Christopher Paciolla R 22 3B 251 235 16 40 10 0 2 20 10 89 3 2
Andy Garriola R 26 LF 418 387 40 71 17 1 10 44 20 120 4 1
Rafael Morel R 24 LF 397 356 43 64 10 1 4 31 32 152 10 2
Ed Howard R 24 SS 305 284 23 49 8 0 1 18 16 124 4 2

Batters – Advanced
Player PA BA OBP SLG OPS+ ISO BABIP Def WAR wOBA 3YOPS+ RC
Pete Crow-Armstrong 614 .255 .304 .461 118 .206 .307 13 4.6 .326 122 88
Nico Hoerner 634 .278 .333 .383 107 .105 .296 11 3.8 .314 105 82
Dansby Swanson 601 .241 .309 .398 104 .157 .304 10 3.6 .309 99 71
Michael Busch 586 .257 .345 .485 138 .228 .303 2 3.2 .356 134 86
Ian Happ 638 .245 .345 .429 123 .184 .299 3 2.9 .338 117 84
Seiya Suzuki 601 .259 .343 .474 134 .215 .315 -2 2.9 .350 129 88
Alex Bregman 568 .240 .336 .403 114 .163 .256 2 2.7 .325 109 67
Matt Shaw 530 .245 .321 .409 110 .164 .284 1 2.4 .319 112 68
Moisés Ballesteros 586 .262 .324 .392 107 .130 .300 -3 2.1 .312 108 69
Carson Kelly 359 .230 .312 .379 99 .149 .266 3 1.8 .304 94 38
Pedro Ramirez 570 .243 .296 .333 83 .090 .299 11 1.4 .278 85 57
Jonathon Long 566 .246 .334 .372 105 .126 .308 5 1.4 .314 106 62
Tyler Austin 329 .245 .328 .459 125 .214 .308 1 1.2 .336 118 44
Miguel Amaya 267 .239 .309 .387 101 .148 .289 -2 0.9 .306 99 28
Jon Berti 294 .243 .314 .319 85 .076 .313 4 0.9 .285 81 32
Forrest Wall 370 .233 .313 .328 87 .095 .330 0 0.9 .288 86 40
Kevin Alcántara 473 .234 .298 .369 92 .135 .336 -1 0.8 .293 95 50
Dixon Machado 331 .206 .302 .266 67 .060 .258 9 0.7 .263 66 24
Scott Kingery 380 .205 .263 .332 72 .127 .295 4 0.6 .262 69 32
Carlos Santana 449 .213 .312 .344 91 .131 .245 5 0.6 .293 88 43
Reese McGuire 235 .220 .270 .341 76 .121 .261 2 0.5 .268 73 20
Hayden Cantrelle 373 .193 .304 .285 73 .092 .318 3 0.5 .272 73 31
Brett Bateman 425 .227 .318 .286 77 .059 .307 2 0.5 .277 78 38
Chase Strumpf 398 .188 .297 .320 79 .132 .302 1 0.4 .280 81 34
Justin Dean 391 .210 .294 .305 75 .095 .316 2 0.4 .271 74 39
Justin Turner 419 .241 .325 .364 100 .123 .285 0 0.3 .305 100 44
BJ Murray Jr. 506 .208 .302 .333 84 .125 .267 7 0.3 .285 87 48
Ariel Armas 377 .198 .265 .288 61 .090 .256 5 0.2 .249 64 28
Jefferson Rojas 480 .206 .277 .313 71 .107 .249 0 0.2 .263 77 41
Ben Cowles 490 .213 .278 .315 72 .101 .321 -1 0.0 .264 73 43
Cameron Sisneros 343 .223 .312 .340 89 .117 .271 1 0.0 .291 94 33
Christian Bethancourt 243 .199 .234 .336 63 .137 .259 1 -0.1 .247 59 19
James Triantos 486 .237 .284 .324 76 .087 .278 -2 -0.1 .269 81 48
Felix Stevens 383 .201 .277 .360 83 .159 .318 0 -0.3 .281 88 35
Pablo Aliendo 367 .190 .251 .327 66 .137 .302 -3 -0.4 .255 72 28
Caleb Knight 90 .188 .270 .263 56 .075 .275 0 -0.4 .245 58 6
Devin Ortiz 479 .214 .285 .280 65 .065 .279 1 -0.5 .256 65 38
Parker Chavers 355 .199 .282 .274 63 .075 .280 5 -0.5 .254 62 28
Darius Hill 350 .227 .281 .317 73 .090 .290 3 -0.5 .265 73 30
Casey Opitz 251 .164 .244 .249 44 .085 .264 1 -0.5 .226 48 14
Leonel Espinoza 454 .222 .276 .308 69 .086 .302 -3 -0.6 .259 75 40
Reivaj Garcia 413 .237 .275 .292 65 .055 .299 0 -0.6 .250 65 33
Carter Trice 374 .180 .278 .335 77 .155 .266 -8 -0.7 .274 83 34
Drew Bowser 328 .177 .262 .266 54 .089 .306 -1 -0.8 .242 59 22
Miguel Pabon 261 .179 .255 .239 45 .060 .284 -3 -0.9 .228 47 15
Jordan Nwogu 376 .208 .271 .301 66 .093 .305 2 -0.9 .256 69 32
Edgar Alvarez 424 .219 .285 .313 74 .094 .306 -2 -0.9 .267 74 35
Brian Kalmer 351 .189 .262 .331 71 .142 .282 0 -0.9 .262 73 28
Eriandys Ramon 226 .177 .217 .274 42 .097 .257 1 -1.0 .217 47 14
Haydn McGeary 398 .195 .279 .295 67 .100 .302 0 -1.1 .258 70 30
Alexis Hernandez 277 .175 .243 .246 43 .071 .261 -4 -1.2 .223 50 17
Reginald Preciado 335 .192 .237 .259 44 .067 .285 1 -1.3 .221 48 21
Jaylen Palmer 433 .176 .261 .282 58 .106 .322 2 -1.3 .247 63 33
Ethan Hearn 319 .177 .238 .293 53 .116 .276 -8 -1.4 .236 59 22
Luis Sanchez 253 .160 .233 .216 32 .056 .230 -1 -1.4 .209 39 15
Christopher Paciolla 251 .170 .219 .238 33 .068 .264 -1 -1.5 .206 37 14
Andy Garriola 418 .183 .235 .310 57 .127 .237 2 -1.5 .240 57 29
Rafael Morel 397 .180 .258 .247 48 .067 .300 2 -1.6 .232 50 26
Ed Howard 305 .173 .221 .211 27 .038 .302 -3 -1.9 .197 32 15

Batters – Top Near-Age Offensive Comps
Player Hit Comp 1 Hit Comp 2 Hit Comp 3
Pete Crow-Armstrong Andre Dawson Carlos González Dan Gladden
Nico Hoerner Steve Sax Felix Millan Whit Merrifield
Dansby Swanson Juan Samuel Bill Rigney Casey Blake
Michael Busch Ray Sanders Brandon Belt Norm Siebern
Ian Happ Bob Skinner Von Hayes Andrew McCutchen
Seiya Suzuki Babe Herman Chick Hafey Andy Van Slyke
Alex Bregman Edgardo Alfonzo John Valentin Richie Hebner
Matt Shaw Darnell Coles Andy Carey Arthur Fischetti
Moisés Ballesteros William Gilmore Jason Kendall Joe Mauer
Carson Kelly John Orsino Elrod Hendricks Butch Henline
Pedro Ramirez Steve Garcia Mauricio Dubón Jorge Polanco
Jonathon Long Phil Trombino Scott Vieira Jayce Boyd
Tyler Austin Wes Covington Steve Pearce Larry Hisle
Miguel Amaya Tom Pagnozzi Bill Bathe Rob Natal
Jon Berti Julio Lugo Bert Campaneris Roy Hughes
Forrest Wall Earl McNeely Mike Brumley Kenny Wilson
Kevin Alcántara Moises Camacho Donald Hubbard Walter Derucki
Dixon Machado Abraham O. Nunez Eric Sogard Alex Grammas
Scott Kingery Joe Hoover Paul Noce Jackie Hernandez
Carlos Santana Kevin Millar Jerry Crosby Jay Bell
Reese McGuire Greg Myers Vance Wilson Rene Friol
Hayden Cantrelle Junior Spivey R.D. Long Anthony Granato
Brett Bateman Aaron Barbosa Justin Martin Jim Buccheri
Chase Strumpf Dwight Carter Joe Orengo Mitch Walding
Justin Dean Donzell McDonald Andres Torres Jeff Duncan
Justin Turner Sam West Scott Hatteberg Bruce Bochte
BJ Murray Jr. Deacon Jones Gordon Goldsberry Rex De La Nuez
Ariel Armas Rick Austin Tony Tornay Guillermo Garcia
Jefferson Rojas James Passilla Tzu-Wei Lin Lou Collier
Ben Cowles Pedro Florimón Caonabo Cosme Richard Haymore
Cameron Sisneros Kevin Burford Terry Christman Jim Essian
Christian Bethancourt Freddie Velazquez Art Kusnyer Jeff Newman
James Triantos Ramón Torres Ramon Nivar Enzo Hernandez
Felix Stevens Paul Powell Cliff Cook Trey Cabbage
Pablo Aliendo Bob Geren Dick Brown Craig Faulkner
Caleb Knight Aaron Brill P.J. Phillips Jim Murphy
Devin Ortiz Matt Maniscalco Shawn Gilbert John Hack
Parker Chavers Mike Loggins Bub Bergstrom Eric Suttle
Darius Hill Joe Moock James Jedelsky Luis Melendez
Casey Opitz Buddy Pryor Terry Bell Frank Kolarek
Leonel Espinoza Eliezer Mesa Pat Hallmark Dan Ramirez
Reivaj Garcia Omar Obregon Harold Castro Franklin Font
Carter Trice Ron Sorey Jim Magnuson Eli Ben
Drew Bowser Dale Soderholm Steve Martin Gosuke Katoh
Miguel Pabon Terry Bell Scott Maynard Tim Redman
Jordan Nwogu Ed Bady Casio Grider Pat Hallmark
Edgar Alvarez Jeremy Morris Joe Jackson Mark Riemer
Brian Kalmer Johnny Woodard Keith Raisanen Travis Ishikawa
Eriandys Ramon Hendry Jimenez Juan Polanco Alan Schoenberger
Haydn McGeary James Barbe Beau Blacken Juan Pautt
Alexis Hernandez JM Devarie Juan Cruz Bobby Lenoir
Reginald Preciado Stanley Walters Steve Hughes Samuel Sime
Jaylen Palmer Fred Winston Scott Wade George Lombard
Ethan Hearn Doug Adams Ray Bond Eddie Lantigua
Luis Sanchez German Geigel Jorge Carty Aman Hicks
Christopher Paciolla Landon Brandes Tanner Townsend Juan Sanchez
Andy Garriola Jeff Mace Chuck Baker Robert Kosis
Rafael Morel Mark Simmons Charlie Frazier Kent Headley
Ed Howard Brandon Van Horn Trever Morrison Brady Stewart

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
Pete Crow-Armstrong .281 .327 .515 138 6.1 .228 .280 .407 96 2.9
Nico Hoerner .304 .361 .422 127 5.3 .253 .309 .349 92 2.4
Dansby Swanson .266 .333 .446 123 4.9 .217 .279 .355 84 2.2
Michael Busch .282 .370 .542 159 4.7 .236 .320 .439 119 1.9
Ian Happ .267 .370 .474 142 4.3 .217 .320 .381 105 1.5
Seiya Suzuki .283 .369 .525 154 4.3 .235 .319 .427 117 1.6
Alex Bregman .262 .361 .455 134 4.1 .215 .309 .357 94 1.4
Matt Shaw .270 .347 .460 130 3.6 .222 .298 .365 92 1.2
Moisés Ballesteros .292 .354 .441 127 3.5 .237 .299 .353 89 0.7
Carson Kelly .258 .337 .422 118 2.6 .203 .283 .322 77 0.8
Pedro Ramirez .272 .323 .372 103 2.8 .220 .272 .299 66 0.3
Jonathon Long .275 .361 .420 124 2.7 .220 .308 .332 86 0.2
Tyler Austin .268 .356 .509 145 2.0 .219 .307 .412 105 0.4
Miguel Amaya .271 .337 .443 124 1.6 .217 .287 .337 83 0.3
Jon Berti .271 .337 .360 102 1.7 .210 .284 .281 66 0.3
Forrest Wall .261 .339 .375 106 1.8 .207 .287 .285 68 0.0
Kevin Alcántara .262 .329 .417 114 2.0 .207 .272 .326 73 -0.3
Dixon Machado .234 .330 .301 83 1.4 .180 .274 .229 51 0.1
Scott Kingery .234 .293 .383 94 1.6 .180 .241 .291 55 -0.2
Carlos Santana .239 .340 .391 108 1.6 .188 .284 .301 71 -0.5
Reese McGuire .250 .302 .396 98 1.1 .195 .248 .295 58 0.0
Hayden Cantrelle .219 .327 .328 91 1.3 .163 .275 .241 54 -0.4
Brett Bateman .255 .348 .324 94 1.4 .198 .291 .253 60 -0.4
Chase Strumpf .212 .321 .372 98 1.3 .161 .269 .270 57 -0.6
Justin Dean .241 .323 .351 95 1.3 .182 .262 .262 52 -0.7
Justin Turner .270 .352 .405 116 1.2 .213 .297 .318 78 -0.8
BJ Murray Jr. .232 .328 .378 102 1.5 .184 .282 .290 67 -0.8
Ariel Armas .232 .297 .334 82 1.2 .170 .236 .244 42 -0.7
Jefferson Rojas .235 .305 .365 91 1.3 .182 .253 .270 52 -0.9
Ben Cowles .240 .306 .362 94 1.3 .187 .250 .276 56 -0.9
Cameron Sisneros .250 .339 .387 109 0.8 .200 .290 .303 74 -0.6
Christian Bethancourt .225 .260 .392 85 0.5 .175 .210 .281 43 -0.7
James Triantos .261 .308 .363 93 1.0 .213 .262 .290 60 -1.0
Felix Stevens .226 .302 .409 103 0.6 .174 .251 .307 63 -1.2
Pablo Aliendo .215 .277 .371 84 0.4 .164 .224 .280 45 -1.4
Caleb Knight .217 .299 .307 75 -0.2 .162 .245 .222 38 -0.6
Devin Ortiz .237 .312 .309 80 0.4 .187 .260 .245 49 -1.5
Parker Chavers .224 .314 .314 83 0.3 .174 .256 .240 46 -1.3
Darius Hill .250 .307 .354 89 0.2 .203 .256 .285 58 -1.2
Casey Opitz .190 .276 .298 66 0.2 .137 .213 .211 25 -1.1
Leonel Espinoza .244 .296 .350 85 0.3 .199 .253 .271 53 -1.5
Reivaj Garcia .267 .301 .327 82 0.2 .212 .251 .260 49 -1.4
Carter Trice .203 .300 .379 95 0.0 .154 .250 .287 58 -1.6
Drew Bowser .203 .289 .312 72 -0.1 .152 .238 .222 36 -1.6
Miguel Pabon .208 .286 .276 63 -0.4 .150 .227 .200 27 -1.5
Jordan Nwogu .237 .297 .347 84 0.0 .183 .246 .270 49 -1.6
Edgar Alvarez .244 .310 .349 90 -0.1 .194 .259 .272 56 -1.9
Brian Kalmer .214 .287 .372 89 -0.2 .165 .236 .284 53 -1.7
Eriandys Ramon .205 .243 .322 63 -0.4 .148 .189 .223 21 -1.5
Haydn McGeary .220 .307 .337 84 -0.3 .171 .252 .258 48 -2.1
Alexis Hernandez .206 .272 .292 64 -0.5 .148 .217 .206 26 -1.7
Reginald Preciado .221 .265 .295 60 -0.7 .165 .211 .223 25 -2.1
Jaylen Palmer .201 .285 .331 76 -0.3 .146 .233 .233 37 -2.5
Ethan Hearn .208 .269 .351 76 -0.5 .150 .212 .249 33 -2.1
Luis Sanchez .186 .257 .251 48 -1.0 .135 .204 .180 15 -2.0
Christopher Paciolla .201 .248 .276 52 -0.9 .146 .195 .197 15 -2.0
Andy Garriola .209 .260 .351 74 -0.6 .160 .210 .262 37 -2.5
Rafael Morel .207 .285 .285 66 -0.7 .157 .228 .215 31 -2.4
Ed Howard .197 .247 .245 44 -1.3 .150 .197 .182 12 -2.4

Batters – Platoon Splits
Player BA vs. L OBP vs. L SLG vs. L BA vs. R OBP vs. R SLG vs. R
Pete Crow-Armstrong .251 .302 .431 .257 .305 .473
Nico Hoerner .292 .343 .410 .272 .329 .372
Dansby Swanson .250 .320 .424 .238 .306 .389
Michael Busch .247 .332 .438 .262 .351 .507
Ian Happ .242 .329 .403 .246 .350 .439
Seiya Suzuki .268 .363 .490 .255 .334 .468
Alex Bregman .248 .347 .416 .237 .332 .398
Matt Shaw .248 .327 .418 .243 .319 .404
Moisés Ballesteros .247 .306 .363 .268 .331 .404
Carson Kelly .242 .327 .404 .225 .305 .367
Pedro Ramirez .250 .304 .338 .240 .293 .331
Jonathon Long .243 .339 .385 .248 .332 .366
Tyler Austin .247 .339 .464 .244 .323 .456
Miguel Amaya .250 .322 .375 .234 .303 .392
Jon Berti .247 .326 .321 .242 .308 .319
Forrest Wall .215 .292 .299 .242 .324 .342
Kevin Alcántara .242 .313 .394 .231 .291 .358
Dixon Machado .213 .312 .277 .203 .297 .260
Scott Kingery .209 .267 .336 .203 .262 .331
Carlos Santana .230 .321 .369 .206 .307 .333
Reese McGuire .216 .268 .314 .221 .271 .350
Hayden Cantrelle .194 .303 .282 .192 .305 .286
Brett Bateman .214 .297 .265 .232 .325 .294
Chase Strumpf .191 .304 .330 .186 .294 .314
Justin Dean .208 .296 .320 .212 .293 .297
Justin Turner .241 .333 .371 .241 .320 .361
BJ Murray Jr. .216 .303 .343 .205 .302 .328
Ariel Armas .200 .276 .286 .197 .261 .289
Jefferson Rojas .213 .284 .331 .203 .274 .305
Ben Cowles .222 .289 .333 .210 .274 .306
Cameron Sisneros .217 .305 .325 .226 .315 .346
Christian Bethancourt .205 .244 .370 .196 .230 .320
James Triantos .240 .287 .336 .236 .283 .318
Felix Stevens .206 .283 .364 .198 .274 .359
Pablo Aliendo .195 .256 .339 .188 .249 .321
Caleb Knight .179 .258 .214 .192 .276 .288
Devin Ortiz .217 .294 .295 .213 .282 .273
Parker Chavers .190 .273 .253 .202 .285 .282
Darius Hill .219 .272 .314 .230 .285 .318
Casey Opitz .159 .237 .232 .167 .247 .256
Leonel Espinoza .228 .278 .325 .220 .275 .301
Reivaj Garcia .241 .278 .278 .236 .273 .297
Carter Trice .177 .288 .344 .181 .274 .332
Drew Bowser .176 .271 .259 .178 .259 .269
Miguel Pabon .179 .267 .254 .180 .250 .234
Jordan Nwogu .208 .273 .308 .207 .270 .297
Edgar Alvarez .204 .265 .301 .224 .293 .317
Brian Kalmer .202 .283 .383 .184 .253 .309
Eriandys Ramon .177 .227 .258 .176 .213 .281
Haydn McGeary .198 .283 .292 .194 .277 .296
Alexis Hernandez .173 .244 .240 .175 .242 .249
Reginald Preciado .196 .245 .261 .190 .234 .258
Jaylen Palmer .177 .271 .282 .175 .256 .281
Ethan Hearn .161 .223 .276 .184 .244 .300
Luis Sanchez .149 .219 .164 .165 .239 .238
Christopher Paciolla .174 .219 .261 .169 .219 .229
Andy Garriola .190 .239 .324 .181 .234 .305
Rafael Morel .183 .259 .240 .179 .257 .250
Ed Howard .182 .236 .212 .168 .213 .211

Pitchers – Standard
Player T Age W L ERA G GS IP H ER HR BB SO
Justin Steele L 30 8 5 3.52 24 24 130.3 119 51 14 35 121
Matthew Boyd L 35 10 7 3.84 26 26 143.0 132 61 17 40 126
Edward Cabrera R 28 8 6 3.88 25 25 130.0 105 56 16 51 139
Shota Imanaga L 32 8 7 3.96 25 25 136.3 126 60 24 31 125
Cade Horton R 24 8 7 3.89 26 25 125.0 109 54 16 37 109
Jameson Taillon R 34 9 8 4.25 26 26 135.7 133 64 22 31 105
Javier Assad R 28 5 4 4.00 23 19 104.3 99 47 13 41 82
Hunter Harvey R 31 4 2 2.83 46 1 47.7 38 15 4 12 53
Ben Brown R 26 6 6 4.10 24 15 98.7 88 45 12 34 106
Jordan Wicks L 26 5 4 4.02 25 18 85.0 82 38 11 26 76
Colin Rea R 35 7 8 4.39 27 22 133.3 133 65 19 38 101
Connor Noland R 26 7 7 4.46 25 21 119.0 122 59 16 38 85
Will Sanders R 24 6 8 4.57 24 21 108.3 105 55 15 38 90
Daniel Palencia R 26 5 3 3.75 49 3 57.7 46 24 6 24 64
Aaron Civale R 31 6 6 4.57 23 20 106.3 99 54 16 34 93
Jaxon Wiggins R 24 4 4 4.48 20 19 72.3 66 36 9 36 63
Nick Dean R 25 4 4 4.52 16 15 65.7 66 33 10 21 53
Caleb Thielbar L 39 4 2 3.57 55 0 45.3 40 18 6 14 47
Phil Maton R 33 4 3 3.70 58 0 56.0 44 23 6 22 58
Chris Clarke R 28 3 4 4.50 17 9 60.0 60 30 7 17 43
Wil Jensen R 28 4 3 4.43 26 7 69.0 66 34 10 28 60
Walker Powell R 30 3 4 4.60 16 12 60.7 65 31 9 15 37
Porter Hodge R 25 4 5 4.16 43 5 62.7 50 29 7 34 72
Luke Little L 25 2 2 3.95 45 2 57.0 43 25 5 32 65
Austin Gomber L 32 5 6 4.84 20 18 100.3 104 54 17 27 75
Ryan Brasier R 38 1 1 3.89 39 1 37.0 33 16 4 11 30
Hoby Milner L 35 3 2 4.02 58 0 56.0 54 25 6 16 47
Connor Schultz R 27 3 3 4.71 22 11 70.7 74 37 11 21 52
Taylor Rogers L 35 3 3 4.08 52 0 46.3 40 21 6 21 52
Joe Ross R 33 2 2 4.45 32 5 56.7 56 28 7 22 45
Antonio Santos R 29 5 5 4.78 20 14 69.7 67 37 9 33 58
Zane Mills R 25 5 5 4.71 27 8 72.7 74 38 10 25 52
Chris Flexen R 31 5 6 4.89 26 15 95.7 99 52 15 37 70
Ryan Pressly R 37 2 3 4.17 43 0 41.0 40 19 5 15 34
Peter Solomon R 29 4 4 4.84 18 11 67.0 67 36 9 31 55
Ethan Roberts R 28 3 2 4.26 39 1 44.3 40 21 6 18 46
Brandon Birdsell R 26 4 6 4.97 18 18 83.3 84 46 15 26 62
Jacob Webb R 32 4 3 4.19 52 0 58.0 49 27 8 22 56
Sam McWilliams R 30 2 3 4.62 22 3 37.0 33 19 5 21 38
Ryan Jensen R 28 3 4 4.74 29 4 43.7 38 23 5 28 44
Eli Morgan R 30 2 2 4.30 37 0 44.0 41 21 6 15 38
Brad Deppermann R 30 2 2 4.37 32 0 35.0 36 17 5 12 27
Jeff Brigham R 34 3 3 4.59 29 1 33.3 28 17 5 17 38
Riley Martin L 28 4 4 4.42 41 1 57.0 49 28 7 33 60
Corbin Martin R 30 3 4 4.69 36 4 55.7 52 29 7 29 51
Ryan Rolison L 28 2 3 4.65 41 3 62.0 63 32 9 23 47
Yency Almonte R 32 1 2 4.45 30 0 30.3 26 15 4 15 29
Grant Kipp R 26 5 6 5.08 21 18 85.0 83 48 12 42 70
Collin Snider R 30 2 3 4.53 48 0 51.7 51 26 7 18 42
Tyler Schlaffer R 25 3 5 5.17 18 17 78.3 79 45 12 37 60
Chris Kachmar R 29 4 6 5.16 21 18 89.0 90 51 15 41 74
Nick Hull R 26 2 3 4.99 29 5 61.3 62 34 9 28 47
Tom Cosgrove L 30 3 2 4.62 44 0 48.7 42 25 6 24 46
Brandon Hughes L 30 3 3 4.81 36 1 43.0 40 23 7 18 42
Jack Neely R 26 2 1 4.57 34 0 41.3 37 21 6 21 43
Gavin Hollowell R 28 2 3 4.68 36 0 42.3 38 22 5 21 41
Tyson Miller R 30 2 3 4.88 35 3 51.7 47 28 7 26 45
Tyler Santana R 28 4 5 4.97 30 3 63.3 69 35 9 24 40
Nolan Clenney R 30 2 2 4.83 23 0 41.0 42 22 5 18 31
Tommy Romero R 28 3 4 5.29 19 10 66.3 67 39 11 33 48
Cayne Ueckert R 30 2 2 5.12 29 0 31.7 30 18 4 19 29
Zac Leigh R 28 2 3 4.75 38 0 41.7 39 22 6 23 37
Sam Thoresen R 27 1 2 5.32 24 0 23.7 22 14 3 18 22
Mitchell Tyranski L 28 3 4 4.76 40 0 45.3 43 24 7 23 41
Frankie Scalzo Jr. R 26 4 5 5.08 31 2 44.3 44 25 6 22 34
Erian Rodriguez R 24 4 7 5.48 18 14 70.7 75 43 11 33 48
Evan Taylor L 26 3 5 4.89 30 0 46.0 42 25 6 23 43
Robert Kwiatkowski R 29 3 4 4.98 25 1 43.3 45 24 6 19 30
Peyton Graham R 31 3 5 4.98 39 1 47.0 48 26 6 20 34

Pitchers – Advanced
Player IP K/9 BB/9 HR/9 BB% K% BABIP ERA+ 3ERA+ FIP ERA- WAR
Justin Steele 130.3 8.4 2.4 1.0 6.5% 22.4% .287 115 112 3.60 87 2.3
Matthew Boyd 143.0 7.9 2.5 1.1 6.7% 21.2% .282 105 99 3.91 95 2.0
Edward Cabrera 130.0 9.6 3.5 1.1 9.4% 25.6% .269 104 104 3.99 96 1.7
Shota Imanaga 136.3 8.3 2.0 1.6 5.6% 22.4% .271 102 99 4.39 98 1.7
Cade Horton 125.0 7.8 2.7 1.2 7.2% 21.1% .266 104 107 4.09 96 1.6
Jameson Taillon 135.7 7.0 2.1 1.5 5.5% 18.7% .275 95 91 4.48 105 1.3
Javier Assad 104.3 7.1 3.5 1.1 9.1% 18.3% .278 100 100 4.53 100 1.1
Hunter Harvey 47.7 10.0 2.3 0.8 6.3% 27.6% .281 143 137 2.91 70 1.1
Ben Brown 98.7 9.7 3.1 1.1 8.2% 25.4% .292 99 101 3.72 101 1.0
Jordan Wicks 85.0 8.0 2.8 1.2 7.2% 21.1% .291 101 103 4.05 99 0.9
Colin Rea 133.3 6.8 2.6 1.3 6.7% 17.9% .283 92 86 4.49 109 0.9
Connor Noland 119.0 6.4 2.9 1.2 7.4% 16.6% .287 91 94 4.49 110 0.8
Will Sanders 108.3 7.5 3.2 1.2 8.1% 19.2% .284 89 93 4.60 112 0.6
Daniel Palencia 57.7 10.0 3.7 0.9 9.8% 26.2% .276 108 113 3.75 93 0.6
Aaron Civale 106.3 7.9 2.9 1.4 7.6% 20.9% .276 88 87 4.50 113 0.5
Jaxon Wiggins 72.3 7.8 4.5 1.1 11.2% 19.6% .277 90 95 4.62 111 0.4
Nick Dean 65.7 7.3 2.9 1.4 7.4% 18.8% .287 89 95 4.53 112 0.4
Caleb Thielbar 45.3 9.3 2.8 1.2 7.4% 25.0% .283 113 106 3.74 88 0.4
Phil Maton 56.0 9.3 3.5 1.0 9.5% 25.1% .264 109 102 4.04 91 0.3
Chris Clarke 60.0 6.5 2.6 1.1 6.7% 16.9% .286 90 91 4.30 111 0.3
Wil Jensen 69.0 7.8 3.7 1.3 9.4% 20.1% .283 91 93 4.66 110 0.3
Walker Powell 60.7 5.5 2.2 1.3 5.8% 14.3% .286 88 87 4.71 114 0.3
Porter Hodge 62.7 10.3 4.9 1.0 12.4% 26.3% .277 97 103 4.14 103 0.3
Luke Little 57.0 10.3 5.1 0.8 13.1% 26.5% .271 102 107 4.02 98 0.3
Austin Gomber 100.3 6.7 2.4 1.5 6.3% 17.6% .285 83 81 4.71 120 0.2
Ryan Brasier 37.0 7.3 2.7 1.0 7.2% 19.6% .271 104 93 3.92 96 0.2
Hoby Milner 56.0 7.6 2.6 1.0 6.8% 20.1% .291 101 95 3.90 99 0.1
Connor Schultz 70.7 6.6 2.7 1.4 6.9% 17.0% .289 86 88 4.73 117 0.1
Taylor Rogers 46.3 10.1 4.1 1.2 10.6% 26.3% .288 99 92 4.22 101 0.1
Joe Ross 56.7 7.1 3.5 1.1 9.0% 18.4% .288 91 88 4.50 110 0.1
Antonio Santos 69.7 7.5 4.3 1.2 10.7% 18.9% .284 85 84 4.81 118 0.1
Zane Mills 72.7 6.4 3.1 1.2 8.0% 16.6% .286 86 91 4.72 116 0.1
Chris Flexen 95.7 6.6 3.5 1.4 8.8% 16.7% .286 83 81 4.96 121 0.0
Ryan Pressly 41.0 7.5 3.3 1.1 8.5% 19.2% .289 97 88 4.26 103 0.0
Peter Solomon 67.0 7.4 4.2 1.2 10.4% 18.4% .291 84 84 4.75 119 0.0
Ethan Roberts 44.3 9.3 3.7 1.2 9.5% 24.2% .288 95 95 4.34 105 0.0
Brandon Birdsell 83.3 6.7 2.8 1.6 7.3% 17.4% .275 81 85 5.13 123 0.0
Jacob Webb 58.0 8.7 3.4 1.2 9.1% 23.1% .265 97 93 4.32 104 0.0
Sam McWilliams 37.0 9.2 5.1 1.2 12.6% 22.8% .283 88 87 4.89 114 0.0
Ryan Jensen 43.7 9.1 5.8 1.0 14.1% 22.2% .282 85 87 4.77 117 -0.1
Eli Morgan 44.0 7.8 3.1 1.2 8.1% 20.4% .278 94 93 4.30 106 -0.1
Brad Deppermann 35.0 6.9 3.1 1.3 7.8% 17.6% .292 93 92 4.59 108 -0.1
Jeff Brigham 33.3 10.3 4.6 1.4 11.8% 26.4% .277 88 82 4.54 114 -0.1
Riley Martin 57.0 9.5 5.2 1.1 13.0% 23.7% .282 91 93 4.55 109 -0.1
Corbin Martin 55.7 8.2 4.7 1.1 11.7% 20.6% .287 86 85 4.64 116 -0.1
Ryan Rolison 62.0 6.8 3.3 1.3 8.5% 17.4% .287 87 89 4.70 115 -0.1
Yency Almonte 30.3 8.6 4.5 1.2 11.5% 22.1% .268 91 87 4.75 110 -0.1
Grant Kipp 85.0 7.4 4.4 1.3 11.1% 18.5% .284 80 82 5.19 126 -0.1
Collin Snider 51.7 7.3 3.1 1.2 8.1% 19.0% .288 89 91 4.52 112 -0.2
Tyler Schlaffer 78.3 6.9 4.3 1.4 10.6% 17.2% .284 78 82 5.23 128 -0.2
Chris Kachmar 89.0 7.5 4.1 1.5 10.4% 18.7% .287 78 78 5.24 128 -0.2
Nick Hull 61.3 6.9 4.1 1.3 10.3% 17.2% .286 81 85 5.10 123 -0.2
Tom Cosgrove 48.7 8.5 4.4 1.1 11.4% 21.9% .271 87 87 4.66 114 -0.2
Brandon Hughes 43.0 8.8 3.8 1.5 9.7% 22.6% .282 84 85 4.86 119 -0.2
Jack Neely 41.3 9.4 4.6 1.3 11.4% 23.2% .284 88 90 4.71 113 -0.3
Gavin Hollowell 42.3 8.7 4.5 1.1 11.4% 22.2% .284 86 87 4.53 116 -0.3
Tyson Miller 51.7 7.8 4.5 1.2 11.5% 19.9% .274 83 82 4.92 121 -0.3
Tyler Santana 63.3 5.7 3.4 1.3 8.5% 14.2% .293 81 84 4.98 123 -0.3
Nolan Clenney 41.0 6.8 4.0 1.1 9.9% 17.0% .294 84 84 4.70 119 -0.3
Tommy Romero 66.3 6.5 4.5 1.5 11.1% 16.2% .277 76 78 5.45 131 -0.3
Cayne Ueckert 31.7 8.2 5.4 1.1 13.2% 20.1% .289 79 79 5.15 127 -0.4
Zac Leigh 41.7 8.0 5.0 1.3 12.4% 19.9% .280 85 86 5.20 118 -0.4
Sam Thoresen 23.7 8.4 6.8 1.1 15.9% 19.5% .288 76 78 5.49 132 -0.4
Mitchell Tyranski 45.3 8.1 4.6 1.4 11.4% 20.4% .281 85 86 5.08 118 -0.4
Frankie Scalzo Jr. 44.3 6.9 4.5 1.2 10.9% 16.9% .284 80 82 5.08 126 -0.4
Erian Rodriguez 70.7 6.1 4.2 1.4 10.4% 15.1% .287 74 79 5.57 135 -0.4
Evan Taylor 46.0 8.4 4.5 1.2 11.3% 21.1% .281 83 86 4.95 120 -0.4
Robert Kwiatkowski 43.3 6.2 3.9 1.2 9.8% 15.5% .287 81 82 5.03 123 -0.4
Peyton Graham 47.0 6.5 3.8 1.1 9.6% 16.3% .290 81 80 4.91 123 -0.4

Pitchers – Top Near-Age Comps
Player Pit Comp 1 Pit Comp 2 Pit Comp 3
Justin Steele Tommy John Jack Kralick Zane Smith
Matthew Boyd Bruce Hurst Jeff Fassero J.A. Happ
Edward Cabrera Tim Belcher Bill Voiselle Darren Dreifort
Shota Imanaga Floyd Bannister Wilbur Cooper Bob Knepper
Cade Horton Taijuan Walker Antonio Senzatela Michael Wacha
Jameson Taillon Jeremy Guthrie Jeff Samardzija Johnny Sain
Javier Assad John Whitehead Floyd Wooldridge Jimmie DeShong
Hunter Harvey Bobby Jenks Tommy Hunter Ryan Madson
Ben Brown Jim McGlothlin Esteban Yan Vladimir Nunez
Jordan Wicks Cory Luebke Mark Malaska Paul Oseguera
Colin Rea Jeremy Guthrie Jeff Samardzija Jason Hammel
Connor Noland Jen-Ho Tseng Kyle Middleton Shao-Ching Chiang
Will Sanders Mark Leiter Brett Schlomann Armando Diaz
Daniel Palencia J.B. Wendelken Rowan Wick Scott Sullivan
Aaron Civale Jack Armstrong Ramon Ortiz Greg Harris
Jaxon Wiggins Gerald Herron Freddie Martinez Danny Leon
Nick Dean Andy Ferguson Nate Sevier Trey Delk
Caleb Thielbar Al Brazle Bobby Shantz Gary Lavelle
Phil Maton Scott Sullivan Dustin Hermanson Chad Durbin
Chris Clarke Fritz Dorish Brad Rigby Eddie Gamboa
Wil Jensen Brett Backlund Seung Hak Lee Jarrett Grube
Walker Powell Jim Hardin Bryan Clutterbuck Ryan Hawblitzel
Porter Hodge Hisel Patrick Ken Ryan Jose Roman
Luke Little Mike Kilkenny Franklin Morales Jordan Norberto
Austin Gomber Terry Mulholland Wei-Yin Chen Scott McGregor
Ryan Brasier LaTroy Hawkins Art Fowler Bobby Tiefenauer
Hoby Milner Fred Baczewski Ken Lehman John Halama
Connor Schultz Zac Grotz Nick Kingham Kellen Moen
Taylor Rogers Neal Cotts Jerry Don Gleaton Pat Venditte
Joe Ross Javy Guerra Rob Scahill Ray Washburn
Antonio Santos Jeremy Hall James Russ Corey Baker
Zane Mills Dillon Tate Matt Schwager Pat Ludwig
Chris Flexen Bob Milacki Joe Oeschger Austin Bibens-Dirkx
Ryan Pressly LaTroy Hawkins Maximo De La Rosa Jason Childers
Peter Solomon Corey Baker Kyle Zaleski Kevin McGowan
Ethan Roberts Miguel Alicea Brandon Agamennone Jim Czajkowski
Brandon Birdsell Parker Bridwell José Taveras Jeremy Gooding
Jacob Webb Rich Monteleone Aaron Heilman Luis Vizcaino
Sam McWilliams Matt Gorgen Rafael Martin Steve Johnson
Ryan Jensen Jose Ortega Colby Ward Mike Mehlich
Eli Morgan Billy Loes Keith Atherton Gene Nelson
Brad Deppermann Josh Lansford Rawly Eastwick Gary Haught
Jeff Brigham Don Larsen Alan Mills Jim Hughes
Riley Martin Mark Bowden Bob Schultz Sid Monge
Corbin Martin Kurt Kepshire Garrett Mock Alex Wimmers
Ryan Rolison Dennis Moeller Clint Goocher Mike Farmer
Yency Almonte Lerrin LaGrow Freddy Schmidt Matt Karchner
Grant Kipp Jeff Perry John Hoover Scott Scudder
Collin Snider John Church Paul Phillips Jose Silva
Tyler Schlaffer Felix Pena Hunter Adkins Dan Hall
Chris Kachmar Gaby Hernandez Sammy Ellis Jack Lutz
Nick Hull Jeremy King Travis Anderson Greg Pavlick
Tom Cosgrove Bob Macdonald Dean Hartgraves Dan Meyer
Brandon Hughes Frankie Reed Tommy Hottovy Steve Sinclair
Jack Neely David Wong Terry Bross Fred Wenz
Gavin Hollowell Rafael Medina Jose Ortega Mike Rossiter
Tyson Miller Mike Gardiner Vito Valentinetti Ray Moss
Tyler Santana Stephen Perakslis Todd Genke Jack Whillock
Nolan Clenney Edgar Ramirez Sam Runion Mike Welch
Tommy Romero Jose Lopez Fred Talbot Jason Secoda
Cayne Ueckert Rich Simon Brandon Cunniff Daryl Patterson
Zac Leigh Joe Kerrigan Jim Winn Jamie Emiliano
Sam Thoresen David Wong Rick Raether Brian Kolbe
Mitchell Tyranski Colin Young Kevin Hickey Frankie Reed
Frankie Scalzo Jr. Mike Clarkin Greg Johnson Raul Fernandez
Erian Rodriguez Ralph Schulz Jeff Fulchino Steven Sundra
Evan Taylor Wade Korpi Lou Marone Bob Cluck
Robert Kwiatkowski Sam Runion Matt Petrusek Edgar Ramirez
Peyton Graham Ramon Troncoso Rick Heiserman Jon Velasquez

Pitchers – Splits and Percentiles
Player BA vs. L OBP vs. L SLG vs. L BA vs. R OBP vs. R SLG vs. R 80th WAR 20th WAR 80th ERA 20th ERA
Justin Steele .217 .280 .292 .243 .293 .401 3.3 1.3 2.94 4.16
Matthew Boyd .224 .274 .344 .246 .305 .407 2.8 0.9 3.33 4.61
Edward Cabrera .230 .320 .381 .205 .282 .357 2.8 0.6 3.29 4.62
Shota Imanaga .231 .283 .373 .245 .289 .457 2.6 0.6 3.47 4.65
Cade Horton .250 .316 .399 .214 .269 .379 2.4 0.7 3.44 4.50
Jameson Taillon .255 .312 .439 .249 .279 .440 2.1 0.4 3.75 4.85
Javier Assad .240 .327 .377 .251 .317 .425 1.8 0.4 3.62 4.57
Hunter Harvey .226 .293 .357 .204 .250 .312 1.6 0.4 2.10 4.15
Ben Brown .234 .304 .400 .227 .289 .367 1.8 0.1 3.48 4.87
Jordan Wicks .265 .321 .422 .238 .294 .398 1.6 0.1 3.44 4.81
Colin Rea .264 .326 .452 .245 .294 .402 1.7 0.0 3.85 5.01
Connor Noland .260 .321 .439 .256 .306 .412 1.6 0.0 3.95 5.02
Will Sanders .235 .317 .362 .257 .322 .452 1.3 -0.1 4.05 5.12
Daniel Palencia .196 .303 .314 .230 .302 .381 1.2 -0.1 3.06 4.62
Aaron Civale .235 .307 .418 .249 .308 .418 1.3 -0.3 4.01 5.31
Jaxon Wiggins .238 .324 .392 .236 .329 .385 0.9 -0.2 4.03 5.09
Nick Dean .238 .299 .385 .264 .316 .457 0.8 -0.1 4.03 5.12
Caleb Thielbar .209 .264 .373 .245 .302 .406 0.9 -0.3 2.67 4.94
Phil Maton .223 .324 .372 .207 .299 .342 1.0 -0.4 2.95 4.78
Chris Clarke .252 .311 .414 .252 .309 .386 0.7 -0.1 4.00 5.09
Wil Jensen .231 .318 .408 .259 .325 .417 0.8 -0.3 3.91 5.03
Walker Powell .292 .333 .467 .246 .295 .418 0.6 -0.1 4.14 5.15
Porter Hodge .219 .331 .343 .208 .311 .362 1.0 -0.3 3.49 5.01
Luke Little .197 .321 .338 .210 .329 .326 0.8 -0.4 3.26 4.95
Austin Gomber .243 .282 .408 .267 .316 .466 0.9 -0.5 4.26 5.45
Ryan Brasier .276 .344 .483 .215 .267 .329 0.5 -0.2 3.15 4.94
Hoby Milner .230 .277 .333 .260 .324 .427 0.7 -0.5 3.22 4.98
Connor Schultz .244 .302 .417 .274 .327 .465 0.6 -0.4 4.17 5.36
Taylor Rogers .203 .309 .288 .239 .328 .436 0.6 -0.5 3.15 5.38
Joe Ross .264 .352 .453 .237 .295 .356 0.5 -0.3 3.89 5.22
Antonio Santos .232 .340 .368 .259 .333 .435 0.7 -0.4 4.21 5.40
Zane Mills .276 .340 .433 .242 .309 .422 0.6 -0.3 4.21 5.28
Chris Flexen .241 .316 .429 .278 .338 .455 0.7 -0.6 4.32 5.46
Ryan Pressly .243 .317 .378 .253 .313 .425 0.4 -0.5 3.38 5.38
Peter Solomon .242 .328 .383 .262 .337 .441 0.6 -0.5 4.23 5.52
Ethan Roberts .228 .315 .405 .237 .321 .387 0.5 -0.4 3.52 5.03
Brandon Birdsell .270 .326 .460 .245 .313 .460 0.6 -0.6 4.46 5.57
Jacob Webb .211 .296 .368 .240 .311 .413 0.5 -0.6 3.45 5.12
Sam McWilliams .224 .325 .358 .240 .363 .440 0.3 -0.5 4.01 5.68
Ryan Jensen .237 .370 .434 .222 .330 .333 0.3 -0.5 4.10 5.56
Eli Morgan .247 .301 .416 .242 .314 .407 0.3 -0.5 3.56 5.13
Brad Deppermann .284 .360 .463 .233 .278 .397 0.2 -0.4 3.74 5.05
Jeff Brigham .228 .343 .421 .221 .308 .397 0.3 -0.5 3.72 5.94
Riley Martin .239 .360 .380 .219 .320 .377 0.4 -0.7 3.80 5.21
Corbin Martin .245 .341 .406 .236 .325 .391 0.4 -0.6 4.06 5.47
Ryan Rolison .269 .310 .463 .251 .323 .413 0.3 -0.6 4.04 5.38
Yency Almonte .240 .345 .380 .222 .324 .413 0.2 -0.4 3.69 5.38
Grant Kipp .260 .360 .438 .236 .333 .400 0.4 -0.8 4.62 5.73
Collin Snider .271 .351 .459 .235 .292 .378 0.2 -0.7 3.91 5.31
Tyler Schlaffer .255 .346 .433 .253 .335 .435 0.2 -0.8 4.76 5.82
Chris Kachmar .266 .351 .469 .246 .327 .429 0.5 -0.9 4.55 5.81
Nick Hull .259 .351 .440 .252 .329 .417 0.2 -0.6 4.45 5.58
Tom Cosgrove .209 .312 .343 .241 .346 .414 0.2 -0.8 3.96 5.61
Brandon Hughes .232 .306 .357 .245 .339 .464 0.2 -0.7 3.98 5.77
Jack Neely .257 .360 .432 .212 .306 .376 0.1 -0.7 3.93 5.32
Gavin Hollowell .247 .360 .411 .222 .311 .367 0.1 -0.7 4.10 5.56
Tyson Miller .239 .340 .386 .239 .333 .422 0.2 -0.8 4.19 5.69
Tyler Santana .269 .338 .445 .270 .331 .431 0.1 -0.8 4.47 5.65
Nolan Clenney .270 .365 .432 .244 .310 .400 0.0 -0.7 4.18 5.70
Tommy Romero .250 .338 .435 .263 .346 .453 0.1 -0.9 4.80 6.00
Cayne Ueckert .259 .377 .448 .227 .342 .364 0.0 -0.7 4.35 6.14
Zac Leigh .253 .366 .456 .229 .330 .373 0.0 -0.8 4.15 5.56
Sam Thoresen .209 .370 .326 .265 .373 .449 -0.2 -0.7 4.66 6.34
Mitchell Tyranski .231 .333 .369 .252 .344 .459 0.0 -0.8 4.20 5.41
Frankie Scalzo Jr. .250 .351 .405 .256 .340 .433 -0.1 -0.8 4.56 5.75
Erian Rodriguez .269 .365 .440 .260 .345 .460 0.0 -1.0 5.02 6.08
Evan Taylor .210 .319 .290 .250 .358 .457 0.0 -0.8 4.26 5.64
Robert Kwiatkowski .276 .353 .474 .250 .330 .396 0.0 -0.7 4.39 5.77
Peyton Graham .256 .343 .407 .257 .333 .426 0.0 -0.8 4.30 5.75

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.


Centers of Attention: Carlos Beltrán and Andruw Jones Elected to the Hall of Fame

Robert Deutsch-USA TODAY NETWORK via Imagn Images and Jason Parkhurst-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, see here. All WAR figures refer to the Baseball Reference version unless otherwise indicated.

When it comes to center fielders and the Hall of Fame, BBWAA voters have been a particularly picky lot. It’s all too easy to say, “This guy was no Ty Cobb,” or “This guy was no Willie Mays.” Who can live up to standards like that? Until Tuesday, just nine center fielders had been elected by the writers, fewer than any other position, but when Josh Rawitch announced the results of the 2026 balloting, two more joined them: fourth-year candidate Carlos Beltrán and ninth-year candidate Andruw Jones.

Beltrán, a five-tool player with 2,725 career hits, 312 stolen bases and the no. 9 ranking among center fielders in JAWS, received 84.2% of the vote, up from 70.3% last year. He had to overcome some initial resistance to his candidacy owing to his involvement in the Astros’ illegal sign-stealing scandal at the end of his career while helping the Astros win the 2017 World Series. Commissioner Rob Manfred’s 2020 report placed him at the center of Houston’s scheme, and it cost him his job as Mets skipper before he could manage a single game. Despite his transgression, he received 46.5% of the vote in his 2023 ballot debut, and followed with three straight years of double-digit gains. Read the rest of this entry »


Toronto Blue Jays Top 40 Prospects

Kiyoshi Mio-Imagn Images

Below is an analysis of the prospects in the farm system of the Toronto Blue Jays. Scouting reports were compiled with information provided by industry sources as well as my own observations. This is the sixth year we’re delineating between two anticipated relief roles, the abbreviations for which you’ll see in the “position” column below: MIRP for multi-inning relief pitchers, and SIRP for single-inning relief pitchers. The ETAs listed generally correspond to the year a player has to be added to the 40-man roster to avoid being made eligible for the Rule 5 draft. Manual adjustments are made where they seem appropriate, but we use that as a rule of thumb.

A quick overview of what FV (Future Value) means can be found here. A much deeper overview can be found here.

All of the ranked prospects below also appear on The Board, a resource the site offers featuring sortable scouting information for every organization. It has more details (and updated TrackMan data from various sources) than this article and integrates every team’s list so readers can compare prospects across farm systems. It can be found here. Read the rest of this entry »


JAWS and the 2026 Hall of Fame Ballot: Nick Markakis

Rick Osentoski-USA TODAY Sports

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, see here. All WAR figures refer to the Baseball Reference version unless otherwise indicated.

2026 BBWAA Candidate: Nick Markakis
Player Pos Career WAR Peak WAR JAWS H HR SB AVG/OBP/SLG OPS+
Nick Markakis RF 33.7 24.6 29.2 2,388 189 66 .288/.357/.423 109
Source: Baseball-Reference

Early in his career, Nick Markakis appeared to be a star in the making. In his second and third seasons in the majors (2007 and ’08), the former first-round pick topped 40 doubles, 20 homers, and a .300 batting average while slugging nearly .500. He led the AL in WAR in 2008, his age-24 campaign — not that anyone was aware of it at the time, which helps to explain his omission from that year’s AL All-Star team.

It would take another decade before Markakis finally became an All-Star, and during that stretch, his performances leveled off. He became better known for his durability, his defense (he won three Gold Gloves), and above all, the example he set for younger players while enduring lean years both in Baltimore and Atlanta. He stuck around long enough to help both teams’ rebuilding efforts come to fruition with playoff appearances, racking up so many hits that he generated discussion regarding his potential Hall-worthiness if he persisted long enough to reach the magic 3,000-hit milestone.

Markakis’ retirement after his age-36 season rendered that question moot. He didn’t generate a Hall-caliber résumé or gaudy statistics during his 15-year career, but he received considerable praise for his impact on his teammates. From Braves manager Brian Snitker, who managed him from 2016–20:

“One of the most consistent, professional pros that I’ve ever been around. I’m glad I had the honor to manage him in his last years, because he’s a special player… How consistent he was, how professional he was, the way he played the game, how he grinded every at-bat. He never took a pitch off. And to see what he did late in his career, winning that Gold Glove, and the stabilizing force that he was for our club while I was here. You don’t appreciate a guy like Nick until you manage him. What a great career he had.”

Read the rest of this entry »


Sunday Notes: Red Sox Prospect Franklin Arias Aspires To Out-Power Luis Arraez

Franklin Arias has a bright future in Boston. Signed out of Venezuela in 2023, the 20-year-old shortstop is the top position-player prospect in the Red Sox system thanks to plus tools on both sides of the ball. A slick-fielder — Eric Longenhagen has described him as an incredibly polished defender for his age” — Arias possesses a line-drive stroke that produced a 109 wRC+ across three levels last season. And while that number may not jump off the page, it stands out when put into context: the Caracas native not only played the entire year as a teenager, he finished it in Double-A.

The degree to which he can boost his power profile will go a long way toward determining his ceiling. Currently more contact than pop, Arias went deep just eight times in 526 plate appearances. At a listed 5-foot-11, 170 pounds, he is by no means built like a bopper.

Red Sox farm director Brian Abraham brought up that aspect of Arias’s game when I asked him about the young infielder earlier this week.

“He’s a guy who makes really good swing decisions,” Abraham said of Arias, who posted a 10.1% strikeout rate and a 5.3% swinging-strike rate in 2025. “He puts the bat on the ball and can drive it to all fields. We’re looking to see him add size and strength so that he can really impact the ball pull-side in the air.

“It’s definitely in there,” added Abraham. “We’ve seen flashes of it, it’s just a matter of him being able to do that on a consistent basis. As a young player who is continuing to grow and get bigger, I think it will come out the more he is able to hit the ball out front and drive it to the pull side. Right now I would say that he is a contact hitter with occasional power, and that the power can be more consistent than it has been.”

Not surprisingly, Arias echoed Abraham’s thoughts when addressing his near-term development goals. Read the rest of this entry »


FanGraphs Weekly Mailbag: January 17, 2026

Patrick Gorski and Troy Taormina-Imagn Images

Never let anyone tell you that there are no rebounds in baseball. That’s utter nonsense, and it is our responsibility to say so. If you need evidence to support your rebuttal, just look at what happened this past week in free agency.

Since our last mailbag ran, Alex Bregman signed a five-year, $175 million contract to play for the Cubs after opting out of the deal he signed last February with the Red Sox. The Cubs knew they weren’t in the running to re-sign Bregman’s former Astros teammate, Kyle Tucker, so they instead beefed up their lineup with the third baseman. In response to missing out on Bregman, Boston bounced back with someone completely different, agreeing to a five-year, $130 million deal with left-handed starting pitcher Ranger Suárez, phormerly of the Phillies, who had spent much of the first half of January courting Bo Bichette, whose long-time team, the Blue Jays, had their sights set on Tucker, the top-ranked free agent of the offseason. It seemed that Tucker was choosing between Toronto and the Mets, and was nearing a decision, when at the last minute the Dodgers swooped in with a four-year, $240 million offer that Tucker simply couldn’t turn down. Spurned by Tucker, the Mets splurged on Friday, snatching up Bichette for at least one season (the deal can max out at three years and $126 million) before Philadelphia could do it. Not long after, the Phillies phinally phigured they should stop playing the phield and instead rekindle an old phlame; they re-signed catcher J.T. Realmuto to a three-year, $45 million contract.

For those of you keeping score at home, the Cubs rebounded from Tucker with Bregman; the Red Sox rebounded from Bregman with Suárez; the Phillies rebounded from Suárez and Bichette with Realmuto; and the Mets rebounded from their failed pursuit of Tucker with Bichette. That leaves the Blue Jays as the one team still looking for a rebound. Tune in next week to find out if they turned to Cody Bellinger to help them get over Tucker. We won’t be covering baseball’s newest hit Realmutality TV series for the remainder of today’s mailbag. If you want to go behind the scenes of all the drama, all the tea is linked in the quick recap above, or you can go deeper by reading Jon Becker’s latest Matrix Reloaded column. Instead, we’ll be answering your questions about the most exciting potential World Baseball Classic matchups, the WAR value of Edwin Encarnación’s parrot, and an alternative universe in which the PCL teams joined Major League Baseball back in the late 1950s. But first, I’d like to remind you that this mailbag is exclusive to FanGraphs Members. If you aren’t yet a Member and would like to keep reading, you can sign up for a Membership here. It’s the best way to both experience the site and support our staff, and it comes with a bunch of other great benefits. Also, if you’d like to ask a question for an upcoming mailbag, send me an email at mailbag@fangraphs.com. Read the rest of this entry »


Tomorrow Is Not Promised. Today, Bo Bichette Is a Met.

John E. Sokolowski-Imagn Images

The stove is piping hot, my friends.

Just over 12 hours after Kyle Tucker’s bombshell signing with the Dodgers, Bo Bichette is also on the move. To the New York Mets, on a three-year, $126 million contract with opt-outs after each of the first two seasons. A shortstop throughout his career to this point, Bichette is expected to play third base for the Mets, who have a pretty solid incumbent shortstop already.

Bichette and the Dodgers had been in discussions over a short-term, high-AAV deal like the one Tucker ultimately signed, but Bichette, like most free agents, seemed to be interested in a contract with more term and overall value, but a lower annual salary. Back in August, I made a case for Bichette to cash in by pitching him as Trea Turner, but slow. And when America went to bed on Thursday, the smart money was on Bichette signing with the Phillies, who had already invested $300 million in Original Recipe Turner.

The Mets were reeling from Tucker’s rejection, amidst mortifying vagueposting from Steve Cohen. (Seriously, if you’re worth more than $500 million, you should not be allowed on social media.) But credit to Cohen and David Stearns, who suddenly found themselves with $220 million earmarked for Tucker, and no Tucker to spend that money on. They not only grabbed the next-best bat left on the market, in so doing they put a finger in the eye of their division rival. Read the rest of this entry »


Broken Record: Dodgers Land Top Free Agent Kyle Tucker While Setting a New Contract Standard

Rick Scuteri-Imagn Images

The Dodgers have struck again. For the second winter out of the past three, they’ve snuck in and landed the top free agent on the market, just when he was expected to sign elsewhere. But unlike Shohei Ohtani, who in December 2023 nearly signed with the Blue Jays before agreeing to a 10-year, $700 million contract with the Dodgers, one in which all but $2 million per season was deferred, Kyle Tucker has gone for a short-term deal of four years and $240 million.

According to ESPN’s Jeff Passan, the deal includes a $64 million signing bonus; $30 million of the total salary is deferred, reducing the net present value to $57.1 million a year. That still means that Tucker, who will turn 29 on Saturday, has set a record for the highest average annual value of any contract, exceeding that of last year’s record-setter, Juan Soto, by about 12%, albeit on a much shorter deal:

Highest Paid Players by Average Annual Value
Player Team Total $ (Mil) Years Span AAV (Mil)
Kyle Tucker Dodgers $240.0 4 2026–29 $57.1*
Juan Soto Mets $765.0 15 2025–39 $51.0
Shohei Ohtani Dodgers $700.0 10 2024–33 $46.1*
Justin Verlander Mets $86.67 2 2023-24 $43.3
Max Scherzer Mets $130.0 3 2022–24 $43.3
Zack Wheeler Phillies $126.0 3 2025–27 $42.0
Bo Bichette Mets $126.0 3 2026–28 $42.0
Aaron Judge Yankees $360.0 9 2023–31 $40.0
Jacob deGrom Rangers $185.0 5 2023–27 $37.0
Gerrit Cole Yankees $360.0 9 2020–28 $36.0
Source: Cot’s Contracts
All dollar values in millions. * = factoring in deferrals. Blue = expired contract.

Read the rest of this entry »


2026 International Prospect Rankings and Scouting Reports

Peter Aiken-Imagn Images

Today is the first day of the new international signing period, so it’s time for me to share updated evaluations and bonus information for the players in this class. An overview of the rules that govern signing international amateurs can be found in MLB’s glossary here, while more thorough and detailed information can be found starting on page 316 of the Collective Bargaining Agreement and page 38 of the Official Professional Baseball Rules Book. Players have until December 15 to agree to terms before this signing period closes.

Short scouting reports, tool grades, and projected signing teams for 59 players from the 2026 class can now be viewed over on The Board. The table below includes team and bonus projections for all players my sources indicate will receive $1 million or more, as well as a handful of six-figure sleepers who emerged during compilation. Below, I’ll remind you of my process for building this list, and then discuss some storylines coloring this year’s signing period. Read the rest of this entry »