Author Archive

Dan Szymborski FanGraphs Chat – 2/20/25

12:00
Avatar Dan Szymborski: And away we go!

12:01
Wrights_Back: What would the Mets have to give up to get Cease – if he is available?

12:02
Avatar Dan Szymborski: I think the closer we get to the season, the more the Padres will hang onto him.

12:03
Avatar Dan Szymborski: The Mets would certainly have to give up something real. YOu can probably fatten the offer a bit with guys the Padres have more reason to like than the Mets.

12:04
Avatar Dan Szymborski: Like Clifford, who is probably more useful to San Diego, but you’re not going to land him with JUST Clifford

12:04
Avatar Dan Szymborski: I kinda get the idea that the mets are happyw ith their rotation, and not likely to meet a rich price

Read the rest of this entry »


ZiPS 2025 Top 100 Prospects

Joe Camporeale-Imagn Images

For the 10th time in 11 years (there was no 2019 list), we’ve reached the point in the winter where I oil up the gears, fill the tank with kerosene, and fire up the computer to run the ZiPS Top 100 Prospects list. In case this is the first time you’ve ever encountered ZiPS, it’s a computer projection system that uses a whole lot of algorithms (and a depressing amount of linear algebra) to arrive at a forecast of how players will perform in the future and, according to some, to express my personal disdain for your favorite team — and, sometimes, my favorite team!

ZiPS prospect projections are not designed to replace traditional scouting. These should be thought of as a supplement to scouting lists, my best attempt to harness all the data that is available to get a numbers-based understanding of how good a prospect is. There’s a lot of uncertainty in lower-level minor league stats that isn’t present at the upper levels. As such, non-statistical information about players takes on added value. ZiPS doesn’t seek to be the one-ring-to-bind-them-all-unified-field-theory-giant-Katamari-Damacy-ball of prognostication; it aims to give the very best data-generated predictions possible, for people to use, ignore, mock, or worship according to their personal tastes.

How does it work? Let’s dial back a decade and see how the 2015 list fared:

ZiPS Top 100 Prospects – 2015
ZiPS Player WAR
1 Kris Bryant 29.7
2 Joc Pederson 17.5
3 Francisco Lindor 54.2
4 Addison Russell 11.7
5 J.P. Crawford 15.0
6 Joey Gallo 13.1
7 Byron Buxton 22.2
8 Carlos Correa 38.1
9 Miguel Sanó 8.1
10 Corey Seager 37.1
11 Julio Urías 14.1
12 Lucas Giolito 13.8
13 Noah Syndergaard 20.5
14 Carlos Rodón 19.8
15 David Dahl 2.0
16 Andrew Heaney 12.2
17 Tyler Glasnow 13.7
18 Jon Gray 21.2
19 Jorge Soler 7.7
20 Hunter Harvey 3.1
21 Henry Owens 0.5
22 Adalberto Mondesi 6.9
23 Blake Swihart 0.6
24 Daniel Norris 5.0
25 Daniel Robertson 0.0
26 Orlando Arcia 5.9
27 Kevin Plawecki 3.0
28 Aaron Blair -0.7
29 Aaron Sanchez 5.7
30 Eduardo Rodriguez 18.6
31 Marco Gonzales 10.3
32 Steven Matz 10.5
33 Andrew Susac -0.4
34 Dalton Pompey 0.0
35 Austin Hedges 7.9
36 A.J. Cole 0.6
37 Rafael Montero 3.0
38 Rafael Devers 25.5
39 Mark Appel 0.1
40 Brandon Nimmo 24.9
41 J.T. Realmuto 34.9
42 Dilson Herrera 0.3
43 Trea Turner 41.1
44 Alen Hanson -0.6
45 Alfredo Gonzalez 0.0
46 Franklin Barreto -1.2
47 Braden Shipley -0.6
48 Aaron Judge 51.4
49 Ozzie Albies 20.5
50 Jesse Winker 8.6
51 Hunter Renfroe 9.9
52 Clint Coulter 0.0
53 Austin Meadows 6.0
54 Dylan Bundy 10.2
55 Kyle Schwarber 16.7
56 Justin O’Conner 0.0
57 Albert Almora Jr. 3.0
58 Austin Barnes 8.4
59 Manuel Margot 9.4
60 Greg Bird 0.6
61 José Peraza 4.4
62 Maikel Franco 3.6
63 Jorge Polanco 15.4
64 Edwin Escobar -0.4
65 Jameson Taillon 17.6
66 Christian Bethancourt 1.4
67 Brett Phillips -0.3
68 Jorge Alfaro 3.8
69 Wilmer Difo 1.6
70 Alex Meyer 1.0
71 Archie Bradley 6.4
72 Brandon Drury 5.2
73 Nick Kingham -0.5
74 Matt Olson 26.4
75 Amed Rosario 8.9
76 Josh Bell 9.6
77 Ryan McMahon 10.0
78 Joe Ross 6.9
79 Mike Foltynewicz 6.9
80 Eddie Butler -0.5
81 Colin Moran 1.6
82 Rio Ruiz -0.8
83 Kyle Zimmer 0.2
84 Rosell Herrera -0.7
85 José Rondón -0.7
86 Tim Cooney 0.4
87 Aaron Nola 37.0
88 Clayton Blackburn 0.0
89 Trevor Story 23.8
90 Kyle Freeland 13.2
91 Reese McGuire 4.4
92 Reynaldo López 12.5
93 Steven Souza Jr. 5.8
94 Nomar Mazara 2.1
95 Taylor Lindsey 0.0
96 Bradley Zimmer 2.0
97 Rob Kaminsky 0.0
98 Matt Barnes 5.2
99 Peter O’Brien -0.4
100 Tony Kemp 5.7

Ninety-five of the 100 players here made the majors, and all told, 71 currently have a positive career WAR total. Comparing ZiPS to the other major prospect lists, the system gave the best rank to Francisco Lindor, Aaron Judge, Trea Turner, J.T. Realmuto, Rafael Devers, Brandon Nimmo, and Trevor Story, among others. But it also gave the best rank to Franklin Barreto, Aaron Blair, José Rondón, Rosell Herrera, Alen Hanson, and Andrew Susac, a considerably less impressive group! The top 100 have combined for 959.7 WAR in the majors, with the top 50 responsible for 656.7 WAR.

OK, that’s enough of an intro — let’s get into this year’s Top 100:

ZiPS Top 100 Prospects – 2025
ZiPS Player Pos. Organization FanGraphs Rank
1 Roki Sasaki P Los Angeles Dodgers 1
2 Carson Williams SS Tampa Bay Rays 10
3 Samuel Basallo C Baltimore Orioles 5
4 Roman Anthony CF Boston Red Sox 2
5 Dylan Crews CF Washington Nationals 3
6 Bryce Eldridge 1B San Francisco Giants 26
7 Cole Young SS Seattle Mariners 76
8 Emmanuel Rodriguez CF Minnesota Twins 20
9 Jordan Lawlar SS Arizona Diamondbacks 14
10 Kristian Campbell 2B Boston Red Sox 7
11 Coby Mayo 3B Baltimore Orioles 45
12 Max Clark CF Detroit Tigers 34
13 Jasson Domínguez CF New York Yankees 16
14 Xavier Isaac 1B Tampa Bay Rays 98
15 Matt Shaw 3B Chicago Cubs 13
16 Leodalis De Vries SS San Diego Padres 37
17 Aidan Miller SS Philadelphia Phillies 15
18 Colt Emerson SS Seattle Mariners 41
19 Owen Caissie RF Chicago Cubs Unranked
20 Jace Jung 3B Detroit Tigers Unranked
21 Cooper Pratt SS Milwaukee Brewers Unranked
22 Marcelo Mayer SS Boston Red Sox 57
23 Nacho Alvarez Jr. SS Atlanta Braves Unranked
24 Travis Bazzana 2B Cleveland Guardians 36
25 Kyle Teel C Chicago White Sox 49
26 Kevin McGonigle SS Detroit Tigers 54
27 Noah Schultz P Chicago White Sox 18
28 Colson Montgomery SS Chicago White Sox 58
29 Ethan Salas C San Diego Padres 21
30 Andrew Painter P Philadelphia Phillies 6
31 Jett Williams SS New York Mets 62
32 Brady House 3B Washington Nationals Unranked
33 Thayron Liranzo C Detroit Tigers 44
34 Brayden Taylor 3B Tampa Bay Rays Unranked
35 Jacob Wilson SS Athletics 52
36 Termarr Johnson 2B Pittsburgh Pirates Unranked
37 Caden Dana P Los Angeles Angels 25
38 Chase Meidroth SS Chicago White Sox Unranked
39 Bubba Chandler P Pittsburgh Pirates 23
40 Jackson Jobe P Detroit Tigers 9
41 Walker Jenkins DH Minnesota Twins 17
42 Welbyn Francisca SS Cleveland Guardians 88
43 Luke Keaschall DH Minnesota Twins 56
44 Alex Freeland SS Los Angeles Dodgers 35
45 Sebastian Walcott SS Texas Rangers 4
46 Carson Whisenhunt P San Francisco Giants 95
47 Orelvis Martinez 2B Toronto Blue Jays Unranked
48 Dalton Rushing C Los Angeles Dodgers 8
49 Tink Hence P St. Louis Cardinals 64
50 Jarlin Susana P Washington Nationals 19
51 Arjun Nimmala SS Toronto Blue Jays 82
52 AJ Smith-Shawver P Atlanta Braves 40
53 Alejandro Rosario P Texas Rangers 39
54 Luis Morales P Athletics 96
55 Rhett Lowder P Cincinnati Reds 51
56 Kevin Alcántara CF Chicago Cubs 46
57 Quinn Mathews P St. Louis Cardinals 32
58 Moises Ballesteros C Chicago Cubs Unranked
59 Chase DeLauter RF Cleveland Guardians 55
60 Jake Bloss P Toronto Blue Jays 66
61 Agustin Ramirez C Miami Marlins 43
62 Brandon Sproat P New York Mets 24
63 Michael Arroyo 2B Seattle Mariners Unranked
64 Thomas Saggese SS St. Louis Cardinals Unranked
65 Chase Dollander P Colorado Rockies 12
66 Ryan Clifford 1B New York Mets Unranked
67 Bryan Ramos 3B Chicago White Sox Unranked
68 Juan Brito 2B Cleveland Guardians 78
69 Angel Genao SS Cleveland Guardians 33
70 Luke Adams 3B Milwaukee Brewers Unranked
71 Jhostynxon Garcia CF Boston Red Sox Unranked
72 Lazaro Montes RF Seattle Mariners Unranked
73 Harry Ford C Seattle Mariners Unranked
74 Jacob Melton CF Houston Astros Unranked
75 Mikey Romero SS Boston Red Sox Unranked
76 Enrique Bradfield Jr. CF Baltimore Orioles Unranked
77 Spencer Jones CF New York Yankees Unranked
78 Jared Serna SS Miami Marlins Unranked
79 Cade Cavalli P Washington Nationals Unranked
80 Will Wagner 2B Toronto Blue Jays Unranked
81 Carter Jensen C Kansas City Royals 68
82 Noble Meyer P Miami Marlins 97
83 River Ryan P Los Angeles Dodgers 101
84 Ricky Tiedemann P Toronto Blue Jays 102
85 Tommy Troy SS Arizona Diamondbacks Unranked
86 Drew Gilbert CF New York Mets Unranked
87 Everson Pereira CF New York Yankees Unranked
88 Jefferson Rojas SS Chicago Cubs 81
89 Hurston Waldrep P Atlanta Braves Unranked
90 Jesus Baez SS New York Mets Unranked
91 Robert Calaz RF Colorado Rockies Unranked
92 Eric Bitonti 3B Milwaukee Brewers Unranked
92 Edwin Arroyo SS Cincinnati Reds Unranked
94 Eduardo Tait C Philadelphia Phillies Unranked
95 Dylan Lesko P Tampa Bay Rays Unranked
96 Edgar Quero C Chicago White Sox 90
97 Brice Matthews SS Houston Astros Unranked
98 Cade Horton P Chicago Cubs 79
99 Johnathan Rodriguez RF Cleveland Guardians Unranked
100 Joe Mack C Miami Marlins 69

ZiPS tends to be higher on high-floor/low-ceiling prospects than scouts are, but I’ve minimized that tendency in recent years by using the average of the 80th and 20th percentile projections, resulting in Triple-A players who are projected to be safe, middling role players, but who don’t have big upside, ranking lower on the list. Michael McGreevy is an example of how this change affects the rankings; by projected career WAR, he ranks 59th, but the 80th/20th percentile methodology drops him to 108th.

Unsurprisingly, there’s a lot of agreement between the ZiPS and the FanGraphs Top 100 lists, with 63 players appearing on both lists (this includes River Ryan and Ricky Tiedemann, who ranked 101st and 102nd on Eric’s list, but were both 50 FV prospects). That’s a little below the historical average of 65, but doesn’t constitute a drastic divergence. There are always going to be a handful of players who ZiPS doesn’t consider at all, such as Jesus Made, who has only played in the Dominican Summer League. And while ZiPS will use college stats when it has to, as it did with Chase Burns, college pitchers take a pretty big hit due to the lousiness of college translations; it was enough to knock Burns out of the ZiPS Top 100 when he’s obviously a top prospect.

From a team standpoint, here’s how many prospects each club has among the top 50, 100, 200, and 500 prospects. I’ve highlighted the leaders in each category:

ZiPS Top Prospects by Team – 2025
Organization Top 50 Top 100 Top 200 Top 500
Chicago Cubs 2 6 9 19
Chicago White Sox 4 6 10 21
Cleveland Guardians 2 6 9 20
Boston Red Sox 3 5 9 18
Detroit Tigers 5 5 9 15
New York Mets 1 5 7 14
Seattle Mariners 2 5 8 15
Toronto Blue Jays 1 5 6 20
Los Angeles Dodgers 3 4 9 17
Miami Marlins 0 4 7 20
Tampa Bay Rays 3 4 10 24
Washington Nationals 3 4 4 16
Atlanta Braves 1 3 4 13
Baltimore Orioles 2 3 8 19
Milwaukee Brewers 1 3 7 17
Minnesota Twins 3 3 7 19
New York Yankees 1 3 5 14
Philadelphia Phillies 2 3 6 12
St. Louis Cardinals 1 3 8 16
Arizona Diamondbacks 1 2 8 18
Athletics 1 2 6 14
Cincinnati Reds 0 2 8 21
Colorado Rockies 0 2 6 20
Houston Astros 0 2 4 18
Pittsburgh Pirates 2 2 8 14
San Diego Padres 2 2 2 10
San Francisco Giants 2 2 3 14
Texas Rangers 1 2 5 16
Kansas City Royals 0 1 3 16
Los Angeles Angels 1 1 5 10

Like last year, the Cubs are once again tied for the most Top 100 prospects, joined this time by the Guardians and the White Sox. ZiPS is a fan of the Garrett Crochet haul, with both Kyle Teel and Chase Meidroth ranking in the top 50, and that’s before considering Braden Montgomery, who has yet to make his professional debut.

Looking at a big list of 100 players is a daunting task, so let’s break it down by position, and dig into the players ZiPS does or doesn’t like. We’ll start with the first basemen.

ZiPS Top 10 First Base Prospects – 2025
ZiPS Player Pos. Organization FanGraphs Rank
6 Bryce Eldridge 1B San Francisco Giants 26
14 Xavier Isaac 1B Tampa Bay Rays 98
66 Ryan Clifford 1B New York Mets Unranked
118 Deyvison De Los Santos 1B Miami Marlins Unranked
122 Tre’ Morgan 1B Tampa Bay Rays 86
128 Jac Caglianone 1B Kansas City Royals 47
142 Nick Kurtz 1B Athletics 31
171 Tyler Black 1B Milwaukee Brewers Unranked
200 Ralphy Velazquez 1B Cleveland Guardians Unranked
219 Tyler Locklear 1B Seattle Mariners Unranked

Bryce Eldridge is the highest ranked first base prospect seen in ZiPS in some time. Last year, the top-ranked first base prospect was Nolan Schanuel, all the way down at no. 57! Eldridge burst through the Giants’ system in 2024, combining for a 137 wRC+ across four levels, and he doesn’t turn 21 until this year’s playoffs. He already has a 97 wRC+ projection right now at age 20, and while ZiPS doesn’t actually assess things this way, he certainly looks like a first baseman! Not all of his comps ended up working out, but two of the top ones are Boog Powell and David Ortiz — I’m sure the Giants would be very happy with either!

ZiPS had Xavier Isaac 155th last year, which was a bit of a wait-and-see as he moved up the minor league ladder. A 143 wRC+ age-20 season that saw him reach Double-A bounced him all the way up to being just outside the top 10. Ryan Clifford and Tyler Locklear return from last year’s list, with Clifford jumping 200 places, though with the return of Pete Alonso, I suspect he’ll most likely end up playing first base for another team in the next year or two. A lot of fans are excited about Deyvison De Los Santos, but ZiPS is pumping the brakes a bit; his 26 Triple-A homers (he hit 40 on the year) came in some mighty fine hitters’ environments, leaving him with an untranslated Triple-A wRC+ just over 100.

If his power develops further, Tre’ Morgan is another player who could progress quickly, though ZiPS thinks Isaac has the more interesting upside, at least at first. Jac Caglianone is another player who could advance quickly once he has more than a month of regular season pro baseball under his belt. I also really like saying his name, though that’s not part of the rankings. Now on to second base.

ZiPS Top 10 Second Base Prospects – 2025
ZiPS Player Pos. Organization FanGraphs Rank
10 Kristian Campbell 2B Boston Red Sox 7
24 Travis Bazzana 2B Cleveland Guardians 36
36 Termarr Johnson 2B Pittsburgh Pirates Unranked
47 Orelvis Martinez 2B Toronto Blue Jays Unranked
63 Michael Arroyo 2B Seattle Mariners Unranked
68 Juan Brito 2B Cleveland Guardians 78
80 Will Wagner 2B Toronto Blue Jays Unranked
101 Christian Moore 2B Los Angeles Angels Unranked
105 Ronny Mauricio 2B New York Mets Unranked
114 James Triantos 2B Chicago Cubs Unranked

The top 100 is usually short on second basemen, typically because a large percentage of the guys who end up playing second base in the majors are still shortstops at this point in their careers. After all, it doesn’t make sense to move a guy off of short until you’re really sure he’s not going to be a solution there.

A 2023 fourth-rounder out of Georgia Tech, Kristian Campbell blew up in a good way in 2024, crushing it in the minors and already projecting as a good starter. ZiPS doesn’t think his ceiling is as high as some of the guys who rank ahead of him on the Top 100, but he’s a pretty low-risk prospect. I’m kind of curious where the position shift leaves Campbell. He’s definitely a player I’d bring up in trade talks with the Red Sox, but he’s not an under-the-radar guy, so they’re not going to give him away.

Travis Bazzana ranks high here on the strength of a decent debut and a .911 slugging percentage his last year at Oregon State. Termarr Johnson and Orelvis Martinez basically hold their ranks from last year, with performing about as expected in 2024. Of course, Martinez was suspended 80 games for PEDs, but I haven’t found PED suspensions to be useful in making projections more accurate, so ZiPS isn’t concerned about that. ZiPS thinks Michael Arroyo’s combination of power and speed could make him a decent role player right now, though it has him as a slightly below-average defensive player at second. As you’ll see when you scroll down to the shortstops, he’s not the only Mariners infielder who ZiPS likes much better than the consensus this year.

Will Wagner cracked the Top 100, though he is unlikely to be used at second this season. He got Edgar Martinez as a top comp at a similar stage of his career, but as I said in the ZiPS projections for the Blue Jays, don’t get too excited; Edgar Martinez was a Ken Phelps All-Star and projected to be a solid hitter, but he didn’t become ALL CAPS EDGAR until later. To the shortstops!

ZiPS Top 10 Shortstop Prospects – 2025
ZiPS Player Pos. Organization FanGraphs Rank
2 Carson Williams SS Tampa Bay Rays 10
7 Cole Young SS Seattle Mariners 76
9 Jordan Lawlar SS Arizona Diamondbacks 14
16 Leodalis De Vries SS San Diego Padres 37
17 Aidan Miller SS Philadelphia Phillies 15
18 Colt Emerson SS Seattle Mariners 41
21 Cooper Pratt SS Milwaukee Brewers Unranked
22 Marcelo Mayer SS Boston Red Sox 57
23 Nacho Alvarez Jr. SS Atlanta Braves Unranked
26 Kevin McGonigle SS Detroit Tigers 54

ZiPS uses a probability-based coordinate method for estimating minor league defensive performance, and it thought Carson Williams was absolute dynamite in 2024. Given that ZiPS also thinks that Williams can contribute offensively right now (104 wRC+ projection) and is a candidate to steal 20 bases (and he’s just 21), it isn’t surprising to see him rank ahead of every prospect on the list who hasn’t honed his craft in NPB. If Jackson Holliday were still considered a prospect, Williams would still have ranked higher.

ZiPS already liked Cole Young a lot last year, ranking him 17th overall, and him hitting .271/.369/.390 at Double-A in his age-20 season did nothing to lessen its affection. He’s not projected in the same realm as Williams or Jordan Lawlar on defense, but he projects to at least be somewhere near average, and the computer doesn’t think he needs to be moved off shortstop. Lawlar returns to this list, though he drops in the rankings due to the time he missed with a hamstring injury. Still, if you liked him before 2024, you should still like him now.

