For the 22nd consecutive season, the ZiPS projection system is unleashing a full set of prognostications. For more information on the ZiPS projections, please consult this year’s introduction, as well as MLB’s glossary entry. The team order is selected by lot, and the ultimate team is the St. Louis Cardinals.
Batters
If you looked up “.500 team” in the dictionary, you’d find, well, nothing. THAT’S NOT HOW DICTIONARIES WORK. But if they did have extensive listings of colloquialisms and an editor obsessed with baseball, you might see the 2025 Cardinals. Despite not falling behind by double digits in the NL Central race until late in the season, the Cardinals certainly never felt like they were ever realistically in any playoff race. At the same time, they were also never enough of a doormat team to be interesting out of ineptitude. The Cards spent the season basically playing out the string, in baseball limbo while fans waited out the swan song year of executive vice-president John Mozeliak, with most of the interest surrounding when/if various veterans would be traded.
While roughly a .500-looking team has some wild card upside, St. Louis has the look of a team with an incredibly low ceiling in the short term, like on the level of that room near the start of Willy Wonka’s factory tour. Only Masyn Winn is a high threat to put up a 4-WAR season, and he’s already at that level, not someone who can break out to that level. But except for right field, since ZiPS has long since thrown in the towel on Jordan Walker, the Cardinals also aren’t bad anywhere in their lineup, either. Brendan Donovan is extremely versatile, but he could be traded sometime during the season, if not before then, and players like Nolan Gorman and JJ Wetherholt can also collect plate appearances playing a variety of positions. Wetherholt’s first full professional season was a dynamite one, and he gets a strong projection entering his first year in the big leagues. ZiPS at least sees him as an upgrade on the departed Nolan Arenado in 2026.
ZiPS thinks Lars Nootbaar is still young enough to bounce back from a real down season in 2025. When that may happen, though, is an open question. Last fall, he had surgery to shave down his heels to remedy his Haglund’s deformities, and reading the first half of this sentence makes me wonder if my brain has actually finally lost its last connection with reality. Nootbaar’s lack of ability to do much against lefties limits his upside, but like most of the rest of the team, he’ll be… fine. Also in that wide range of adequacy is Victor Scott II, who plays defense well enough these days to carry his abysmal offense, and Alec Burleson at first, who needs a lefty-crushing platoon partner, though he did improve some against southpaws last season. The Cardinals’ catching situation could be really interesting, depending on when and if Iván Herrera gets back to playing catcher. Even if he doesn’t, he’s shown he’s a good enough player to have value as a DH, and Pedro Pagés hits just enough that he’s not a problem starting behind the plate.
Luckily, the mid- and long-term outlooks for St. Louis are sunnier. Wetherholt has already been mentioned, but ZiPS thinks both Jimmy Crooks and Leonardo Bernal could hold their own as major league catchers. Joshua Baez has a strong long-term ZiPS projection, and the computer sees him as someone who could (and should) replace Walker if/when the former top prospect doesn’t come around.
Pitchers
As with the starting lineup, the Cards look like they’re going to have a very deep rotation, but one that’s almost mindblowingly average. Michael McGreevy has the best projected ERA of the starters, which ought to tell you a lot about the state of the rotation. If you believe ZiPS, St. Louis could field about three major league rotations of starting pitchers with an ERA+ somewhere in the 90s. So there’s not a lot of difference between the guys we have as getting the bulk of the innings on the depth chart (Matthew Liberatore, Andre Pallante, Dustin May, Kyle Leahy, Richard Fitts), and the guys who aren’t (Quinn Mathews, Tink Hence, Hunter Dobbins, Ixan Henderson, Tekoah Roby if not for the Tommy John surgery). In other words, this group probably won’t crack the top 10 in starting pitcher WAR, but there are enough spares that it likely won’t be an embarrassment, either.
You Aren’t a FanGraphs Member
It looks like you aren’t yet a FanGraphs Member (or aren’t logged in). We aren’t mad, just disappointed.
We get it. You want to read this article. But before we let you get back to it, we’d like to point out a few of the good reasons why you should become a Member.
1. Ad Free viewing! We won’t bug you with this ad, or any other.
2. Unlimited articles! Non-Members only get to read 10 free articles a month. Members never get cut off.
3. Dark mode and Classic mode!
4. Custom player page dashboards! Choose the player cards you want, in the order you want them.
5. One-click data exports! Export our projections and leaderboards for your personal projects.
6. Remove the photos on the home page! (Honestly, this doesn’t sound so great to us, but some people wanted it, and we like to give our Members what they want.)
7. Even more Steamer projections! We have handedness, percentile, and context neutral projections available for Members only.
8. Get FanGraphs Walk-Off, a customized year end review! Find out exactly how you used FanGraphs this year, and how that compares to other Members. Don’t be a victim of FOMO.
9. A weekly mailbag column, exclusively for Members.
10. Help support FanGraphs and our entire staff! Our Members provide us with critical resources to improve the site and deliver new features!
We hope you’ll consider a Membership today, for yourself or as a gift! And we realize this has been an awfully long sales pitch, so we’ve also removed all the other ads in this article. We didn’t want to overdo it.
While that’s not great for the team’s chances to contend in 2026, that does suggest a path to long-term benefits. The deep stable of no. 3 and no. 4 starters is decidedly on the young side, all in their 20s, and at least some of them ought to develop into something better. Mathews is probably the best candidate to do so, as is Hence, even though there’s a reasonable chance that the latter pitches out of the bullpen in the short term. Liam Doyle didn’t get an official projection here because of his lack of professional experience, but if I instruct ZiPS to use his college translations, he has a very good long-term outlook, too.
ZiPS projects the bullpen as below average, but not in dumpster-fire territory. The computer only really likes three relievers, JoJo Romero, Matt Svanson, and Gordon Graceffo, and a fourth if you believe the Cards will use Hence in relief in 2026. Outside of that quartet, there are a lot of guys with projected ERAs just above four in relief, firmly in C- territory. It’s probably not quite this bad, as the multitude of starting pitching options means the pen will get some reinforcements if the top starters are healthy, so someone like Leahy could end up here after all. In any case, this is a middling bullpen, one that probably won’t approach the production of last year’s unit, which had the ninth-best relief WAR in baseball.
All told, ZiPS sees St. Louis as, you guessed it, about a .500 team.

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
Masyn Winn
R
24
SS
597
545
79
136
27
2
12
61
41
110
12
4
JJ Wetherholt
L
23
SS
523
461
66
117
20
1
10
62
50
84
12
2
Brendan Donovan
L
29
2B
534
473
63
129
26
1
11
54
47
70
3
3
Iván Herrera
R
26
DH
464
402
58
110
20
1
14
60
49
91
8
2
Lars Nootbaar
L
28
LF
539
465
68
114
24
2
16
54
66
108
5
3
Jimmy Crooks
L
24
C
455
415
50
100
19
2
10
49
31
124
1
0
Nolan Gorman
L
26
3B
463
413
57
92
18
0
21
61
46
148
3
1
Alec Burleson
L
27
1B
530
486
58
133
23
1
18
68
36
73
5
1
Leonardo Bernal
B
22
C
468
427
49
98
18
1
10
47
34
97
6
3
Victor Scott II
L
25
CF
514
452
60
102
16
3
7
43
41
108
36
6
Pedro Pagés
R
27
C
384
351
35
79
15
1
10
42
24
100
1
0
Thomas Saggese
R
24
2B
546
502
63
125
24
2
11
58
32
141
6
3
José Fermín
R
27
2B
349
299
43
71
18
0
6
38
37
38
11
4
Bryan Torres
L
28
2B
460
393
53
109
17
1
4
43
53
74
16
6
Joshua Baez
R
23
RF
468
418
55
98
22
2
12
57
36
137
24
5
César Prieto
L
27
SS
519
482
60
125
27
2
7
56
24
76
6
7
Mike Antico
L
28
LF
451
407
53
94
18
2
7
44
33
118
19
4
Nathan Church
L
25
CF
493
448
62
111
18
2
7
50
31
64
12
4
Jon Jon Gazdar
R
24
SS
460
417
46
100
13
1
1
43
24
56
9
4
Matt Koperniak
L
28
RF
511
469
55
114
17
2
11
54
35
106
6
3
Ramon Mendoza
R
25
3B
374
329
38
72
13
1
6
36
34
89
2
2
Yohel Pozo
R
29
C
301
290
30
76
18
0
8
38
8
34
1
0
Noah Mendlinger
L
25
RF
458
399
49
98
17
2
1
43
37
55
5
4
Blaze Jordan
R
23
1B
530
494
58
120
25
1
12
58
28
68
2
1
Deniel Ortiz
R
21
1B
473
422
50
91
19
1
11
53
42
148
18
6
Carlos Linarez
R
24
C
157
146
12
29
4
1
2
13
8
64
1
1
Ryan Campos
L
23
C
406
365
39
76
19
2
2
30
38
83
6
2
Sammy Hernandez
R
22
C
395
347
36
68
12
0
3
34
28
88
4
2
Chase Davis
L
24
CF
482
431
48
89
17
0
7
44
43
155
5
1
Dakota Harris
R
24
3B
453
421
50
99
18
0
6
46
16
94
10
4
Graysen Tarlow
R
24
C
190
165
14
37
4
0
1
15
16
49
0
2
Jesus Baez
R
21
SS
435
402
49
88
13
0
12
45
27
86
4
3
Gavin Collins
R
30
C
270
244
25
53
9
1
4
25
18
41
2
1
Jordan Walker
R
24
RF
530
482
52
112
23
1
14
57
39
140
9
3
Jose Cordoba
R
23
RF
282
260
28
56
14
2
2
25
14
59
7
2
Zach Levenson
R
24
LF
441
394
47
84
16
1
10
46
40
101
4
5
Travis Honeyman
R
24
CF
352
310
43
69
13
2
2
34
28
74
4
1
Chase Adkison
R
26
DH
172
150
15
32
6
0
1
16
15
32
0
0
Jeremy Rivas
R
23
SS
494
449
48
89
14
1
5
39
33
136
13
6
Miguel Villarroel
R
24
SS
350
330
38
73
12
1
1
27
13
93
13
3
Tre Richardson
R
24
2B
340
311
33
64
15
0
2
28
22
71
8
5
Andy Yerzy
L
27
C
215
194
16
37
6
1
4
18
18
70
1
1
Michael Curialle
R
25
3B
327
296
35
61
13
1
4
32
17
104
3
2
Trey Paige
L
25
1B
386
350
42
71
13
4
3
31
29
122
4
2
Anyelo Encarnacion
R
22
SS
423
383
37
74
13
2
5
33
33
154
9
4
Christian Martin
L
23
2B
382
340
35
70
14
1
1
29
29
80
8
4
Ian Petrutz
L
23
LF
361
320
30
72
14
1
4
36
26
56
1
7
Jacob Buchberger
R
28
LF
404
371
43
79
11
2
6
35
30
104
7
3
Wade Stauss
L
27
C
96
82
5
12
2
0
0
7
8
44
0
0
Brody Moore
R
25
SS
400
369
42
80
12
1
2
29
22
94
9
3
Miguel Ugueto
R
23
RF
251
240
23
54
10
1
2
20
6
48
6
4
R.J. Yeager
R
27
1B
412
379
47
81
14
1
7
41
21
75
4
2
Johnfrank Salazar
R
22
1B
302
278
25
57
12
0
2
25
17
53
7
1
Won-Bin Cho
L
22
CF
418
376
41
79
14
1
4
34
32
129
12
4
Bryce Madron
L
24
LF
207
176
21
26
5
0
1
12
26
62
1
4
Darlin Moquete
R
26
LF
312
287
36
58
8
1
6
29
17
82
8
4
Josh Kross
B
23
1B
420
387
42
73
15
2
10
44
22
129
0
1
Brayden Jobert
L
25
1B
359
320
31
56
10
1
6
33
28
111
5
4
Batters – Advanced
Player
PA
BA
OBP
SLG
OPS+
ISO
BABIP
Def
WAR
wOBA
3YOPS+
RC
Masyn Winn
597
.250
.306
.372
92
.123
.293
10
3.2
.298
95
66
JJ Wetherholt
523
.254
.338
.367
100
.113
.292
2
2.9
.314
101
60
Brendan Donovan
534
.273
.349
.402
113
.129
.301
-4
2.4
.330
109
68
Iván Herrera
464
.274
.362
.433
125
.159
.323
0
2.4
.348
124
65
Lars Nootbaar
539
.245
.340
.409
112
.164
.287
4
2.3
.328
109
67
Jimmy Crooks
455
.241
.300
.369
89
.128
.320
4
2.0
.293
91
46
Nolan Gorman
463
.223
.300
.419
101
.196
.291
1
1.9
.311
102
53
Alec Burleson
530
.274
.325
.436
114
.162
.291
-1
1.8
.330
112
70
Leonardo Bernal
468
.230
.290
.347
80
.117
.275
7
1.8
.281
85
45
Victor Scott II
514
.226
.300
.321
77
.095
.282
7
1.8
.278
82
53
Pedro Pagés
384
.225
.277
.359
79
.134
.286
7
1.6
.277
76
35
Thomas Saggese
546
.249
.301
.371
89
.122
.326
2
1.6
.294
91
59
José Fermín
349
.237
.335
.358
97
.121
.255
1
1.5
.310
95
40
Bryan Torres
460
.277
.361
.356
105
.079
.333
-8
1.4
.322
103
56
Joshua Baez
468
.234
.306
.383
94
.149
.320
5
1.4
.302
100
56
César Prieto
519
.259
.303
.367
89
.108
.296
-4
1.1
.294
88
58
Mike Antico
451
.231
.296
.337
79
.106
.309
8
0.9
.281
80
46
Nathan Church
493
.248
.305
.344
84
.096
.276
-1
0.9
.287
85
51
Jon Jon Gazdar
460
.240
.307
.283
69
.043
.275
2
0.7
.270
71
40
Matt Koperniak
511
.243
.299
.358
86
.115
.293
5
0.7
.289
86
53
Ramon Mendoza
374
.219
.297
.319
75
.100
.282
4
0.7
.277
79
32
Yohel Pozo
301
.262
.282
.407
93
.145
.274
-4
0.7
.296
89
33
Noah Mendlinger
458
.246
.330
.306
83
.060
.283
4
0.5
.289
82
43
Blaze Jordan
530
.243
.289
.370
86
.127
.261
4
0.3
.288
88
54
Deniel Ortiz
473
.216
.296
.344
81
.128
.304
3
0.2
.284
89
49
Carlos Linarez
157
.199
.244
.281
49
.082
.338
4
0.2
.233
53
11
Ryan Campos
406
.208
.286
.288
64
.080
.264
-1
0.2
.260
68
32
Sammy Hernandez
395
.196
.278
.256
53
.061
.254
3
0.1
.247
56
26
Chase Davis
482
.206
.286
.295
66
.089
.305
1
0.0
.262
69
38
Dakota Harris
453
.235
.275
.321
69
.086
.290
1
0.0
.262
72
41
Graysen Tarlow
190
.224
.307
.267
65
.043
.313
-1
0.0
.262
67
14
Jesus Baez
435
.219
.274
.341
73
.122
.250
-4
0.0
.271
78
40
Gavin Collins
270
.217
.280
.311
68
.094
.246
-3
-0.1
.262
65
22
Jordan Walker
530
.232
.296
.371
88
.139
.299
-6
-0.2
.293
91
56
Jose Cordoba
282
.215
.268
.308
63
.093
.271
3
-0.3
.256
69
24
Zach Levenson
441
.213
.293
.335
78
.122
.261
1
-0.3
.279
82
42
Travis Honeyman
352
.223
.310
.297
74
.074
.286
-6
-0.3
.276
75
30
Chase Adkison
172
.213
.298
.273
64
.060
.265
0
-0.4
.262
71
12
Jeremy Rivas
494
.198
.263
.267
51
.069
.273
2
-0.5
.239
56
37
Miguel Villarroel
350
.221
.256
.273
51
.052
.305
-1
-0.5
.236
55
27
Tre Richardson
340
.206
.271
.273
55
.067
.261
1
-0.5
.247
56
27
Andy Yerzy
215
.191
.265
.294
59
.103
.275
-5
-0.6
.251
57
16
Michael Curialle
327
.206
.273
.297
62
.091
.303
-3
-0.6
.255
63
25
Trey Paige
386
.203
.266
.289
58
.086
.302
7
-0.6
.249
60
29
Anyelo Encarnacion
423
.193
.264
.277
54
.084
.308
-3
-0.7
.245
60
31
Christian Martin
382
.206
.280
.262
55
.056
.266
-1
-0.7
.248
59
28
Ian Petrutz
361
.225
.304
.313
76
.088
.262
-2
-0.7
.279
77
34
Jacob Buchberger
404
.213
.275
.302
64
.089
.280
3
-0.7
.257
65
33
Wade Stauss
96
.146
.263
.171
27
.025
.316
-4
-0.7
.215
25
4
Brody Moore
400
.217
.265
.271
53
.054
.286
-3
-0.8
.241
55
30
Miguel Ugueto
251
.225
.247
.300
54
.075
.274
2
-0.9
.239
57
21
R.J. Yeager
412
.214
.265
.311
63
.097
.249
2
-1.1
.255
65
33
Johnfrank Salazar
302
.205
.262
.270
52
.065
.247
-1
-1.2
.240
55
21
Won-Bin Cho
418
.210
.278
.285
60
.075
.309
-8
-1.2
.253
64
34
Bryce Madron
207
.148
.263
.193
33
.045
.221
0
-1.3
.221
35
11
Darlin Moquete
312
.202
.252
.300
56
.098
.261
-2
-1.3
.243
61
25
Josh Kross
420
.189
.245
.315
58
.126
.254
2
-1.4
.245
66
30
Brayden Jobert
359
.175
.256
.269
50
.094
.246
2
-1.5
.239
54
25
Batters – Top Near-Age Offensive Comps
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
Masyn Winn
.272
.331
.420
107
4.5
.228
.282
.337
73
1.9
JJ Wetherholt
.281
.364
.410
120
4.2
.227
.313
.328
85
1.8
Brendan Donovan
.299
.374
.442
129
3.5
.248
.324
.364
95
1.2
Iván Herrera
.297
.389
.483
145
3.5
.241
.333
.390
106
1.3
Lars Nootbaar
.268
.363
.459
130
3.5
.223
.317
.363
93
1.1
Jimmy Crooks
.271
.328
.416
108
3.1
.213
.275
.327
72
1.1
Nolan Gorman
.251
.328
.475
121
3.0
.195
.269
.360
78
0.4
Alec Burleson
.303
.356
.488
134
3.2
.247
.297
.384
94
0.4
Leonardo Bernal
.258
.316
.396
96
2.8
.203
.260
.306
59
0.5
Victor Scott II
.250
.323
.358
92
2.9
.200
.274
.285
61
0.6
Pedro Pagés
.255
.306
.401
98
2.5
.197
.250
.314
62
0.7
Thomas Saggese
.275
.329
.419
108
2.9
.220
.275
.324
69
0.2
José Fermín
.261
.364
.404
117
2.3
.212
.311
.311
79
0.6
Bryan Torres
.304
.391
.398
125
2.6
.245
.333
.321
88
0.4
Joshua Baez
.259
.329
.431
115
2.6
.206
.277
.347
79
0.4
César Prieto
.285
.329
.410
107
2.4
.225
.274
.326
70
-0.2
Mike Antico
.260
.325
.385
98
1.8
.204
.268
.291
59
-0.4
Nathan Church
.276
.330
.383
102
2.0
.222
.281
.308
67
-0.3
Jon Jon Gazdar
.266
.330
.316
84
1.6
.213
.282
.248
53
-0.3
Matt Koperniak
.264
.325
.401
104
1.9
.213
.274
.315
68
-0.5
Ramon Mendoza
.246
.322
.362
93
1.5
.191
.271
.279
57
-0.1
Yohel Pozo
.293
.311
.459
113
1.5
.236
.256
.362
74
0.0
Noah Mendlinger
.273
.356
.341
99
1.4
.219
.305
.270
66
-0.5
Blaze Jordan
.271
.316
.416
105
1.6
.218
.262
.321
65
-1.1
Deniel Ortiz
.248
.325
.397
103
1.5
.189
.269
.298
62
-1.0
Carlos Linarez
.230
.276
.331
70
0.6
.168
.213
.232
28
-0.3
Ryan Campos
.238
.315
.337
84
1.3
.175
.254
.246
42
-0.9
Sammy Hernandez
.227
.305
.300
73
1.1
.164
.248
.220
36
-0.8
Chase Davis
.235
.315
.335
83
1.1
.181
.263
.254
49
-1.0
Dakota Harris
.260
.299
.358
86
1.0
.211
.248
.282
52
-1.1
Graysen Tarlow
.260
.339
.307
85
0.4
.191
.274
.225
46
-0.5
Jesus Baez
.247
.300
.392
93
1.1
.197
.250
.301
56
-0.9
Gavin Collins
.256
.314
.361
91
0.7
.182
.244
.260
44
-0.9
Jordan Walker
.256
.321
.415
105
0.9
.205
.270
.326
69
-1.6
Jose Cordoba
.245
.294
.355
84
0.5
.189
.242
.267
46
-1.0
Zach Levenson
.241
.320
.378
97
0.9
.183
.267
.287
59
-1.3
Travis Honeyman
.249
.333
.334
90
0.4
.197
.284
.258
57
-1.1
Chase Adkison
.241
.328
.310
82
0.0
.188
.272
.236
47
-0.8
Jeremy Rivas
.223
.289
.303
67
0.4
.171
.241
.234
36
-1.4
Miguel Villarroel
.248
.283
.310
67
0.3
.190
.228
.237
32
-1.3
Tre Richardson
.238
.301
.317
76
0.4
.180
.243
.236
38
-1.2
Andy Yerzy
.219
.297
.344
80
0.0
.161
.235
.253
39
-1.1
Michael Curialle
.232
.299
.341
78
0.0
.178
.246
.257
42
-1.5
Trey Paige
.232
.297
.327
77
0.4
.178
.239
.250
39
-1.5
Anyelo Encarnacion
.218
.293
.313
71
0.3
.166
.240
.233
36
-1.6
Christian Martin
.239
.310
.302
74
0.2
.183
.257
.229
42
-1.4
Ian Petrutz
.249
.332
.351
93
0.2
.197
.278
.273
58
-1.4
Jacob Buchberger
.241
.305
.349
84
0.3
.185
.248
.267
47
-1.6
Wade Stauss
.184
.298
.219
50
-0.4
.118
.227
.134
8
-0.9
Brody Moore
.244
.293
.302
70
0.1
.189
.238
.237
37
-1.6
Miguel Ugueto
.258
.278
.346
76
-0.2
.194
.218
.258
35
-1.5
R.J. Yeager
.242
.294
.359
82
-0.1
.189
.242
.273
46
-2.0
Johnfrank Salazar
.236
.289
.310
69
-0.5
.180
.235
.231
35
-1.8
Won-Bin Cho
.241
.309
.328
82
0.0
.183
.251
.244
44
-2.0
Bryce Madron
.177
.290
.229
48
-0.9
.124
.236
.164
17
-1.7
Darlin Moquete
.232
.284
.355
79
-0.4
.181
.228
.264
42
-2.0
Josh Kross
.216
.277
.366
79
-0.3
.164
.224
.270
42
-2.3
Brayden Jobert
.202
.283
.310
67
-0.7
.153
.228
.229
32
-2.3
Batters – Platoon Splits
Player
BA vs. L
OBP vs. L
SLG vs. L
BA vs. R
OBP vs. R
SLG vs. R
Masyn Winn
.257
.319
.403
.246
.299
.356
JJ Wetherholt
.241
.320
.346
.259
.346
.375
Brendan Donovan
.259
.338
.353
.278
.354
.422
Iván Herrera
.275
.373
.430
.273
.356
.435
Lars Nootbaar
.235
.325
.364
.249
.346
.426
Jimmy Crooks
.226
.291
.321
.246
.303
.385
Nolan Gorman
.212
.282
.381
.227
.307
.434
Alec Burleson
.259
.308
.381
.280
.332
.460
Leonardo Bernal
.231
.288
.366
.229
.291
.338
Victor Scott II
.218
.290
.290
.229
.304
.332
Pedro Pagés
.234
.289
.379
.220
.271
.348
Thomas Saggese
.250
.309
.388
.249
.297
.363
José Fermín
.233
.333
.350
.240
.336
.362
Bryan Torres
.267
.339
.333
.281
.369
.365
Joshua Baez
.248
.322
.414
.228
.299
.368
César Prieto
.250
.293
.357
.263
.307
.371
Mike Antico
.222
.281
.333
.234
.302
.338
Nathan Church
.246
.297
.322
.248
.307
.352
Jon Jon Gazdar
.244
.313
.275
.238
.305
.287
Matt Koperniak
.237
.297
.333
.246
.300
.368
Ramon Mendoza
.219
.308
.316
.219
.292
.321
Yohel Pozo
.270
.287
.414
.257
.280
.402
Noah Mendlinger
.236
.320
.291
.249
.334
.311
Blaze Jordan
.259
.308
.407
.237
.281
.357
Deniel Ortiz
.221
.299
.359
.213
.294
.337
Carlos Linarez
.204
.250
.286
.196
.240
.278
Ryan Campos
.198
.270
.297
.212
.292
.284
Sammy Hernandez
.211
.290
.284
.190
.273
.246
Chase Davis
.194
.268
.274
.212
.294
.303
Dakota Harris
.240
.283
.333
.233
.272
.315
Graysen Tarlow
.226
.311
.245
.223
.305
.277
Jesus Baez
.223
.286
.355
.217
.268
.335
Gavin Collins
.232
.297
.305
.210
.271
.315
Jordan Walker
.242
.311
.388
.227
.288
.363
Jose Cordoba
.220
.273
.341
.213
.266
.292
Zach Levenson
.220
.306
.339
.210
.287
.333
Travis Honeyman
.229
.318
.323
.220
.306
.285
Chase Adkison
.208
.291
.250
.216
.302
.284
Jeremy Rivas
.200
.267
.273
.197
.261
.264
Miguel Villarroel
.218
.255
.257
.223
.257
.279
Tre Richardson
.208
.276
.292
.205
.268
.265
Andy Yerzy
.185
.254
.262
.194
.271
.310
Michael Curialle
.211
.280
.289
.204
.270
.301
Trey Paige
.191
.260
.277
.207
.269
.293
Anyelo Encarnacion
.197
.271
.299
.192
.261
.267
Christian Martin
.191
.255
.225
.211
.288
.275
Ian Petrutz
.218
.299
.287
.227
.307
.322
Jacob Buchberger
.229
.299
.328
.204
.262
.288
Wade Stauss
.125
.250
.167
.155
.269
.172
Brody Moore
.221
.276
.283
.215
.260
.266
Miguel Ugueto
.230
.256
.311
.223
.243
.295
R.J. Yeager
.220
.273
.314
.211
.261
.310
Johnfrank Salazar
.202
.260
.281
.206
.263
.265
Won-Bin Cho
.206
.268
.275
.212
.281
.288
Bryce Madron
.146
.255
.167
.148
.267
.203
Darlin Moquete
.202
.259
.293
.202
.249
.303
Josh Kross
.186
.238
.310
.190
.248
.318
Brayden Jobert
.174
.258
.244
.175
.256
.278
Pitchers – Standard
Player
T
Age
W
L
ERA
G
GS
IP
H
ER
HR
BB
SO
Michael McGreevy
R
25
10
9
3.92
29
28
154.0
154
67
17
36
111
Matthew Liberatore
L
26
8
9
4.10
31
24
131.7
127
60
15
41
111
Dustin May
R
28
7
8
4.15
21
19
115.0
101
53
13
41
103
Andre Pallante
R
27
8
9
4.30
32
24
136.0
137
65
13
52
96
Richard Fitts
R
26
5
6
4.32
21
21
100.0
100
48
14
29
77
JoJo Romero
L
29
6
3
3.41
61
0
58.0
50
22
5
23
57
Ixan Henderson
L
24
6
8
4.50
23
22
110.0
110
55
14
45
86
Quinn Mathews
L
25
5
6
4.37
24
24
101.0
93
49
12
54
99
Tekoah Roby
R
24
5
6
4.20
17
17
79.3
78
37
11
22
68
Bruce Zimmermann
L
31
6
8
4.53
24
18
113.3
127
57
16
28
76
Kyle Leahy
R
29
4
4
4.03
50
5
87.0
83
39
9
31
75
Brycen Mautz
L
24
5
7
4.64
24
24
104.7
106
54
15
37
86
Gordon Graceffo
R
26
5
6
4.38
35
13
96.7
97
47
11
30
77
Pete Hansen
L
25
5
7
4.69
23
23
119.0
129
62
18
36
83
Sem Robberse
R
24
4
5
4.48
18
17
86.3
88
43
11
30
66
Tink Hence
R
23
3
4
4.33
19
19
68.7
64
33
9
30
63
Aaron Wilkerson
R
37
4
6
4.80
24
24
123.7
142
66
21
27
81
Hunter Dobbins
R
26
4
4
4.58
16
15
78.7
82
40
10
25
54
Matt Svanson
R
27
3
3
3.77
48
1
71.7
65
30
8
25
66
Miles Mikolas
R
37
6
10
4.86
25
25
129.7
144
70
22
30
83
Zack Thompson
L
28
4
5
4.56
24
13
73.0
69
37
9
37
71
Curtis Taylor
R
30
5
6
4.81
27
19
103.0
105
55
15
40
79
Hancel Rincon
R
24
5
6
4.79
20
18
97.7
104
52
15
30
68
Jared Shuster
L
27
4
5
4.56
32
10
81.0
85
41
9
29
55
Scott Blewett
R
30
3
4
4.39
32
7
65.7
68
32
8
24
47
Alex Cornwell
L
27
4
5
4.74
28
12
87.3
95
46
11
31
56
Riley O’Brien
R
31
2
2
3.88
51
0
55.7
47
24
5
26
59
Max Rajcic
R
24
5
7
5.00
24
24
113.3
120
63
17
40
76
Austin Love
R
27
4
5
4.52
34
6
63.7
63
32
8
28
54
Ian Bedell
R
26
2
4
4.90
18
17
71.7
74
39
11
28
55
John King
L
31
3
2
3.91
50
0
53.0
59
23
5
14
32
Nick Raquet
L
30
6
6
4.26
35
2
57.0
57
27
7
19
46
Ryan Fernandez
R
28
4
4
4.12
54
0
59.0
53
27
7
26
63
Matt Pushard
R
28
4
4
4.17
44
1
54.0
52
25
7
20
47
Luis Gastelum
R
24
4
3
4.02
41
0
56.0
52
25
7
18
56
Ryne Stanek
R
34
4
4
4.13
54
0
48.0
44
22
5
24
48
Justin Bruihl
L
29
3
3
4.26
48
0
50.7
49
24
6
19
45
Zach Plesac
R
31
4
6
5.26
16
15
75.3
85
44
12
29
46
Ryan Murphy
R
26
2
3
5.08
15
12
51.3
54
29
7
22
34
Andre Granillo
R
26
3
4
4.40
43
0
57.3
53
28
8
26
56
Chris Roycroft
R
29
4
4
4.48
49
0
62.3
62
31
6
29
50
Tyler Matzek
L
35
1
0
4.70
24
0
23.0
23
12
3
12
20
Ricardo Velez
R
27
3
5
4.78
32
1
52.7
54
28
7
22
39
Skylar Hales
R
24
4
5
4.53
46
0
49.7
49
25
6
18
41
Gerson Moreno
R
30
2
2
4.93
36
0
38.3
35
21
5
24
37
Randel Clemente
R
24
2
3
4.80
36
0
45.0
40
24
5
31
45
Zack Weiss
R
34
2
2
4.86
34
0
50.0
49
27
7
24
47
Andrew Marrero
R
26
2
4
4.95
29
0
40.0
38
22
6
23
38
Hunter Hayes
R
25
2
4
5.02
31
1
57.3
61
32
8
24
40
Michael Gomez
R
29
2
3
5.08
30
1
44.3
44
25
5
23
32
Michael Watson
L
24
2
4
4.97
38
0
54.3
51
30
7
28
50
Nathanael Heredia
L
25
1
2
5.17
31
0
38.3
38
22
5
24
30
Tyler Bradt
R
25
2
4
5.26
34
2
53.0
53
31
8
31
43
Leonardo Taveras
R
27
2
4
5.40
31
2
46.7
47
28
7
30
40
Edwin Nunez
R
24
3
5
5.75
32
5
51.7
52
33
8
32
38
Pitchers – Advanced
Player
IP
K/9
BB/9
HR/9
BB%
K%
BABIP
ERA+
3ERA+
FIP
ERA-
WAR
Michael McGreevy
154.0
6.5
2.1
1.0
5.6%
17.3%
.288
105
106
3.92
95
2.2
Matthew Liberatore
131.7
7.6
2.8
1.0
7.3%
19.9%
.290
100
102
4.03
100
1.6
Dustin May
115.0
8.1
3.2
1.0
8.5%
21.4%
.273
99
100
4.17
101
1.3
Andre Pallante
136.0
6.4
3.4
0.9
8.7%
16.1%
.292
95
97
4.23
105
1.3
Richard Fitts
100.0
6.9
2.6
1.3
6.8%
18.2%
.286
95
98
4.43
105
1.0
JoJo Romero
58.0
8.8
3.6
0.8
9.3%
23.2%
.285
120
119
3.61
83
0.9
Ixan Henderson
110.0
7.0
3.7
1.1
9.4%
17.9%
.289
91
96
4.62
110
0.9
Quinn Mathews
101.0
8.8
4.8
1.1
12.0%
22.0%
.291
94
98
4.50
106
0.9
Tekoah Roby
79.3
7.7
2.5
1.2
6.6%
20.3%
.290
98
104
4.20
102
0.9
Bruce Zimmermann
113.3
6.0
2.2
1.3
5.7%
15.5%
.303
91
89
4.48
110
0.8
Kyle Leahy
87.0
7.8
3.2
0.9
8.3%
20.1%
.291
102
101
3.96
98
0.7
Brycen Mautz
104.7
7.4
3.2
1.3
8.2%
19.0%
.293
88
93
4.64
114
0.7
Gordon Graceffo
96.7
7.2
2.8
1.0
7.2%
18.6%
.295
94
97
4.07
106
0.7
Pete Hansen
119.0
6.3
2.7
1.4
7.0%
16.1%
.295
87
91
4.77
115
0.7
Sem Robberse
86.3
6.9
3.1
1.1
8.0%
17.6%
.293
91
97
4.47
110
0.7
Tink Hence
68.7
8.3
3.9
1.2
10.0%
21.0%
.285
95
100
4.43
106
0.7
Aaron Wilkerson
123.7
5.9
2.0
1.5
5.1%
15.2%
.302
85
80
4.76
118
0.6
Hunter Dobbins
78.7
6.2
2.9
1.1
7.3%
15.8%
.290
90
93
4.55
112
0.6
Matt Svanson
71.7
8.3
3.1
1.0
8.3%
21.9%
.284
109
110
4.07
92
0.5
Miles Mikolas
129.7
5.8
2.1
1.5
5.4%
15.0%
.292
84
79
4.88
119
0.5
Zack Thompson
73.0
8.8
4.6
1.1
11.5%
22.0%
.296
90
92
4.51
111
0.5
Curtis Taylor
103.0
6.9
3.5
1.3
8.9%
17.6%
.288
85
85
4.92
117
0.4
Hancel Rincon
97.7
6.3
2.8
1.4
7.1%
16.0%
.291
86
91
4.84
116
0.4
Jared Shuster
81.0
6.1
3.2
1.0
8.2%
15.5%
.295
90
92
4.36
111
0.4
Scott Blewett
65.7
6.4
3.3
1.1
8.3%
16.3%
.293
93
92
4.50
107
0.3
Alex Cornwell
87.3
5.8
3.2
1.1
8.0%
14.5%
.297
86
88
4.69
116
0.3
Riley O’Brien
55.7
9.5
4.2
0.8
10.9%
24.7%
.288
106
103
3.99
94
0.3
Max Rajcic
113.3
6.0
3.2
1.4
8.0%
15.3%
.288
82
87
5.07
122
0.2
Austin Love
63.7
7.6
4.0
1.1
10.0%
19.2%
.294
91
93
4.61
110
0.2
Ian Bedell
71.7
6.9
3.5
1.4
8.9%
17.5%
.289
84
86
5.01
119
0.2
John King
53.0
5.4
2.4
0.8
6.1%
13.9%
.305
105
102
4.03
95
0.2
Nick Raquet
57.0
7.3
3.0
1.1
7.7%
18.7%
.292
96
94
4.36
104
0.2
Ryan Fernandez
59.0
9.6
4.0
1.1
10.3%
24.9%
.295
100
101
3.94
100
0.2
Matt Pushard
54.0
7.8
3.3
1.2
8.5%
20.1%
.288
98
100
4.33
102
0.2
Luis Gastelum
56.0
9.0
2.9
1.1
7.6%
23.7%
.294
102
105
3.91
98
0.2
Ryne Stanek
48.0
9.0
4.5
0.9
11.3%
22.6%
.295
99
92
4.08
101
0.1
Justin Bruihl
50.7
8.0
3.4
1.1
8.7%
20.6%
.295
96
97
4.41
104
0.1
Zach Plesac
75.3
5.5
3.5
1.4
8.6%
13.6%
.296
78
77
5.21
128
0.0
Ryan Murphy
51.3
6.0
3.9
1.2
9.6%
14.8%
.288
81
83
5.13
124
0.0
Andre Granillo
57.3
8.8
4.1
1.3
10.3%
22.2%
.287
93
98
4.44
107
0.0
Chris Roycroft
62.3
7.2
4.2
0.9
10.4%
18.0%
.298
92
92
4.35
109
-0.1
Tyler Matzek
23.0
7.8
4.7
1.2
11.5%
19.2%
.299
87
83
4.82
115
-0.1
Ricardo Velez
52.7
6.7
3.8
1.2
9.4%
16.7%
.290
86
88
4.89
116
-0.2
Skylar Hales
49.7
7.4
3.3
1.1
8.4%
19.2%
.293
90
96
4.41
111
-0.2
Gerson Moreno
38.3
8.7
5.6
1.2
13.6%
21.0%
.286
83
82
5.12
120
-0.3
Randel Clemente
45.0
9.0
6.2
1.0
14.4%
20.9%
.287
85
90
4.94
117
-0.3
Zack Weiss
50.0
8.5
4.3
1.3
10.8%
21.2%
.298
84
80
4.66
119
-0.3
Andrew Marrero
40.0
8.6
5.2
1.4
12.5%
20.7%
.288
83
85
5.24
121
-0.3
Hunter Hayes
57.3
6.3
3.8
1.3
9.4%
15.6%
.293
82
86
5.05
123
-0.4
Michael Gomez
44.3
6.5
4.7
1.0
11.6%
16.1%
.287
81
80
5.28
123
-0.4
Michael Watson
54.3
8.3
4.6
1.2
11.5%
20.5%
.288
82
88
4.88
122
-0.4
Nathanael Heredia
38.3
7.0
5.6
1.2
13.5%
16.9%
.287
79
83
5.56
126
-0.4
Tyler Bradt
53.0
7.3
5.3
1.4
12.8%
17.8%
.287
78
82
5.48
128
-0.5
Leonardo Taveras
46.7
7.7
5.8
1.3
13.7%
18.3%
.292
76
77
5.65
132
-0.5
Edwin Nunez
51.7
6.6
5.6
1.4
13.0%
15.4%
.280
71
75
6.14
140
-0.6
Pitchers – Top Near-Age Comps
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
Michael McGreevy
.276
.332
.455
.235
.265
.351
3.1
1.3
3.47
4.44
Matthew Liberatore
.234
.291
.317
.253
.315
.429
2.3
0.6
3.63
4.70
Dustin May
.244
.339
.404
.225
.288
.358
2.0
0.4
3.66
4.79
Andre Pallante
.245
.309
.365
.265
.336
.415
2.1
0.4
3.87
4.84
Richard Fitts
.257
.317
.419
.253
.306
.427
1.7
0.4
3.78
4.86
JoJo Romero
.205
.280
.274
.240
.317
.390
1.5
0.1
2.67
4.33
Ixan Henderson
.262
.333
.407
.249
.326
.412
1.6
0.3
4.03
4.96
Quinn Mathews
.234
.333
.369
.239
.336
.396
1.7
0.1
3.82
5.02
Tekoah Roby
.243
.302
.412
.257
.307
.429
1.5
0.3
3.67
4.97
Bruce Zimmermann
.266
.298
.413
.279
.327
.464
1.5
0.1
4.00
5.07
Kyle Leahy
.238
.315
.381
.251
.310
.393
1.3
-0.1
3.52
4.80
Brycen Mautz
.236
.307
.341
.265
.333
.464
1.3
0.0
4.18
5.23
Gordon Graceffo
.257
.321
.411
.250
.301
.394
1.3
0.1
3.86
5.00
Pete Hansen
.272
.315
.464
.267
.328
.441
1.2
-0.2
4.27
5.29
Sem Robberse
.253
.339
.430
.259
.305
.405
1.2
0.2
4.04
4.99
Tink Hence
.241
.326
.405
.240
.315
.393
1.2
0.1
3.84
4.97
Aaron Wilkerson
.290
.335
.493
.274
.303
.460
1.3
-0.3
4.32
5.52
Hunter Dobbins
.283
.341
.434
.242
.303
.416
1.0
0.1
4.12
5.10
Matt Svanson
.243
.331
.405
.233
.300
.362
1.0
-0.1
3.22
4.57
Miles Mikolas
.282
.329
.485
.270
.308
.459
1.1
-0.4
4.42
5.54
Zack Thompson
.238
.330
.345
.245
.339
.415
1.0
-0.2
4.00
5.28
Curtis Taylor
.265
.343
.486
.254
.329
.393
1.1
-0.3
4.29
5.40
Hancel Rincon
.262
.324
.452
.269
.324
.439
1.0
-0.2
4.29
5.37
Jared Shuster
.280
.336
.440
.256
.317
.399
0.9
-0.2
4.01
5.23
Scott Blewett
.268
.338
.433
.254
.313
.396
0.7
-0.1
3.89
5.04
Alex Cornwell
.260
.316
.375
.273
.337
.454
0.8
-0.3
4.32
5.32
Riley O’Brien
.220
.327
.330
.227
.326
.361
0.9
-0.3
3.12
4.82
Max Rajcic
.262
.341
.455
.269
.331
.442
0.9
-0.4
4.53
5.49
Austin Love
.293
.371
.457
.216
.303
.366
0.7
-0.2
3.98
5.08
Ian Bedell
.260
.338
.450
.261
.333
.438
0.6
-0.3
4.38
5.48
John King
.234
.277
.312
.291
.336
.454
0.5
-0.2
3.45
4.48
Nick Raquet
.253
.321
.373
.252
.317
.424
0.7
-0.3
3.58
4.93
Ryan Fernandez
.232
.321
.411
.233
.304
.361
0.7
-0.5
3.41
4.96
Matt Pushard
.247
.315
.351
.250
.320
.455
0.6
-0.3
3.57
4.98
Luis Gastelum
.243
.301
.398
.231
.300
.376
0.7
-0.4
3.32
4.95
Ryne Stanek
.247
.337
.358
.229
.317
.390
0.5
-0.5
3.44
5.16
Justin Bruihl
.221
.307
.286
.267
.346
.475
0.5
-0.4
3.54
4.98
Zach Plesac
.275
.346
.458
.280
.333
.476
0.4
-0.5
4.75
5.79
Ryan Murphy
.250
.345
.390
.276
.342
.467
0.3
-0.3
4.71
5.65
Andre Granillo
.266
.364
.468
.222
.288
.365
0.5
-0.5
3.68
5.17
Chris Roycroft
.270
.364
.414
.235
.309
.360
0.3
-0.6
3.91
5.12
Tyler Matzek
.214
.290
.357
.274
.370
.435
0.2
-0.3
3.75
6.12
Ricardo Velez
.286
.366
.490
.234
.312
.360
0.1
-0.6
4.24
5.43
Skylar Hales
.247
.327
.393
.250
.317
.407
0.2
-0.5
3.91
5.16
Gerson Moreno
.262
.400
.415
.222
.326
.395
0.1
-0.7
4.19
6.16
Randel Clemente
.225
.367
.413
.237
.351
.344
0.1
-0.7
4.16
5.47
Zack Weiss
.270
.363
.472
.234
.314
.374
0.1
-0.8
4.09
5.83
Andrew Marrero
.258
.388
.455
.233
.327
.400
0.0
-0.7
4.31
5.81
Hunter Hayes
.268
.357
.454
.263
.331
.421
0.0
-0.7
4.45
5.50
Michael Gomez
.263
.378
.474
.250
.360
.354
0.0
-0.8
4.33
5.81
Michael Watson
.242
.333
.387
.243
.351
.412
0.0
-0.9
4.27
5.77
Nathanael Heredia
.250
.368
.354
.255
.374
.451
-0.1
-0.8
4.60
6.01
Tyler Bradt
.261
.367
.467
.248
.350
.402
-0.1
-0.8
4.66
5.90
Leonardo Taveras
.286
.412
.464
.230
.339
.410
-0.1
-0.9
4.80
6.24
Edwin Nunez
.279
.406
.512
.241
.364
.388
-0.3
-1.0
5.27
6.36
Players are listed with their most recent teams wherever possible. This includes players who are unsigned or have retired, players who will miss 2026 due to injury, and players who were released in 2025. So yes, if you see Joe Schmoe, who quit baseball back in August to form a Ambient Math-Rock Trip-Hop Yacht Metal band that only performs in abandoned malls, he’s still listed here intentionally. ZiPS is assuming a league with an ERA of 4.16.
Hitters are ranked by zWAR, which is to say, WAR values as calculated by me, Dan Szymborski, whose surname is spelled with a z. WAR values might differ slightly from those that appear in the full release of ZiPS. Finally, I will advise anyone against — and might karate chop anyone guilty of — merely adding up WAR totals on a depth chart to produce projected team WAR. It is important to remember that ZiPS is agnostic about playing time, and has no information about, for example, how quickly a team will call up a prospect or what veteran has fallen into disfavor.
As always, incorrect projections are either caused by misinformation, a non-pragmatic reality, or by the skillful sabotage of our friend and former editor. You can, however, still get mad at me on Twitter or on Bluesky. This last is, however, not an actual requirement.