Leodalis De Vries was one of the players ZiPS couldn’t really consider last year, but he played about as well as you can expect a 17-year-old to manage, and the Padres think he’s advanced enough to spend time in major league camp this spring. ZiPS isn’t enthused by Aidan Miller’s defense, but it is excited by his power/speed potential, so he debuts on this list. Cooper Pratt is likely the biggest surprise on this list, with ZiPS thinking he has significant offensive upside. The computer also views him as an above-average defender at shortstop, though I’m not sure scouts would share that opinion.

The projections see Chase Meidroth as a below-average shortstop defender, but he’s already hit at Triple-A, which raises his floor considerably, and he’ll get plenty of opportunities in Chicago unless the White Sox do something bone-headed, which is always a possibility one has to consider. Colson Montgomery is far more likely to stick at the position, and I’m actually a little surprised that ZiPS didn’t really ding him for his rather meh 2024. Trey Sweeney just missed the Top 100, but Kevin McGonigle made it, though there’s some risk here in that he gets a lot of his offensive value from drawing walks, which isn’t necessarily what you want to see from a prospect. Every time I hear his name, I think of this clip. Next, let’s pivot to the hot corner.

ZiPS Top 10 Third Base Prospects – 2025
ZiPS Player Pos. Organization FanGraphs Rank
11 Coby Mayo 3B Baltimore Orioles 45
15 Matthew Shaw 3B Chicago Cubs 13
20 Jace Jung 3B Detroit Tigers Unranked
32 Brady House 3B Washington Nationals Unranked
34 Brayden Taylor 3B Tampa Bay Rays Unranked
67 Bryan Ramos 3B Chicago White Sox Unranked
70 Luke Adams 3B Milwaukee Brewers Unranked
92 Eric Bitonti 3B Milwaukee Brewers Unranked
120 Ben Williamson 3B Seattle Mariners Unranked
129 Cam Smith 3B Houston Astros 70

Coby Mayo keeps hitting — though not in his very limited cup of coffee — and ZiPS still doesn’t share the worries about him as a third base defender that everyone else in the baseball world appears to have, so he maintains a very high ranking here. Matt Shaw is a big gainer from last year’s list (when he was still ranked as a shortstop); ZiPS likes him enough that it though that the Cubs were one of the teams with the least to gain by signing Alex Bregman. Jace Jung’s path to playing time got a whole lot clearer this week after the Tigers failed to land Bregman, and though Brady House doesn’t have a very good 2025 projection, ZiPS sees him as having big power upside and an above-average glove.

ZiPS is less keen on Brayden Taylor’s offense, but saw him as one of the best defensive third basemen in the minors, along with Ben Williamson, Kyle Karros, and Gage Workman. The glove is also what gets Williamson up to no. 120 in the rankings. Bryan Ramos makes this list for the umpteenth straight season, but ZiPS gets a little less enthusiastic about him each time. Eric Bitonti might be the most “out there” candidate on this list, mainly because “out there” is where he might hit a lot of baseballs. ZiPS also thinks he’s a pretty awful third baseman, which dampens the excitement a bit. He could very well show up on this list as a top first base prospect in the next few years. Now, the catchers!

ZiPS Top 10 Catcher Prospects – 2025
ZiPS Player Pos. Organization FanGraphs Rank
3 Samuel Basallo C Baltimore Orioles 5
25 Kyle Teel C Chicago White Sox 49
29 Ethan Salas C San Diego Padres 21
33 Thayron Liranzo C Detroit Tigers 44
48 Dalton Rushing C Los Angeles Dodgers 8
58 Moises Ballesteros C Chicago Cubs Unranked
61 Agustin Ramirez C Miami Marlins 43
73 Harry Ford C Seattle Mariners Unranked
81 Carter Jensen C Kansas City Royals 68
94 Eduardo Tait C Philadelphia Phillies Unranked

If Samuel Basallo is ready for the majors and forces the Orioles to figure out what to do with him and Adley Rutschman on the roster, well, that’s a pretty nice headache to have. He’d nudge out Carson Williams in the overall rankings if not for the fact that young catchers tend to have strange development patterns, and some of them just go splat out of nowhere, even the elite prospects. The White Sox have other options at catcher, but it’s in their best interest to give Kyle Teel as much of an opportunity to shove aside the competition as they can.

Ethan Salas is a terrific prospect, and along with De Vries, he’s someone the Padres really need to work out when they’re paying Manny Machado and Xander Bogaerts $64 million a year for not a lot of WAR four years from now. He projects very well defensively, but the biggest risk here is age: There’s a lot that can happen to an 18-year-old catcher between the low minors and the majors. ZiPS doesn’t worry at all about his rather mediocre offensive performance at High-A, simply because he was an 18-year-old.

The Tigers traded Jack Flaherty for Trey Sweeney and Thayron Liranzo, made the playoffs without Flaherty, and then got Flaherty back, making that trade the Platonic ideal of eating your cake and having it, too. It’s an open question whether Liranzo will stick at catcher — 92 stolen bases allowed in 57 games last year is quite a lot — but he may not need to if his bat continues to develop. He could end up being Victor Martinez, which I’m sure the Tigers would be satisfied with. Last but not least among the position players, the outfielders.

ZiPS Top 25 Outfield Prospects – 2025
ZiPS Player Pos. Organization FanGraphs Rank
4 Roman Anthony CF Boston Red Sox 2
5 Dylan Crews CF Washington Nationals 3
8 Emmanuel Rodriguez CF Minnesota Twins 20
12 Max Clark CF Detroit Tigers 34
13 Jasson Domínguez CF New York Yankees 16
19 Owen Caissie RF Chicago Cubs Unranked
56 Kevin Alcántara CF Chicago Cubs 46
59 Chase DeLauter RF Cleveland Guardians 55
71 Jhostynxon Garcia CF Boston Red Sox Unranked
72 Lazaro Montes RF Seattle Mariners Unranked
74 Jacob Melton CF Houston Astros Unranked
76 Enrique Bradfield Jr. CF Baltimore Orioles Unranked
77 Spencer Jones CF New York Yankees Unranked
86 Drew Gilbert CF New York Mets Unranked
87 Everson Pereira CF New York Yankees Unranked
91 Robert Calaz RF Colorado Rockies Unranked
99 Johnathan Rodriguez RF Cleveland Guardians Unranked
102 Miguel Bleis CF Boston Red Sox Unranked
107 Denzel Clarke CF Athletics Unranked
115 Jonny Farmelo CF Seattle Mariners 100
117 Josue De Paula RF Los Angeles Dodgers 48
123 Justin Crawford CF Philadelphia Phillies Unranked
126 Carlos Jorge CF Cincinnati Reds Unranked
132 Nelson Rada CF Los Angeles Angels Unranked
134 Jud Fabian CF Baltimore Orioles Unranked

I like to look at the outfielders as a group, simply because the lines between center fielder and corner outfielder aren’t quite as rigid at this point in their careers. Whether a player can at least fake center field is one of the key factors that determines how they’re used in the majors, after all.

The top chunk of outfield prospects all graduated to the majors last year, several spectacularly, so this year’s list is headed by Roman Anthony, who likely has a clearer path to immediate playing time in Boston than either Campbell or Mayer. He raked at Triple-A last year while still a 20-year-old, and frankly, even though I think Ceddanne Rafaela is an adequate option in center and the better defensive player, I think Anthony just being the starter gives the Red Sox the best chance at making the playoffs in 2025. ZiPS wanted to see more of Dylan Crews at this time last year, and it saw enough him in 2024 to move him near the front of the outfielder pack.

Which prospect does ZiPS give the highest OPS+ projection to at any point in their career? As you probably guessed, since you can read the order on the chart, the answer is Emmanuel Rodriguez. And he can play center field! Once the Twins are satisfied that his thumb is fully healed, it would be in their best interest to get him back out there on defense as quickly as possible. If you had both Byron Buxton and Rodriguez in the outfield at the same time, the Twins’ fly ball pitchers might name their firstborn children Emmanuron. Or, maybe not.

Max Clark remains on target to fill a real need for the Tigers in the outfield, and continuing its theme of falling in love with all the Cubs hitters this offseason, ZiPS ranks Owen Caissie as the best prospect to not make the FanGraphs list. Jasson Domínguez did nothing to hurt his rank in 2024, and ZiPS does not share the Yankees’ angst over whether he was a better player than Alex Verdugo. Kevin Alcántara ranked as one of the best defensive center fielders in the minors in 2024, though ZiPS isn’t as bullish about his bat — yet. Finally, we close with the pitchers.

ZiPS Top 25 Pitcher Prospects – 2025
ZiPS Player Pos. Organization FanGraphs Rank
1 Roki Sasaki P Los Angeles Dodgers 1
27 Noah Schultz P Chicago White Sox 18
30 Andrew Painter P Philadelphia Phillies 6
37 Caden Dana P Los Angeles Angels 25
39 Bubba Chandler P Pittsburgh Pirates 23
40 Jackson Jobe P Detroit Tigers 9
46 Carson Whisenhunt P San Francisco Giants 95
49 Tink Hence P St. Louis Cardinals 64
50 Jarlin Susana P Washington Nationals 19
52 AJ Smith-Shawver P Atlanta Braves 40
53 Alejandro Rosario P Texas Rangers 39
54 Luis Morales P Athletics 96
55 Rhett Lowder P Cincinnati Reds 51
57 Quinn Mathews P St. Louis Cardinals 32
60 Jake Bloss P Toronto Blue Jays 66
62 Brandon Sproat P New York Mets 24
65 Chase Dollander P Colorado Rockies 12
79 Cade Cavalli P Washington Nationals Unranked
82 Noble Meyer P Miami Marlins 97
83 River Ryan P Los Angeles Dodgers 101
84 Ricky Tiedemann P Toronto Blue Jays 102
89 Hurston Waldrep P Atlanta Braves Unranked
95 Dylan Lesko P Tampa Bay Rays Unranked
98 Cade Horton P Chicago Cubs 79
106 Jairo Iriarte P Chicago White Sox Unranked

Roki Sasaki doesn’t have his official ZiPS projection in the system yet — hopefully I’ve changed that by the time you’re reading this — but I can assure you, it’s real and it’s spectacular. He’s already succeeded at a higher level of play than any other pitching prospect, and though he’s not quite as “finished” a pitcher as Yoshinobu Yamamoto or Shota Imanaga were at this time last year, there’s no particular reason to worry about him. That is, except for health, but what pitcher doesn’t have that question mark lurking in the shadows?

Noah Schultz may still have some setbacks against Triple-A hitters, but so far is so good for the White Sox prospect, and if he doesn’t push his way into that rotation quickly, something’s gone horribly wrong. Something did go horribly wrong for Andrew Painter, but he was so excellent before missing two years with injury that ZiPS is giving him quite a lot of leeway, ranking him as the third-best pitching prospect even with big projection hits from the lost seasons.

Caden Dana gets a rather ho-hum 2025 projection, but ZiPS likes him a lot long-term, and if his walk rate this year looks more like it did in the minors in 2024, and hitters continue to have a hard time driving the ball against him, his projection ought to shoot up very quickly. ZiPS didn’t give Bubba Chandler an aggressive projection, but as I noted when responding to outraged Yinzers, Chandler has good long-term projections and upside, as evidenced by his ranking here. Jackson Jobe moved up as expected compared to last year, and Carson Whisenhunt is one less walk per game from being an elite prospect, at least as ZiPS sees it; it already likes him better long-term than last year’s San Francisco graduate, Kyle Harrison.

Tink Hence and Quinn Mathews both make the list as well, and as advanced prospects, they carry somewhat less risk than most pitchers. Interestingly enough, ZiPS actually slightly prefers McGreevy when talking just about 2025. Tekeah Roby, like McGreevy, didn’t miss the list by much (no. 119), so hopefully in what looks like a rather unambitious season for the Cardinals, they can at least answer a few questions about their future rotation.

If you enjoyed the ZiPS Top 100 and the rest of our Prospect Week coverage, why not become a FanGraphs Member and banish those pesky ads to the land of wind and ghosts? Your continued support has been instrumental in letting us pursue these, and similar, baseballiary duties. Keeping the true ZiPS creator in an oubliette under my shed in the backyard isn’t free, you know!


The 2025 Start of Spring ZiPS Projected Standings: National League

Brad Penner-Imagn Images

There’s still more winter to go, but this week gave us a sign of spring that’s way more promising than any silly groundhog in Pennsylvania. Pitchers and catchers have reported to Florida and Arizona for spring training. As usual, this is also the best time to do the first mega-run of ZiPS projected standings, to gauge where every team stands at the prelude to the 2025 season. Naturally, these are not the final projected standings, but they’re accurate through every bit of knowledge ZiPS and Szymborski have as of the morning of Thursday, February 13.

These standings are the result of a million simulations, not results obtained from binomial or even beta-binomial magic. The methodology isn’t identical to the one we use for our playoff odds, which we recently launched to both acclaim and dismay. So how does ZiPS calculate the season? Stored within ZiPS are the first- through 99th-percentile projections for each player. I start by making a generalized depth chart, using our Depth Charts as a jumping off point. Since these are my curated projections, I make changes based on my personal feelings about who will receive playing time as filtered through arbitrary whimsy my logic and reasoning. ZiPS then generates a million versions of each team in Monte Carlo fashion.

After that is done, ZiPS applies another set of algorithms with a generalized distribution of injury risk that changes the baseline plate appearances or innings pitched for each player. ZiPS then automatically and proportionally “fills in” playing time from the next players on the list to get to a full slate of PAs and innings.

The result is a million different rosters for each team and an associated winning percentage for each million of them. After applying the new strength of schedule calculations based on the other 29 teams, I end up with the standings for each of the million seasons. I promise this is much less complex than it sounds.

The goal of ZiPS is to be less awful than any other way of predicting the future. The future is tantalizingly close but beyond our knowledge, and if anyone figures out how to deflect the astrophysicist Arthur Eddington’s arrow of time, it’s probably not going to be in the form of baseball projections. So we project probabilities, not certainties. If this does not satisfy you, just assume that any deviation from the actual results are due to flaws in reality.

Over the last decade, ZiPS has averaged 19.2 correct teams when looking at Vegas preseason over/under lines. I’m always tinkering with methodology, but most of the low-hanging fruit in predicting how teams will perform has already been harvested. ZiPS’ misses for teams from year to year are uncorrelated, with an r-squared of one year’s miss to the next of 0.000541. In other words, none of the year-to-year misses for individual franchises has told us anything about future misses for those franchises.

We published the ZiPS projected American League standings on Wednesday, so unless you’re accidentally here looking for the air flow data of Vornado vs. Honeywell desk fans, you guessed correctly that we’ve got the National League installment for today. Please note that the World Series probabilities across the two pieces will not add up to precisely 100%, thanks to the Nick Pivetta signing, the Alex Bregman signing, and some of the minor Wednesday transactions.

ZiPS Projected Standings – NL East (2/13)
Team W L GB Pct Div% WC% Playoff% WS Win% 80th 20th
Atlanta Braves 89 73 .549 35.8% 34.5% 70.3% 7.3% 96.4 81.6
Philadelphia Phillies 89 73 .549 34.0% 35.1% 69.1% 6.6% 96.0 81.5
New York Mets 88 74 1 .543 29.5% 35.9% 65.4% 5.6% 95.0 80.7
Washington Nationals 69 93 20 .426 0.5% 3.1% 3.5% 0.0% 76.6 62.3
Miami Marlins 68 94 21 .420 0.3% 1.6% 1.9% 0.0% 74.3 59.5

As far as bad seasons go, Atlanta had a darn good one, given the team still managed 89 wins and a brief playoff appearance despite significant injuries to Spencer Strider and Ronald Acuña Jr.. They both are expected to be back for most of the 2025 season, and even though their injuries have curbed their projections a bit, their returns are a major boon to the Braves — as good as any free agent signings made this winter. With guaranteed health on all fronts, the Braves would have a much more impressive projection, even taking into consideration the loss of Max Fried, but ZiPS expects there to be at least some injuries, and Atlanta’s depth these days isn’t terribly robust. The Braves also addressed their most glaring position of weakness, left field, with their signing of Jurickson Profar, who is coming off a career year with the Padres. ZiPS doesn’t expect Profar to repeat that performance, but considering Atlanta left fielders were below replacement level last season (77 wRC+, -0.3 WAR), his projected 110 wRC+ and 1.4 WAR represent a fairly sizable upgrade.

Not a lot of surprises here for the Phillies. Like the Braves, they had a very quiet offseason. As has been the case for the past few seasons, Philadelphia’s offense is quite solid, and incoming outfielder Max Kepler is a reasonable fill-in. The main concern for the Phillies here is simply that so many of their key contributors are now on the wrong side of 30. There is some risk that comes with new starting pitcher Jesús Luzardo, whom they acquired from the Marlins, but he offers quite a lot of high-end outcomes. But the truth is, this rotation probably would project to be a top-five staff in baseball even if Philadelphia had signed Steve Carlton instead, without the use of a time machine.

The Mets, on the other hand, had an action-packed offseason. Just signing Juan Soto and then mic-dropping likely would have made for a successful winter. To my utter shock, they were able to pull off the feat of not having to say goodbye to Pete Alonso or pay him a ludicrous amount of money. Yes, he’s declining, but the team is better with him at first and Vientos at third than with Vientos at first and Brett Baty at third. Now, I think people are underrating Baty based on his early career performance, but a contending team ought to be far more interested in the Polar Bear! ZiPS is not particularly enthused by the rotation, but it’s enough to pull the Mets into just about an even projection with the Braves and Phillies.

The Nationals are improving incrementally, and you can see that offensive core of James Wood, Dylan Crews, CJ Abrams, and Luis García Jr. coming together. First baseman Nathaniel Lowe is a solid trade pickup, and he came cheap enough that I can hardly protest too loudly that he’s a much better fit on a contending team. But ZiPS thinks about half this lineup is awful, and feels this pitching staff might be a little worse that the offense. Washington is better than the Marlins, but ZiPS doesn’t believe this team is ready for a breakthrough in 2025.

The gamble for the Marlins was that if they could get enough of their dynamic young pitching to stay healthy, they could compete for a wild card spot even with their lineup looking like the equivalent of a Chevrolet Citation that’s been sitting in your weird cousin’s barn for 30 years. When that roll of the dice didn’t work out, they were out of ideas. Now, their rotation projects to be a bottom-five staff, and as for the lineup, I think I’d rather put my money on the car.

ZiPS Projected Standings – NL Central (2/13)
Team W L GB Pct Div% WC% Playoff% WS Win% 80th 20th
Chicago Cubs 86 76 .531 37.0% 19.4% 56.4% 4.1% 92.8 78.4
Milwaukee Brewers 84 78 2 .519 31.3% 19.6% 50.9% 3.4% 91.8 77.0
St. Louis Cardinals 79 83 7 .488 12.0% 13.7% 25.7% 0.9% 86.1 71.4
Cincinnati Reds 79 83 7 .488 10.8% 12.8% 23.6% 0.8% 85.6 70.5
Pittsburgh Pirates 77 85 9 .475 8.9% 11.0% 19.9% 0.6% 84.5 69.7

As has been noted, ZiPS really, really, really, really, really, really, really, really, really, really, really, really, really, really, really, really, really, really, really, really, really, really, really, really, really, really, really, really, really, really, really, really, really likes Chicago’s lineup, even though Kyle Tucker isn’t as good a fit for Wrigley Field as he was for that park in Houston with the new name I just forgot again. Daikon? Dovahkiin? Dank? (Editor’s note: It’s Daikin Park.) ZiPS is not excited about the rotation, especially if a few injuries work their way into the mix, but it’s not enough to keep the Cubs from projecting at the top of the division.

The Cubs shouldn’t rest too easy, though, with the Brewers projected to finish just a couple games behind them. Milwaukee bleeds an elite bullpen arm every year it seems, but it pumps out new dominant relievers at a faster rate than I churn out Simpsons references from 1995. The offense has stabilized a bit, with Christian Yelich getting his offense back on track, and though the Brewers didn’t go big and bold this offseason, most NL Central teams didn’t either. ZiPS gives Nestor Cortes a nice little bounce-back season, which should ease the pain of the loss of Devin Williams.

I thought the Cardinals would come out a few games better than this, but ZiPS clearly is not buying their offseason of inaction. It was surprising not because I think the Cardinals are good, but because ZiPS rarely projects them to mediocre, let alone bad. This is only the second time ZiPS has clocked them as a sub-.500 team. The first time was 2008, when St. Louis won 86 games. Perhaps this projection is a bit counterintuitive because the Cardinals were worse in 2023 than they were in 2024, and they entered last season with an 83-win projection, but ZiPS simply saw last year’s team as having a lot more opportunity for upside. That makes sense when you consider the Cardinals didn’t sign a major league free agent before camps opened, lost Paul Goldschmidt and Andrew Kittredge to free agency, and declined their options for current free agents Lance Lynn and Kyle Gibson. All four of those guys are in the twilight of their careers at this point, but the Cardinals didn’t replace them externally, and their internal options don’t represent much of an improvement. Really, it feels like the Cardinals are just waiting around for John Mozeliak’s tenure to end.

The Reds boast some upside, but they also have some serious depth concerns, and an uninspiring group on the offensive side of the defensive spectrum. ZiPS kind of likes the rotation, but not the Plan B options after the projected starting five, and it’s decidedly lukewarm about the bullpen. There’s a lot of value tied up in comparatively few players: Elly De La Cruz, Hunter Greene, and a hopefully healthy Matt McLain.

Pittsburgh is a far less depressing team then you’d expect from its projected record, but it has far too many positions that are just screaming for more offense. Signing Anthony Santander would have been a much better idea than simply relying on Andrew McCutchen firing up the member berry invocations of a decade ago. Sure, a slugger like Santander wouldn’t come cheap, but now is precisely the time for the Pirates to spend. The top three in the rotation are terrific, and the Pirates are the type of team that if they could sneak into October, they could really surprise some people.

ZiPS Projected Standings – NL West (2/13)
Team W L GB Pct Div% WC% Playoff% WS Win% 80th 20th
Los Angeles Dodgers 97 65 .599 71.8% 20.9% 92.7% 18.3% 104.1 89.5
Arizona Diamondbacks 85 77 12 .525 12.8% 39.6% 52.4% 3.2% 92.3 77.9
San Diego Padres 84 78 13 .519 13.2% 38.0% 51.2% 3.3% 92.6 76.5
San Francisco Giants 77 85 20 .475 2.2% 14.3% 16.6% 0.4% 83.9 69.0
Colorado Rockies 63 99 34 .389 0.0% 0.5% 0.5% 0.0% 70.6 56.2

The curve for the Dodgers’ projections is actually pretty funny. You don’t quite see it with the 80/20 splits, but their 10th-percentile projection only drops another a third of a win and their first-percentile projection is 86 wins. Contrary to what people think, the sum of the Dodgers’ adding very expensive depth isn’t really on the high end, because they’re already pushing into diminishing returns territory. With good health, the Dodgers will have a hard time getting maximum value from all their players because they have so many good ones. The biggest benefit of all this is that the team is Marianas Trench deep, down at the depth where you start to see these fish things that look like Eldritch abominations. For the Dodgers to have a truly lousy season, it would probably take someone on their roster doing gain-of-function research on smallpox in the dugout, which is probably against the rules.

The Diamondbacks are absolutely solid everywhere except designated hitter, though ZiPS isn’t as keen on some of their replacement options. Adding Corbin Burnes is huge, and even if Jordan Montgomery ends up getting a lot of innings, he has to be better than he was last year, right? I actually thought Arizona would come out a few games better than this, but ZiPS really doesn’t like what happens in the event of a Gabriel Moreno or Ketel Marte injury, and the lackluster DH projection reflects the team’s lack of spare bats.

The Padres could be very good, but this is also a really delicate team. Bringing in Nick Pivetta is more helpful in the projections than what people might’ve expected because the back end of San Diego’s rotation looked pretty bleak to ZiPS. However, the wins that were giveth could be taketh away if the Padres trade Dylan Cease, something they seem determined to do, but that hasn’t happenedeth yet. The sudden changes in team revenues because of Diamond Sports’ bankruptcy and team ownership turmoil have really hurt the Padres, as they’re likely nearing the end of their current run. ZiPS really likes prospects Ethan Salas and Leodalis De Vries, but they won’t impact the 2025 roster, so you’ll have to wait until the ZiPS Top 100 Prospects next week for more on them!

The Giants successfully retained Matt Chapman, but they were below .500 with him last year. The big addition here is Willy Adames, but Justin Verlander is far less exciting than he was five years ago. There’s just too much meh all around for ZiPS to project San Francisco to be anything more than a third-tier candidate, though far from a hopeless one.

This may come as a shock to you, but the Rockies are acting with far more competence lately. Over the last two offseasons, they haven’t done anything crazy in free agency — like sign Kris Bryant to play the outfield — and they’ve stopped their usual practice of treating prospects as annoyances. It’s nice that Colorado is going to give Nolan Jones every chance to have a bounce-back season rather than plotting to replace him with, say, Andrew Benintendi, as the Jeff Bridich-era Rockies may have done. But just because they are a better-run organization doesn’t mean they are good. The hole is so deep that it will take quite a while to get out of it, and they basically still have to find an entire pitching staff. A healthy Germán Márquez and a miraculous resurgence from Bryant still wouldn’t make this team a contender.

As usual, I’m including the ZiPS playoff chart, which shows what the chances are that a number of wins is achieved by the division and Wild Card winners. For example, ZiPS projects the team that wins the NL East to have, on average, 95.6 wins, but just under 20% of the time, the eventual NL East champ will win at least 101 games.

ZiPS NL Playoff Matrix (2/13)
To Win 10th 20th 30th 40th 50th 60th 70th 80th 90th
NL East 87.9 90.5 92.4 94.1 95.6 97.2 98.9 100.9 103.7
NL Central 84.4 86.7 88.5 90.1 91.6 93.1 94.7 96.7 99.4
NL West 89.9 92.6 94.6 96.4 98.2 100.1 102.1 104.5 107.9
To Win 10th 20th 30th 40th 50th 60th 70th 80th 90th
NL Wild Card 1 87.3 89.1 90.3 91.4 92.5 93.6 94.8 96.2 98.3
NL Wild Card 2 84.1 85.7 86.8 87.7 88.7 89.6 90.6 91.8 93.4
NL Wild Card 3 81.6 83.1 84.2 85.1 85.9 86.8 87.7 88.8 90.3

The 2025 Start of Spring ZiPS Projected Standings: American League

Peter Aiken-USA TODAY Sports

There’s still more winter to go, but this week gave us a sign of spring that’s way more promising than any silly groundhog in Pennsylvania. Pitchers and catchers have reported to Florida and Arizona for spring training. As usual, this is also the best time to do the first mega-run of ZiPS projected standings, to gauge where every team stands at the prelude to the 2025 season. Naturally, these are not the final projected standings, but they’re accurate through every bit of knowledge ZiPS and Szymborski have as of the morning of Tuesday, February 11.

These standings are the result of a million simulations, not results obtained from binomial or even beta-binomial magic. The methodology isn’t identical to the one we use for our playoff odds, which we recently launched to both acclaim and dismay. So how does ZiPS calculate the season? Stored within ZiPS are the first- through 99th-percentile projections for each player. I start by making a generalized depth chart, using our Depth Charts as a jumping off point. Since these are my curated projections, I make changes based on my personal feelings about who will receive playing time as filtered through arbitrary whimsy my logic and reasoning. ZiPS then generates a million versions of each team in Monte Carlo fashion.

After that is done, ZiPS applies another set of algorithms with a generalized distribution of injury risk that changes the baseline plate appearances or innings pitched for each player. ZiPS then automatically and proportionally “fills in” playing time from the next players on the list to get to a full slate of PAs and innings.

The result is a million different rosters for each team and an associated winning percentage for each million of them. After applying the new strength of schedule calculations based on the other 29 teams, I end up with the standings for each of the million seasons. I promise this is much less complex than it sounds.

The goal of ZiPS is to be less awful than any other way of predicting the future. The future is tantalizingly close but beyond our knowledge, and if anyone figures out how to deflect the astrophysicist Arthur Eddington’s arrow of time, it’s probably not going to be in the form of baseball projections. So we project probabilities, not certainties. If this does not satisfy you, just assume that any deviation from the actual results are due to flaws in reality.

Over the last decade, ZiPS has averaged 19.2 correct teams when looking at Vegas preseason over/under lines. I’m always tinkering with methodology, but most of the low-hanging fruit in predicting how teams will perform has already been harvested. ZiPS’ misses for teams from year to year are uncorrelated, with an r-squared of one year’s miss to the next of 0.000541. In other words, none of the year-to-year misses for individual franchises has told us anything about future misses for those franchises.

We’ll cover the American League today before getting into the National League tomorrow.

ZiPS Projected Standings – AL East (2/11)
Team W L GB Pct Div% WC% Playoff% WS Win% 80th 20th
Baltimore Orioles 89 73 .549 33.7% 34.4% 68.1% 6.6% 96.4 82.0
New York Yankees 89 73 .549 31.3% 34.0% 65.3% 6.2% 96.1 81.2
Boston Red Sox 84 78 5 .519 15.2% 31.0% 46.2% 2.9% 91.6 77.3
Tampa Bay Rays 83 79 6 .512 9.8% 24.3% 34.1% 1.6% 89.2 74.7
Toronto Blue Jays 82 80 7 .506 9.9% 24.5% 34.4% 1.9% 89.3 74.1

Right away, when glancing at the projections, you can see the theme of the American League: There are no dominant teams. The AL East is a good example to remember that the 50th-percentile projections don’t mean that the top team will actually win the division. Neither the Orioles or Yankees are projected with an over/under of 90 wins, but either team would need to win 96 games to have a 50% chance at taking the division.

Once again, ZiPS projects the O’s with the tiniest sliver of an edge over the Yankees. ZiPS thinks there’s a good chance that Baltimore can replace Anthony Santander’s production – or at least what he was likely to do in 2025 – and is a surprisingly big fan of Tyler O’Neill. But losing Corbin Burnes is a very big deal, and a few lower-key pitching signings can’t really replace that. It reminds me a bit of Buzzie Bavasi’s quote nearly 50 years ago that when the Angels lost Nolan Ryan, they could just replace him with “two 8-7 pitchers.” How’d that work out for them? There’s some downside in Baltimore’s rotation, but ZiPS thinks the offense is quite resilient.

The Yankees lost an even more important piece than the O’s did this offseason, when Juan Soto signed the largest contract in sports history to play for the Mets. That said, the Yankees made a number of solid upgrades at other positions after losing the second coming of Ted Williams. I prefer Devin Williams and Cody Bellinger to Clay Holmes and Alex Verdugo, and Max Fried is a very good addition. Paul Goldschmidt is well on the back end of his career these days, but he still represents an upgrade over Anthony Rizzo. Still, they lost Gleyber Torres to the Tigers, and with Jazz Chisholm Jr. set to slide from third base to second, the task of replacing Torres’ production falls to a platoon of Oswaldo Cabrera and the shell of DJ LeMahieu at third base. The Yankees didn’t quite hold serve in the exchange, but the O’s had losses of their own, so the status quo largely prevails.

ZiPS has projected the Red Sox to finish last in the AL East over the last few seasons, but they’ve always been within shouting distance of .500. The last bit stays true in 2025, but on the sunny side this time. Even though you’d be crazy to pencil him in for 180 innings, Garrett Crochet is a big addition to Boston’s rotation, and the bullpen has become sneaky good. The computer really believes in Kristian Campbell, though the question remains how quickly the team will integrate him into the lineup. The Red Sox, of course, would look even better with Mookie Betts, but that’s old news at this point.

ZiPS thinks Tampa Bay’s lineup is rather lackluster, and it doesn’t see a huge offensive upside here, but it does think the Rays have pretty solid depth. The big upside comes from the rotation because of the health questions surrounding Shane McClanahan, Shane Baz, and Drew Rasmussen. If any or all of these three pitchers are healthier than the projections currently expect, even small positive shifts in their workload assumptions would have pretty large effects on the whole AL East race.

Anthony Santander was a necessary addition for the Blue Jays, but was his signing enough? ZiPS is unsure, and while it’s projecting bounce-back seasons from guys like Bo Bichette and Kevin Gausman, there’s no certainty there, and this a tough, tough division. This is one of the best last place teams I’ve ever projected, so take from that what you will!

ZiPS Projected Standings – AL Central (2/11)
Team W L GB Pct Div% WC% Playoff% WS Win% 80th 20th
Cleveland Guardians 85 77 .525 32.9% 18.4% 51.3% 3.6% 92.0 77.8
Minnesota Twins 85 77 .525 30.9% 18.2% 49.1% 3.3% 91.6 77.1
Kansas City Royals 82 80 3 .506 20.0% 16.5% 36.5% 1.9% 89.0 74.4
Detroit Tigers 81 81 4 .500 16.2% 14.4% 30.6% 1.3% 87.7 73.1
Chicago White Sox 53 109 32 .327 0.0% 0.0% 0.0% 0.0% 59.6 45.5

ZiPS projects the Guardians to win the AL Central over the Twins, but like in the AL East, the lead comes from the tiniest of mathematical margins. Their bullpen is terrific, but their offense has a bit too much merely OK floating around, and their rotation is adequate at best. Despite being projected as the AL Central leader, ZiPS only projects Cleveland as a coin flip to make the playoffs.

The Twins project to have an elite bullpen and a very good – and probably underrated – rotation. But it’s less than enthralled by the lineup once you get past Carlos Correa and Byron Buxton during their healthy moments, and it gets really hard, as with the Guardians, to see a scenario in which Minnesota gets far above 90 wins.

I don’t want to harp too much on Kansas City’s offense, since I did that at length last week, but the fact is it’s a very Bobby Witt Jr.-reliant lineup with a ton of holes. This might be the best projected Royals pitching staff in ZiPS history, and that may be enough for Kansas City either to keep pace with the Guardians and Twins or outright topple them. There are benefits to playing in a division with no truly ambitious teams.

Bringing back Jack Flaherty was a necessity for the Tigers, and they got him at a cheaper price than necessities tend to cost. They still project just behind the top three teams, but this division remains quite unclear. I would not want to be paying Alex Bregman in 2029 or 2030, but I’d seriously consider it if I were a team like the Tigers, with so much to gain by having him around the next few years.

The White Sox are projected to have one of the largest improvements in baseball, but a lot of that is simply because winning only 41 games in a season requires many things to not go your way. They are good bet to veer toward “ordinary awful” territory, even if they may not have hit rock bottom yet. Whatever happens, don’t mistake any win-loss improvement as organizational competence. Chicago’s most interesting pitchers will likely start the season in the minors, and the big question for the offense is how many of the aging role players the team signed will somehow be stuffed into the lineup for no particular reason.

ZiPS Projected Standings – AL West (2/11)
Team W L GB Pct Div% WC% Playoff% WS Win% 80th 20th
Houston Astros 90 72 .556 48.1% 23.7% 71.8% 8.5% 97.4 82.3
Seattle Mariners 86 76 4 .531 26.4% 27.8% 54.2% 4.1% 92.9 78.7
Texas Rangers 85 77 5 .525 23.6% 26.4% 49.9% 3.5% 92.4 77.5
Athletics 71 91 19 .438 1.3% 4.3% 5.6% 0.1% 78.9 63.9
Los Angeles Angels 70 92 20 .432 0.6% 2.1% 2.8% 0.0% 76.3 61.6

The Astros are a lot less likely to be a juggernaut than they were a few years ago, but they’ve handled the myriad star departures well. ZiPS thinks Isaac Paredes and his pull-happy power will feel quite at home in Minute Maid Daikin Park, and Christian Walker is a far better idea to fill their gaping hole at first base than José Abreu was a few years ago. Yordan Alvarez is an absolute beast offensively, and ZiPS projects Jose Altuve to continue to age gracefully. The Astros aren’t really lousy anywhere, and that’s basically what quality team building in a 12-team playoff league looks like.

The common perception of the Mariners is they have a bad offense, but that’s been demonstrably untrue, and playing in a poor offensive park is the big culprit here. What is true, though, is that after Cal Raleigh and Julio Rodríguez, they’re just not amazing anywhere in the lineup, and they’ve been particularly unambitious there. The rotation, however, is dynamite, and though ZiPS is unimpressed with Seattle’s depth, if this team generally remains healthy, it can challenge Houston.

ZiPS likes the Rangers’ offense a lot. The rotation? Not so much. Jacob deGrom naturally projects very well, but given his extensive injury history, both ZiPS and I are coming way under the 132 innings that Depth Charts currently projects for him. He’s not the only Texas pitcher with injury concerns, and as a result, ZiPS sees this rotation as having one of the deepest downsides in baseball, which holds the Rangers’ projections down quite a bit.

Congratulations, A’s, you’ve moved up to a fourth-place projection! Their lineup is actually pretty decent, though not at first base, where ZiPS is bearish on Tyler Soderstrom. OK, the computer’s not quite as high on Jacob Wilson or JJ Bleday as is Depth Charts, but it wouldn’t be shocking to see a team with a lineup like this be a Wild Card contender. Where ZiPS has its doubts is the rotation, and though Luis Severino and Jeffrey Springs give this starting five some real upside, the other three guys are far less exciting.

I suspect the Angels think they’re better than this, but ZiPS really isn’t seeing it. The team’s been active this offseason and added a ton of familiar names, but largely ones that are familiar because of things they accomplished a long time ago. Getting a healthy Mike Trout would be fun for the Angels, and certainly for fans, but it probably wouldn’t be enough.

As usual, I’m including the ZiPS playoff chart, which shows what the chances are that a number of wins is achieved by the division and Wild Card winners. For example, ZiPS projects the team that wins the AL West to have, on average, 94.4 wins, but 20% of the projected AL West winners finish with only an 89-73 record.

ZiPS Playoff Matrix (2/11)
To Win 10th 20th 30th 40th 50th 60th 70th 80th 90th
AL East 88.7 91.0 92.7 94.3 95.8 97.2 98.8 100.8 103.4
AL Central 84.4 86.8 88.6 90.2 91.6 93.1 94.7 96.5 99.2
AL West 86.5 89.1 91.1 92.8 94.4 96.0 97.8 99.8 102.7
To Win 10th 20th 30th 40th 50th 60th 70th 80th 90th
AL Wild Card 1 87.3 88.9 90.1 91.2 92.2 93.2 94.3 95.6 97.7
AL Wild Card 2 84.5 85.9 86.9 87.9 88.7 89.6 90.6 91.7 93.3
AL Wild Card 3 82.3 83.7 84.7 85.5 86.3 87.2 88.0 89.1 90.5

Kansas City’s Outfield Is a Missed Opportunity

Nick Wosika-USA TODAY Sports

By all reasonable accounts, the 2024 Kansas City Royals had a successful season. Fortune usually frowns upon a 100-loss team that makes a bunch of low-key free agent signings, but that was not the case for the Royals. The veterans starters they added, Seth Lugo and Michael Wacha, joined Cole Ragans to make up one of the best top-of-the-rotation trios in the majors, and Bobby Witt Jr. ascended from promising young star to MVP candidate. They made some smart deadline moves to bolster their bullpen, and they benefitted from some pleasant surprises along the way. Thanks to all of these things, the Royals won 30 more games in 2024 than they did the year before, and as a result, they made the playoffs for the first time since they won the 2015 World Series. While there was no improbable dash to the World Series this time, the Royals did at least eliminate the Baltimore Orioles, and although they fell to the Yankees in the ALDS, all four games were close. Moral victories may not count for much in professional sports, but Kansas City fans ought to be delighted with what this team accomplished last season.

However, successful doesn’t mean perfect, and the Royals did have some significant flaws. The most glaring one was a team offense that was full of holes. The Royals scored enough runs to support their excellent pitching, enough to rank a healthy sixth in the American League in runs per game (4.54), but it was an extremely unbalanced effort. Witt carried more than his fair share of the overall load, with his 10.4 WAR accounting for more than half of the total 20 WAR Kansas City got from its position players. From three of the four most offense-heavy positions, first base, the outfield corners, and designated hitter, the Royals received an embarrassing lack of production. First base was fine, if unspectacular, manned by Vinnie Pasquantino and Salvador Perez, but the outfield corners combined for an OPS south of .650 and a brutal -2.5 WAR, and Kansas City DHs combined for a 77 wRC+, the fourth-worst production in the majors from that position. With Witt’s season and a bare level of competence from these three positions, Kansas City’s offense should’ve been one of the top three or four in the AL. Instead, what the Royals got from the two corner outfield spots and DH was — and I’ll put it generously — below a bare level of competence. Read the rest of this entry »


Bregging the Question

Nathan Ray Seebeck-USA TODAY Sports

We are now just over a week from pitchers and catchers reporting to spring training, and while there are still a lot of moves left to make, we have a basic idea how teams will be fundamentally constructed for the 2025 season. Our free agent tracker still lists 124 remaining free agents, as of Monday evening, but most of these players aren’t likely to have major impacts on their new teams. Only 15 of the players are projected on our Depth Charts as being worth one win, and only three players are projected at two wins. But one player remaining, Alex Bregman, stands clearly above the pack, at least as the mean old computers judge the situation. (Sorry, Polar Bear.)

A famous Scott Boras client in his early 30s remaining unsigned due to underwhelming offers in free agency has become a common refrain over the last few years. Unlike with some of their departing free agents over the years, the Astros have made more than a token effort at retaining their star, extending a six-year, $156 million offer in December. The general belief around baseball is that the deal is still on the table, and both the front office and his teammates would be very happy to have him return. But from a baseball standpoint, is Houston necessarily the best place for Bregman? And if it isn’t, which teams should be seriously pursuing him?

Fellow Fangraphéen Michael Baumann discussed the Bregman to the Astros scenario recently, and concluded that given the team’s needs and the acquisition of Isaac Paredes, it would be hard to get the maximum value out of Bregman’s return without doing something shocking, like trading Paredes before the start of the season. Since I’ve completed the initial run of ZiPS projections, I’m now equipped to do some (very) preliminary standings projections. I projected the Astros both with and without Bregman, using the normal methodology I use, which attempts to deal with team upside and downside scenarios and injuries.

ZiPS currently projects the league with a level of parity that appears, at first glance, to be greater than in the typical season. While the Dodgers are projected at 97 wins, the Astros are the only other team projected with an over/under number of 90 wins. That doesn’t mean there will be only two 90-win teams – in fact, you should expect quite a few more teams to reach that threshold — just that there’s a lot of uncertainty in a baseball team’s performance, and currently only two clubs have enough depth across their rosters to avoid the disastrous downside scenarios that are built into this projection system.

At 90.2 wins on average, reconfiguring a healthy Astros team to play Bregman at third, Paredes at second, and Jose Altuve in the outfield (the latter has been discussed), adds 2.8 wins (again, on average) to the bottom line in the ZiPS projections. That’s enough to bump the team’s playoff probability from 69.9% to 78.0%. A gain of just over eight percentage points is solid, to be sure, but how does that compare with the rest of the league?

To answer that question, I redid the simulation an additional 29 times, adding Bregman in turn to each team to see how his presence would change its playoff probability. It’s a bit more complex than simply replacing a team’s existing third baseman because in most cases, Bregman would cause a significant reshuffling of the roster roles. I tried to keep Bregman at third base wherever possible and shift others around him, and I completely avoided implausible scenarios, such as a team signing him to be its starting catcher. So, how’d it shake out?

ZiPS Playoff Probability – Signing Alex Bregman
Team Current Playoff Odds Playoff Odds With Bregman Change
Kansas City Royals 39.7% 54.3% 14.6%
Detroit Tigers 31.2% 43.6% 12.4%
Cincinnati Reds 26.2% 38.5% 12.3%
San Diego Padres 51.7% 63.7% 12.0%
Arizona Diamondbacks 50.4% 61.9% 11.5%
Boston Red Sox 45.3% 56.1% 10.8%
Philadelphia Phillies 65.5% 75.9% 10.4%
Seattle Mariners 53.0% 63.2% 10.2%
Cleveland Guardians 51.3% 61.4% 10.1%
Pittsburgh Pirates 21.9% 31.8% 9.9%
Minnesota Twins 49.6% 58.2% 8.6%
St. Louis Cardinals 27.7% 36.1% 8.4%
Milwaukee Brewers 51.8% 60.0% 8.2%
Houston Astros 69.9% 78.0% 8.2%
New York Mets 61.3% 69.3% 8.0%
Texas Rangers 49.9% 57.8% 7.9%
Teampa Bay Rays 32.6% 40.5% 7.9%
New York Yankees 60.7% 68.4% 7.7%
Toronto Blue Jays 40.7% 47.9% 7.2%
Atlanta Braves 68.8% 75.2% 6.4%
Washington Nationals 5.7% 11.4% 5.7%
Baltimore Orioles 61.4% 66.7% 5.3%
The Athletics 8.9% 14.0% 5.1%
Los Angeles Angels 5.8% 9.8% 4.0%
Miami Marlins 3.2% 6.8% 3.6%
Chicago Cubs 55.8% 59.4% 3.6%
San Francisco Giants 21.4% 24.2% 2.8%
Los Angeles Dodgers 87.8% 89.8% 2.0%
Colorado Rockies 0.8% 2.6% 1.8%
Chicago White Sox 0.0% 0.1% 0.1%

There are basically two questions here for projection systems to answer: 1) How many wins would Bregman add? 2) What are the utility of those wins? Bregman would represent a massive upgrade for the White Sox, but they are extremely unlikely to be relevant enough for those wins to actually matter. (Bregman would help the Pale Hose avoid rounding to zero, skyrocketing their playoff probability to 1-in-1,455!) Their rivals on the North Side, the Cubs, also rank very low on this list for the opposite reason: ZiPS already sees the Cubs as having a very strong offense. Sure, marginal wins are valuable for any team, but it’s hard for the Cubs to really leverage Bregman without one of those downside scenarios occurring, such as underperformance from guys like Matt Shaw or Seiya Suzuki, or a rash of injuries to key players. If there were a pitching equivalent of Bregman available, the Cubs would likely be at the very top of this list.

The Astros are only in the middle of the pack in terms of playoff improvement with Bregman. But two other teams that have been rumored at times to be in the mix would see a major surge in their postseason odds if they were to sign him: the Detroit Tigers and Boston Red Sox. The Tigers are in a position where the extra wins they’d get from Bregman would translate into a huge playoff probability boost, and though ZiPS thinks Jace Jung would be solid at third, signing Bregman would trigger a roster shuffle that would tighten up right field and the short side of Detroit’s DH platoon — the team’s two weakest positions, according to ZiPS. There’s been some speculation that Bregman could play second base for the Red Sox, but as ZiPS sees it, Boston would get more value from keeping Bregman at third, moving Rafael Devers to first, and letting Triston Casas and Masataka Yoshida fight it out at DH. This alignment would require prospect Kristian Campbell to be on the roster and filling the team’s current hole at the keystone.

But the best place for Bregman, at least in the ZiPS projections, is another AL Central team: the Kansas City Royals. While the corner outfield scenario is absolutely brutal, especially if MJ Melendez and Hunter Renfroe get the vast majority of the playing time in left and right field, respectively, ZiPS sees merit in shifting Maikel Garcia or Michael Massey into one of the corner spots on the grass, with Bregman taking over at third. ZiPS also thinks Bregman would provide a terrific resolution of the hot corner questions in Cincinnati, though there’s probably even less of a chance the Reds would actually do this than the Royals. The Padres likely don’t have enough payroll flexibility even to offer Bregman a short-term deal with an opt out, but if they could find room in their budget, sell him on playing second base, and shift Jake Cronenworth to left field — or even convince Bregman to play left — there would be more high-end scenarios in which San Diego could make the Dodgers uncomfortable.

My gut says the Tigers will be the team to land Bregman, and likely very soon if it happens. They just shored up the rotation with the signing of Jack Flaherty at an extremely reasonable price, and as the projected fourth-place team in the AL Central right now, they have a lot to gain by adding a legitimate All-Star. There’s a way, but is there a will?


Jack Flaherty Returns to Detroit on Two-Year Deal

Jesse Johnson-USA TODAY Sports

A key piece of the 2024 Detroit Tigers reunited with the team on Sunday, as starting pitcher Jack Flaherty signed a two-year deal worth $35 million. Flaherty excelled for the Tigers last year, putting up a 2.95 ERA and a 3.12 FIP in 106 2/3 innings over 18 starts, good for 2.1 WAR. With the Tigers seemingly out of the playoff race in July, he was shipped to the Dodgers, with whom he won the World Series. He was respectable over 10 regular-season starts with Los Angeles, but his performance was decidedly mixed in the postseason.

Like many short-term contracts for solid players, this deal comes with its own ifs, ands, and buts. Flaherty’s guaranteed money is front-loaded, structured as a one-year, $25 million deal with a player option for $10 million in 2026 that increases to $20 million if he starts 15 games in 2025. Whether one sees the deal as a two-year contract with an opt-out or a one-year contract with a player option is a “potato, po-tah-to” issue that really doesn’t matter here; in this case, they’re the same functional thing.

What does matter is that Flaherty’s market appears to not have developed as much as that of some of the other top pitchers available. While it shouldn’t raise an eyebrow that Blake Snell and Corbin Burnes got much bigger contracts, Flaherty also received a lighter deal than Sean Manaea, Nathan Eovaldi, and Luis Severino. While Flaherty didn’t miss any significant time due to injury last year — he skipped only a single start with lower back pain in July — questions about his back were enough for the Yankees to have second thoughts about trading for him at the deadline. The Dodgers were happy enough to acquire him, and though his strikeout rate dropped off (32% to 26%), he was certainly a net plus for an injury-thinned starting staff down the stretch. Read the rest of this entry »


2025 ZiPS Projections: San Diego Padres

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

Batters

After an extremely disappointing 2023 with Juan Soto in tow, the Padres bounced back to punch above their weight without him in 2024, thus giving less analytically inclined observers ample ammunition to reach spectacularly wrong conclusions about cause and effect. Losing Soto didn’t help the Padres, but a phenomenally successful move to the rotation for Michael King, a rebound season from Fernando Tatis Jr., and a stunning rookie campaign from Jackson Merrill did a lot to make up for his absence. (It also helped that they didn’t underperform their Pythagorean record by 10 wins like they did in 2023.) Read the rest of this entry »


2025 ZiPS Projections: St. Louis Cardinals

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

Batters

The 2024 St. Louis Cardinals experienced a bit of a bounce back from the team’s worst season in decades, but in a year where it took 89 wins to grab the final NL Wild Card spot, the Red Birds were still well short of being able to squeeze back into the playoffs. While things were sunnier than they were the year before, the Cardinals were outscored on the season, and neither of the stars in the lineup, Paul Goldschmidt and Nolan Arenado, returned to their 2023 form. It doesn’t appear as if the Cards feel like they’re on the precipice of an October return, as they’ve largely spent the offseason trying to trade Arenado.

Might Arenado actually be underrated at this point? While his offensive production has come down quite a bit from its peak, his 149 wRC+ in 2022 was likely always a late-era outlier, and a 102 wRC+ is hardly lousy for a third baseman. He’s no longer a star without a resurgence at the plate, but he was at least a good player in 2024, amassing 3.1 WAR thanks to very good defense at the hot corner. I think the perception of Arenado’s 2024 might be a lot worse than his season actually was. When I posted the depth chart graphic on social media, it led to a couple of conversations about ZiPS projecting a comeback season, even though the 2.9 WAR it forecasts is below his 2024 number!

With two glaring exceptions, ZiPS mostly thinks that the Cards are adequate to good around the diamond. Masyn Winn projects as the lineup’s second-best player, and though ZiPS isn’t crazy about Thomas Saggese, it likes Brendan Donovan enough to end up with a good second base WAR number, assuming the latter gets the plate appearances projected on our Depth Charts. The system projects that Willson Contreras will be good enough offensively that he could be a reasonable first baseman, and though it pulls back considerably on Iván Herrera’s rookie offense, the tandem of him and Pedro Pagés also looks solid.

Where ZiPS is unhappy is in the non-Lars Nootbaar portions of the outfield. In center field, Victor Scott II’s defense isn’t enough to completely cancel out a bleak offensive projection, and the computer doesn’t see Michael Siani as providing much of a shove. Scott’s a weird one to project in that he actually hit pretty decently in Double-A in 2023, but he was absolutely horrific in the minors last year, putting up a 59 wRC+. Note that that’s not the translation, but his actual number. Scott hit somewhat better in July after changing his stance, putting up a .711 OPS for the Triple-A Memphis Redbirds, but that hint of production disappeared in the majors and he earned a demotion in mid-September.

As for the other exception, Jordan Walker, ZiPS actually thinks he improved his defense somewhat in 2024, to the point that he’s not a pure designated hitter, just a fairly lousy right fielder who could play if he hits. But that’s kind of the problem. Walker now has about 500 PA of not hitting Triple-A pitchers. If Scott had a 93 wRC+ at Triple-A, it would be cause for optimism, but it’s completely inadequate for someone who is supposed to be valued entirely for his bat. Walker isn’t old, and you can squint and still kind of see his upside, but the odds are against him being a real contributor in 2025.

Pitchers

I’m not sure why ZiPS is suddenly reminded of a couple of knuckleballers, Phil Niekro and Tom Candiotti, when it looks at Sonny Gray, but removing them from the large cohort doesn’t change Gray’s projection, which makes him the favorite to represent the Cardinals at the All-Star Game this summer. It’s hard to tell how seriously the team really considered trading Gray, but he does have some pretty decent value with two years left on his contract. Of course, that assumes that his forearm tendinitis isn’t something darker, but really, you could say that about every pitcher who has ever existed.

He projects as having lower long-term upside than either Quinn Mathews or Tink Hence, but ZiPS is increasingly a fan of Michael McGreevy, who has good control and keeps the ball down, which has value in front of what ZiPS projects to be an above-average infield. Both Mathews and Hence project as legitimate starters right now, with ZiPS a little more confident about the former for 2025. ZiPS isn’t expecting quite as good a year from Erick Fedde, but it remains comfortable with the back of St. Louis’ rotation, both in terms of its non-horrendous quality and its reasonable depth.

It might be a stretch to say that ZiPS sees the Cardinals bullpen as “Ryan Helsley and some other guys,” but their hard-throwing closer is the only reliever who the computer can summon any excitement about. Helsley lost a couple of strikeouts per game coming back from his 2023 injuries, but ZiPS isn’t worried about that, as his velocity is intact and his contact rate is consistent with that of a whiffier pitcher. Ryan Fernandez, JoJo Romero, and John King all project as a bit above average, and the computer would put Matthew Liberatore in that group as well. ZiPS is rather meh on the low-leverage portion of the bullpen, and while the Cardinals could certainly add an arm or two there, this doesn’t appear to be a team that intends to make so much as a ripple in free agency.

Unlike most seasons, ZiPS does’t see the Cardinals as being in the same tier as the Brewers and Cubs. St. Louis has better projections than the Pirates and Reds, at least for now, but even then, only barely. It has been an incredibly quiet offseason in St. Louis outside of the constant Arenado rumors, with the team doing just about nothing, and we’re now only a few weeks from the opening of spring training. The team’s biggest signing this winter? Ryan Vilade. Even throwing in the towel would be more interesting, and probably more helpful than cosplaying as the heat death of the universe.

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
Nolan Arenado R 34 3B 580 527 61 139 28 1 18 77 42 85 2 2
Masyn Winn R 23 SS 639 584 87 148 29 5 14 71 44 116 13 4
Willson Contreras R 33 C 422 362 50 86 19 0 16 52 44 107 4 2
Brendan Donovan L 28 LF 584 514 69 144 26 2 12 63 53 76 4 4
Lars Nootbaar L 27 RF 475 405 63 99 22 3 16 55 63 97 7 2
Alec Burleson L 26 LF 545 501 63 139 23 2 17 73 34 74 6 2
Nolan Gorman L 25 2B 511 461 67 106 19 0 27 75 46 170 6 1
Iván Herrera R 25 C 386 335 47 84 16 2 8 42 43 84 5 1
Jimmy Crooks L 23 C 409 367 42 90 18 2 7 46 32 100 2 0
Thomas Saggese R 23 SS 585 541 70 132 24 4 15 73 28 151 7 3
César Prieto L 26 3B 524 496 55 128 25 2 8 59 18 70 4 5
Leonardo Bernal B 21 C 432 395 42 90 16 2 7 41 33 106 3 4
Bryan Torres L 27 CF 507 450 62 123 22 2 1 44 43 89 18 8
Brandon Crawford L 38 SS 316 281 34 64 13 1 8 34 28 78 2 1
Pedro Pagés R 26 C 355 322 30 71 12 1 8 40 26 93 2 0
Matt Koperniak L 27 LF 500 459 50 116 18 2 11 58 33 102 5 4
Victor Scott II L 24 CF 532 480 58 107 15 5 7 47 33 106 32 6
Mike Antico L 27 CF 511 468 60 106 19 3 10 54 32 129 23 4
Sammy Hernandez R 21 C 371 330 41 64 12 2 5 39 25 84 1 1
Ryan Vilade R 26 RF 489 443 52 105 18 3 8 51 36 119 11 5
Arquímedes Gamboa B 27 SS 374 333 39 69 12 2 5 31 38 106 5 2
Jordan Walker R 23 RF 589 536 57 131 27 3 19 71 42 136 6 3
Jose Barrero R 27 SS 375 342 40 71 14 2 10 44 21 128 11 2
José Fermín R 26 SS 321 279 40 64 11 1 5 34 29 39 9 3
Gavin Collins R 29 C 212 191 19 41 7 0 5 24 13 44 0 0
Michael Siani L 25 CF 459 409 52 86 12 3 5 36 38 115 21 6
Luken Baker R 28 1B 480 425 46 90 17 0 21 66 47 132 1 0
Chance Sisco L 30 C 129 116 12 20 5 0 3 14 9 45 0 0
Carlos Linarez R 23 C 133 125 7 23 4 0 1 9 6 45 1 0
Matt Carpenter L 39 DH 192 162 18 32 9 0 6 21 24 59 0 1
Chase Davis L 23 CF 464 419 44 86 19 1 8 46 37 137 4 1
Alfonso Rivas III L 28 1B 383 332 41 76 17 2 4 39 39 103 3 0
Chase Adkison R 25 C 230 207 18 45 8 1 2 22 15 53 0 1
Chris Rotondo R 26 RF 404 362 45 78 15 2 5 40 27 138 8 3
Jacob Buchberger R 27 3B 426 392 46 85 12 3 6 38 30 114 7 4
Ramon Mendoza R 24 2B 278 245 25 50 10 1 3 23 21 72 1 1
Dakota Harris R 23 2B 363 333 38 77 16 0 6 40 13 89 4 3
Graysen Tarlow R 23 C 89 79 5 14 2 0 1 6 8 24 0 0
Nathan Church L 24 RF 522 478 60 112 18 1 4 47 29 70 13 4
Joshua Baez R 22 RF 348 314 36 61 14 1 8 38 24 147 15 3
Noah Mendlinger L 24 2B 422 374 41 89 15 1 1 39 29 62 3 4
Jeremy Rivas R 22 SS 479 431 47 93 11 1 2 35 33 109 14 6
R.J. Yeager R 26 1B 473 436 55 102 17 1 10 52 25 76 6 2
Matt Lloyd L 29 DH 437 392 46 87 18 0 10 48 34 110 7 2
Brody Moore R 24 SS 408 376 41 82 13 2 2 30 23 101 13 6
Anyelo Encarnacion R 21 2B 343 307 38 59 11 1 5 28 28 122 5 3
Wade Stauss L 26 C 129 109 8 18 4 0 1 12 11 59 0 0
Trey Paige L 24 3B 395 356 41 68 14 3 1 29 30 119 3 1
Michael Curialle R 24 3B 351 315 37 65 15 2 4 35 21 117 3 2
Zach Levenson R 23 LF 309 277 28 51 11 1 6 31 25 84 4 2
Tre Richardson R 23 2B 347 307 28 57 10 4 1 26 25 105 8 5
Miguel Villarroel R 23 SS 428 405 44 92 16 2 2 36 13 110 16 3
Kade Kretzschmar L 25 LF 348 311 33 67 9 3 1 30 26 84 3 2
Darlin Moquete R 25 DH 312 286 40 58 8 1 8 32 17 87 7 3
Johnfrank Salazar R 21 1B 338 311 29 68 13 0 3 30 18 59 0 1
Chandler Redmond L 28 1B 425 385 39 77 13 1 10 43 35 161 2 1
Won-Bin Cho L 21 CF 457 411 45 85 13 3 3 37 31 153 10 7
William Sullivan L 24 1B 169 154 13 26 4 0 2 16 11 64 1 1
Alex Iadisernia L 24 LF 439 399 43 79 17 3 6 40 29 120 11 6
Miguel Ugueto R 22 LF 251 239 22 49 10 2 2 20 7 60 5 3
Osvaldo Tovalin L 25 1B 394 370 35 76 13 1 4 38 12 82 4 2
Brayden Jobert L 24 RF 370 328 33 55 9 1 6 36 28 125 7 3

Batters – Advanced
Player PA BA OBP SLG OPS+ ISO BABIP Def WAR wOBA 3YOPS+ RC
Nolan Arenado 580 .264 .321 .423 106 .159 .285 5 2.9 .321 102 73
Masyn Winn 639 .253 .307 .392 94 .139 .295 5 2.9 .304 97 75
Willson Contreras 422 .237 .341 .422 113 .185 .293 -2 2.6 .336 106 54
Brendan Donovan 584 .280 .360 .408 115 .128 .310 2 2.5 .339 113 78
Lars Nootbaar 475 .244 .344 .432 116 .188 .284 4 2.3 .337 114 62
Alec Burleson 545 .277 .325 .433 110 .156 .297 2 2.0 .328 111 73
Nolan Gorman 511 .230 .301 .447 106 .217 .300 -4 1.9 .322 109 64
Iván Herrera 386 .251 .342 .382 103 .131 .312 -2 1.9 .321 102 45
Jimmy Crooks 409 .245 .314 .363 89 .117 .320 4 1.9 .298 93 42
Thomas Saggese 585 .244 .291 .386 88 .142 .312 -1 1.6 .295 92 64
César Prieto 524 .258 .292 .365 83 .107 .287 8 1.3 .287 84 56
Leonardo Bernal 432 .228 .289 .331 74 .104 .294 7 1.3 .276 79 40
Bryan Torres 507 .273 .336 .337 90 .064 .338 -2 1.1 .300 89 58
Brandon Crawford 316 .228 .304 .367 87 .139 .287 2 1.0 .293 78 32
Pedro Pagés 355 .220 .282 .338 73 .118 .285 4 1.0 .274 73 31
Matt Koperniak 500 .253 .308 .373 90 .120 .304 6 1.0 .299 91 55
Victor Scott II 532 .223 .280 .318 68 .096 .272 5 0.7 .265 71 52
Mike Antico 511 .226 .283 .344 75 .118 .292 1 0.7 .277 77 52
Sammy Hernandez 371 .194 .274 .288 58 .094 .245 7 0.6 .255 62 27
Ryan Vilade 489 .237 .299 .345 80 .108 .306 8 0.6 .284 81 50
Arquímedes Gamboa 374 .207 .292 .301 67 .093 .289 3 0.6 .268 67 31
Jordan Walker 589 .244 .306 .412 99 .168 .294 -5 0.5 .312 102 70
Jose Barrero 375 .208 .270 .348 72 .140 .299 0 0.4 .272 72 35
José Fermín 321 .229 .315 .329 82 .100 .251 -4 0.4 .290 84 32
Gavin Collins 212 .214 .280 .329 70 .115 .253 -1 0.2 .271 69 18
Michael Siani 459 .210 .281 .291 61 .081 .280 4 0.2 .258 64 40
Luken Baker 480 .212 .292 .400 92 .188 .254 -1 0.1 .300 94 50
Chance Sisco 129 .173 .256 .294 54 .121 .252 2 0.1 .249 54 9
Carlos Linarez 133 .185 .227 .241 32 .056 .280 5 0.0 .210 33 7
Matt Carpenter 192 .197 .308 .363 88 .166 .267 0 0.0 .298 80 19
Chase Davis 464 .205 .276 .312 65 .107 .284 3 0.0 .261 70 37
Alfonso Rivas III 383 .229 .323 .328 84 .099 .320 -1 0.0 .294 83 36
Chase Adkison 230 .217 .280 .294 62 .077 .283 0 0.0 .258 64 18
Chris Rotondo 404 .215 .287 .309 68 .094 .333 6 -0.1 .268 70 35
Jacob Buchberger 426 .217 .277 .309 64 .092 .290 3 -0.1 .260 66 36
Ramon Mendoza 278 .204 .275 .290 59 .086 .277 2 -0.1 .255 61 20
Dakota Harris 363 .231 .276 .333 70 .102 .298 -1 -0.2 .268 72 33
Graysen Tarlow 89 .176 .258 .239 41 .063 .239 0 -0.2 .230 39 5
Nathan Church 522 .234 .289 .301 66 .067 .267 8 -0.2 .263 68 46
Joshua Baez 348 .194 .265 .322 64 .128 .334 3 -0.3 .261 73 31
Noah Mendlinger 422 .238 .312 .292 71 .054 .283 -5 -0.4 .275 73 36
Jeremy Rivas 479 .216 .277 .260 52 .044 .284 2 -0.4 .245 57 37
R.J. Yeager 473 .234 .286 .346 76 .112 .263 2 -0.4 .278 77 45
Matt Lloyd 437 .222 .291 .345 78 .123 .283 0 -0.5 .280 77 41
Brody Moore 408 .218 .267 .279 54 .061 .293 -1 -0.6 .245 55 33
Anyelo Encarnacion 343 .192 .266 .284 55 .091 .301 0 -0.6 .248 62 26
Wade Stauss 129 .165 .282 .229 46 .064 .346 -5 -0.7 .244 44 7
Trey Paige 395 .191 .258 .256 45 .065 .284 5 -0.7 .233 48 24
Michael Curialle 351 .206 .277 .304 63 .098 .314 -4 -0.7 .261 64 28
Zach Levenson 309 .184 .262 .296 57 .112 .241 1 -0.9 .251 64 23
Tre Richardson 347 .186 .262 .254 46 .068 .279 1 -0.9 .235 51 24
Miguel Villarroel 428 .227 .257 .291 54 .064 .307 -4 -1.0 .241 57 35
Kade Kretzschmar 348 .215 .289 .273 59 .058 .292 0 -1.0 .256 63 26
Darlin Moquete 312 .203 .253 .322 60 .119 .262 0 -1.1 .253 63 26
Johnfrank Salazar 338 .219 .269 .290 57 .071 .261 2 -1.1 .248 63 25
Chandler Redmond 425 .200 .271 .317 64 .117 .314 1 -1.1 .261 65 34
Won-Bin Cho 457 .207 .270 .275 54 .068 .321 -2 -1.2 .246 61 35
William Sullivan 169 .169 .243 .234 35 .065 .273 -2 -1.3 .220 44 9
Alex Iadisernia 439 .198 .263 .301 58 .103 .268 1 -1.3 .252 63 36
Miguel Ugueto 251 .205 .231 .289 45 .084 .266 -1 -1.5 .227 49 18
Osvaldo Tovalin 394 .206 .247 .279 47 .073 .254 3 -1.7 .235 52 27
Brayden Jobert 370 .168 .254 .256 44 .088 .249 -2 -1.9 .234 48 24

Batters – Top Near-Age Offensive Comps
Player Hit Comp 1 Hit Comp 2 Hit Comp 3
Nolan Arenado Bill Madlock Mike Lowell Brooks Robinson
Masyn Winn Jimmy Rollins Robin Yount Zoilo Versalles
Willson Contreras Mike Stanley Chris Hoiles Ray Mueller
Brendan Donovan Mark Grace Orlando Gonzalez Nick Markakis
Lars Nootbaar Mike Jorgensen Tommy Henrich Phil Stephenson
Alec Burleson Derrick May Chad Tracy Lou Piniella
Nolan Gorman Dean Palmer Pedro Alvarez Jeff Kent
Iván Herrera Doug Robbins Shawn McGill Mike Stanley
Jimmy Crooks Frank Zupo Jim Bonnici Johnny Edwards
Thomas Saggese Alex Gonzalez Max Alvis Sheldon Neuse
César Prieto Luis Sojo Bruce Miller Bobby Pfeil
Leonardo Bernal Bill Fahey Conrado Lezcano John Wathan
Bryan Torres Joey Gathright Tony Gwynn Jr. Orlando Gonzalez
Brandon Crawford Chris Speier Don Lang Charlie Hayes
Pedro Pagés Dusty Brown Martín Maldonado Chad Moeller
Matt Koperniak Andy Dirks Art James Del Unser
Victor Scott II Keith Curcio Mel Stocker Tike Redman
Mike Antico Gary Brown Dave Jacas Eric Fox
Sammy Hernandez Wynston Sawyer Ben Rortvedt Gerry Brooks
Ryan Vilade Gary Thomas Winston Ficklin Jamie Hoffmann
Arquímedes Gamboa Darrel Chaney Anderson Machado Ken Jackson
Jordan Walker Frank Demaree Les Norman Darryl Motley
Jose Barrero Haley Young Carlos Duncan Tony Thomas
José Fermín Sonny Jackson Jeff Huson Al Newman
Gavin Collins Cody Clark Jerry Zimmerman Jim Command
Michael Siani Patrick Biondi Steve Murphy Mike Mesh
Luken Baker Eric Munson Cotton Nash R C Stevens
Chance Sisco Jeff Hearron Gary Tremblay Fred Hofmann
Carlos Linarez Josh Davis Juan Nunez Angel Diaz
Matt Carpenter Woodie Held Duke Snider Eric Hinske
Chase Davis Jake Skole Sean Dwyer Andy Rohleder
Alfonso Rivas III Reid Fronk Derek Nicholson Joe Bracchitta
Chase Adkison David Fore Matt Kennelly Jorge Maduro
Chris Rotondo Mark Doran Torii Hunter Juan Piniella
Jacob Buchberger Shane Turner Ed Lucas Jeff Bertoni
Ramon Mendoza Chuck Scrivener Zach McKinstry John Hamilton
Dakota Harris Rex Hudler Luis Gonzalez Pat Meares
Graysen Tarlow Mark Carroll John Harrell Raul Jimenez
Nathan Church Bobby Moore Pookie Wilson Chad Wright
Joshua Baez Tyler Johnson Todd Steverson Dylan Johnston
Noah Mendlinger Douglas Palmer Irving Lopez Raymond Rivas
Jeremy Rivas Jhonny Carvajal Chone Figgins Guillermo Reyes
R.J. Yeager Tony Martinez Ken Foster Garrett Guzman
Matt Lloyd Andy Barkett Larry DiPippo Danny Ozark
Brody Moore James Lofton Robbie Hudson Ryan Rutz
Anyelo Encarnacion Joe Morales Wayne Busby Kevin Flora
Wade Stauss Jim Baxter Matt Allen Bodie Shepherd
Trey Paige Jack Lind Zach Strong Pooh Hines
Michael Curialle Rob Marconi Rob Mackowiak Ronald Schmitt
Zach Levenson Joe Mackay Theodore Savia Dan Madsen
Tre Richardson Rick Wolff Ron Dillard Kevin Flora
Miguel Villarroel Tony Pena Jr. Tim Olson Juan Ciriaco
Kade Kretzschmar Justin Maffei Matthew Acosta Jared James
Darlin Moquete Sthervin Matos Jeffrey Baez Jerry Simmons
Johnfrank Salazar Ruben Cruz Jeffrey Ronevich Mark Elliott
Chandler Redmond Ron Durham Phil Westendorf Chip Cannon
Won-Bin Cho Greg Burns Josh Womack Kevin Kiermaier
William Sullivan Onesimo Perez Ryan Davis Matt Brooks
Alex Iadisernia Duane Singleton Josh Beauregard Wynter Phoenix
Miguel Ugueto Walker Gourley Cristian Paulino Julio Pacheco
Osvaldo Tovalin Scott Gillitzer David Hicks Christopher Minaker
Brayden Jobert Brian Blair Enoch Simmons Brad Bennett

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
Nolan Arenado .295 .350 .470 127 4.3 .237 .295 .375 86 1.4
Masyn Winn .280 .334 .444 113 4.4 .230 .282 .348 75 1.4
Willson Contreras .262 .367 .467 131 3.6 .208 .317 .365 92 1.6
Brendan Donovan .304 .386 .450 133 3.8 .248 .333 .364 96 1.1
Lars Nootbaar .270 .369 .493 137 3.4 .220 .319 .380 97 1.1
Alec Burleson .307 .355 .485 130 3.4 .249 .295 .385 91 0.6
Nolan Gorman .259 .330 .511 129 3.4 .202 .270 .388 84 0.5
Iván Herrera .281 .369 .440 124 2.9 .222 .310 .341 83 0.9
Jimmy Crooks .273 .339 .421 112 3.0 .217 .283 .322 71 1.0
Thomas Saggese .272 .318 .442 108 3.0 .219 .269 .343 70 0.2
César Prieto .286 .318 .413 103 2.6 .225 .262 .321 64 0.0
Leonardo Bernal .259 .323 .383 97 2.5 .198 .261 .291 56 0.3
Bryan Torres .303 .369 .378 109 2.4 .241 .304 .297 70 -0.1
Brandon Crawford .257 .332 .419 109 1.9 .196 .272 .315 64 0.2
Pedro Pagés .251 .310 .385 92 1.8 .189 .251 .292 54 0.1
Matt Koperniak .283 .339 .421 110 2.1 .226 .281 .329 71 -0.2
Victor Scott II .248 .304 .359 84 1.8 .195 .259 .278 51 -0.5
Mike Antico .250 .306 .382 91 1.7 .201 .257 .303 57 -0.5
Sammy Hernandez .233 .307 .342 83 1.7 .165 .243 .244 41 -0.2
Ryan Vilade .262 .326 .386 97 1.6 .216 .277 .303 64 -0.4
Arquímedes Gamboa .232 .320 .347 86 1.4 .174 .262 .260 49 -0.3
Jordan Walker .271 .333 .463 118 1.9 .221 .278 .367 80 -0.9
Jose Barrero .234 .295 .402 94 1.5 .179 .240 .296 51 -0.5
José Fermín .258 .343 .376 101 1.2 .205 .288 .287 65 -0.3
Gavin Collins .243 .307 .386 93 0.8 .184 .249 .280 50 -0.4
Michael Siani .237 .305 .331 78 1.1 .182 .254 .257 46 -0.8
Luken Baker .235 .311 .453 109 1.0 .188 .268 .350 75 -0.9
Chance Sisco .202 .286 .357 78 0.4 .151 .227 .248 35 -0.2
Carlos Linarez .221 .262 .283 53 0.4 .156 .204 .198 14 -0.3
Matt Carpenter .222 .340 .423 108 0.5 .168 .277 .303 64 -0.5
Chase Davis .231 .300 .354 82 1.0 .177 .251 .268 46 -1.0
Alfonso Rivas III .257 .351 .375 103 0.9 .202 .294 .289 65 -1.0
Chase Adkison .248 .312 .342 83 0.6 .184 .253 .253 44 -0.6
Chris Rotondo .250 .318 .359 89 1.0 .189 .260 .270 49 -1.0
Jacob Buchberger .241 .303 .355 83 0.9 .190 .252 .274 48 -0.9
Ramon Mendoza .236 .308 .341 81 0.7 .178 .251 .253 43 -0.7
Dakota Harris .257 .301 .371 88 0.7 .206 .252 .293 54 -0.9
Graysen Tarlow .206 .294 .277 59 0.0 .148 .229 .202 23 -0.4
Nathan Church .262 .316 .342 84 0.9 .207 .263 .267 50 -1.3
Joshua Baez .230 .294 .376 86 0.7 .171 .237 .274 45 -1.2
Noah Mendlinger .264 .338 .325 86 0.5 .209 .286 .257 55 -1.2
Jeremy Rivas .245 .307 .296 69 0.7 .194 .255 .234 40 -1.2
R.J. Yeager .263 .314 .395 96 0.7 .208 .261 .305 59 -1.6
Matt Lloyd .249 .318 .395 97 0.7 .193 .261 .299 56 -1.6
Brody Moore .240 .294 .311 69 0.2 .189 .243 .247 38 -1.4
Anyelo Encarnacion .219 .299 .337 77 0.3 .163 .240 .238 34 -1.5
Wade Stauss .203 .317 .276 69 -0.3 .136 .252 .189 28 -1.0
Trey Paige .223 .286 .300 64 0.2 .165 .230 .222 28 -1.6
Michael Curialle .235 .302 .349 80 0.0 .182 .249 .268 46 -1.5
Zach Levenson .214 .290 .349 77 -0.1 .161 .238 .259 41 -1.5
Tre Richardson .212 .289 .294 65 -0.1 .158 .235 .218 28 -1.7
Miguel Villarroel .255 .284 .326 70 0.0 .199 .230 .253 36 -1.9
Kade Kretzschmar .242 .314 .310 74 -0.4 .189 .260 .237 42 -1.8
Darlin Moquete .231 .282 .375 80 -0.2 .177 .228 .279 44 -1.8
Johnfrank Salazar .249 .297 .331 76 -0.3 .194 .240 .255 39 -1.9
Chandler Redmond .230 .300 .366 83 -0.1 .174 .243 .276 45 -2.1
Won-Bin Cho .239 .298 .318 74 -0.1 .182 .243 .243 38 -2.1
William Sullivan .195 .268 .281 51 -1.0 .144 .214 .198 17 -1.7
Alex Iadisernia .225 .289 .344 76 -0.4 .175 .240 .262 42 -2.2
Miguel Ugueto .237 .261 .334 65 -0.8 .178 .202 .248 26 -2.1
Osvaldo Tovalin .232 .275 .317 65 -0.8 .179 .220 .238 29 -2.7
Brayden Jobert .193 .281 .293 60 -1.1 .145 .228 .219 28 -2.7

Batters – Platoon Splits
Player BA vs. L OBP vs. L SLG vs. L BA vs. R OBP vs. R SLG vs. R
Nolan Arenado .273 .338 .439 .260 .315 .418
Masyn Winn .263 .323 .427 .248 .297 .372
Willson Contreras .248 .356 .455 .234 .336 .410
Brendan Donovan .268 .349 .396 .285 .365 .414
Lars Nootbaar .239 .331 .389 .247 .349 .449
Alec Burleson .267 .314 .398 .282 .331 .450
Nolan Gorman .222 .289 .393 .233 .307 .469
Iván Herrera .254 .349 .389 .249 .338 .378
Jimmy Crooks .230 .297 .320 .251 .320 .378
Thomas Saggese .247 .297 .388 .242 .289 .386
César Prieto .250 .285 .346 .262 .294 .374
Leonardo Bernal .232 .289 .336 .226 .290 .330
Bryan Torres .256 .317 .318 .280 .345 .346
Brandon Crawford .228 .295 .342 .228 .307 .376
Pedro Pagés .226 .291 .348 .217 .278 .333
Matt Koperniak .245 .297 .357 .256 .313 .380
Victor Scott II .214 .268 .275 .226 .285 .335
Mike Antico .220 .275 .312 .229 .287 .358
Sammy Hernandez .204 .278 .327 .190 .273 .272
Ryan Vilade .244 .307 .355 .232 .294 .339
Arquímedes Gamboa .202 .281 .312 .210 .296 .295
Jordan Walker .250 .316 .438 .241 .300 .398
Jose Barrero .214 .275 .365 .204 .266 .338
José Fermín .224 .311 .318 .233 .318 .337
Gavin Collins .225 .291 .352 .208 .273 .317
Michael Siani .209 .278 .288 .211 .283 .293
Luken Baker .214 .298 .417 .210 .287 .389
Chance Sisco .167 .242 .300 .174 .260 .291
Carlos Linarez .190 .227 .214 .181 .225 .253
Matt Carpenter .182 .288 .295 .203 .317 .390
Chase Davis .197 .264 .291 .209 .281 .321
Alfonso Rivas III .209 .298 .308 .237 .332 .336
Chase Adkison .227 .288 .318 .213 .277 .284
Chris Rotondo .219 .297 .333 .214 .282 .298
Jacob Buchberger .232 .298 .326 .209 .265 .299
Ramon Mendoza .205 .283 .284 .204 .272 .293
Dakota Harris .233 .282 .340 .230 .273 .330
Graysen Tarlow .185 .267 .222 .173 .254 .250
Nathan Church .233 .286 .295 .235 .290 .304
Joshua Baez .198 .268 .337 .192 .264 .315
Noah Mendlinger .225 .298 .265 .243 .317 .301
Jeremy Rivas .221 .283 .269 .213 .275 .255
R.J. Yeager .244 .299 .356 .229 .280 .342
Matt Lloyd .211 .278 .307 .227 .296 .360
Brody Moore .215 .267 .289 .220 .267 .275
Anyelo Encarnacion .198 .277 .297 .189 .260 .277
Wade Stauss .152 .282 .182 .171 .284 .250
Trey Paige .188 .248 .240 .192 .262 .262
Michael Curialle .204 .275 .306 .207 .279 .304
Zach Levenson .186 .268 .302 .183 .259 .293
Tre Richardson .184 .266 .235 .187 .260 .263
Miguel Villarroel .227 .259 .305 .227 .256 .285
Kade Kretzschmar .200 .274 .247 .221 .295 .283
Darlin Moquete .210 .266 .330 .199 .246 .317
Johnfrank Salazar .229 .281 .295 .214 .262 .286
Chandler Redmond .191 .254 .278 .204 .278 .333
Won-Bin Cho .195 .258 .265 .211 .275 .279
William Sullivan .163 .250 .256 .171 .240 .225
Alex Iadisernia .187 .254 .271 .202 .266 .312
Miguel Ugueto .213 .241 .320 .201 .227 .274
Osvaldo Tovalin .200 .252 .261 .208 .245 .286
Brayden Jobert .169 .257 .225 .167 .253 .268

Pitchers – Standard
Player T Age W L ERA G GS IP H ER HR BB SO
Sonny Gray R 35 11 7 3.43 26 26 149.7 129 57 17 41 156
Michael McGreevy R 24 9 8 3.99 28 27 153.3 155 68 18 41 108
Andre Pallante R 26 7 7 3.82 36 18 117.7 115 50 9 47 87
Quinn Mathews L 24 6 6 4.05 25 25 126.7 115 57 15 46 122
Ryan Helsley R 30 7 3 2.77 58 0 61.7 45 19 5 22 75
Erick Fedde R 32 8 9 4.21 26 26 143.3 143 67 21 45 129
Drew Rom L 25 5 5 3.98 18 17 83.7 80 37 9 29 73
Tink Hence R 22 5 5 4.20 26 26 98.7 95 46 13 34 83
Kyle Gibson R 37 7 8 4.47 25 25 139.0 141 69 18 55 116
Gordon Graceffo R 25 7 9 4.42 25 24 124.3 126 61 16 41 86
Lance Lynn R 38 6 8 4.44 23 23 125.7 125 62 19 46 115
Matthew Liberatore L 25 6 5 4.15 43 15 102.0 96 47 12 38 93
Steven Matz L 34 4 4 4.10 21 16 83.3 86 38 10 27 73
Miles Mikolas R 36 7 10 4.63 25 25 140.0 151 72 21 28 95
Sem Robberse R 23 5 5 4.41 21 19 100.0 100 49 13 35 78
Zack Thompson L 27 5 6 4.27 26 18 92.7 86 44 11 44 91
Max Rajcic R 23 8 11 4.62 24 23 120.7 126 62 17 37 84
Alex Cornwell L 26 5 5 4.50 22 15 90.0 97 45 12 26 62
Packy Naughton L 29 2 2 3.71 20 8 43.7 43 18 4 12 38
Adam Kloffenstein R 24 5 5 4.61 20 19 95.7 96 49 12 41 74
Victor Santos R 24 6 7 4.52 28 14 93.7 95 47 11 28 62
John King L 30 4 3 3.58 53 1 60.3 63 24 5 15 39
JoJo Romero L 28 5 4 3.60 57 0 55.0 49 22 6 18 55
Tekoah Roby R 23 3 4 4.48 16 16 64.3 65 32 9 20 49
Ryan Fernandez R 27 4 3 3.71 53 0 60.7 55 25 6 23 60
Roddery Muñoz R 25 6 8 4.84 26 21 109.7 108 59 18 49 93
Ian Bedell R 25 3 3 4.82 21 18 93.3 94 50 14 36 71
Kyle Leahy R 28 4 4 4.39 39 6 84.0 85 41 10 32 64
Riley O’Brien R 30 3 3 4.44 29 7 50.7 46 25 6 27 51
Zane Mills R 24 4 6 4.80 26 10 80.7 89 43 11 25 47
Keynan Middleton R 31 2 1 3.93 39 0 36.7 33 16 5 15 39
Ryan Loutos R 26 3 2 4.14 46 0 58.7 58 27 6 23 49
Chris Roycroft R 28 5 5 4.19 53 0 68.7 66 32 7 32 57
Wilfredo Pereira R 26 4 6 5.03 26 13 91.3 98 51 13 35 58
Oddanier Mosqueda L 26 4 3 4.33 49 1 60.3 54 29 7 29 58
Cooper Hjerpe L 24 3 4 5.11 17 17 56.3 52 32 9 30 53
Bailey Horn L 27 4 4 4.50 41 2 54.0 52 27 7 28 49
Nick Raquet L 29 4 6 4.78 32 5 75.3 80 40 10 31 53
Matt Svanson R 26 3 4 4.55 45 1 59.3 61 30 7 21 43
Jacob Bosiokovic R 31 3 3 4.47 38 0 46.3 44 23 6 23 43
Benito Garcia R 25 3 3 4.65 30 1 60.0 65 31 8 16 37
Josh James R 32 1 0 4.87 21 1 20.3 19 11 2 14 18
Ryan Shreve R 27 4 4 4.55 36 0 63.3 66 32 8 24 45
Andre Granillo R 25 4 5 4.63 45 0 58.3 55 30 8 31 55
Jack Ralston R 27 3 3 4.71 34 1 49.7 46 26 6 30 47
Michael Gomez R 28 3 4 4.61 38 0 54.7 53 28 6 25 42
Nathanael Heredia L 24 2 3 5.48 34 1 44.3 43 27 5 32 35
Andrew Marrero R 25 3 4 5.24 37 0 46.3 45 27 7 27 42
Leonardo Taveras R 26 2 3 5.26 39 0 53.0 51 31 7 35 46
Edwin Nunez R 23 3 5 6.00 27 12 69.0 71 46 11 42 48

Pitchers – Advanced
Player IP K/9 BB/9 HR/9 BB% K% BABIP ERA+ 3ERA+ FIP ERA- WAR
Sonny Gray 149.7 9.4 2.5 1.0 6.7% 25.4% .284 120 112 3.49 84 2.9
Michael McGreevy 153.3 6.3 2.4 1.1 6.3% 16.7% .287 103 105 4.14 97 2.1
Andre Pallante 117.7 6.7 3.6 0.7 9.1% 16.9% .292 107 108 3.99 93 1.6
Quinn Mathews 126.7 8.7 3.3 1.1 8.6% 22.7% .287 101 104 4.07 99 1.6
Ryan Helsley 61.7 10.9 3.2 0.7 8.8% 29.9% .274 148 143 2.87 68 1.6
Erick Fedde 143.3 8.1 2.8 1.3 7.4% 21.1% .295 98 94 4.29 103 1.6
Drew Rom 83.7 7.9 3.1 1.0 8.1% 20.3% .292 103 106 4.05 97 1.1
Tink Hence 98.7 7.6 3.1 1.2 8.0% 19.6% .285 98 101 4.30 102 1.1
Kyle Gibson 139.0 7.5 3.6 1.2 9.1% 19.1% .297 92 84 4.49 109 1.1
Gordon Graceffo 124.3 6.2 3.0 1.2 7.6% 16.0% .284 93 97 4.55 108 1.1
Lance Lynn 125.7 8.2 3.3 1.4 8.5% 21.2% .295 92 84 4.55 108 1.0
Matthew Liberatore 102.0 8.2 3.4 1.1 8.7% 21.2% .290 99 103 4.18 101 0.9
Steven Matz 83.3 7.9 2.9 1.1 7.5% 20.3% .308 100 92 4.07 100 0.9
Miles Mikolas 140.0 6.1 1.8 1.4 4.8% 16.1% .293 89 83 4.48 113 0.9
Sem Robberse 100.0 7.0 3.2 1.2 8.1% 18.1% .289 93 99 4.45 107 0.9
Zack Thompson 92.7 8.8 4.3 1.1 10.8% 22.4% .293 96 98 4.34 104 0.9
Max Rajcic 120.7 6.3 2.8 1.3 7.1% 16.1% .288 89 93 4.74 113 0.8
Alex Cornwell 90.0 6.2 2.6 1.2 6.6% 15.9% .297 91 94 4.53 110 0.7
Packy Naughton 43.7 7.8 2.5 0.8 6.5% 20.7% .302 111 112 3.52 90 0.7
Adam Kloffenstein 95.7 7.0 3.9 1.1 9.6% 17.4% .290 89 94 4.83 112 0.7
Victor Santos 93.7 6.0 2.7 1.1 7.0% 15.6% .284 91 96 4.41 110 0.7
John King 60.3 5.8 2.2 0.7 5.9% 15.2% .297 115 113 3.81 87 0.6
JoJo Romero 55.0 9.0 2.9 1.0 7.8% 23.8% .289 114 114 3.74 88 0.5
Tekoah Roby 64.3 6.9 2.8 1.3 7.2% 17.8% .287 92 98 4.55 109 0.5
Ryan Fernandez 60.7 8.9 3.4 0.9 8.9% 23.3% .293 111 113 3.67 90 0.5
Roddery Muñoz 109.7 7.6 4.0 1.5 10.1% 19.2% .283 85 90 5.12 118 0.4
Ian Bedell 93.3 6.8 3.5 1.4 8.9% 17.5% .284 85 89 5.02 117 0.4
Kyle Leahy 84.0 6.9 3.4 1.1 8.7% 17.4% .292 93 95 4.45 107 0.3
Riley O’Brien 50.7 9.1 4.8 1.1 12.0% 22.7% .290 92 92 4.60 108 0.3
Zane Mills 80.7 5.2 2.8 1.2 7.1% 13.4% .293 86 91 4.86 117 0.2
Keynan Middleton 36.7 9.6 3.7 1.2 9.5% 24.7% .289 105 104 4.13 96 0.2
Ryan Loutos 58.7 7.5 3.5 0.9 9.0% 19.1% .297 99 101 4.12 101 0.1
Chris Roycroft 68.7 7.5 4.2 0.9 10.5% 18.8% .291 98 98 4.42 102 0.1
Wilfredo Pereira 91.3 5.7 3.4 1.3 8.7% 14.4% .289 82 84 5.07 122 0.1
Oddanier Mosqueda 60.3 8.7 4.3 1.0 11.0% 22.1% .283 95 97 4.60 105 0.0
Cooper Hjerpe 56.3 8.5 4.8 1.4 12.0% 21.2% .277 80 86 5.29 125 0.0
Bailey Horn 54.0 8.2 4.7 1.2 11.7% 20.4% .292 91 94 4.72 110 0.0
Nick Raquet 75.3 6.3 3.7 1.2 9.3% 15.8% .295 86 86 4.89 116 0.0
Matt Svanson 59.3 6.5 3.2 1.1 8.1% 16.7% .293 90 94 4.63 111 0.0
Jacob Bosiokovic 46.3 8.4 4.5 1.2 11.0% 20.6% .290 92 89 4.69 109 -0.1
Benito Garcia 60.0 5.6 2.4 1.2 6.2% 14.4% .292 88 92 4.68 113 -0.1
Josh James 20.3 8.0 6.2 0.9 14.6% 18.8% .288 84 79 5.05 119 -0.1
Ryan Shreve 63.3 6.4 3.4 1.1 8.7% 16.2% .293 90 92 4.58 111 -0.1
Andre Granillo 58.3 8.5 4.8 1.2 11.7% 20.8% .288 89 93 4.72 113 -0.2
Jack Ralston 49.7 8.5 5.4 1.1 13.0% 20.3% .288 87 90 4.79 115 -0.2
Michael Gomez 54.7 6.9 4.1 1.0 10.4% 17.4% .285 89 90 4.88 112 -0.2
Nathanael Heredia 44.3 7.1 6.5 1.0 15.2% 16.7% .286 75 80 5.64 134 -0.5
Andrew Marrero 46.3 8.2 5.2 1.4 12.6% 19.5% .288 78 83 5.47 128 -0.5
Leonardo Taveras 53.0 7.8 5.9 1.2 14.2% 18.6% .288 78 80 5.48 128 -0.6
Edwin Nunez 69.0 6.3 5.5 1.4 12.9% 14.8% .280 68 74 6.21 146 -0.7

Pitchers – Top Near-Age Comps
Player Pit Comp 1 Pit Comp 2 Pit Comp 3
Sonny Gray Phil Niekro Tom Candiotti Luis Tiant
Michael McGreevy Ariel Jurado Nate Minchey Peter Lambert
Andre Pallante Joe Kelly Dakota Hudson Bob Darnell
Quinn Mathews Sean Manaea Randy Wolf David Price
Ryan Helsley Rich Gossage Felix Rodriguez 로드리게스 Craig Kimbrel
Erick Fedde Merrill Kelly 켈리 Jim Clancy Rick Helling
Drew Rom Christian Friedrich 프리드릭 Kevin Bearse Dan Smith
Tink Hence Nick Pesco Joe Skalski Todd Burns
Kyle Gibson Jack Morris Jose Contreras Rick Sutcliffe
Gordon Graceffo Daniel Mengden Braden Shipley Tyler Mahle
Lance Lynn Mark Gardner Dave Stewart Elmer Singleton
Matthew Liberatore John Gebhard Bobby Shantz Hal Hudson
Steven Matz Hippo Vaughn Bob Kuzava Bill Flynt
Miles Mikolas Jeremy Guthrie Jason Hammel Jeff Samardzija
Sem Robberse Rusty Richards Bob Tewksbury George Case
Zack Thompson Brian Burres Steven Brault Jorge De La Rosa
Max Rajcic Henderson Alvarez Alec Asher Tyler Mahle
Alex Cornwell Kurt Peltzer Kellen Raab Ryan Yarbrough
Packy Naughton Tim Kubinski Jan Dukes Ken Frailing
Adam Kloffenstein Sam Hinds Buster Narum Vic Martin
Victor Santos Kendry Flores John Simms Chih-Wei Hu
John King T.J. McFarland Ken Lehman Matt Grace
JoJo Romero Don Gross Jose Luis Garcia Paul Assenmacher
Tekoah Roby Bob Stocker Marcus Tyner Sonny Garcia
Ryan Fernandez Mark Lowe Darryl Scott Jim Miller
Roddery Muñoz Jim Bullinger Rex Rupert Pat Overholt
Ian Bedell Matt Esparza Doug Waechter Matt Petersen
Kyle Leahy Jordan Lyles Drew VerHagen Eddie Butler 버틀러
Riley O’Brien Kevin Campbell Roman Mendez Hector Heredia
Zane Mills Gary Wilson Joey Cramblitt Artie Lewicki
Keynan Middleton Dave Tobik Johnny Murphy John Costello
Ryan Loutos Calvin Medlock Randy Messenger Jason Martin 마틴es
Chris Roycroft Jake Petricka Sam Coonrod Victor Moreno
Wilfredo Pereira Jesus Tinoco Barrett Astin Chad Beck
Oddanier Mosqueda Dave LaRoche Rob Kaminsky Pedro Martinez
Cooper Hjerpe Mike Tanzi Mike Mason Dave Martinez
Bailey Horn Nick Maronde Russ Rohlicek Kyle Bird
Nick Raquet Derrin Ebert Pete Olsen David Maust
Matt Svanson J.R. Graham Paul Quinzer Duaner Sanchez
Jacob Bosiokovic Ryan Garton Dave Wallace Jimmy Rogers
Benito Garcia Mike Moat Mike Welch Corey Baker
Josh James Jack Berly Gary Waslewski Dwight Bernard
Ryan Shreve Larry Corr Steve Rowe Michael Cisco
Andre Granillo Alex Maestri 마에스트리 Steve Cishek Tom Ebert
Jack Ralston Jose Valdez Jeff Jones Mike Shade
Michael Gomez Sam Marsonek Carroll Sembera Steve Shea
Nathanael Heredia Tom Miali Mike Pomeranz Larry Dierks
Andrew Marrero Adam Lau Austin Glorius Mario Alcantara
Leonardo Taveras Myles Smith Adrian Hollinger Jordan Foley
Edwin Nunez Yunior Marte Jason Backs Carl Randle

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
Sonny Gray .223 .283 .363 .231 .283 .372 3.8 1.8 2.86 4.09
Michael McGreevy .274 .336 .462 .241 .273 .359 2.9 1.1 3.56 4.56
Andre Pallante .236 .306 .322 .263 .337 .406 2.3 0.9 3.40 4.36
Quinn Mathews .230 .318 .370 .239 .308 .390 2.6 0.8 3.51 4.63
Ryan Helsley .206 .281 .324 .194 .257 .298 2.3 0.7 2.07 3.87
Erick Fedde .254 .314 .428 .254 .308 .429 2.4 0.5 3.71 4.94
Drew Rom .225 .292 .343 .256 .325 .413 1.7 0.5 3.46 4.55
Tink Hence .249 .316 .396 .247 .305 .419 1.8 0.5 3.65 4.75
Kyle Gibson .267 .344 .429 .247 .313 .411 1.9 0.1 3.92 5.23
Gordon Graceffo .262 .331 .444 .254 .307 .402 1.8 0.4 4.00 4.90
Lance Lynn .265 .348 .466 .243 .298 .402 1.8 0.1 3.78 5.27
Matthew Liberatore .225 .288 .308 .251 .329 .429 1.7 0.2 3.58 4.74
Steven Matz .269 .341 .385 .258 .313 .425 1.4 0.2 3.58 4.94
Miles Mikolas .279 .320 .461 .261 .295 .436 1.7 0.0 4.12 5.29
Sem Robberse .246 .329 .421 .263 .310 .411 1.5 0.2 3.91 5.03
Zack Thompson .236 .328 .349 .242 .330 .409 1.6 0.1 3.71 5.00
Max Rajcic .262 .338 .433 .264 .313 .439 1.5 0.1 4.14 5.12
Alex Cornwell .265 .318 .429 .271 .325 .439 1.2 0.1 4.05 5.09
Packy Naughton .214 .254 .304 .270 .325 .426 1.0 0.3 3.12 4.52
Adam Kloffenstein .262 .355 .437 .249 .326 .394 1.2 0.1 4.19 5.16
Victor Santos .249 .312 .403 .266 .317 .415 1.2 0.1 4.03 5.08
John King .238 .287 .300 .277 .322 .428 1.0 0.2 3.08 4.06
JoJo Romero .200 .264 .277 .248 .317 .421 1.1 -0.1 2.86 4.40
Tekoah Roby .239 .311 .367 .271 .321 .465 0.9 0.0 3.95 5.19
Ryan Fernandez .238 .328 .406 .235 .287 .341 1.0 -0.1 3.09 4.45
Roddery Muñoz .267 .349 .485 .238 .322 .396 1.1 -0.3 4.35 5.40
Ian Bedell .266 .349 .467 .247 .320 .404 1.0 -0.2 4.30 5.39
Kyle Leahy .248 .325 .393 .263 .325 .425 0.8 -0.2 3.89 4.99
Riley O’Brien .238 .354 .393 .234 .333 .378 0.8 -0.2 3.67 5.28
Zane Mills .292 .352 .465 .261 .315 .428 0.7 -0.3 4.33 5.37
Keynan Middleton .242 .329 .419 .228 .295 .392 0.5 -0.2 3.15 5.06
Ryan Loutos .255 .336 .402 .250 .312 .383 0.5 -0.3 3.62 4.76
Chris Roycroft .272 .370 .416 .225 .302 .352 0.5 -0.5 3.72 4.94
Wilfredo Pereira .277 .353 .446 .261 .326 .437 0.5 -0.5 4.58 5.57
Oddanier Mosqueda .193 .306 .301 .257 .355 .426 0.5 -0.5 3.70 5.08
Cooper Hjerpe .238 .347 .317 .240 .344 .468 0.5 -0.5 4.51 5.84
Bailey Horn .229 .313 .386 .257 .352 .421 0.5 -0.4 3.91 5.11
Nick Raquet .281 .358 .438 .260 .333 .431 0.4 -0.6 4.31 5.43
Matt Svanson .274 .352 .463 .252 .323 .374 0.4 -0.4 4.02 5.13
Jacob Bosiokovic .271 .347 .435 .221 .330 .379 0.4 -0.4 3.77 5.18
Benito Garcia .294 .345 .486 .252 .308 .389 0.3 -0.5 4.04 5.27
Josh James .243 .391 .378 .238 .340 .357 0.1 -0.4 4.17 6.20
Ryan Shreve .264 .339 .436 .262 .318 .404 0.3 -0.6 4.00 5.14
Andre Granillo .276 .390 .469 .219 .289 .359 0.3 -0.6 3.98 5.28
Jack Ralston .239 .352 .402 .240 .342 .380 0.3 -0.6 4.09 5.51
Michael Gomez .253 .357 .411 .246 .338 .381 0.2 -0.7 4.07 5.33
Nathanael Heredia .255 .379 .345 .246 .384 .424 -0.2 -1.0 4.89 6.41
Andrew Marrero .256 .389 .449 .243 .342 .408 -0.2 -0.9 4.68 5.96
Leonardo Taveras .271 .398 .438 .227 .344 .391 -0.3 -1.1 4.73 6.00
Edwin Nunez .269 .385 .479 .253 .376 .429 -0.3 -1.3 5.47 6.84

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

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

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


2025 ZiPS Projections: Kansas City Royals

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

Batters

The Tigers got a bit more attention simply because they seemed so dead in the water in July, but Kansas City’s 30-win improvement from the year before – and the even more impressive 35-win improvement in Pythagorean wins – was damn impressive. Victory may have a thousand fathers, but Bobby Witt Jr. was the big daddy of this feat, missing out on an MVP award only because he plays in the same league as peak Aaron Judge. ZiPS isn’t keen to project 7- or 8-WAR seasons as the baseline expectation based on a single season, but Witt’s projection still is that of a serious MVP candidate, and among players over the next five years, his WAR projection is less than those of only Juan Soto and Shohei Ohtani. His nearly $290 million deal with the Royals is, in the early days, looking like one of the best team investments of all time.

ZiPS is naturally excited about Witt, but that excitement doesn’t carry over to the rest of the team. This probably isn’t a surprise considering that other than Witt, only Salvador Perez finished with 2 WAR among Royals hitters in 2024. If you rank Kansas City’s hitters from last season, and add up the five best after Witt, they still add up to a full win short of the franchise shortstop.

That being said, it’s not exactly a Darryl Strawberry-playing-with-Springfield-Nuclear-Plant-employees situation. ZiPS expects the Royals to get around 2 WAR at most positions, with projections for Perez, Jonathan India, and Maikel Garcia crossing the two-win line in 2025. And if Michael Massey and Vinnie Pasquantino end up playing in more games than the 120-something that ZiPS projects for them, they each would also be worth more than 2 WAR. Witt may stand alone as a superstar in this lineup, but the Royals do have some solid talent here.

What is disappointing, given how competitive the projections are for the Royals as a whole and how close they are to the Guardians and Twins, is that Kansas City didn’t make a more vigorous attempt to upgrade its corner outfield spots. MJ Melendez hasn’t done anything that ought to entitle him to be the default option in left field, even if you look at his sunnier Steamer and OOPSY projections. If you subscribe to the ZiPS projection for Melendez, the Royals, as of now, look to enter the season as a reigning playoff team with a replacement-level corner outfield. Kansas City is projected to get positive value from its left fielders overall, but only because our Depth Charts is factoring in some time for India out there, and ZiPS doesn’t like right fielder Hunter Renfroe much more than it does Melendez. Right now, it looks like the value of four of Witt’s wins will do nothing more than offset the roughly replacement-level production of those two outfielders. Then again, that’s kind of what happened last year; while Witt posted a 10-win season, Royals corner outfielders combined for about -1.0 WAR. At the moment, ZiPS is projecting their corner outfielders to be worth about 1.3 WAR. That’s an improvement, yes, but as I mentioned up top, ZiPS projects Witt to be worth about four wins less than he was last season. That’s still a six-win season, but as things stand, the Royals are projected to get about two fewer wins of total value from the three positions — shortstop, left field, and right field — this year (7.3) than they did last year (9.4).

Pitchers

ZiPS may think that the Royals have the offense of a 68-win team plus Witt, but it thinks they have a rotation that’s in the top third of the league, a more bullish outlook than the other projections. It’s not shocking that ZiPS projects Cole Ragans to have a 4-WAR season, based on Depth Charts’ projected innings for him. (Below, you’ll see ZiPS has him at 2.9 WAR, but that’s only because it projects him to throw fewer innings.) But what might be surprising is how little Seth Lugo is projected to drop off from his superb 2024 season, when he finished second in the Cy Young voting. If Witt makes up for some of the sins for the offense, the Ragans-Lugo one-two punch covers up some more of them. Michael Wacha projects as a solid no. 3 starter, and though ZiPS doesn’t love Alec Marsh, it does like Kris Bubic quite a bit. It also thinks that pitchers like Michael Lorenzen and Kyle Wright are more than capable of filling out a decent rotation.

From a projection standpoint, Noah Cameron might be the most interesting Royals starter. He’s a soft-tosser, with a fastball in the low 90s, but he has excellent command and, most importantly, he avoided getting his brains beaten in by Triple-A hitters, which is a frequent fate of pitchers of this type. Instead, opposing batters had a very low average exit velocity against him (under 83 mph). And thanks to his changeup and curveball, which are both plus pitches, he also struck out 29% of the Triple-A batters he faced. A control pitcher who can avoid hard contact and knows how to get some strikeouts is someone worth watching.

ZiPS projects the bullpen to be right around league average, thanks in large part to Lucas Erceg and Hunter Harvey, both picked up last July for the pennant race (and beyond). Considered just as a reliever, Angel Zerpa would have a projected 3.65 ERA, an slight improvement over his solid 2024 season. John Schreiber gets a fairly good projection as well, but after that, ZiPS is less impressed with Kansas City’s relief options. If the Royals are not going to fix their outfield in free agency – and they may not be able to do that anymore because most of the quality guys have already signed — they might want to get another arm or two to improve their bullpen.

From a preliminary standpoint, ZiPS projects Kansas City to finish with 82-85 wins in 2025. That’s tantalizingly close to competing on equal terms with the Twins and Guardians, close enough that the Royals should keep adding this offseason to pull ahead of their division rivals and make a run at another postseason appearance.

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
Bobby Witt Jr. R 25 SS 668 607 104 175 36 8 29 102 48 112 28 11
Jonathan India R 28 2B 585 496 76 123 28 2 12 57 66 111 11 2
Salvador Perez R 35 C 557 511 55 134 23 1 24 81 30 123 0 0
Maikel Garcia R 25 3B 601 546 79 139 28 4 7 57 45 107 30 4
Michael Massey L 27 2B 465 429 55 111 25 2 15 60 24 87 4 1
Vinnie Pasquantino L 27 1B 535 474 59 124 29 2 22 79 48 69 1 0
Drew Waters B 26 CF 466 416 67 99 26 6 11 52 42 137 15 5
Dairon Blanco R 32 LF 322 289 54 76 13 3 6 38 22 76 41 9
Carter Jensen L 21 C 560 493 57 107 22 5 12 59 59 149 8 2
Kyle Isbel L 28 CF 404 366 57 88 18 5 9 43 27 83 10 3
Cam Devanney R 28 SS 476 428 48 98 26 2 11 54 35 126 4 3
Freddy Fermin R 30 C 340 309 37 78 14 1 8 38 25 64 1 0
Tyler Gentry R 26 RF 500 442 55 105 24 2 11 58 47 147 7 2
John Rave L 27 LF 531 471 65 112 24 4 12 57 49 138 10 4
Devin Mann R 28 1B 444 388 50 91 26 1 10 48 44 114 2 2
Paul DeJong R 31 SS 441 403 47 86 17 0 18 51 27 135 2 2
Brian O’Keefe R 31 C 334 304 36 71 17 1 12 42 28 83 1 1
Josh Lester L 30 3B 476 440 52 102 23 2 15 60 30 119 2 1
Nick Loftin R 26 2B 474 419 58 103 20 2 9 51 43 75 7 3
Ryan Fitzgerald L 31 3B 415 371 41 82 21 3 9 44 32 109 3 3
Tyler Tolbert R 27 SS 525 467 61 104 19 6 4 47 34 140 27 3
Jack Pineda L 25 SS 506 434 57 100 22 2 6 46 41 127 10 4
Adam Frazier L 33 2B 415 373 49 93 19 3 5 37 31 65 6 2
Garrett Hampson R 30 CF 310 280 35 68 14 3 3 25 23 75 10 3
Nelson Velázquez R 26 DH 472 422 57 98 21 2 17 60 42 129 7 3
Joey Wiemer R 26 CF 442 393 49 86 20 2 8 42 42 127 11 4
Nick Pratto L 26 1B 501 438 59 100 22 4 14 58 50 167 8 1
Yuli Gurriel R 41 1B 405 364 41 95 22 1 7 40 34 62 6 0
Jordan Groshans R 25 3B 453 411 47 98 18 1 4 37 39 86 0 1
Cavan Biggio L 30 2B 333 281 41 59 13 1 6 30 42 88 3 1
Robbie Grossman B 35 DH 367 311 39 70 15 1 7 34 49 88 5 1
Gavin Cross L 24 RF 429 389 44 87 19 2 11 48 33 122 15 2
Javier Vaz L 24 2B 512 449 58 107 19 3 5 47 49 65 10 2
Braden Shewmake L 27 2B 377 354 42 77 17 3 8 38 17 78 14 3
Tommy Pham R 37 RF 455 408 53 101 21 2 10 45 40 105 9 3
Hunter Renfroe R 33 RF 448 406 49 94 23 0 15 54 37 94 1 1
Chris Brito R 25 1B 293 244 26 54 11 0 3 24 38 54 3 2
Justin Johnson R 25 2B 388 343 41 72 15 1 2 32 33 86 7 3
Dillan Shrum R 27 1B 422 370 42 78 15 2 11 52 35 155 0 0
Brett Squires L 25 1B 391 349 40 77 15 1 8 43 32 127 12 4
Leonel Valera R 25 SS 391 362 43 84 14 6 5 36 19 120 10 2
MJ Melendez L 26 LF 513 460 61 109 24 4 20 64 48 126 4 4
Peyton Wilson B 25 LF 507 454 56 102 20 3 9 53 43 123 12 3
Kyle Hayes R 27 C 85 73 5 11 3 0 1 7 8 29 0 1
Sam Kulasingam B 23 RF 99 91 7 20 3 1 0 8 4 21 2 0
Trevor Werner R 24 3B 477 431 51 85 21 5 10 46 38 188 10 3
Dustin Dickerson R 24 SS 421 364 46 74 9 0 1 27 45 108 5 3
Jac Caglianone L 22 1B 132 124 12 27 7 1 2 15 6 31 1 0
Carson Roccaforte L 23 CF 511 467 53 93 21 5 7 43 39 152 17 9
Luca Tresh R 25 C 404 369 39 83 16 1 10 43 30 106 0 1
Blake Mitchell L 20 C 492 428 51 79 14 2 12 51 56 179 11 4
River Town L 25 RF 358 308 36 67 11 2 4 36 35 63 6 3
Kale Emshoff R 27 DH 330 303 26 66 15 1 8 37 20 122 1 0
Diego Hernandez R 18 2B 229 209 25 49 5 2 1 20 10 54 8 3
Jean Ramirez L 24 RF 310 269 34 58 8 2 2 24 23 78 11 6
Spencer Nivens L 23 LF 409 368 44 74 15 2 13 47 36 120 4 3
Shervyen Newton B 26 SS 342 312 34 61 13 2 8 34 23 135 1 0
Deivis Nadal L 23 LF 248 220 24 38 10 3 3 21 18 110 6 2
Omar Hernandez R 23 C 335 306 32 61 11 1 2 23 19 78 9 3
Lizandro Rodriguez B 22 2B 375 338 36 69 12 3 3 32 25 93 10 5
Joe Gray Jr. R 25 CF 431 393 37 77 16 3 7 39 27 145 8 3

Batters – Advanced
Player PA BA OBP SLG OPS+ ISO BABIP Def WAR wOBA 3YOPS+ RC
Bobby Witt Jr. 668 .288 .343 .517 137 .229 .313 3 5.6 .363 136 118
Jonathan India 585 .248 .353 .385 107 .137 .298 -4 2.3 .329 108 71
Salvador Perez 557 .262 .314 .452 112 .190 .302 -6 2.2 .326 102 73
Maikel Garcia 601 .255 .309 .359 87 .104 .306 9 2.1 .294 90 68
Michael Massey 465 .259 .302 .431 103 .172 .293 1 1.7 .315 103 57
Vinnie Pasquantino 535 .261 .331 .470 121 .209 .266 -2 1.6 .342 120 74
Drew Waters 466 .238 .313 .408 100 .171 .328 0 1.6 .314 101 58
Dairon Blanco 322 .263 .326 .391 100 .128 .338 6 1.5 .315 96 49
Carter Jensen 560 .217 .302 .355 84 .138 .286 1 1.5 .290 90 55
Kyle Isbel 404 .241 .300 .391 92 .150 .289 5 1.4 .301 91 46
Cam Devanney 476 .229 .297 .376 88 .147 .299 2 1.3 .296 86 50
Freddy Fermin 340 .252 .310 .382 93 .129 .295 1 1.2 .303 86 37
Tyler Gentry 500 .238 .319 .376 94 .138 .331 6 1.1 .307 97 55
John Rave 531 .238 .311 .382 93 .144 .311 7 1.1 .303 94 60
Devin Mann 444 .234 .321 .384 97 .149 .306 8 1.1 .310 97 49
Paul DeJong 441 .214 .272 .390 83 .176 .272 3 1.0 .287 79 44
Brian O’Keefe 334 .234 .299 .415 98 .181 .283 -3 1.0 .310 93 38
Josh Lester 476 .232 .282 .395 87 .164 .284 4 1.0 .292 87 50
Nick Loftin 474 .246 .322 .367 93 .122 .280 -2 1.0 .305 94 52
Ryan Fitzgerald 415 .221 .293 .367 84 .146 .289 5 0.8 .289 81 42
Tyler Tolbert 525 .223 .285 .315 68 .092 .310 4 0.8 .267 71 48
Jack Pineda 506 .231 .305 .332 79 .101 .312 0 0.8 .284 81 48
Adam Frazier 415 .250 .316 .357 89 .107 .291 -1 0.7 .298 85 44
Garrett Hampson 310 .243 .303 .347 82 .104 .322 3 0.7 .287 81 33
Nelson Velázquez 472 .232 .307 .412 99 .180 .293 0 0.5 .313 102 56
Joey Wiemer 442 .219 .301 .341 80 .122 .302 1 0.5 .285 85 44
Nick Pratto 501 .228 .313 .392 96 .164 .334 0 0.5 .308 97 56
Yuli Gurriel 405 .261 .326 .385 99 .124 .298 0 0.4 .311 99 47
Jordan Groshans 453 .239 .305 .316 75 .078 .293 4 0.4 .278 76 40
Cavan Biggio 333 .210 .326 .328 84 .118 .284 -2 0.4 .297 83 31
Robbie Grossman 367 .225 .333 .347 92 .122 .292 0 0.2 .306 88 37
Gavin Cross 429 .223 .289 .367 83 .144 .296 3 0.2 .286 85 45
Javier Vaz 512 .238 .318 .327 82 .089 .269 -6 0.1 .289 85 50
Braden Shewmake 377 .218 .257 .351 68 .133 .258 3 0.1 .264 71 36
Tommy Pham 455 .247 .316 .382 95 .135 .310 -4 0.1 .307 91 52
Hunter Renfroe 448 .232 .297 .399 93 .168 .266 -2 0.1 .303 89 49
Chris Brito 293 .222 .332 .304 81 .082 .273 2 0.0 .292 83 26
Justin Johnson 388 .210 .290 .277 61 .067 .275 4 0.0 .259 64 30
Dillan Shrum 422 .211 .302 .351 83 .140 .328 3 0.0 .291 83 39
Brett Squires 391 .221 .297 .339 78 .118 .323 5 0.0 .282 82 39
Leonel Valera 391 .232 .278 .345 74 .113 .333 -4 -0.1 .273 77 38
MJ Melendez 513 .237 .310 .437 107 .200 .284 -11 -0.1 .322 109 65
Peyton Wilson 507 .225 .300 .341 80 .117 .289 1 -0.2 .285 82 50
Kyle Hayes 85 .151 .261 .233 40 .082 .232 0 -0.2 .233 45 5
Sam Kulasingam 99 .220 .263 .275 51 .055 .286 2 -0.2 .239 55 7
Trevor Werner 477 .197 .266 .339 68 .141 .322 0 -0.3 .266 73 42
Dustin Dickerson 421 .203 .298 .236 53 .033 .286 1 -0.4 .251 55 28
Jac Caglianone 132 .218 .265 .339 68 .121 .275 -1 -0.5 .262 72 11
Carson Roccaforte 511 .199 .262 .311 60 .111 .279 4 -0.5 .254 65 45
Luca Tresh 404 .225 .285 .355 78 .130 .289 -11 -0.5 .281 81 38
Blake Mitchell 492 .185 .287 .311 68 .126 .283 -9 -0.5 .270 77 42
River Town 358 .217 .316 .305 76 .088 .261 -3 -0.6 .282 78 32
Kale Emshoff 330 .217 .276 .353 75 .135 .334 0 -0.6 .276 74 30
Diego Hernandez 229 .235 .279 .292 61 .057 .312 -3 -0.7 .255 61 20
Jean Ramirez 310 .216 .281 .282 59 .067 .296 3 -0.7 .255 63 26
Spencer Nivens 409 .201 .274 .358 76 .157 .259 -1 -0.8 .277 84 38
Shervyen Newton 342 .195 .256 .327 62 .131 .313 -5 -0.8 .256 67 26
Deivis Nadal 248 .173 .244 .286 48 .114 .327 2 -0.9 .237 55 17
Omar Hernandez 335 .199 .250 .261 44 .062 .261 -1 -1.0 .229 48 23
Lizandro Rodriguez 375 .204 .266 .284 55 .080 .273 -3 -1.1 .248 62 29
Joe Gray Jr. 431 .196 .258 .305 57 .109 .291 -4 -1.3 .250 62 34

Batters – Top Near-Age Offensive Comps
Player Hit Comp 1 Hit Comp 2 Hit Comp 3
Bobby Witt Jr. Francisco Lindor Alex Rodriguez Dickie Thon
Jonathan India D’Angelo Jimenez Topper Rigney Willie Kamm
Salvador Perez Terry Steinbach Walker Cooper Ray Mueller
Maikel Garcia Horace Clarke Luis Aparicio Jason Bourgeois
Michael Massey Jack Dittmer Matt Downs Tito Fuentes
Vinnie Pasquantino Babe Young Tino Martinez Ed Kranepool
Drew Waters Earl Robinson Blake Tekotte Pete Milne
Dairon Blanco Vince Coleman Michael Lang Bubba Morton
Carter Jensen JD Closser Joe Nolan Donnie Scott
Kyle Isbel Steve Hecht Gene Kingsale Jim Buckner
Cam Devanney Steve Scarborough Matt Macri Jerry Kindall
Freddy Fermin Gary Bennett Joe Azcue Buddy Rosar
Tyler Gentry James Ramsey Byron Gettis Tyrone Horne
John Rave Clete Thomas Demond Smith Matthew den Dekker
Devin Mann Paul McAnulty Ossie Blanco Scott Stahoviak
Paul DeJong Pep Young Tim Pahuta Lee Elia
Brian O’Keefe Nick Hundley Robinson Chirinos Brian Dorsett
Josh Lester Marshall McDougall Les Bell Juan Uribe
Nick Loftin J.D. Pulfer Tim Jones Jerry McDonald
Ryan Fitzgerald Tom Heintzelman Andy Sheets Dale Berra
Tyler Tolbert Rudy Rufer Jorge Nunez Nelson Castro
Jack Pineda Drew Jackson Mark Belanger Damian Jackson
Adam Frazier Kevin Sefcik Casey Candaele Will Rhymes
Garrett Hampson Nook Logan Chris Duffy Glen Barker
Nelson Velázquez Gene Oliver Jesse Barfield Johnny Weekly
Joey Wiemer LeJon Powell Joseph Hicks Shawn Payne
Nick Pratto Marv Blaylock Tyrone Horne Jim Orsag
Yuli Gurriel Tony Gonzalez Adam Kennedy Butch McCord
Jordan Groshans Mark Germann Dave Cripe Luis Galindo
Cavan Biggio Woody English Nolan Fontana Harvey Zernia
Robbie Grossman Michael Tucker Gary Geiger Phil Stephenson
Gavin Cross Pat Bryant Kevin Belcher Tito Nanni
Javier Vaz Matt Gallegos Wayne Meadows Jerry McDonald
Braden Shewmake Johnnie Walker Brandon Carter Mike Ramsey
Tommy Pham Tommy Harper Mike Kreevich Nic Jackson
Hunter Renfroe Glenn Davis Micah Hoffpauir Carlos González
Chris Brito Bo Thompson Josh Alley Wes Rachels
Justin Johnson Dan Larson Sherwin Minster William Hallstrom
Dillan Shrum Ron Durham Billy Martin Brock Peterson
Brett Squires Joe Cherry Bob Detherage Jerod Edmondson
Leonel Valera Rolando Gomez Jackie Hernandez Rich Saitta
MJ Melendez Gary Rajsich Roger Maris Josh Reddick
Peyton Wilson Shawn Payne Darren Burton Terrell Lowery
Kyle Hayes Drew Larned Bryan Graves Nick Derba
Sam Kulasingam Julio Cruceta T.J. Gamba Anthony Ray
Trevor Werner Corey Ragsdale Scott Hemond Brett King
Dustin Dickerson Doug Bernier John Ihlenburg Danny Solano
Jac Caglianone Jem Argenal Omar Lebron Chao-Ting Tang
Carson Roccaforte Adam White Harvey Brumfield Arturo McDowell
Luca Tresh Don McCormack Ronn Reynolds Rick Bradley
Blake Mitchell Kurt Kingsolver Ben Petrick Lamar Drummonds
River Town Tanner Mathis Junior Ruiz Josh Alley
Kale Emshoff Joe Rapp Steve Jackson Sean Buckley
Diego Hernandez Franklin Font Deiner Lopez Matt Lawson
Jean Ramirez Luis Ayala Jason Alstead P.J. Williams
Spencer Nivens Orsino Hill Joe Wallis Jared Keel
Shervyen Newton Chuck Jeroloman Ray Busse Mike Trahan
Deivis Nadal Curtis Charles Sandy Santos Drew Rundle
Omar Hernandez Felix Minaya John Duncan Mike Durant
Lizandro Rodriguez James Lofton David Howard Ramon Perez
Joe Gray Jr. Ronnie Jebavy Billy Murphy Billy Mottram

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
Bobby Witt Jr. .314 .371 .582 162 7.7 .261 .315 .462 115 3.9
Jonathan India .274 .379 .437 126 3.6 .219 .324 .338 89 0.9
Salvador Perez .289 .337 .503 131 3.5 .235 .289 .396 90 0.8
Maikel Garcia .281 .338 .404 105 3.4 .227 .279 .317 68 0.6
Michael Massey .284 .328 .479 122 2.8 .232 .276 .374 83 0.5
Vinnie Pasquantino .289 .355 .529 143 3.0 .238 .304 .417 103 0.3
Drew Waters .266 .341 .456 121 2.8 .207 .279 .356 79 0.4
Dairon Blanco .295 .354 .444 122 2.5 .234 .296 .342 81 0.7
Carter Jensen .248 .332 .412 109 3.2 .187 .271 .304 65 0.2
Kyle Isbel .268 .327 .450 114 2.4 .215 .273 .343 72 0.4
Cam Devanney .258 .323 .427 107 2.4 .203 .272 .329 68 0.2
Freddy Fermin .284 .340 .434 115 2.1 .226 .287 .337 77 0.5
Tyler Gentry .266 .343 .422 112 2.2 .208 .290 .327 74 -0.1
John Rave .263 .336 .431 113 2.4 .210 .284 .337 74 -0.1
Devin Mann .262 .345 .435 118 2.1 .207 .292 .342 78 0.1
Paul DeJong .236 .297 .445 101 2.0 .189 .252 .345 66 0.1
Brian O’Keefe .257 .327 .465 117 1.8 .205 .273 .357 76 0.1
Josh Lester .255 .301 .447 105 2.0 .207 .254 .354 71 0.0
Nick Loftin .270 .348 .409 110 1.9 .217 .293 .318 73 -0.2
Ryan Fitzgerald .251 .321 .422 104 1.8 .193 .264 .317 64 -0.2
Tyler Tolbert .251 .310 .357 87 2.1 .199 .258 .272 51 -0.2
Jack Pineda .256 .328 .371 96 1.8 .204 .280 .293 64 -0.2
Adam Frazier .279 .348 .407 108 1.8 .219 .290 .312 70 -0.2
Garrett Hampson .272 .332 .396 103 1.5 .215 .274 .299 61 -0.1
Nelson Velázquez .258 .335 .479 121 1.7 .202 .278 .360 77 -0.7
Joey Wiemer .248 .326 .385 98 1.4 .193 .272 .298 61 -0.5
Nick Pratto .254 .338 .450 118 1.7 .200 .283 .338 75 -0.8
Yuli Gurriel .292 .354 .430 116 1.4 .228 .293 .338 77 -0.6
Jordan Groshans .264 .330 .354 92 1.4 .209 .277 .276 58 -0.5
Cavan Biggio .237 .354 .371 103 1.1 .186 .298 .284 66 -0.3
Robbie Grossman .253 .363 .393 111 1.0 .193 .300 .292 68 -0.8
Gavin Cross .250 .316 .419 102 1.2 .197 .264 .322 64 -0.8
Javier Vaz .265 .347 .368 101 1.3 .209 .289 .287 64 -1.0
Braden Shewmake .244 .286 .411 93 1.2 .189 .231 .304 52 -0.7
Tommy Pham .278 .346 .433 116 1.3 .214 .288 .335 73 -1.0
Hunter Renfroe .253 .322 .449 111 1.0 .202 .269 .345 71 -1.0
Chris Brito .252 .366 .343 101 0.7 .196 .305 .262 64 -0.7
Justin Johnson .242 .320 .321 81 0.9 .183 .264 .239 44 -0.8
Dillan Shrum .240 .330 .410 105 1.1 .182 .276 .301 61 -1.1
Brett Squires .251 .326 .392 99 0.9 .195 .271 .295 58 -1.0
Leonel Valera .263 .309 .400 98 1.1 .199 .248 .291 53 -1.0
MJ Melendez .265 .336 .504 131 1.4 .212 .280 .385 86 -1.2
Peyton Wilson .248 .329 .384 97 0.9 .197 .276 .301 63 -1.2
Kyle Hayes .182 .293 .282 62 0.0 .122 .230 .192 21 -0.4
Sam Kulasingam .254 .295 .322 74 0.1 .191 .234 .237 34 -0.5
Trevor Werner .225 .293 .382 88 0.8 .168 .239 .283 47 -1.5
Dustin Dickerson .234 .330 .272 71 0.5 .172 .273 .204 37 -1.3
Jac Caglianone .252 .298 .397 91 -0.1 .192 .241 .285 48 -0.8
Carson Roccaforte .227 .290 .357 80 0.7 .173 .236 .277 43 -1.5
Luca Tresh .257 .314 .405 99 0.5 .200 .254 .312 59 -1.5
Blake Mitchell .218 .317 .377 92 0.9 .155 .253 .257 46 -1.9
River Town .247 .344 .352 95 0.1 .193 .290 .265 59 -1.4
Kale Emshoff .242 .301 .399 93 0.1 .193 .248 .308 55 -1.5
Diego Hernandez .269 .313 .338 82 0.0 .200 .243 .248 39 -1.2
Jean Ramirez .247 .312 .330 81 0.1 .187 .251 .246 42 -1.4
Spencer Nivens .229 .300 .405 95 0.2 .174 .246 .307 56 -1.7
Shervyen Newton .221 .286 .383 83 0.0 .164 .227 .278 41 -1.7
Deivis Nadal .203 .275 .339 69 -0.3 .140 .213 .232 26 -1.6
Omar Hernandez .238 .286 .310 67 0.0 .169 .220 .225 26 -1.7
Lizandro Rodriguez .232 .291 .337 75 -0.3 .179 .240 .248 37 -2.0
Joe Gray Jr. .225 .286 .354 77 -0.2 .172 .236 .261 41 -2.1

Batters – Platoon Splits
Player BA vs. L OBP vs. L SLG vs. L BA vs. R OBP vs. R SLG vs. R
Bobby Witt Jr. .292 .350 .528 .287 .340 .513
Jonathan India .255 .366 .393 .245 .347 .382
Salvador Perez .266 .325 .455 .261 .310 .451
Maikel Garcia .266 .324 .394 .249 .302 .341
Michael Massey .252 .299 .417 .262 .304 .437
Vinnie Pasquantino .258 .328 .445 .263 .333 .483
Drew Waters .237 .306 .404 .238 .317 .412
Dairon Blanco .274 .341 .411 .255 .315 .376
Carter Jensen .208 .286 .326 .221 .308 .367
Kyle Isbel .228 .288 .347 .245 .304 .408
Cam Devanney .237 .306 .391 .224 .292 .368
Freddy Fermin .259 .326 .388 .249 .300 .378
Tyler Gentry .240 .326 .390 .236 .315 .368
John Rave .236 .306 .354 .239 .312 .394
Devin Mann .238 .329 .392 .233 .317 .380
Paul DeJong .211 .281 .394 .214 .269 .388
Brian O’Keefe .244 .313 .429 .227 .291 .405
Josh Lester .223 .268 .382 .237 .289 .403
Nick Loftin .252 .335 .394 .242 .314 .352
Ryan Fitzgerald .217 .287 .357 .223 .296 .372
Tyler Tolbert .233 .301 .320 .218 .276 .312
Jack Pineda .218 .293 .303 .235 .310 .343
Adam Frazier .241 .305 .345 .252 .319 .360
Garrett Hampson .247 .308 .361 .240 .300 .339
Nelson Velázquez .238 .319 .429 .229 .301 .404
Joey Wiemer .232 .314 .374 .210 .292 .319
Nick Pratto .223 .308 .385 .231 .315 .397
Yuli Gurriel .265 .339 .381 .259 .320 .386
Jordan Groshans .240 .313 .329 .238 .300 .309
Cavan Biggio .203 .318 .284 .213 .328 .343
Robbie Grossman .237 .345 .355 .220 .327 .344
Gavin Cross .217 .276 .349 .226 .294 .375
Javier Vaz .237 .313 .322 .239 .320 .329
Braden Shewmake .211 .244 .336 .221 .264 .358
Tommy Pham .256 .338 .385 .244 .307 .381
Hunter Renfroe .240 .319 .416 .228 .287 .391
Chris Brito .224 .341 .316 .220 .328 .298
Justin Johnson .218 .304 .297 .207 .284 .269
Dillan Shrum .210 .301 .370 .211 .302 .343
Brett Squires .216 .293 .318 .222 .298 .345
Leonel Valera .239 .290 .373 .228 .272 .329
MJ Melendez .237 .302 .407 .237 .313 .449
Peyton Wilson .218 .295 .346 .227 .302 .340
Kyle Hayes .160 .276 .200 .146 .255 .250
Sam Kulasingam .207 .250 .241 .226 .269 .290
Trevor Werner .198 .274 .351 .197 .263 .333
Dustin Dickerson .207 .305 .234 .202 .295 .237
Jac Caglianone .194 .256 .250 .227 .269 .375
Carson Roccaforte .198 .255 .302 .199 .265 .314
Luca Tresh .237 .300 .390 .219 .277 .339
Blake Mitchell .170 .266 .250 .190 .294 .332
River Town .205 .304 .273 .223 .322 .318
Kale Emshoff .224 .288 .364 .214 .269 .347
Diego Hernandez .243 .293 .300 .230 .272 .288
Jean Ramirez .211 .277 .263 .218 .283 .290
Spencer Nivens .198 .261 .317 .202 .279 .375
Shervyen Newton .198 .255 .337 .194 .257 .322
Deivis Nadal .167 .225 .288 .175 .251 .286
Omar Hernandez .208 .259 .277 .195 .245 .254
Lizandro Rodriguez .208 .262 .302 .202 .268 .277
Joe Gray Jr. .197 .268 .316 .195 .252 .299

Pitchers – Standard
Player T Age W L ERA G GS IP H ER HR BB SO
Cole Ragans L 27 10 7 3.51 30 27 156.3 134 61 16 58 174
Seth Lugo R 35 10 9 3.81 30 26 160.7 156 68 19 44 135
Michael Wacha R 33 9 8 4.07 27 26 143.7 140 65 19 42 119
Noah Cameron L 25 6 6 4.35 23 23 109.7 110 53 15 33 95
Kris Bubic L 27 5 4 4.00 33 15 87.7 83 39 10 31 88
Michael Lorenzen R 33 6 7 4.45 27 24 127.3 120 63 17 52 94
Daniel Lynch IV L 28 5 6 4.50 30 22 128.0 132 64 17 42 103
Kyle Wright R 29 6 7 4.32 17 17 93.7 91 45 11 32 76
Alec Marsh R 27 8 10 4.55 27 25 126.7 120 64 17 48 122
Steven Zobac R 24 7 9 4.51 23 21 107.7 114 54 15 31 81
Hunter Harvey R 30 3 3 3.46 49 0 52.0 46 20 5 16 52
Chandler Champlain R 25 6 9 4.76 25 24 121.0 130 64 16 41 82
Angel Zerpa L 25 3 2 4.08 47 8 70.7 70 32 8 24 58
Lucas Erceg R 30 4 3 3.50 53 0 54.0 45 21 4 24 60
John Schreiber R 31 4 2 3.74 56 2 55.3 50 23 4 22 51
Dinelson Lamet R 32 4 6 4.68 22 14 75.0 77 39 10 33 62
Andrew Hoffmann R 25 4 7 4.79 25 18 88.3 91 47 11 36 65
James McArthur R 28 4 5 4.18 43 5 60.3 59 28 7 20 54
Jonathan Bowlan R 28 6 9 4.75 29 16 91.0 97 48 13 32 68
Austin Cox L 28 3 3 4.64 34 10 77.7 78 40 9 35 58
Carlos Hernández R 28 3 4 4.26 46 6 69.7 63 33 7 31 65
Luinder Avila R 23 4 7 5.06 22 21 90.7 94 51 11 42 62
Cruz Noriega R 27 4 5 4.74 27 8 68.3 75 36 10 19 44
Sam Long L 29 3 3 4.30 49 2 60.7 58 29 8 24 53
Taylor Clarke R 32 2 4 4.80 29 9 54.3 60 29 8 18 43
Tyson Guerrero L 26 4 7 5.13 23 21 98.3 102 56 15 44 75
Evan Sisk L 28 3 4 4.27 52 1 52.7 48 25 5 27 49
Ben Kudrna R 22 5 8 5.21 22 21 102.0 111 59 16 45 70
Steven Cruz R 26 2 3 4.39 49 1 53.3 49 26 6 27 51
Josh Taylor L 32 1 1 4.32 28 1 25.0 26 12 3 9 24
Ryan Brady R 26 4 4 4.62 39 2 64.3 69 33 8 21 42
Eric Cerantola R 25 3 3 5.00 32 6 63.0 59 35 8 38 60
Tyler Duffey R 34 3 3 4.54 35 0 39.7 38 20 5 19 35
Chris Stratton R 34 3 3 4.53 51 0 55.7 54 28 6 25 45
Anthony Simonelli R 26 3 4 4.65 38 1 60.0 60 31 8 23 49
Zach Davies R 32 3 4 5.44 18 18 84.3 92 51 13 39 58
Will Smith L 35 2 3 4.75 45 0 41.7 41 22 6 15 35
William Fleming R 26 3 6 5.46 23 18 92.3 108 56 14 35 46
Anderson Paulino R 26 3 4 4.89 41 2 57.0 62 31 7 22 36
Beck Way R 25 4 6 5.37 35 9 63.7 63 38 8 39 50
Keylan Killgore L 28 3 5 4.94 37 0 47.3 47 26 6 24 41
Jacob Wallace R 26 3 5 4.92 43 0 53.0 49 29 6 33 49
Brandon Johnson R 26 3 4 5.08 40 0 51.3 53 29 8 25 45
Chase Wallace R 26 2 3 5.18 33 0 41.7 45 24 6 21 28

Pitchers – Advanced
Player IP K/9 BB/9 HR/9 BB% K% BABIP ERA+ 3ERA+ FIP ERA- WAR
Cole Ragans 156.3 10.0 3.3 0.9 8.8% 26.4% .293 122 119 3.49 82 2.9
Seth Lugo 160.7 7.6 2.5 1.1 6.5% 20.1% .290 112 105 3.97 89 2.4
Michael Wacha 143.7 7.5 2.6 1.2 6.9% 19.6% .287 105 101 4.20 95 1.8
Noah Cameron 109.7 7.8 2.7 1.2 7.0% 20.2% .296 98 102 4.24 102 1.1
Kris Bubic 87.7 9.0 3.2 1.0 8.3% 23.6% .302 107 109 3.82 94 1.1
Michael Lorenzen 127.3 6.6 3.7 1.2 9.5% 17.2% .270 96 93 4.76 104 1.1
Daniel Lynch IV 128.0 7.2 3.0 1.2 7.6% 18.7% .298 95 96 4.40 105 1.0
Kyle Wright 93.7 7.3 3.1 1.1 7.9% 18.9% .288 99 99 4.33 101 1.0
Alec Marsh 126.7 8.7 3.4 1.2 8.8% 22.4% .293 94 95 4.37 106 1.0
Steven Zobac 107.7 6.8 2.6 1.3 6.7% 17.5% .297 95 99 4.46 106 0.9
Hunter Harvey 52.0 9.0 2.8 0.9 7.4% 24.1% .291 123 120 3.47 81 0.7
Chandler Champlain 121.0 6.1 3.0 1.2 7.8% 15.5% .296 90 94 4.68 111 0.7
Angel Zerpa 70.7 7.4 3.1 1.0 7.9% 19.0% .294 105 109 4.15 95 0.7
Lucas Erceg 54.0 10.0 4.0 0.7 10.3% 25.8% .293 122 117 3.59 82 0.6
John Schreiber 55.3 8.3 3.6 0.7 9.3% 21.6% .293 114 110 3.63 88 0.6
Dinelson Lamet 75.0 7.4 4.0 1.2 9.7% 18.3% .299 91 89 4.74 110 0.5
Andrew Hoffmann 88.3 6.6 3.7 1.1 9.3% 16.8% .293 89 93 4.72 112 0.5
James McArthur 60.3 8.1 3.0 1.0 7.7% 20.8% .297 102 103 4.14 98 0.4
Jonathan Bowlan 91.0 6.7 3.2 1.3 8.0% 17.0% .298 90 91 4.76 111 0.4
Austin Cox 77.7 6.7 4.1 1.0 10.2% 16.9% .290 92 93 4.66 109 0.4
Carlos Hernández 69.7 8.4 4.0 0.9 10.3% 21.6% .287 100 100 4.04 100 0.4
Luinder Avila 90.7 6.2 4.2 1.1 10.3% 15.2% .290 84 90 5.01 119 0.3
Cruz Noriega 68.3 5.8 2.5 1.3 6.4% 14.8% .294 90 92 4.76 111 0.2
Sam Long 60.7 7.9 3.6 1.2 9.1% 20.1% .286 99 99 4.38 101 0.2
Taylor Clarke 54.3 7.1 3.0 1.3 7.5% 17.9% .310 89 85 4.61 112 0.1
Tyson Guerrero 98.3 6.9 4.0 1.4 10.1% 17.2% .290 83 86 5.22 120 0.1
Evan Sisk 52.7 8.4 4.6 0.9 11.6% 21.0% .291 100 100 4.32 100 0.1
Ben Kudrna 102.0 6.2 4.0 1.4 9.8% 15.2% .294 82 89 5.29 122 0.1
Steven Cruz 53.3 8.6 4.6 1.0 11.3% 21.4% .291 97 101 4.47 103 0.1
Josh Taylor 25.0 8.6 3.2 1.1 8.2% 21.8% .319 99 93 4.02 101 0.0
Ryan Brady 64.3 5.9 2.9 1.1 7.4% 14.8% .295 93 95 4.65 108 0.0
Eric Cerantola 63.0 8.6 5.4 1.1 13.1% 20.6% .290 85 91 5.02 117 0.0
Tyler Duffey 39.7 7.9 4.3 1.1 10.8% 19.9% .289 94 87 4.64 106 -0.1
Chris Stratton 55.7 7.3 4.0 1.0 10.2% 18.4% .289 94 89 4.42 106 -0.1
Anthony Simonelli 60.0 7.4 3.5 1.2 8.8% 18.7% .291 92 96 4.63 109 -0.1
Zach Davies 84.3 6.2 4.2 1.4 10.3% 15.4% .296 78 76 5.27 127 -0.1
Will Smith 41.7 7.6 3.2 1.3 8.4% 19.6% .287 90 83 4.59 111 -0.1
William Fleming 92.3 4.5 3.4 1.4 8.4% 11.0% .297 78 81 5.52 128 -0.2
Anderson Paulino 57.0 5.7 3.5 1.1 8.6% 14.1% .297 87 91 4.93 115 -0.2
Beck Way 63.7 7.1 5.5 1.1 13.2% 16.9% .288 80 84 5.50 126 -0.2
Keylan Killgore 47.3 7.8 4.6 1.1 11.2% 19.1% .295 86 88 4.81 116 -0.3
Jacob Wallace 53.0 8.3 5.6 1.0 13.6% 20.2% .289 87 90 4.95 115 -0.3
Brandon Johnson 51.3 7.9 4.4 1.4 10.8% 19.4% .300 84 89 4.97 119 -0.4
Chase Wallace 41.7 6.0 4.5 1.3 10.9% 14.5% .293 82 84 5.51 121 -0.4

Pitchers – Top Near-Age Comps
Player Pit Comp 1 Pit Comp 2 Pit Comp 3
Cole Ragans Fernando Valenzuela Gary Peters David Price
Seth Lugo Ervin Santana Al Gettel Chris Carpenter
Michael Wacha Bartolo Colon Ervin Santana Tom Candiotti
Noah Cameron Rich Pratt Adam Pettyjohn Mike Sodders
Kris Bubic Chris Narveson Cory Luebke Daniel Norris
Michael Lorenzen Chase Anderson Jake Arrieta Edinson Volquez
Daniel Lynch IV Bob Knepper Allen Watson Patrick Corbin
Kyle Wright Denny Galehouse Jason Hammel Carl Willey
Alec Marsh Jharel Cotton James Baldwin Ed Rakow
Steven Zobac Pablo Lopez Josue Matos Mike McCardell
Hunter Harvey Bobby Jenks Tommy Hunter Tom Gorman
Chandler Champlain Matt Wisler Tyler Mahle Daniel Mengden
Angel Zerpa Ed Vande Berg Carmen Pignatiello Rick Palma
Lucas Erceg Gerry Pirtle Don Robinson Steve Blateric
John Schreiber Jerry Dipoto Luis Aponte Todd Frohwirth
Dinelson Lamet Bill Kelso Jimmy Serrano Everett Stull
Andrew Hoffmann Paul Clemens Jeff Shaver Linty Ingram
James McArthur J.J. Trujillo Alan Busenitz John Brebbia
Jonathan Bowlan Hector Noesi Mike Wright Seth Lugo
Austin Cox Russ Swan Jake Woods Justin Hampson
Carlos Hernández J.C. Gutierrez Hansel Robles Phil Klein
Luinder Avila Michael Lorenzen Larry Tolliver Steve Monson
Cruz Noriega Scott Winchester Raul Alcantara Russell Henrichs
Sam Long Vic Lombardi Bob Shirley Dennis Kinney
Taylor Clarke Mike Lyons Bob Muncrief Pedro Ramos
Tyson Guerrero Ben Braymer Cody Forsythe Lance Schuermann
Evan Sisk Don Hood Danny Coulombe Jeremy Affeldt
Ben Kudrna Steve Staniland Curt Schilling Ron Schamp
Steven Cruz J.P. Feyereisen Jesus Colome Daniel Webb
Josh Taylor Jim Poole Fred Scherman Tom Hilgendorf
Ryan Brady Miles Mikolas Anthony Bass Brian Knoll
Eric Cerantola Ryan Helsley Zach Jackson Paul Demny
Tyler Duffey Matt Karchner Juan Acevedo Brian Boehringer
Chris Stratton Tom Hurd Tom Edens Bucky Brandon
Anthony Simonelli Kevin Hodge Steve Evans Jason Anderson
Zach Davies Andy Hawkins Armando Galarraga Chris Tillman
Will Smith Morrie Martin Bob McClure Al Holland
William Fleming Casey Delgado Gabe Ribas Alex Klonowski
Anderson Paulino Jason Jester Pat Currin Paul Quinzer
Beck Way Chris Bassitt Adam Harben Bill Melvin
Keylan Killgore Jake Benz Tom Funk Matt Yourkin
Jacob Wallace Jeff Nelson Eddie Gaillard Wes Littleton
Brandon Johnson Scott Schroeffel Ricardo Rodriguez Barry Armitage
Chase Wallace Michael Young Chip Winiarski Justin Garza

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
Cole Ragans .256 .322 .394 .215 .290 .349 3.9 1.8 2.98 4.06
Seth Lugo .247 .311 .400 .252 .294 .399 3.4 1.6 3.32 4.33
Michael Wacha .230 .290 .369 .266 .317 .448 2.5 0.9 3.63 4.69
Noah Cameron .232 .298 .375 .263 .317 .436 1.8 0.3 3.85 5.07
Kris Bubic .262 .330 .440 .238 .304 .379 1.8 0.2 3.38 4.91
Michael Lorenzen .241 .333 .406 .246 .306 .403 1.7 0.3 4.01 5.06
Daniel Lynch IV .256 .323 .385 .262 .321 .440 1.7 0.1 4.05 5.18
Kyle Wright .264 .337 .466 .235 .303 .337 1.5 0.3 3.82 5.02
Alec Marsh .265 .339 .442 .223 .304 .368 1.8 0.0 3.99 5.23
Steven Zobac .279 .341 .452 .254 .300 .418 1.5 0.2 4.01 5.17
Hunter Harvey .234 .308 .362 .231 .283 .365 1.2 0.1 2.76 4.45
Chandler Champlain .272 .338 .446 .267 .324 .430 1.4 0.0 4.26 5.28
Angel Zerpa .253 .310 .374 .253 .320 .409 1.1 0.1 3.51 4.85
Lucas Erceg .237 .349 .366 .207 .294 .306 1.2 -0.1 2.82 4.35
John Schreiber .260 .339 .396 .216 .292 .310 1.1 -0.1 3.03 4.75
Dinelson Lamet .281 .365 .473 .240 .315 .387 0.9 0.0 4.22 5.30
Andrew Hoffmann .282 .369 .466 .242 .306 .382 0.9 -0.2 4.32 5.44
James McArthur .248 .325 .394 .252 .314 .402 0.9 -0.1 3.62 4.96
Jonathan Bowlan .259 .330 .431 .275 .335 .450 1.0 -0.3 4.22 5.42
Austin Cox .240 .315 .365 .263 .346 .431 0.9 -0.1 4.12 5.26
Carlos Hernández .216 .308 .368 .254 .327 .373 0.8 -0.2 3.75 5.00
Luinder Avila .260 .350 .409 .263 .346 .429 0.8 -0.2 4.60 5.47
Cruz Noriega .262 .324 .444 .282 .325 .456 0.6 -0.2 4.21 5.35
Sam Long .235 .300 .370 .252 .324 .426 0.7 -0.3 3.61 5.08
Taylor Clarke .267 .336 .446 .280 .328 .449 0.6 -0.3 4.09 5.60
Tyson Guerrero .271 .352 .421 .258 .344 .449 0.7 -0.5 4.60 5.72
Evan Sisk .205 .300 .282 .258 .359 .427 0.5 -0.4 3.66 5.11
Ben Kudrna .263 .338 .437 .279 .355 .470 0.7 -0.5 4.76 5.71
Steven Cruz .228 .327 .380 .248 .344 .389 0.4 -0.4 3.81 5.21
Josh Taylor .235 .297 .353 .277 .342 .462 0.3 -0.2 3.60 5.44
Ryan Brady .270 .346 .417 .268 .318 .430 0.5 -0.4 4.00 5.23
Eric Cerantola .212 .331 .365 .264 .373 .421 0.5 -0.6 4.36 5.95
Tyler Duffey .246 .342 .391 .247 .330 .424 0.3 -0.4 3.79 5.45
Chris Stratton .257 .356 .396 .241 .305 .388 0.3 -0.6 3.94 5.44
Anthony Simonelli .240 .319 .370 .265 .336 .449 0.4 -0.5 4.02 5.29
Zach Davies .259 .352 .443 .283 .345 .467 0.4 -0.7 4.91 6.14
Will Smith .246 .295 .404 .255 .333 .434 0.3 -0.6 3.91 5.90
William Fleming .308 .382 .473 .269 .333 .466 0.4 -0.6 4.92 5.92
Anderson Paulino .282 .359 .437 .264 .336 .424 0.1 -0.6 4.44 5.48
Beck Way .286 .404 .446 .226 .344 .380 0.1 -0.6 4.87 6.03
Keylan Killgore .246 .343 .344 .256 .347 .448 0.1 -0.6 4.32 5.64
Jacob Wallace .253 .361 .429 .230 .353 .354 0.1 -0.9 4.30 5.80
Brandon Johnson .266 .352 .447 .257 .333 .440 0.0 -0.8 4.50 5.76
Chase Wallace .316 .409 .539 .231 .324 .363 -0.2 -0.7 4.73 5.83

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

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

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