Archive for Featured

Peering Into the Crystal Ball: The Next Five Years of BBWAA Hall of Fame Elections

Jeff Curry and Mark J. Rebilas-Imagn Images

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

Last week, BBWAA voters elected Carlos Beltrán and Andruw Jones to the Hall of Fame — and in doing so, they once again foiled my chances at a perfect five-year projection of upcoming elections. Not that I had any real expectation of running the table given my spotty track record regarding this endeavor, but while a year ago I correctly projected that Beltrán, who received 70.3% on the 2025 ballot, would make it this year, I was somewhat surprised that Jones, who received 66.2% last time — leaving him with what has typically been roughly coin-toss odds of reaching 75% the next year — made it as well.

If I’ve learned anything from 14 years of doing these five-year outlooks, dating back to the wrap-up of my 2014 election coverage at SI.com, it’s humility, because there are far more ways to be wrong in this endeavor than to be right; when a candidate gets elected more quickly than I expect, or lags relative to my expectations, it creates a ripple effect. The presence of a high-share holdover means less space for and less attention paid to the mid-ballot holdovers, so clearing one from the ballot can have ramifications that won’t be felt for a few years; likewise, a more rapid election than predicted can accelerate other candidates’ timelines. What’s more, the Hall can change the rules for election without warning, and candidates can do unforeseen things that compromise their chances.

The first time I tried this was so long ago that candidates still had 15 years of eligibility instead of 10, so I could afford to project Tim Raines for election in 2018, his 11th year of eligibility. The Hall’s unilateral decision to truncate candidacies to 10 years would come just months later, though thankfully voters accelerated their acceptance of Raines, who was elected in 2017. Both the eligibility shortening and Hall vice chairman Joe Morgan’s open letter pleading with voters not to elect candidates linked to performance-enhancing drugs changed the landscape in ways I couldn’t foresee. Meanwhile, Ichiro Suzuki made a two-game comeback that bumped his eligibility back a year, Curt Schilling found increasingly elaborate ways to offend voters, Omar Vizquel became the subject of multiple allegations of domestic violence against his wife and sexual harassment of an autistic batboy, and Beltrán lost a shot at first-year election because of his involvement in the Astros’ illegal sign-stealing scheme. My Magic 8 Ball didn’t see any of that coming. Read the rest of this entry »


The Most Baseball a Baseball Town Can Be

Photo by Amanda Vogt

IRMO, S.C. — At Friarsgate Park, there’s never enough parking. Whenever there’s a baseball game, the lot gets full and drivers find spots on the grass next to the sidewalk. Eventually, the parking lot over at the elementary school fills, too.

It’s only a week night, but there’s so much commotion — and this isn’t for a tournament, just fall baseball games.

“It’s the old ‘Field of Dreams,’” said Bobby Jenson, Little League president. “If you build it, they will come. If you build the right atmosphere, people will come because, if it’s 60, 70 degrees and you’re just relaxed and you’re getting peanuts or popcorn or sunflower seeds, and just watching a game of baseball — it’s just no better place I’d rather be.”

This is Irmo, South Carolina, the most baseball a baseball town can be.

Irmo is so baseball that last year it sent not one, not two, not three, but four teams in different divisions to the Little League World Series — baseball teams of up to 12-, 13- and 16-year-old boys, along with a girls softball team. Little League has seven divisions, each of which holds a national tournament of top teams every year, the World Series. Do the math: One community sent clubs to more than half the national competitions.

Irmo is so baseball that championship jerseys hang in local restaurants as relics of pride with signatures of the ball players, who are treated as local celebrities.

Irmo is so baseball that even though the South Carolina Golf Association is just a few miles down the road from the ball fields, there isn’t even a golf course in town. It closed several years ago.

It’s hard to find someone not connected to Irmo Little League.

“I’ve lived in North and South Carolina my whole life and baseball is very important here,” said Matt Westbrooks, a Little League parent. “We’re shocked that we don’t have a major league team yet. And I will tell you, Irmo Little League is doing it right. If you’re not involved, you need to be involved. It’s a great place to have your kids. It’s a great place to learn about baseball.”

One of the six fields at Friarsgate Park, home of Irmo Little League (Photo by Amanda Vogt)

Classic Southern

Irmo is 20 minutes away from Columbia and is full of Southern charm. Local businesses coexist with typical chain restaurants and retail stores, and with the South Carolina Gamecocks competing close by, there’s an SEC rooting interest.

Lake Murray is just to the west of town and has 650 miles of shoreline. The Big Bass Tour hosts tournaments on the lake each fall and spring that draw people to Irmo. But there’s always plenty of folks fishing. Some of the players often trade in bats for fishing rods.

Irmo is home to the annual Okra Strut, a two-day festival with a parade that was started by the Lake Murray-Irmo women’s club 50 years ago. Initially, the goal was to fundraise money to build a new library, but that only took seven years.

It still remains the town’s most cherished celebration, but the Williamsport team of up to 12-year-olds couldn’t attend the strut this year — the Atlanta Braves were hosting the little leaguers for their game against the Pittsburgh Pirates.

Where The Magic Happens

Irmo Little League has been around for a while, and baseball has been considered America’s favorite pastime for a lot longer, so why is it just now that Irmo is so good?

One reason is facilities. At Friarsgate, there are four large fields, three for baseball and one for softball. Right at the park’s entrance, there are two smaller fields for t-ball.

The fall season for Irmo Little League is dedicated to teaching young players the game and developing skills. Scores aren’t kept, the outfield boards remain off, and coaches interrupt the game action for pivotal teaching moments. But in the spring, kids are playing to make an All-Star team with the chance to make a Little League championship bracket and coaches want the chance to make the trip North, too.

Registration for the spring starts in December and ends in the middle of January. In February, players are evaluated and the regular season teams are formed, practices begin and games run for seven weeks starting in early March.

At 9 a.m. on opening day there’s a parade — it’s a town spectacle. All teams take the field that day and Jensen said 5,000 people normally attend.

“Oh my gosh, it was like if Norman Rockwell was here today, like what he would create for a town celebration,” said Jill Giulietti, mother of one of Irmo’s star sluggers. “It was so charming.”

The fences surrounding each field and the press box structures behind home plate are covered in banners of previous Irmo Little League teams that won state championships or reached a Little League World Series. The sign from 2009 sits next to more recent champions. It might be old, but the cracks in it are an important reminder of how much Irmo Little League has grown.

The fields didn’t always have lights, they didn’t always have scoreboards, there wasn’t always a paved walkway providing better accessibility to the fields. It took commitment from the community and investing to get here.

Baseball may have come first, but softball is what put Irmo Little League on the map. In 2022, the juniors team made it to the World Series in Seattle and came in second. Their Southeast jersey is framed at Lucky’s Burger Shack — it’s the place everyone flocks to when Irmo teams play in the World Series. The lineups are always posted and the regulars enjoy knowing who to root for each night.

“You don’t necessarily have to be family to be supportive of each other,” restaurant manager Kim Laniere said. “Everybody becomes aunts and uncles and brothers and sisters, you know, they all adopt whoever the kids are.”

A Southeast jersey autographed by the 2022 Irmo team that made it to the Junior League Softball World Series hangs inside Lucky’s Burger Shack. (Photo by Amanda Vogt)

The Grind

Irmo is the first local Little League to send four teams to their respective World Series in one season and it sent two teams in 2023 and 2024. But it’s not so simple to make that final tournament.

“It’s very hard, and for these players and families, there’s a lot of commitment that they make,” Jenson said.

Once All-Star teams are announced at the end of the spring regular season, practices begin and they’re intense. This year’s team that went to Williamsport practiced in the evenings three to four nights a week, starting at 7 p.m. to try and avoid the heat of the day. Practices were slotted for an hour and a half but it wasn’t unusual if they ran late and the crew shut down Friarsgate.

Manager Dave Bogan prepared his players intentionally and vigorously — they worked hard. His son, Andrew, was on the team, and his oldest, Jake who also played up through Irmo Little League, now goes to Dutch Fork High School.

“They got some of the high schoolers to come down and pitch to us, like throwing 70, 75, fastball, curveball, like all the pitches to get us ready for what we’re gonna face,” said Joe Giulietti, pitcher and third baseman.

Joe was one of Irmo’s most powerful hitters and he’s not bad on the mound either. He hit a grand slam during Irmo’s first game in Williamsport and his younger sister teased him that it wasn’t even off the barrel. At Friarsgate, during the home run derby last year, he even broke a scoreboard.

“If you run cross county, which is the three-mile race, you’re gonna go out and you’re gonna train for eight or nine miles,” Bogan said. “If I can get a high school kid that’s going to throw 75 to 80, which is really fast for these boys, when we see someone throwing 60-70, they’re ready.”

Bogan had to switch fields for practice so he wouldn’t lose as many baseballs in the trees beyond the fence.

“Practice was always hard and they made it hard on purpose to face difficult moments so it would look easy and make it easy,” said Brady Westbrooks, who smacked the walk-off hit in the regional tournament that earned Irmo its trip to Williamsport.

Irmo Little League in action (Photo by Amanda Vogt)

What Makes Irmo Different?

If you’re a parent and you have a son or daughter who wants to play ball, you basically have two choices: rec or travel ball.

Recreational baseball programs such as Little League don’t always have a great reputation because they aren’t necessarily recognized as competitive as travel ball. Even the Giuliettis were skeptical.

Before arriving in Irmo because of a career move, they lived in Texas. There, Joe seemed to out-grow Little League ball. He always had a strong arm. In Williamsport, Joe never gave up a hit.

“The coaches (in Texas) were trying to teach him to either roll it or to throw a rainbow,” Jill Giulietti said. That was because they worried Joe would “take someone’s face off.” So, to put Joe in a more competitive baseball environment, the Giuliettis turned to travel ball.

That’s where they believed the best players had the best opportunities. They had no idea Irmo was such a baseball haven.

While the popularity of travel ball has skyrocketed, Irmo Little League hasn’t been affected because of the program’s commitment to letting travel and rec play coexist. The two sometimes conflict in scheduling.

Before Jenson was league president, Justun Baxter held the position for eight years and he bought into travel ball rather than trying to work separately from it.

“Justun got them involved with our concession stand and stuff like that, to where you can make a little extra money to help your travel ball team expenses,” Jenson said about Baxter’s approach. “That got travel ball players to come back (for Little League).”

Joe Giuliette of Irmo Little League (Photo by Amanda Vogt)

Irmo Little League refrains from having its games on the weekend because that’s when travel tournaments are typically held. Now when those tournaments use Friarsgate fields, all concession sales go back to Irmo Little League. Jensen and other volunteers are typically outside of the concession stand under a tent working the grill all afternoon.

While Irmo Little League prevents travel teams from staying together — players get divided among all teams in their age group — it ultimately makes the spring regular season games more competitive.

“They get to play against each other, pitching against each other, hitting against each other, it brings back that excitement to the travel ball players,” Jensen said. “You get the better players in your zip codes and success can happen.”

Because of its recent success, Irmo Little League is expecting to have close to 1,000 kids playing baseball and softball in the spring. This fall, a record 43 teams (nearly 500 kids) played, which is nearly double the amount of participation compared with when Jensen first got involved 15 years ago.

And for a sport like softball, the popularity and excitement are only continuing to grow.

Sarah Minchew coached her daughter, Ainsley, in the junior softball Little League World Series last summer. Sarah grew up playing the game, but Ainsley was a dancer before becoming a lights-out pitcher. Sarah sees a drastic difference in the sport’s popularity because of the exposure collegiate softball now receives.

“The diamond sports, to me, are some of the most difficult games because you have to be really athletic, but you also have to be really skilled,” Sarah said. “You can’t just get by with athleticism, you have to really commit yourself to being a good skilled player too, so it’s unique in that regard, but I think girls are putting in more time than they ever have historically to this game.”

Irmo currently has its highest participation in softball with at least 250 girls expected in the spring and about 150 playing this fall.

Irmo Little League softball is experiencing record participation. (Photo by Amanda Vogt)

Community Commitment

Jensen and Baxter spend nearly 40 hours every week at Friarsgate and that’s in addition to their full-time jobs. Irmo Little League is run entirely by volunteers and most parents are highly involved in the league’s operation.

There are about 200 volunteers, but Baxter said only about five “put in way too much time.” Even though his kids are too old to still play in Irmo Little League, he wouldn’t do anything differently.

“This is my home,” Baxter said, adding that he believes this league is so successful because “it’s 80% family, 20% baseball.”

Irmo is a place where many people grow up and eventually move back to and start businesses. Tre Dabney opened Chickenbutt Donuts seven years ago with his wife. He grew up in Irmo and played Little League — now he’s a sponsor of the program.

“There just hasn’t been a better place that I’ve been,” Dabney said. “And it really seems like the rest of the country is figuring it out. The secret is kind of out.”

Chickenbutt Donuts was a part of Irmo Little League’s largest fundraising year last season, supplying over 300 dozen donuts sold at the concession stand. Dabney does not see this partnership ending anytime soon.

“It’s great coaches and it’s great kids and it’s a great community supporting them along the way,” Dabney said. “When you see what they put on the field, it looks like magic, it looks like it’s just supernatural, but really, it’s about coaches working hard and kids working hard and the community putting the full force of their support behind all of them. And boy, howdy.”

Over 300 dozen Chickenbutt Donuts were sold at Friarsgate Park last year. (Photo by Amanda Vogt)

Baseball Is Fun!

In a town like Irmo, baseball is tradition. The community rallies behind its clubs and in September it hosted a town celebration for the four teams that made Little League World Series appearances.

“Success is when I come down here (to Friarsgate), am I seeing a bunch of smiling faces?” Jensen said. “Are siblings who you see at other sports maybe getting dragged by the hand out of the car because their brother or sister is playing? Versus, when they get out of the car here, and they’re running to see their friends. That, to me, is success.”

Sunflower seeds coat the ground from underneath the bleachers where parents keep a close eye on the game. Siblings and other kids are running around, even tossing rocks in the air and trying to hit them with sticks while baseball is played all around them.

“You have so many people come out that are not even having to be here that night but are coming just because it’s so much fun,” Jensen said.

In the rare moments when not all of the Friarsgate fields are occupied, the lights remain on.

Kids often just play sandlot ball on the fields, nothing serious, just fun. Friends are made during pick-up games of catch or impromptu hitting practice.

“I’m sure this happens at lots of Little Leagues, I’m not saying it doesn’t, but that’s the kind of thing that makes it special,” Bogan said mid-interview, when he noticed a group of kids randomly playing together. “I don’t even know how well (they know each other) but they’re out there playing and they’re just goofing off.

“It’s just a fever about playing baseball.”

Joe, the slugger/pitching star for Irmo, certainly has that fever. After coming back from Williamsport, the first thing he did was pick up a bat and started swinging in the back yard.

“If we were the ones pushing him, I feel like it wouldn’t be right, but he wants to do it,” said his father, Jason Giulietti.

Members of last year’s All-Star teams are still deciding if they will return to Irmo Little League or not. The divisions they compete in are changing as the kids get older. But no one wants to think about next year yet — the accomplishment of making it to a Little League World Series is still sinking in.

Irmo Little League families line up at the Friarsgate Park concession stand. (Photo by Amanda Vogt)

“Imagine having a great Thanksgiving dinner and you’re just stuffed and you’ve had a great experience, you wouldn’t trade it for anything and then people say ‘Well what are you going to do for breakfast tomorrow?’ Like, you’re not ready to think about it,” Bogan said, referring to a conversation he had with his wife about baseball decisions for next spring. “That’s kind of where we’re at. We’re not really ready to think about it.”

But if not Bogan, someone will coach Irmo Little league next year. And kids will certainly be ready to play. And Friarsgate will be ready to greet them.


Sunday Notes: Bobby Abreu, Jimmy Rollins, Chase Utley, and the 2026 HoF Ballot

This year’s Hall of Fame ballot included three former Philadelphia Phillies position players, none of whom received the necessary 319 votes (out of 425 cast) to gain election. Chase Utley fared best with 251 votes (59.1%), while Bobby Abreu got 131 (30.8%), and Jimmy Rollins received 108 (25.4%). As did my colleagues Jay Jaffe and Dan Szymborski, I put checkmarks next to Abreu’s and Utley’s names, but not Rollins’s.

How did other BBWAA voters choose among the Phillies trio? A comprehensive answer isn’t possible — not everyone makes their ballots public — but we do know about the 260 voters whose selections were shared on Ryan Thibodaux’s Ballot Tracker. Here is the breakdown as of yesterday afternoon courtesy of the Tracker’s Anthony Calamis:

66 voted for none of the three.
25 had all three.
52 had only Utley.
9 had only Abreu.
3 had only Rollins.
63 had Utley and Abreu, but not Rollins.
42 had Utley and Rollins, but not Abreu.

As for the players’ relative merit, that is in the eye of the beholder. Reasonable arguments, both for and against, can be made for all three former Phillies by prioritizing specific statistics and accolades — or even reputations (none of Abreu, Rollins, or Utley have been tainted by scandal). Read the rest of this entry »


FanGraphs Weekly Mailbag: January 24, 2026

Troy Taormina-Imagn Images

At this time last week, the Mets were celebrating their signing of Bo Bichette. Up until that point, though, their offseason was largely being viewed as a letdown as they assembled an oddly shaped roster. Earlier this winter, they watched as Edwin Díaz spurned them for the Dodgers, let Pete Alonso walk and then signed Jorge Polanco to play first base, and missed out on Kyle Tucker. Sure, they upgraded at second base with the Marcus Semien trade, but doing so required them to part with Brandon Nimmo, who was coming off a year in which he hit a career-high 25 home runs and posted 3.0 WAR. They decided to replace that production with 23-year-old Top 100 prospect Carson Benge, who had a 53 wRC+ in 103 Triple-A plate appearances last season, as the big spoon of a platoon in left field. They also reinforced their bullpen with two of the more inconsistent members of the 2025 Yankees’ relief corps, Devin Williams and Luke Weaver. These weren’t bad moves, to be clear. Williams especially is a strong bounce-back candidate; Polanco is a quality player, though his entire experience at first base consists of one defensive plate appearance; and Semien fulfills the team’s desire to get better defensively. But they were a bit puzzling given that the Mets’ greatest areas of need were another impact bat, a center fielder, and a frontline starting pitcher.

As it turns out, adding Bichette was just the first in a trio of acquisitions to address those major roster holes. Late Tuesday night, the Mets traded for center fielder Luis Robert Jr., who is coming off two straight seasons of injuries and poor performance but is still a tantalizing talent and just 28 years old. “If you made an outfielder in a lab, he’d look a lot like this,” wrote Ben Clemens about Robert after the trade. Then, on Wednesday, they swung a swap with the Brewers for All-Star right-hander Freddy Peralta to anchor their rotation. They had to give up two of their top prospects to get him, but as Davy Andrews noted in his column on the trade, “the Mets are trying to win this season, and now that he’s not in Milwaukee, David Stearns has the luxury of leaving tomorrow’s problems for tomorrow.”

We won’t be answering any questions about the Mets or any of the other big recent transactions, such as Cody Bellinger’s re-signing with the Yankees or the Rangers’ trade for MacKenzie Gore, but we will be talking about the other big baseball topic of the week: the Hall of Fame. We’ll also discuss the best left-on-left hitters of all time, the aesthetic potential of the Colorado Rockies, and what to expect from Foster Griffin with the Nationals. But first, I’d like to remind you that this mailbag is exclusive to FanGraphs Members. If you aren’t yet a Member and would like to keep reading, you can sign up for a Membership here. It’s the best way to both experience the site and support our staff, and it comes with a bunch of other great benefits. Also, if you’d like to ask a question for an upcoming mailbag, send me an email at mailbag@fangraphs.com. Read the rest of this entry »


2026 ZiPS Projections: St. Louis Cardinals

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.

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
Player Hit Comp 1 Hit Comp 2 Hit Comp 3
Masyn Winn Bill Russell Rafael Ramirez Jimmy Rollins
JJ Wetherholt Mike Andrews Alan Trammell Larry Stroman
Brendan Donovan Ken Oberkfell Billy Goodman Ron Hunt
Iván Herrera John Kruk Dan Driessen Bruce Bochte
Lars Nootbaar Ron Roenicke Wes Parker Gerry Davis
Jimmy Crooks Bob Davis Andrew Knapp Tom Pagnozzi
Nolan Gorman Nick Esasky Russ Davis Shane Andrews
Alec Burleson Chad Tracy Randall Simon Walt Bond
Leonardo Bernal Matt Sinatro Ron Brand Dave Criscione
Victor Scott II Ben Copeland Ced Landrum Brad Coon
Pedro Pagés Tommy Smith Martín Maldonado Nelson Santovenia
Thomas Saggese Robby Thompson George Williams Frank Coggins
José Fermín David Eckstein Dick Howser Dan Monzon
Bryan Torres Quilvio Veras Jack Perconte Willie Randolph
Joshua Baez Jose Gonzalez Michael A. Taylor Lane Thomas
César Prieto Danny Sandoval Jerry Terrell Jose Iglesias
Mike Antico Tommy Murphy Demond Smith Mike Asche
Nathan Church Fred Krase Bobby Moore Leo Garcia
Jon Jon Gazdar Wilfredo Tovar Wladimir Sutil David Fletcher
Matt Koperniak Mitch Maier Bill Virdon Franklin Gutierrez
Ramon Mendoza Ronnie Farkas Fred Stanley Peter Peltz
Yohel Pozo Ray Serrano Bengie Molina Toby Hall
Noah Mendlinger Erik Komatsu Chas McCormick Bobby Darula
Blaze Jordan Luis Lopez Don Pepper Donald Cardoza
Deniel Ortiz Rickey Cradle Paul Rodgers Ray McDavid
Carlos Linarez Lindsey Johnson Cecil Strawn Brendon Ounjian
Ryan Campos Jason Fennell Mitch Canham Paul Hoover
Sammy Hernandez Thomas Newton Brett Kay Dick Harris
Chase Davis Tim Fedroff Cory Keylor Justin Toerner
Dakota Harris Alexis Infante Jose Garcia John Mason
Graysen Tarlow Larry Patterson Jose Umbria Bob Turzilli
Jesus Baez Lenny Faedo Robert Connolly Junior Moore
Gavin Collins Zane Chavez Darryl Kennedy Woody Huyke
Jordan Walker Kevin Belcher Ian Desmond Lane Adams
Jose Cordoba Shawon Dunston Ariel Soriano Donald Brown
Zach Levenson Billy Best Dave Hoyt Joe Panella
Travis Honeyman Robert Perry Rick Colzie Dan Robinson
Chase Adkison Mike Taylor Justin Ringo Terry Christman
Jeremy Rivas Kelby Tomlinson Lee Olmstead Christian Lara
Miguel Villarroel Tony Pena Jr. Deiner Lopez Luis Ugueto
Tre Richardson Lonnie Goldberg Reggie Nelson John Toven
Andy Yerzy Buddy Pryor Grant Fithian Ben Margalski
Michael Curialle Bryan Anderson Sean Murphy Damon Burkhart
Trey Paige Travis Whitmore Juan Rodriguez Nick Ward
Anyelo Encarnacion Dick Tracewski Kevin Flora Scarborough Green
Christian Martin Miles Mastrobuoni Mel Jackson Reggie Nelson
Ian Petrutz James White John Turner Charles Byrd
Jacob Buchberger Lloyd Turner Mike Daniel Tom Spitz
Wade Stauss John Beuerlein Ryan Bennett Dallas Tarleton
Brody Moore Dominic Ramos Pete Orr Nate Tebbs
Miguel Ugueto Ramon Jean Luis Landaeta Angelberth Montilla
R.J. Yeager Eddie Lara Craig MacKay Darryl Robinson
Johnfrank Salazar Roland Alburtis Miguel Castellanos Eddie Tisdale
Won-Bin Cho Ronald Dibelius Jason Denham Jeff Bonner
Bryce Madron Danny Payne Joseph Haney Corey Viltz
Darlin Moquete Jerry Simmons Darontaye Hollins Rick Angell
Josh Kross Rey Martinez Jim McManus Joe De Berry
Brayden Jobert Tyler Burnett Chris Carstensen Jalen Washington

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
Player Pit Comp 1 Pit Comp 2 Pit Comp 3
Michael McGreevy Kendall Graveman Ariel Jurado Randy Dobnak
Matthew Liberatore Sean Manaea Sterling Hitchcock Bob Knepper
Dustin May Jeff Juden Diego Segui Jeff Hoffman
Andre Pallante Mike Pelfrey Wily Peralta Sal Romano
Richard Fitts Cody Anderson Luis Cessa Taylor Clarke
JoJo Romero Steve Kline John Franco Darold Knowles
Ixan Henderson Danny Christensen Bruce Zimmermann Eric Jokisch
Quinn Mathews Michael Kirkman Chris Hammond Rich Sauveur
Tekoah Roby Mitch Lukevics Connor Seabold J.D. Martin
Bruce Zimmermann Matt Tomshaw Adam Pettyjohn Scott Diamond
Kyle Leahy Buck Farmer Drew VerHagen Dave Swartzbaugh
Brycen Mautz Anthony Ward Wandy Rodriguez Mike Butler
Gordon Graceffo Seth Lugo Anthony Bass Robert Gsellman
Pete Hansen Cole Irvin Packy Naughton John Means
Sem Robberse Aaron Shafer Byron Ballard Mike Rowland
Tink Hence Mel Stottlemyre Dan Eskew Doug Mlicki
Aaron Wilkerson Doyle Alexander Carl Pavano Bartolo Colon
Hunter Dobbins Raul Alcantara Carlos Frias Luis Cessa
Matt Svanson Alex Colomé Edwin Moreno Tony Pena
Miles Mikolas Jeremy Guthrie Jeff Samardzija Jason Hammel
Zack Thompson Eude Brito Chet Nichols Wil Ledezma
Curtis Taylor Richard Dotson Chuck Dobson Joe Oeschger
Hancel Rincon Ryan Mottl Geraldo Padua Mike Wodnicki
Jared Shuster Dan Serafini James Hurst Ryan Dennick
Scott Blewett Roman Colon John Weiss Bo Schultz
Alex Cornwell Eric Hillman Matt Whitehouse Jason Mackintosh
Riley O’Brien Curt Leskanic Joe Kelly Joe Boever
Max Rajcic Matt Esparza Chase De Jong JT Brubaker
Austin Love R.J. Seidel Ty Kelley Shayne Bennett
Ian Bedell Jose Vargas Phil Regan Pat Leahy
John King Mike Paul Rusty Kilgo T.J. McFarland
Nick Raquet Dave Von Ohlen Blake McGinley Jon Switzer
Ryan Fernandez Doug Henry Scott Proctor Wayne Rosenthal
Matt Pushard Josh Martin Austin Brice Sendy Rleal
Luis Gastelum Marv Rockman Michael Dubee Diego Castillo
Ryne Stanek John Axford Fernando Rodney Doug Henry
Justin Bruihl Tim Kubinski Jorge Castillo Rudy Arias
Zach Plesac Dewon Brazelton Steve Sundra Sean O’Sullivan
Ryan Murphy Frank Frontino Ben Christensen John Parker
Andre Granillo Yoan López Pat Mahomes A.J. Achter
Chris Roycroft Andy Shibilo Victor Moreno Dwight Bernard
Tyler Matzek Andy Hassler Rich Sauveur Ray Searage
Ricardo Velez Andy Kimball Clay Condrey Jim Miner
Skylar Hales Roman Martinez Rolando Valdez Greg Belson
Gerson Moreno Dave Jolly Doug Bochtler Manny Delcarmen
Randel Clemente Garry Grafton Fred Lasher Clevelan Santeliz
Zack Weiss Domingo Jean Ken Ray Barry Manuel
Andrew Marrero Ryan Burr Trevor Hurley Steve Palazzolo
Hunter Hayes Bernard Belan Geoff Hartlieb Geoff Grenert
Michael Gomez Jake Robbins Dave Wainhouse Ryan Perry
Michael Watson Joel McKeon Mike Mohler Will Lamb
Nathanael Heredia Rendy Espina Curt Conley Daniel Gibson
Tyler Bradt Simon Mercedes Mark Ecker Danny Fitzpatrick
Leonardo Taveras James Thornton Brian Woods Vince Bongiovanni
Edwin Nunez Felix Cuello Mike Gunderson Torey Deshazier

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.


More for Gore: Rangers Snag Top-Line Starter in Bulk Deal

Brad Mills-Imagn Images

When the market is hot, it seems like it’ll never cool down. Forget the fact that we’re late into free agency and yet too early in the year for contract extensions. The last few marquee free agents to sign are starting to do so – hi, Cody – and that seems to have opened the floodgates for a series of trades. You’ve heard about all the noise the Mets have gotten up to, no doubt. They aren’t the only ones. The Rangers have jumped in on the action in a big way. On Thursday, they acquired MacKenzie Gore from the Nationals in exchange for prospects Gavin Fien, Devin Fitz-Gerald, Alejandro Rosario, Abimelec Ortiz, and Yeremy Cabrera, as Jon Heyman of the New York Post first reported.

In some ways, this trade has been a long time coming. Gore has been on the trade block for most of his major league career. First, he got sent from San Diego to Washington in the first Juan Soto trade. Almost immediately upon his arrival in the nation’s capital, however, he turned into a trade chip. The Nats were pretty obviously far away from competing, and Gore is the kind of arm that lots of teams dream about placing at the top of their rotation.

By 2024, Gore’s third year in the big leagues, the trade rumors were at full volume. Gore exploded out of the gate, with 98 strikeouts over 80 innings in his first 15 starts. He was a deadline target for many teams – but he slumped hard down the stretch, with a 4.48 ERA and 4.16 FIP the rest of the way, and no trade ever came to fruition. The Nats looked around that winter, didn’t move him, and then again held on after Gore came out of the gates hot, making his first All-Star appearance on the back of a 3.02 ERA (2.96 FIP) in the first half. He stayed put at the deadline – and once again slumped hard down the stretch.

That brings us to the present. Trading Gore always made sense, and the new Nationals front office finally did it. He still has two years of team control remaining, and the price for controllable starters has never been higher. His service time status lines up very well with the situation in Arlington. The Rangers have a roster that is built to contend now. Their lineup has five different hitters in their 30s (baseball-age wise, Jake Burger doesn’t celebrate his 30th until April), and only two who are 25 or younger. The rotation is led by Jacob deGrom and Nathan Eovaldi, two heroes of the 2010s who are in the twilight of their respective careers. Read the rest of this entry »


Take Peralta: Brewers and Mets Trade Top Prospects for No. 1 Starter

Benny Sieu-Imagn Images

This one may be a little too one the nose. On Wednesday evening, the Brewers and Mets agreed to a trade that sent Freddy Peralta and Tobias Myers to the Mets in exchange for two top 100 prospects, Jett Williams and Brandon Sproat. That’s right, the Brewers got cheaper and younger by selling their best pitcher for prospects, the Mets flexed their financial muscle, and president of baseball operations David Stearns acquired Freddy Peralta. Welcome to every single day.

Peralta may not be your idea of a surefire ace, but he was the unquestioned leader of the Brewers rotation, their Game 1 starter in the playoffs for each of the past two years. As salary dumps go, this one is particularly depressing. Peralta is due just $8 million in his walk year, a hair more than the Angels will be paying Anthony Rendon to clear out of Anaheim as soon as possible, if you please. For Myers and the wildly underpaid Peralta, the Mets surrendered the prospects who ranked 31st and 63rd overall in our Top 100 update back in July. The Brewers did what they do, avoiding expenditures of any kind, finding young players, and trusting that they can keep creating aces out of whole cloth. Meanwhile, the Mets have increased their CBT tax hit from preposterously large to ludicrously large in order to reinforce a rotation that still ranks just 15th on our Depth Charts.

Brendan Gawlowski wrote about Sproat and Williams in a separate article, so our focus here is on the major league side of things, and we’ll start with the headliner. In February 2020, right before the world started exploding, Peralta signed a five-year, $15.5 million extension with two club options that could push the total to $30 million. He was, at that point, a 23-year-old with a career 4.79 ERA and 3.96 FIP and more relief appearances than starts. “We are happy to announce that we have reached a multi-year extension with Freddy that can keep him in a Brewers uniform for the better part of this decade,” said Stearns, then Milwaukee’s president of baseball operations. That prediction came true by the slimmest of margins.

Peralta pitched in relief in 2020, running a 3.99 ERA and an encouraging 2.41 FIP. He broke out in 2021. Over the past five seasons, Peralta has put up 14.8 WAR and gone 54-34 with a 3.30 ERA and 3.65 FIP. Despite dealing with shoulder injuries earlier in his career, he’s pitched at least 165 innings in each of the last three seasons. He anchored the rotation in 2024 when Corbin Burnes got traded and Brandon Woodruff got hurt. By my count, the Brewers extracted roughly two-thirds of a win for each million they paid Peralta. At that rate for their entire roster, the Dodgers would expect to win 208 games this season.

Peralta’s $8 million salary was the fourth-highest on the Brewers, but it will now slot in as the 14th-highest on the Mets. The galling part isn’t just that the Brewers couldn’t swallow the $8 million this year. Trading him means there wasn’t even a thought that they might be able to extend him, or at least that they might be able use a really good pitcher in 2026 and then just deal with losing him in 2027. After all, this is a team that just finished with the best record in baseball and made it to the NLCS. No matter. Milwaukee is taking the cash and the prospects and betting that Woodruff will finally get healthy (and that his alarming drop in velocity isn’t a portent of bad things to come).

After this year (and just in time for a possible work stoppage), Peralta will be entering his age-31 season and finally have the chance to make what he is worth on the open market, unless the Mets lock him up to another extension. This certainly seems like the kind of trade that ends up that way, especially when you consider that Stearns must like Peralta an awful lot, given that he has now traded for him twice and extended him once. Peralta won’t turn 30 until early June, and he just put up the highest fastball velocity of his career. Sproat was our top-ranked prospect on Eric Longenhagen’s updated Mets list from last June, and Williams came in at sixth. In his piece on the Brewers’ return, Brendan wrote that both players “are near-ready, 50-FV contributors and slot into Milwaukee’s farm system as the club’s third- and fourth-best prospects, respectively. Sproat projects as a mid-rotation starter, while Williams is a middle-of-the-diamond player with an as-yet undetermined defensive home.” That’s a serious haul. Keeping Peralta for a while would certainly take some of the sting out of losing them.

Peralta throws a four-pitch mix: four-seamer, changeup, curveball, and slider. He leads with the four-seamer, throwing it just over half the time to both righties and lefties. As Lance Brozdowski noted in his write-up of the trade, it’s a weird pitch (complimentary). It comes from a low release point not because of a low arm angle, but because he’s only six feet tall and he has a huge stride that brings him a long way down the mound. That huge stride also means huge extension. So even though Peralta’s 94.8 mph velocity put him in just the 57th percentile (among pitchers who threw at least 100 four-seamers in 2025), his 95.2 mph perceived velocity put him in the 74th percentile. A flat fastball with above-average velocity is a great combination, but it’s worth noting that Peralta really needs every bit of his stuff.

He hit the strike zone just 45% of the time in 2025, the lowest rate among all qualified pitchers. He ran the third-lowest mark in 2024 and the 13th lowest in 2023. Over the past five years, among pitchers who have thrown at least 2,000 pitches, his 46% zone rate puts him in the ninth percentile. That’s great if you can get away with it, as pitches over the plate are the ones that get hit. Peralta gives up too many walks, but he runs average chase rates and superlative whiff rates, allowing him to offset all those walks with tons of strikeouts and lots of weak contact. It’s a cocktail that some advanced ERA estimators, like DRA, absolutely abhor, but he’s got a long track record of success with it.

If and when Peralta’s stuff stops fooling batters, though, this trick could fall apart in a hurry. If he can’t induce chases, he’ll have to come into the zone. Once he’s in the zone, he’s probably going to allow more hard contact, and if he’s not inducing chases, he’s probably not going to induce as many whiffs either. That’s not to say that he couldn’t learn a new approach, and the good news is that this potentially swift decline doesn’t seem imminent. As you know, his four-seamer averaged 94.8 mph in 2025 (and played even faster), but his fastball velocity has actually been trending up over the past few seasons. It performed well even in 2022, when it averaged just 92.9 mph. That’s a reassuringly large margin for error. On the other hand, the inefficiency of his approach means that he throws tons of pitches; 8,991 over the past three years, to be exact. That’s the fifth most in the game, and it’s fair to wonder whether he might one day, you know, get tired.

Peralta halved his slider usage in 2025, throwing it just under 10% of the time. He didn’t really throw it to lefties at all, and against righties, he threw all three of his non-fastballs roughly 16% of the time.

Brozdowski posited that Peralta lost feel for his slider, noting its inconsistent amount of horizontal break. It has shifted so much that in some years, some pitch classifications split it up into a slider and a sweeper. Regardless, Stuff+ and StuffPro both regard the pitch as Peralta’s best, and Brozdowski hypothesized that the Mets will try to help him figure it out and return it to its place of prominence. Even if he doesn’t find another gear, he still slides in as the top pitcher in a Mets rotation that completely fell apart in the second half in 2025, and projects as average in 2026. That’s not to say it’s without upside.

The Mets have several starters whose names any baseball fan will know. It starts with Nolan McLean and Jonah Tong, who made their debuts in 2025. McLean looks ready to contribute right away in 2026. Kodai Senga has a career 3.00 ERA and 3.82 FIP in MLB. After a shoulder capsule strain and a calf strain cost him nearly the entire 2024 season, his velocity dropped and his strikeout rate cratered last year, when he also dealt with a hamstring strain. As a result, the projections peg him for an ERA that’s dangerously close to 4.00. But if he finds his old form, he’s a star.

In his first season as a starter, Clay Holmes posted a solid 3.53 ERA, but his 4.11 FIP told a different tale, and the peripherals were scary. The velocity of his sinker, his most-used pitch, fell by 2.9 mph as he transitioned from high-leverage reliever to starter. His strikeout rate, which had averaged nearly 25% to that point in his career, dropped to 18%. Holmes is entering his age-33 season, and it’s hard to know how much improvement to expect from him with one year of starting experience under his belt.

Despite underperforming his peripherals in a major way in 2024, David Peterson seems solid as ever, and he’ll make $100,000 more than Peralta in his final year of arbitration. An oblique strain blew up Sean Manaea’s 2025 season, limiting him to 12 ugly starts, but he’s just one year removed from a 2024 season in which he earned a Cy Young vote. That’s six names and nearly as many question marks, but this rotation certainly isn’t devoid of talent. It’s not hard to envision this staff being good, and it’s not hard to envision it being quite bad. If nothing else, Peralta adds some much-needed stability.

Tobias Myers is 27, and across his two big league seasons, he has made 31 starts and 18 relief appearances, putting up a 3.55 ERA and 3.92 FIP. An early-season oblique strain cost Myers some time in 2025, and he got sent down after a rough start. However, he came back up in a relief role in July, and over the last three months of the season, he posted a 2.64 ERA and 3.49 FIP. With a 93.5 mph fastball, his stuff grades out as roughly average, and he doesn’t strike out many batters. He also had the odd distinction of tying for the splitter that had the most induced vertical rise in baseball at 10.5 inches.

Myers throws six pitches: a four-seamer, cutter, slider, splitter, changeup, and curveball. When you look at his extremely steep 61-degree arm angle and the huge rise on his four-seamer, you start to wonder why he doesn’t embrace this North-South profile and throw his curveball much more often. He was blocked in Milwaukee, and if all goes to plan, he’s likely to be blocked in New York too, and maybe he’s shown all that he has to offer. Still, though it might not be the smartest thing in the world to assume that some other team is going to do a better job of developing a pitcher than the Brewers, it’s fair to say that Myers doesn’t seem like a finished product.

The Mets spent the beginning of the offseason upgrading their bullpen and replacing Pete Alonso. Over the past several days, they’ve reminded everyone just how much of a juggernaut they really are. What’s $8 million (and the resultant $8.8 million luxury tax hit) to a team that just snatched Bo Bichette away from the Phillies for (in theory) three years and $126 million? It’s entirely possible that the Brewers will turn Sproat into their latest ace, and that in a year or two he’ll start a playoff game against the Mets, just like Peralta did in 2024. But the Mets are trying to win this season, and now that he’s not in Milwaukee, David Stearns has the luxury of leaving tomorrow’s problems for tomorrow.


2026 ZiPS Projections: New York Mets

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 penultimate team is the New York Mets.

Batters

The Mets are a bit like an intellectual character in a 19th Century Russian novel. They’re well-read enough to understand why life just isn’t working, and while they make changes every winter, it always seems to come with the precognition that something will go horribly wrong, and there’s little recourse but to observe their own downfall. Yankees fandom is more transactional, and depending on how the season turns out, you either cheer the empire or curse Brian Cashman. Rooting for the Mets is existential; you go into every season with hope, but an unquenchable feeling that something will go horribly or maybe even comically wrong. Meaning as a Mets fan does not come from celebrating the team’s achievements, but the act of enduring and returning, year after year, with the knowledge that preparation offers no escape. Mets fans essentially become annotators of doomed worlds.

If every moment of Mets triumph is matched with an equal measure of Mets tragedy, the lineup may be in for some dark times when the worm turns. I actually think I’d rather have Pete Alonso for his deal than Jorge Polanco for his if I were the Mets, but the projections suggest that I might be wrong. Either way, this lineup looks extremely solid as a whole. Starting with two players, Juan Soto and Francisco Lindor make up for a lot of sins. But there aren’t really a lot of sins in the lineup. ZiPS thinks Bo Bichette is more valuable at third base than he was at shortstop, and he certainly has All-Star potential. ZiPS also forecasts decent bounce-back seasons for offseason trade acquisitions Luis Robert Jr. and Marcus Semien. Francisco Alvarez is coming off a near .800 OPS season, and under the new rules encouraging stolen bases, Luis Torrens’ value has increased because of his ability at preventing them, making him more than capable at holding up the lighter end of a catching tandem.

The DH situation isn’t amazing, with Mark Vientos getting the bulk of the plate appearances there, but only a few teams really get a ton of WAR from that spot anyway. Carson Benge certainly has upside, and while it’s not a particularly exciting projection, it’s not a bad forecast for a guy who hasn’t hit Triple-A pitchers yet. Brett Baty showed in 2025 that he can hit well enough to provide solid depth for the Mets. Jett Williams was also good depth in the infield, but he didn’t have a clear path to actual playing time in the majors in 2026 outside of a reserve role, so the Mets sent him to Milwaukee on Wednesday night as part of a trade to the get right-handed pitchers Freddy Peralta and Tobias Myers.

Pitchers

ZiPS expects the Mets’ pitching to be pretty good, giving the staff a bit of a bump from last year’s preseason projections. And that was before the trade for Peralta, who was the Brewers’ the most valuable pitcher. While Peralta’s not really a sub-three ERA guy — ZiPS thinks he’s legitimate a low-BABIP pitcher, but .243 is damned hard to maintain — he’s still an excellent pitcher who is a huge addition to New York’s rotation. Clay Holmes isn’t an ace, and he bled a couple strikeouts when he transitioned from the bullpen to the rotation, but his 2025 also demonstrates that his conversion to starting wasn’t just a mad scientist’s latest crazy plan. Nolan McLean looks like a much stronger bet going into 2026 than he did at this time last year, and while Jonah Tong didn’t have instant success in the majors, he also greatly boosted his stock, though we may not see a lot of it in the majors in 2026 unless the team is hit by injuries. Last year, David Peterson didn’t match his 2.90 ERA from 2024, but that never should have been the expectation anyway, and he’s a fairly dependable no. 2 starter type. Kodai Senga’s return went generally well, aside from nobody checking how the ghost fork graphic at the stadium would interact with a strikeout tally.

Sean Manaea ought to get back to effectively eating innings in 2026, and though he’s certainly not the headliner, the acquired Myers is a reasonable option to have in reserve. ZiPS is less excited once we get past Myers, to guys like Christian Scott and Cooper Criswell. But on the plus side, ZiPS thinks there’s a real chance that Jonathan Pintaro’s command will improve just enough for him to have a breakout in 2026.

ZiPS views the Mets as having an above-average bullpen, but one that’s below baseball’s elite. Maybe it’s just cognitive dissonance on my part, but I still have some worries about Devin Williams despite all the objective data suggesting he’s a great bounce-back candidate. And he is, but 2025 will still be in the back of my mind plus, you know, the Mets. Luke Weaver is a good bullpen no. 2 and fallback closer option, and A.J. Minter was at his Mintest last season. Brooks Raley gets a strong projection as well, and ZiPS is unaware of my extreme bias in favor of side-armers; Raley is more low three-quarters, but he’s at least side-arm adjacent. Criswell gets a significantly better projection as a reliever than as a starter. My silicon counterpart is rather meh on the rest of the bullpen, except for maybe Huascar Brazobán, but it still looks like a highly cromulent unit.

Despite last season’s collapse, ZiPS projects the Mets as a highly competitive team in the NL East, and one the league shouldn’t dismiss. Now, come September, six Mets could need Tommy John surgery, or maybe Juan Soto and Francisco Lindor are destined to get trapped inside a leatherbound book given to Carlos Mendoza by a library maintenance worker who looks suspiciously like M.R. James. But predictive algorithms and fuzzy clustering methods allow us to peek only so far behind the veil of fate.

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
Juan Soto L 27 RF 670 538 109 146 23 1 37 103 124 116 23 3
Francisco Lindor B 32 SS 672 596 102 157 30 1 27 90 58 121 23 4
Bo Bichette R 28 3B 598 555 73 163 31 1 17 80 37 97 5 4
Marcus Semien R 35 2B 581 521 80 127 21 2 17 69 52 93 9 2
Brett Baty L 26 3B 471 426 59 107 16 1 19 61 39 115 5 1
Francisco Alvarez R 24 C 441 392 53 92 15 1 21 64 41 118 1 0
Jorge Polanco B 32 1B 473 419 56 106 18 0 21 69 45 93 4 2
Luis Robert Jr. R 28 CF 470 428 59 102 19 0 18 69 35 127 24 6
Mark Vientos R 26 3B 527 480 59 121 22 2 22 77 37 137 1 0
Jacob Reimer R 22 3B 518 461 74 108 27 3 15 70 41 123 6 2
Ronny Mauricio B 25 3B 460 429 54 104 18 1 15 53 27 117 13 4
Jose Siri R 30 CF 358 327 50 66 14 1 14 47 23 131 12 3
Carson Benge L 23 CF 522 464 72 114 22 5 13 65 48 110 11 3
Luis Torrens R 30 C 271 249 24 62 12 1 6 30 17 60 1 1
Ji Hwan Bae L 26 CF 399 358 63 91 17 4 4 42 35 93 20 6
Chris Suero R 22 C 487 422 62 86 14 1 13 60 47 150 14 6
Jared Young L 30 LF 407 359 51 87 16 2 15 57 38 96 5 2
Ryan Clifford L 22 1B 587 511 63 109 22 1 25 79 66 174 4 2
Jackson Cluff L 29 SS 365 319 44 65 13 2 8 40 35 118 11 2
David Villar R 29 1B 401 354 48 78 15 0 13 49 39 114 2 1
Jesse Winker L 32 DH 364 307 39 72 13 1 9 39 49 77 4 1
Tyrone Taylor R 32 CF 339 312 41 72 18 2 7 33 16 76 9 2
Wyatt Young L 26 2B 439 386 48 89 11 1 3 34 43 99 7 3
Yonny Hernández B 28 2B 400 353 47 85 10 2 2 32 33 61 9 6
A.J. Ewing L 21 CF 592 537 81 135 23 8 4 57 47 127 36 8
Chris Williams R 29 C 321 283 35 55 11 0 11 37 32 116 1 0
Kevin Parada R 24 C 440 399 41 87 18 1 12 51 30 140 2 1
Jose Rojas L 33 DH 434 389 48 85 20 2 18 60 39 106 5 1
Gilberto Celestino R 27 RF 385 347 42 82 12 1 4 35 35 90 6 2
Starling Marte R 37 DH 321 292 38 76 12 1 7 34 19 69 10 2
Christian Arroyo R 31 1B 236 219 26 54 11 0 5 24 12 53 2 1
Luis De Los Santos R 28 3B 365 337 38 73 12 1 7 35 21 103 2 1
Rafael Ortega L 35 RF 326 285 36 60 12 1 6 30 35 75 10 5
Nick Morabito R 23 CF 499 454 59 109 18 2 4 47 36 123 27 9
Tsung-Che Cheng L 24 SS 482 427 52 91 16 3 6 45 40 126 13 7
Cristian Pache R 27 RF 286 257 27 54 9 1 4 26 24 91 4 2
Niko Goodrum B 34 SS 247 211 27 46 8 1 4 23 33 74 5 3
Jose Ramos R 25 RF 467 425 51 91 14 2 15 50 34 175 3 4
D’Andre Smith R 25 LF 369 344 39 84 15 2 6 41 17 85 12 2
Hayden Senger R 29 C 268 244 26 50 8 1 4 24 14 82 1 1
Travis Swaggerty L 28 LF 215 193 23 38 7 2 2 18 20 69 4 2
JT Schwartz L 26 1B 385 345 36 77 16 1 5 39 30 77 1 2
Travis Jankowski L 35 CF 193 170 24 37 5 0 1 14 19 39 9 1
Estarling Mercado L 23 1B 207 186 21 36 6 1 6 24 16 65 2 1
Nick Lorusso R 25 3B 436 399 39 85 23 0 6 41 29 121 5 2
Marco Vargas L 21 2B 448 404 52 83 9 2 2 32 39 103 18 5
Eli Serrano III L 23 CF 380 341 42 68 17 2 7 38 31 89 4 2
Onix Vega R 27 C 203 183 18 37 5 1 1 16 16 45 1 2
Troy Schreffler Jr. R 25 LF 218 199 27 39 5 2 4 21 13 78 6 2
Omar De Los Santos R 26 RF 324 303 40 60 8 3 9 35 14 135 21 7
Trace Willhoite R 25 1B 428 381 55 71 13 1 14 52 31 136 7 1
Yohairo Cuevas L 22 RF 424 376 40 74 19 1 2 33 39 121 10 3
William Lugo R 24 SS 438 398 39 78 14 1 8 41 32 128 3 1
Yonatan Henriquez B 21 CF 423 385 49 77 15 2 6 37 34 100 15 5
Ronald Hernandez B 22 C 422 385 41 76 12 2 5 38 30 114 10 2
Diego Mosquera R 22 LF 253 229 15 46 5 1 0 17 16 56 3 3
Boston Baro L 21 SS 451 420 45 88 16 4 4 37 25 104 13 1
Alex Ramirez R 23 RF 441 406 46 81 14 1 4 33 32 117 19 6
Corey Collins L 24 DH 271 230 19 33 4 1 5 24 29 92 2 1
Vincent Perozo L 23 C 313 283 29 53 11 1 3 29 19 98 2 2
Colin Houck R 21 3B 502 460 55 84 17 4 8 44 33 204 6 3
Jefrey De Los Santos L 23 RF 308 281 26 52 10 3 4 26 20 104 4 2
Nick Roselli L 23 2B 344 312 33 56 13 1 7 34 21 117 2 1

Batters – Advanced
Player PA BA OBP SLG OPS+ ISO BABIP Def WAR wOBA 3YOPS+ RC
Juan Soto 670 .271 .408 .524 163 .253 .283 -7 5.6 .398 162 121
Francisco Lindor 672 .263 .338 .453 123 .190 .290 6 5.4 .342 116 98
Bo Bichette 598 .294 .339 .445 121 .151 .331 5 3.8 .339 118 87
Marcus Semien 581 .244 .315 .390 100 .146 .268 8 2.8 .309 93 67
Brett Baty 471 .251 .318 .427 110 .176 .301 2 2.3 .324 111 59
Francisco Alvarez 441 .235 .315 .439 112 .204 .281 -2 2.3 .326 114 54
Jorge Polanco 473 .253 .327 .446 118 .193 .279 6 2.1 .334 112 63
Luis Robert Jr. 470 .238 .302 .409 100 .171 .297 4 2.1 .307 101 60
Mark Vientos 527 .252 .311 .444 112 .192 .308 -3 2.0 .326 114 66
Jacob Reimer 518 .234 .313 .403 102 .169 .288 1 1.9 .312 105 60
Ronny Mauricio 460 .242 .291 .394 93 .152 .300 8 1.8 .296 95 53
Jose Siri 358 .202 .261 .379 79 .177 .286 9 1.3 .277 76 36
Carson Benge 522 .246 .326 .399 105 .153 .296 -9 1.2 .317 109 64
Luis Torrens 271 .249 .300 .378 92 .129 .306 4 1.2 .296 91 29
Ji Hwan Bae 399 .254 .324 .358 94 .104 .333 -1 1.1 .301 95 48
Chris Suero 487 .204 .304 .334 82 .130 .282 -3 1.0 .287 89 48
Jared Young 407 .242 .325 .423 111 .181 .290 -3 0.9 .327 106 51
Ryan Clifford 587 .213 .308 .407 102 .194 .269 0 0.9 .312 109 66
Jackson Cluff 365 .204 .289 .332 77 .129 .295 2 0.8 .277 75 34
David Villar 401 .220 .304 .373 92 .153 .286 7 0.8 .299 90 41
Jesse Winker 364 .235 .347 .371 105 .136 .285 0 0.8 .321 103 41
Tyrone Taylor 339 .231 .282 .369 84 .138 .284 3 0.8 .283 82 35
Wyatt Young 439 .231 .310 .288 72 .057 .303 7 0.8 .273 72 37
Yonny Hernández 400 .241 .316 .297 76 .056 .286 5 0.7 .278 76 37
A.J. Ewing 592 .251 .314 .346 88 .095 .323 -7 0.7 .291 89 69
Chris Williams 321 .194 .280 .350 78 .156 .282 -1 0.5 .279 75 28
Kevin Parada 440 .218 .280 .358 81 .140 .304 -4 0.5 .280 85 41
Jose Rojas 434 .219 .293 .419 100 .201 .253 0 0.5 .307 94 49
Gilberto Celestino 385 .236 .312 .311 79 .075 .308 6 0.4 .282 79 36
Starling Marte 321 .260 .319 .380 98 .120 .319 0 0.4 .308 93 38
Christian Arroyo 236 .247 .292 .365 86 .119 .304 5 0.4 .288 82 24
Luis De Los Santos 365 .217 .269 .320 67 .103 .291 6 0.3 .261 67 30
Rafael Ortega 326 .211 .295 .323 76 .112 .265 7 0.3 .277 71 31
Nick Morabito 499 .240 .305 .315 77 .075 .321 -3 0.2 .278 81 53
Tsung-Che Cheng 482 .213 .283 .307 68 .094 .288 1 0.2 .264 70 43
Cristian Pache 286 .210 .282 .300 66 .089 .309 8 0.1 .262 67 23
Niko Goodrum 247 .218 .328 .322 87 .104 .316 -6 0.1 .296 81 25
Jose Ramos 467 .214 .276 .362 80 .148 .323 6 0.1 .280 85 45
D’Andre Smith 369 .244 .293 .352 83 .108 .308 1 0.0 .284 86 39
Hayden Senger 268 .205 .260 .295 58 .090 .291 3 0.0 .248 58 19
Travis Swaggerty 215 .197 .274 .285 60 .088 .295 3 -0.3 .253 61 17
JT Schwartz 385 .223 .297 .319 76 .096 .274 3 -0.4 .276 80 34
Travis Jankowski 193 .218 .302 .265 64 .047 .277 -3 -0.4 .262 62 16
Estarling Mercado 207 .194 .271 .333 71 .139 .261 0 -0.5 .268 75 18
Nick Lorusso 436 .213 .268 .316 66 .103 .290 0 -0.5 .258 69 36
Marco Vargas 448 .205 .277 .252 53 .047 .271 3 -0.5 .243 57 34
Eli Serrano III 380 .199 .274 .323 69 .124 .249 -4 -0.6 .265 76 32
Onix Vega 203 .202 .271 .257 52 .055 .263 -3 -0.6 .241 59 14
Troy Schreffler Jr. 218 .196 .253 .302 58 .106 .299 2 -0.6 .246 61 17
Omar De Los Santos 324 .198 .242 .333 62 .135 .321 0 -0.9 .251 66 32
Trace Willhoite 428 .186 .266 .336 70 .150 .247 1 -0.9 .266 75 36
Yohairo Cuevas 424 .197 .283 .269 59 .072 .285 2 -1.1 .252 61 32
William Lugo 438 .196 .263 .296 59 .100 .267 -7 -1.1 .250 63 32
Yonatan Henriquez 423 .200 .268 .296 61 .096 .254 -6 -1.2 .253 67 36
Ronald Hernandez 422 .197 .263 .278 55 .081 .267 -8 -1.2 .244 61 31
Diego Mosquera 253 .201 .268 .231 44 .030 .266 1 -1.2 .231 45 16
Boston Baro 451 .210 .255 .295 56 .086 .269 -8 -1.4 .242 61 35
Alex Ramirez 441 .200 .261 .268 52 .068 .270 4 -1.4 .239 56 35
Corey Collins 271 .143 .262 .235 43 .092 .211 0 -1.4 .235 46 15
Vincent Perozo 313 .187 .259 .265 50 .078 .275 -10 -1.5 .238 56 21
Colin Houck 502 .183 .243 .289 51 .106 .306 -2 -1.7 .237 60 35
Jefrey De Los Santos 308 .185 .245 .285 51 .100 .277 -3 -1.8 .235 57 21
Nick Roselli 344 .179 .245 .295 53 .116 .261 -13 -2.1 .241 59 23

Batters – Top Near-Age Offensive Comps
Player Hit Comp 1 Hit Comp 2 Hit Comp 3
Juan Soto Rusty Staub Carl Yastrzemski Barry Bonds
Francisco Lindor Marcus Semien Charlie Gehringer Carlos Guillén
Bo Bichette Carney Lansford Cecil Travis Martín Prado
Marcus Semien Eddie Mayo Jimmy Rollins Ian Kinsler
Brett Baty Ryan Rua Doug DeCinces Ken Macha
Francisco Alvarez Earl Williams Todd Zeile Derek Parks
Jorge Polanco Greg Brock Richie Hebner Joe Collins
Luis Robert Jr. Carl Everett Bill Barrett Jake Marisnick
Mark Vientos Kevin Mitchell Jeff Kent Tony Perez
Jacob Reimer Carlos Asuaje Scott Romano Bill Melton
Ronny Mauricio Gene Freese Tom Brookens J.P. Roberge
Jose Siri Billy Cowan Corey Brown Hiram Bocachica
Carson Benge George Vukovich Andrew McCutchen Bernie Williams
Luis Torrens Robert Machado Tony Tornay Shawn McGill
Ji Hwan Bae Dave Collins Mallex Smith Joe Christopher
Chris Suero Kurt Kingsolver Jayson Werth Ben Petrick
Jared Young Armando Rios Mike Yastrzemski Jeffrey Hammonds
Ryan Clifford Jon Singleton Randy Schwartz Cody Bellinger
Jackson Cluff Anthony Granato Joe Koppe Jimmy Sexton
David Villar Brad Nelson Matt Skole Mike Reddish
Jesse Winker Norm Siebern Lee Mazzilli Steve Braun
Tyrone Taylor Fehlandt Lentini Jonny Kaplan Joe Simpson
Wyatt Young Derek Mann Elio Chacon Nick Shaw
Yonny Hernández John Finn Justin Henry Christian Stringer
A.J. Ewing Tyson Gillies Lonnie Smith Mallex Smith
Chris Williams Jerry Goff Arlo Brunsberg Jayhawk Owens
Kevin Parada Alfredo Torres Bob Schmidt Jack Fimple
Jose Rojas Franklin Stubbs Leon Durham Chris Young
Gilberto Celestino Trey Beamon Neil Martin L.J. Hoes
Starling Marte Skeeter Barnes George Metkovich Bert Haas
Christian Arroyo Ray Hamrick Jay Ragni Mark DeRosa
Luis De Los Santos Dick Canan Jim Gruber Julio Cordido
Rafael Ortega Cliff Heathcote Sam Fuld Willie Harris
Nick Morabito Don White Alejandro De Aza Leo Sutherland
Tsung-Che Cheng Hak-Ju Lee Matt Smith Juan Gonzalez
Cristian Pache Mike Sullivan Victor LaRose Mark Doran
Niko Goodrum Oscar Grimes Anthony Seratelli Drew Maggi
Jose Ramos Marvin Stendel Joe Gaetti Bob Prentice
D’Andre Smith D’Arby Myers Hal Jeffcoat Willie Romero
Hayden Senger Otis Thornton Tony DeFrancesco Scott Knazek
Travis Swaggerty Don Frailey Zach Collier Mark Thomas
JT Schwartz Kevin Burford Andy Barkett Austin Davidson
Travis Jankowski Jarrod Dyson Jim Busby Tack Wilson
Estarling Mercado Daniel Berg Jacob Julius Ed Hartman
Nick Lorusso Robert Mills Sean Walsh Bob Gergen
Marco Vargas Elvis Pena Larry Eckenrode Forrest Wall
Eli Serrano III Roger McSwain Bob Wolenski Jabari Henry
Onix Vega Kevin Davidson Jeremy Dowdy Brent Mayne
Troy Schreffler Jr. Kent Gerst Brian Gump Cristian Paulino
Omar De Los Santos Dennis Hood Tim Battle Dorian Speed
Trace Willhoite Garrick Haltiwanger Curtis Suchan Jim O’Rourke
Yohairo Cuevas Adam Bonner Michael Strickland James Broughton
William Lugo Ryan Stegall Brett Elam Jake Wald
Yonatan Henriquez George Wright Roberto Kelly Jerry Bartee
Ronald Hernandez Harry Billie John Antonelli Jim Lawrence
Diego Mosquera Jerald Cain Mark Miller Earl Agnoly
Boston Baro Ivan Castillo Nick Allen Gavin Lux
Alex Ramirez Jay Johnson Brandon Bridgers Ossie Garcia
Corey Collins Bill Brown Samuel Antcliffe De Jon Watson
Vincent Perozo Parker Morin Dallas Jones Ray Bond
Colin Houck Ron Dunn Alex Liddi Tony Taylor
Jefrey De Los Santos Randy Black Peter Fatse Tim Curley
Nick Roselli Chris Brown Scott Clemo Ryan Schimpf

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
Juan Soto .296 .436 .594 187 7.3 .248 .382 .473 145 4.1
Francisco Lindor .286 .361 .507 143 7.0 .240 .314 .409 102 3.8
Bo Bichette .319 .366 .499 142 5.2 .263 .310 .405 101 2.3
Marcus Semien .268 .338 .432 117 4.0 .219 .286 .343 79 1.3
Brett Baty .276 .348 .482 131 3.6 .222 .294 .371 89 1.1
Francisco Alvarez .263 .343 .502 137 3.6 .208 .285 .382 91 1.3
Jorge Polanco .280 .354 .494 138 3.2 .225 .300 .399 99 1.0
Luis Robert Jr. .264 .326 .464 122 3.4 .212 .277 .364 82 1.0
Mark Vientos .277 .338 .503 134 3.4 .225 .281 .387 90 0.6
Jacob Reimer .263 .337 .458 124 3.2 .212 .288 .355 84 0.8
Ronny Mauricio .267 .319 .446 114 3.1 .216 .265 .350 75 0.8
Jose Siri .229 .293 .437 104 2.4 .176 .234 .319 59 0.3
Carson Benge .273 .351 .456 127 2.6 .219 .300 .344 85 0.0
Luis Torrens .282 .336 .434 115 2.0 .221 .276 .333 74 0.6
Ji Hwan Bae .281 .348 .404 112 2.0 .225 .293 .317 76 0.2
Chris Suero .236 .328 .392 103 2.2 .176 .275 .284 62 -0.2
Jared Young .267 .349 .473 131 1.8 .216 .299 .370 92 0.0
Ryan Clifford .241 .339 .464 123 2.3 .186 .281 .355 79 -0.7
Jackson Cluff .232 .320 .389 100 1.8 .176 .261 .291 58 0.0
David Villar .245 .331 .425 112 1.9 .192 .274 .324 71 -0.2
Jesse Winker .265 .376 .420 126 1.7 .206 .316 .315 81 -0.2
Tyrone Taylor .259 .313 .426 108 1.8 .202 .253 .322 65 0.0
Wyatt Young .261 .339 .316 87 1.7 .205 .284 .249 55 -0.1
Yonny Hernández .269 .341 .332 93 1.5 .216 .289 .265 60 -0.1
A.J. Ewing .280 .342 .389 108 2.1 .221 .289 .303 70 -0.7
Chris Williams .225 .308 .412 100 1.4 .170 .253 .299 58 -0.3
Kevin Parada .244 .304 .406 98 1.4 .190 .251 .313 59 -0.7
Jose Rojas .242 .315 .476 120 1.5 .196 .269 .375 83 -0.5
Gilberto Celestino .262 .341 .354 97 1.2 .208 .282 .272 60 -0.5
Starling Marte .289 .348 .424 118 1.3 .229 .291 .339 80 -0.3
Christian Arroyo .277 .326 .416 107 1.0 .218 .266 .320 65 -0.2
Luis De Los Santos .243 .299 .368 89 1.2 .191 .242 .280 49 -0.5
Rafael Ortega .240 .325 .380 97 1.2 .181 .266 .275 55 -0.5
Nick Morabito .264 .328 .352 92 1.1 .214 .282 .283 63 -0.7
Tsung-Che Cheng .239 .309 .346 87 1.2 .187 .261 .270 54 -0.8
Cristian Pache .242 .307 .341 84 0.8 .181 .250 .260 47 -0.5
Niko Goodrum .250 .355 .372 109 0.7 .190 .294 .271 68 -0.5
Jose Ramos .240 .303 .410 99 1.1 .186 .249 .308 59 -1.2
D’Andre Smith .266 .316 .395 98 0.7 .218 .267 .314 66 -0.7
Hayden Senger .239 .293 .347 83 0.9 .176 .231 .255 40 -0.6
Travis Swaggerty .225 .307 .330 80 0.2 .172 .249 .246 43 -0.8
JT Schwartz .254 .324 .371 96 0.5 .200 .273 .283 60 -1.2
Travis Jankowski .253 .332 .302 83 0.1 .190 .275 .228 49 -0.7
Estarling Mercado .223 .300 .386 90 0.0 .170 .245 .286 52 -1.0
Nick Lorusso .240 .292 .351 81 0.4 .192 .242 .284 49 -1.4
Marco Vargas .236 .305 .290 71 0.5 .179 .252 .221 39 -1.3
Eli Serrano III .224 .296 .370 86 0.2 .175 .247 .279 50 -1.5
Onix Vega .234 .304 .299 73 0.0 .170 .241 .220 32 -1.1
Troy Schreffler Jr. .227 .282 .352 80 0.0 .171 .229 .261 42 -1.0
Omar De Los Santos .227 .267 .391 84 0.0 .173 .215 .288 44 -1.7
Trace Willhoite .211 .292 .393 89 0.1 .159 .240 .291 50 -2.0
Yohairo Cuevas .226 .312 .308 77 -0.1 .175 .258 .233 43 -1.9
William Lugo .224 .290 .341 77 -0.1 .171 .234 .258 41 -2.1
Yonatan Henriquez .226 .298 .339 78 -0.2 .172 .242 .258 42 -2.1
Ronald Hernandez .230 .293 .326 76 0.0 .165 .232 .239 38 -2.1
Diego Mosquera .232 .296 .266 61 -0.8 .175 .239 .198 27 -1.8
Boston Baro .239 .285 .351 79 -0.1 .188 .232 .263 40 -2.4
Alex Ramirez .227 .286 .301 68 -0.5 .178 .236 .235 37 -2.2
Corey Collins .169 .289 .278 60 -0.8 .123 .240 .198 28 -1.9
Vincent Perozo .222 .295 .315 73 -0.7 .160 .235 .229 35 -2.1
Colin Houck .212 .271 .330 70 -0.6 .155 .215 .246 32 -2.9
Jefrey De Los Santos .209 .272 .325 68 -1.1 .161 .220 .241 33 -2.4
Nick Roselli .209 .269 .350 75 -1.2 .157 .219 .257 36 -2.8

Batters – Platoon Splits
Player BA vs. L OBP vs. L SLG vs. L BA vs. R OBP vs. R SLG vs. R
Juan Soto .260 .383 .468 .277 .420 .551
Francisco Lindor .268 .337 .448 .262 .338 .455
Bo Bichette .297 .351 .464 .293 .336 .439
Marcus Semien .250 .325 .405 .241 .311 .383
Brett Baty .240 .303 .395 .256 .325 .441
Francisco Alvarez .239 .331 .451 .232 .306 .432
Jorge Polanco .258 .314 .445 .251 .332 .447
Luis Robert Jr. .254 .323 .430 .232 .294 .401
Mark Vientos .266 .323 .468 .244 .305 .430
Jacob Reimer .241 .320 .406 .232 .310 .402
Ronny Mauricio .241 .286 .399 .244 .295 .391
Jose Siri .206 .271 .393 .200 .255 .373
Carson Benge .232 .317 .360 .251 .329 .413
Luis Torrens .253 .303 .407 .247 .298 .361
Ji Hwan Bae .246 .308 .331 .258 .332 .371
Chris Suero .202 .304 .336 .205 .304 .333
Jared Young .231 .311 .398 .247 .331 .434
Ryan Clifford .203 .293 .366 .216 .313 .420
Jackson Cluff .193 .273 .295 .208 .295 .346
David Villar .226 .316 .383 .217 .297 .367
Jesse Winker .219 .337 .342 .239 .350 .380
Tyrone Taylor .233 .286 .369 .230 .280 .368
Wyatt Young .226 .303 .283 .232 .313 .289
Yonny Hernández .245 .320 .318 .239 .314 .288
A.J. Ewing .247 .306 .329 .253 .317 .353
Chris Williams .204 .297 .359 .189 .271 .344
Kevin Parada .223 .290 .375 .216 .276 .352
Jose Rojas .214 .285 .368 .221 .296 .441
Gilberto Celestino .239 .323 .301 .235 .306 .316
Starling Marte .266 .322 .380 .258 .318 .380
Christian Arroyo .247 .291 .384 .247 .293 .356
Luis De Los Santos .224 .278 .345 .213 .265 .308
Rafael Ortega .200 .274 .277 .214 .302 .336
Nick Morabito .228 .294 .293 .245 .309 .323
Tsung-Che Cheng .211 .274 .293 .214 .287 .313
Cristian Pache .224 .303 .318 .200 .267 .287
Niko Goodrum .233 .333 .317 .212 .326 .325
Jose Ramos .218 .282 .394 .212 .273 .346
D’Andre Smith .245 .294 .373 .244 .292 .343
Hayden Senger .203 .256 .278 .206 .263 .303
Travis Swaggerty .194 .260 .299 .198 .282 .278
JT Schwartz .212 .288 .283 .228 .300 .333
Travis Jankowski .195 .283 .220 .225 .308 .279
Estarling Mercado .184 .259 .265 .197 .275 .358
Nick Lorusso .211 .272 .325 .214 .267 .312
Marco Vargas .202 .267 .239 .207 .280 .258
Eli Serrano III .188 .255 .313 .204 .281 .327
Onix Vega .206 .271 .238 .200 .271 .267
Troy Schreffler Jr. .203 .273 .322 .193 .245 .293
Omar De Los Santos .194 .240 .337 .200 .243 .332
Trace Willhoite .188 .273 .350 .186 .264 .330
Yohairo Cuevas .186 .270 .235 .201 .288 .281
William Lugo .200 .268 .304 .194 .260 .293
Yonatan Henriquez .198 .261 .292 .201 .270 .297
Ronald Hernandez .200 .258 .255 .196 .265 .287
Diego Mosquera .194 .260 .224 .204 .271 .235
Boston Baro .198 .244 .279 .214 .259 .301
Alex Ramirez .206 .273 .260 .196 .255 .273
Corey Collins .138 .260 .200 .145 .263 .248
Vincent Perozo .184 .259 .263 .188 .259 .266
Colin Houck .189 .255 .311 .180 .238 .280
Jefrey De Los Santos .187 .244 .280 .184 .246 .286
Nick Roselli .165 .228 .271 .185 .251 .304

Pitchers – Standard
Player T Age W L ERA G GS IP H ER HR BB SO
Freddy Peralta R 30 12 9 3.87 30 30 160.7 133 69 21 61 174
Clay Holmes R 33 10 8 3.90 28 24 136.0 137 59 11 47 109
Nolan McLean R 24 10 8 3.94 28 26 144.0 128 63 15 56 142
Kodai Senga R 33 8 7 3.82 25 25 127.3 110 54 15 58 125
David Peterson L 30 7 7 4.07 28 27 146.0 140 66 13 58 133
Jonah Tong R 23 9 8 4.07 26 25 117.3 103 53 15 48 132
Tylor Megill R 30 6 6 4.00 21 21 96.0 87 45 11 41 105
Devin Williams R 31 6 4 3.14 61 0 57.3 39 20 5 23 79
Tobias Myers R 27 6 6 4.38 29 20 111.0 113 54 15 36 89
Jonathan Pintaro R 28 4 3 4.10 26 15 74.7 70 34 8 30 71
Jonathan Santucci L 23 6 6 4.70 24 22 105.3 103 55 15 39 91
Jack Wenninger R 24 7 8 4.71 24 22 116.7 118 61 17 40 95
Sean Manaea L 34 5 5 4.51 22 18 101.7 94 51 16 31 104
Joander Suarez R 26 5 7 4.57 21 17 90.7 94 46 13 25 72
Justin Hagenman R 29 3 4 4.46 30 12 84.7 85 42 13 20 74
R.J. Gordon R 24 6 7 4.84 24 19 113.3 113 61 17 41 95
Griffin Canning R 30 6 6 4.76 20 20 102.0 100 54 17 40 92
A.J. Minter L 32 5 3 3.53 56 0 51.0 43 20 6 17 56
Cooper Criswell R 29 4 5 4.67 24 16 90.7 92 47 12 29 71
Brandon Waddell L 32 5 5 4.67 24 14 86.7 89 45 12 29 68
Christian Scott R 27 3 3 4.55 14 14 63.3 62 32 9 18 55
Luke Weaver R 32 4 4 4.30 47 5 69.0 64 33 10 24 76
Zach Thornton L 24 4 5 4.65 16 15 69.7 71 36 9 22 53
Felipe De La Cruz L 25 4 5 4.66 27 12 75.3 75 39 10 34 70
Will Watson R 23 5 6 4.98 26 21 103.0 100 57 14 49 90
Robert Stock R 36 3 5 4.86 18 13 70.3 70 38 10 31 64
Brooks Raley L 38 2 2 3.79 41 1 35.7 30 15 3 12 35
Carl Edwards Jr. R 34 2 3 4.44 25 6 52.7 52 26 7 23 45
Kevin Herget R 35 2 2 4.28 35 4 54.7 56 26 7 15 44
Joey Gerber R 29 1 1 4.43 32 8 42.7 41 21 6 14 40
Huascar Brazobán R 36 3 3 4.26 50 2 61.3 56 29 6 29 58
Luis García R 39 2 2 4.10 51 1 48.3 48 22 4 20 43
Dylan Ross R 25 1 1 4.12 53 0 54.7 47 25 7 26 58
Brendan Girton R 24 3 4 5.03 24 20 78.7 76 44 10 38 66
Reed Garrett R 33 4 3 3.99 37 0 38.3 35 17 4 19 41
Max Kranick R 28 2 1 4.46 26 4 40.3 41 20 6 11 31
Richard Lovelady L 30 2 2 4.27 43 1 46.3 44 22 5 15 43
Aaron Rozek L 30 3 4 5.05 26 11 92.7 100 52 14 30 66
Adbert Alzolay R 31 2 3 4.25 31 1 36.0 34 17 5 11 32
Luis Moreno R 27 5 7 5.08 31 12 85.0 88 48 11 40 64
Jordan Geber R 26 3 3 4.97 20 8 54.3 59 30 8 20 35
Dedniel Núñez R 30 2 2 4.17 28 0 36.7 34 17 5 15 38
Austin Warren R 30 5 5 4.53 35 3 51.7 49 26 7 20 47
Joe Jacques L 31 2 2 4.35 43 1 49.7 49 24 5 18 42
Douglas Orellana R 24 2 3 4.82 32 6 52.3 50 28 8 28 51
Colin Poche L 32 3 3 4.46 45 0 40.3 37 20 6 17 37
Nate Lavender L 26 3 2 4.37 25 0 35.0 30 17 4 18 38
José Castillo L 30 2 3 4.32 39 0 41.7 39 20 5 18 43
Brian Metoyer R 29 1 1 4.50 33 0 36.0 31 18 4 19 40
Ryan Lambert R 23 1 2 4.53 47 0 47.7 41 24 6 25 53
Nick Burdi R 33 2 1 4.50 33 0 36.0 31 18 4 19 39
Alex Carrillo R 29 3 4 4.57 37 0 43.3 39 22 6 20 45
Saul Garcia R 23 3 5 5.12 31 4 51.0 47 29 7 29 51
Frankie Montas R 33 4 7 5.44 18 17 86.0 90 52 14 38 71
Carlos Guzman R 28 3 5 5.07 34 4 55.0 55 31 8 25 46
Jefry Yan L 29 2 3 4.75 29 1 36.0 31 19 4 23 40
Drew Smith R 32 2 3 4.79 37 0 35.7 34 19 6 17 36
Matt Turner L 26 1 2 5.08 36 3 51.3 51 29 7 25 42
Hunter Parsons R 29 2 3 4.98 24 0 34.3 32 19 5 17 34
Joshua Cornielly R 25 3 4 4.97 34 1 50.7 50 28 8 20 44
Robinson Martínez R 28 1 1 4.94 26 0 31.0 30 17 4 17 29
Zach Peek R 28 5 6 4.85 35 1 55.7 56 30 8 26 48
Trey McGough L 28 2 3 5.02 24 1 43.0 43 24 6 22 35
Ben Simon R 24 2 4 4.96 33 0 45.3 46 25 6 17 35
Daniel Juarez L 25 2 2 5.05 27 0 35.7 36 20 5 17 28
Justin Garza R 32 2 4 5.40 38 1 43.3 46 26 7 17 34

Pitchers – Advanced
Player IP K/9 BB/9 HR/9 BB% K% BABIP ERA+ 3ERA+ FIP ERA- WAR
Freddy Peralta 160.7 9.7 3.4 1.2 9.1% 25.9% .273 108 106 3.97 93 2.5
Clay Holmes 136.0 7.2 3.1 0.7 8.0% 18.5% .304 107 103 3.83 94 2.4
Nolan McLean 144.0 8.9 3.5 0.9 9.2% 23.2% .288 106 107 3.98 94 2.3
Kodai Senga 127.3 8.8 4.1 1.1 10.5% 22.7% .277 109 105 4.19 92 2.1
David Peterson 146.0 8.2 3.6 0.8 9.2% 21.1% .301 103 100 3.83 97 2.0
Jonah Tong 117.3 10.1 3.7 1.2 9.6% 26.3% .293 103 107 3.85 97 1.7
Tylor Megill 96.0 9.8 3.8 1.0 9.9% 25.3% .300 99 97 3.93 101 1.2
Devin Williams 57.3 12.4 3.6 0.8 9.8% 33.8% .274 133 126 2.90 75 1.1
Tobias Myers 111.0 7.2 2.9 1.2 7.5% 18.6% .293 95 97 4.40 105 1.0
Jonathan Pintaro 74.7 8.6 3.6 1.0 9.3% 22.0% .295 102 101 4.14 98 0.9
Jonathan Santucci 105.3 7.8 3.3 1.3 8.5% 19.9% .289 89 94 4.48 112 0.8
Jack Wenninger 116.7 7.3 3.1 1.3 7.8% 18.6% .291 89 94 4.59 112 0.8
Sean Manaea 101.7 9.2 2.7 1.4 7.3% 24.5% .287 92 86 4.26 109 0.8
Joander Suarez 90.7 7.1 2.5 1.3 6.4% 18.6% .296 91 95 4.40 110 0.8
Justin Hagenman 84.7 7.9 2.1 1.4 5.6% 20.9% .293 93 94 4.23 108 0.7
R.J. Gordon 113.3 7.5 3.3 1.4 8.4% 19.3% .288 86 91 4.60 116 0.6
Griffin Canning 102.0 8.1 3.5 1.5 9.0% 20.8% .286 88 87 4.79 114 0.6
A.J. Minter 51.0 9.9 3.0 1.1 8.0% 26.4% .282 118 112 3.56 85 0.6
Cooper Criswell 90.7 7.0 2.9 1.2 7.5% 18.3% .292 89 89 4.54 112 0.6
Brandon Waddell 86.7 7.1 3.0 1.2 7.8% 18.2% .294 89 86 4.67 112 0.5
Christian Scott 63.3 7.8 2.6 1.3 6.8% 20.8% .290 92 94 4.32 109 0.5
Luke Weaver 69.0 9.9 3.1 1.3 8.2% 25.9% .298 97 94 3.98 103 0.5
Zach Thornton 69.7 6.8 2.8 1.2 7.4% 17.7% .291 90 95 4.48 111 0.5
Felipe De La Cruz 75.3 8.4 4.1 1.2 10.1% 20.8% .301 90 93 4.54 112 0.4
Will Watson 103.0 7.9 4.3 1.2 10.7% 19.7% .289 84 90 4.76 119 0.4
Robert Stock 70.3 8.2 4.0 1.3 10.0% 20.6% .297 86 78 4.90 117 0.3
Brooks Raley 35.7 8.8 3.0 0.8 8.2% 23.8% .278 110 97 3.64 91 0.3
Carl Edwards Jr. 52.7 7.7 3.9 1.2 10.0% 19.5% .292 94 87 4.55 107 0.3
Kevin Herget 54.7 7.2 2.5 1.2 6.4% 18.9% .297 97 90 4.15 103 0.3
Joey Gerber 42.7 8.4 3.0 1.3 7.7% 21.9% .292 94 95 4.24 106 0.3
Huascar Brazobán 61.3 8.5 4.3 0.9 10.7% 21.5% .291 98 89 4.16 102 0.3
Luis García 48.3 8.0 3.7 0.7 9.3% 20.0% .308 102 98 3.89 98 0.3
Dylan Ross 54.7 9.5 4.3 1.2 10.9% 24.4% .282 101 108 4.19 99 0.2
Brendan Girton 78.7 7.5 4.3 1.1 10.9% 19.0% .287 83 87 4.85 120 0.2
Reed Garrett 38.3 9.6 4.5 0.9 11.2% 24.3% .304 105 97 3.95 95 0.2
Max Kranick 40.3 6.9 2.5 1.3 6.4% 18.1% .287 93 94 4.45 107 0.2
Richard Lovelady 46.3 8.4 2.9 1.0 7.7% 21.9% .295 98 98 4.01 102 0.2
Aaron Rozek 92.7 6.4 2.9 1.4 7.4% 16.3% .296 83 82 4.84 121 0.1
Adbert Alzolay 36.0 8.0 2.8 1.3 7.3% 21.2% .284 98 95 4.36 102 0.1
Luis Moreno 85.0 6.8 4.2 1.2 10.4% 16.7% .294 82 84 4.96 122 0.1
Jordan Geber 54.3 5.8 3.3 1.3 8.3% 14.5% .291 84 87 5.00 119 0.1
Dedniel Núñez 36.7 9.3 3.7 1.2 9.4% 23.9% .293 100 100 4.09 100 0.1
Austin Warren 51.7 8.2 3.5 1.2 9.0% 21.2% .288 92 92 4.50 109 0.1
Joe Jacques 49.7 7.6 3.3 0.9 8.4% 19.5% .299 96 92 4.23 104 0.1
Douglas Orellana 52.3 8.8 4.8 1.4 11.9% 21.6% .292 87 93 4.92 115 0.1
Colin Poche 40.3 8.3 3.8 1.3 9.8% 21.3% .277 93 92 4.53 107 0.0
Nate Lavender 35.0 9.8 4.6 1.0 11.8% 24.8% .286 95 98 4.28 105 0.0
José Castillo 41.7 9.3 3.9 1.1 10.0% 23.9% .301 97 93 4.24 103 0.0
Brian Metoyer 36.0 10.0 4.8 1.0 11.6% 24.4% .290 93 93 4.39 108 0.0
Ryan Lambert 47.7 10.0 4.7 1.1 11.8% 25.1% .287 92 100 4.34 109 0.0
Nick Burdi 36.0 9.8 4.8 1.0 11.8% 24.2% .287 93 88 4.36 108 0.0
Alex Carrillo 43.3 9.3 4.2 1.2 10.4% 23.3% .287 91 90 4.48 110 -0.1
Saul Garcia 51.0 9.0 5.1 1.2 12.6% 22.1% .288 82 88 4.95 122 -0.1
Frankie Montas 86.0 7.4 4.0 1.5 9.9% 18.5% .296 77 73 5.09 130 -0.1
Carlos Guzman 55.0 7.5 4.1 1.3 10.2% 18.8% .290 82 84 4.96 122 -0.1
Jefry Yan 36.0 10.0 5.8 1.0 13.7% 23.8% .290 88 86 4.64 114 -0.1
Drew Smith 35.7 9.1 4.3 1.5 10.8% 22.8% .289 87 85 4.85 115 -0.1
Matt Turner 51.3 7.4 4.4 1.2 10.9% 18.3% .289 82 86 5.05 122 -0.2
Hunter Parsons 34.3 8.9 4.5 1.3 11.1% 22.2% .287 84 85 4.82 119 -0.2
Joshua Cornielly 50.7 7.8 3.6 1.4 9.0% 19.7% .288 84 90 4.96 119 -0.2
Robinson Martínez 31.0 8.4 4.9 1.2 12.1% 20.7% .295 85 84 4.91 118 -0.2
Zach Peek 55.7 7.8 4.2 1.3 10.4% 19.1% .294 86 87 4.87 116 -0.2
Trey McGough 43.0 7.3 4.6 1.3 11.4% 18.1% .289 83 84 4.88 120 -0.2
Ben Simon 45.3 7.0 3.4 1.2 8.5% 17.5% .292 84 88 4.80 119 -0.3
Daniel Juarez 35.7 7.1 4.3 1.3 10.7% 17.6% .290 83 87 5.10 120 -0.3
Justin Garza 43.3 7.1 3.5 1.5 8.8% 17.5% .295 77 75 5.01 130 -0.4

Pitchers – Top Near-Age Comps
Player Pit Comp 1 Pit Comp 2 Pit Comp 3
Freddy Peralta Jack Morris Bob Lemon Chan Ho Park
Clay Holmes Brad Penny Bob Lemon Jake Arrieta
Nolan McLean Sonny Gray Floyd Wooldridge Freddy Garcia
Kodai Senga Bullet Joe Bush Doug McWeeny Rick Sutcliffe
David Peterson Andy Pettitte Wade Miley Mike Hampton
Jonah Tong Alex Fernandez Cal Eldred Kurt Ainsworth
Tylor Megill Larry Carter Bob Bruce Darren Dreifort
Devin Williams Joe Nathan Fernando Rodney Felix Rodriguez
Tobias Myers David Cyrus Bernard Rossman Ray Semproch
Jonathan Pintaro Rich Loiselle Roy Lee Jackson Mike Oquist
Jonathan Santucci Jack Kralick Paul Mildren James Gillheeney
Jack Wenninger Cal Quantrill Tyler Mahle Sal Romano
Sean Manaea Rudy May Floyd Bannister Frank Tanana
Joander Suarez Mark Bauer Bear Bay Joe Wieland
Justin Hagenman Rollie Sheldon Tom Parsons Nelson Briles
R.J. Gordon Floyd Shiver Jackson Stephens Nabil Crismatt
Griffin Canning Ray Benge Larry Dierker Todd Wellemeyer
A.J. Minter Tug McGraw Jake McGee Joe Hoerner
Cooper Criswell Wayne Garland Babe Birrer Shairon Martis
Brandon Waddell Bill Smith Derek Lee Atlee Hammaker
Christian Scott Tim Hallgren Sean Snedeker Dave Therneau
Luke Weaver Dave Giusti Scott Sanders Lynn McGlothen
Zach Thornton Steve Garrison Adam Morgan Ray Harris
Felipe De La Cruz Arthur Siefert Bobby Bramhall Jose Caldera
Will Watson Mike Costello Shawn Boskie Dave Veres
Robert Stock Dick Starr Early Wynn Jose Mercedes
Brooks Raley Bob McClure Bobby Shantz Brian Fuentes
Carl Edwards Jr. Joe Coleman Johnny Miljus Willie Banks
Kevin Herget Galen Cisco Juan Eichelberger John DeSilva
Joey Gerber Trystan Magnuson Josh Perrault Ron Hill
Huascar Brazobán Diego Segui Marv Grissom Al Worthington
Luis García Jim Johnson Blaine Boyer LaTroy Hawkins
Dylan Ross Ryan Perry Jake Barrett Jack Lamabe
Brendan Girton Paul Demny Ryan Tucker John Glass
Reed Garrett Don McMahon Hector Navarro Dane Johnson
Max Kranick Matt Capps Chris Smith Edgmer Escalona
Richard Lovelady Bryan Eversgerd Craig Skok Joe Grzenda
Aaron Rozek Logan Darnell Allan Anderson Ryan Feierabend
Adbert Alzolay Claude Raymond Luis Aloma Mike Schooler
Luis Moreno Tim Crabbe Steven Wright Warwick Saupold
Jordan Geber Mike Martinez Henry Villar Chris Bennett
Dedniel Núñez Dave Wallace Johnny Murphy Jon Hunton
Austin Warren Howie Judson Randall Delgado Edwin Moreno
Joe Jacques Francisley Bueno Ron Meridith Will Brunson
Douglas Orellana Chris Freeman Robert Hinton Abel De Los Santos
Colin Poche Fernando Abad Rich Rodriguez Pat Perry
Nate Lavender Tyler Johnson John Morris Bobby Burke
José Castillo Jeff Kaiser Fred Scherman Dennis Kinney
Brian Metoyer Anthony Chavez Jim Duffalo Brad Clontz
Ryan Lambert Joe Valentine Victor Garcia Wayne Kirby
Nick Burdi Bill Campbell Jim Hughes Dave Baldwin
Alex Carrillo John Costello Juan Salas Dave Tobik
Saul Garcia Rich Henning Adrian Rosario Jeff Harrell
Frankie Montas Erik Hanson David Lutz Edwin Jackson
Carlos Guzman Steve Shea Matt Langwell Luis Perdomo
Jefry Yan David Rosario Dustin Richardson Atahualpa Severino
Drew Smith Ernie Johnson Lerrin LaGrow Emil Kush
Matt Turner Anthony Ferrari Bob Buchanan Dick McCoy
Hunter Parsons Eddie Gaillard Art Herring Dave Gerard
Joshua Cornielly Ronny Morla Lloyd Gladden Ryan Kohlmeier
Robinson Martínez Duane Shaffer Pete Appleton Bradley Meyring
Zach Peek Kenny Greer B.J. Rosenberg Dick Hyde
Trey McGough Colin Young Homero Rivera Frankie Reed
Ben Simon Jay Aldrich Rolando Valdez Steven Fair
Daniel Juarez Dave Leiper William McLaurine Dick Cooke
Justin Garza J.C. Gutierrez Brandon Morrow Jeff Gray

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
Freddy Peralta .216 .306 .353 .227 .292 .406 3.6 1.3 3.32 4.50
Clay Holmes .262 .339 .403 .248 .306 .355 3.3 1.5 3.47 4.46
Nolan McLean .243 .335 .393 .221 .294 .349 3.1 1.0 3.51 4.64
Kodai Senga .233 .330 .377 .226 .301 .379 2.9 1.3 3.33 4.42
David Peterson .226 .288 .329 .252 .331 .388 3.1 0.8 3.44 4.82
Jonah Tong .214 .292 .405 .241 .313 .363 2.7 0.7 3.43 4.80
Tylor Megill .243 .340 .403 .226 .297 .363 1.8 0.3 3.63 4.99
Devin Williams .194 .301 .337 .187 .261 .280 1.9 0.1 2.28 4.64
Tobias Myers .259 .326 .412 .256 .309 .430 1.8 0.2 3.82 4.97
Jonathan Pintaro .268 .354 .391 .214 .295 .364 1.5 0.4 3.57 4.72
Jonathan Santucci .255 .331 .391 .247 .310 .428 1.5 0.0 4.14 5.34
Jack Wenninger .241 .314 .398 .267 .322 .449 1.5 0.0 4.18 5.29
Sean Manaea .216 .271 .352 .248 .313 .442 1.5 -0.1 3.90 5.49
Joander Suarez .284 .340 .481 .236 .285 .382 1.4 0.1 4.03 5.28
Justin Hagenman .255 .307 .451 .256 .295 .422 1.3 0.0 3.79 5.24
R.J. Gordon .235 .307 .417 .266 .325 .434 1.3 -0.2 4.38 5.51
Griffin Canning .253 .336 .454 .252 .311 .431 1.3 -0.2 4.20 5.51
A.J. Minter .206 .265 .286 .236 .305 .417 1.1 0.0 2.77 4.55
Cooper Criswell .266 .342 .456 .249 .308 .392 1.1 0.0 4.13 5.35
Brandon Waddell .273 .341 .400 .253 .323 .442 1.1 -0.1 4.13 5.32
Christian Scott .246 .301 .434 .256 .319 .408 1.1 0.1 3.88 5.19
Luke Weaver .240 .313 .403 .237 .296 .410 1.3 -0.2 3.42 5.34
Zach Thornton .232 .297 .305 .267 .330 .462 1.0 0.0 4.09 5.27
Felipe De La Cruz .253 .330 .407 .250 .335 .418 1.1 -0.2 4.02 5.34
Will Watson .238 .335 .386 .256 .333 .437 1.1 -0.4 4.53 5.65
Robert Stock .271 .362 .450 .236 .329 .392 0.8 -0.2 4.24 5.68
Brooks Raley .195 .267 .293 .244 .330 .389 0.7 -0.2 2.85 5.07
Carl Edwards Jr. .264 .340 .396 .243 .318 .435 0.7 -0.1 3.85 5.29
Kevin Herget .253 .308 .421 .264 .313 .413 0.7 -0.2 3.59 5.30
Joey Gerber .244 .319 .402 .244 .298 .419 0.7 -0.1 3.66 5.37
Huascar Brazobán .248 .344 .381 .231 .318 .362 0.9 -0.5 3.46 5.41
Luis García .277 .362 .410 .231 .306 .352 0.7 -0.2 3.30 5.26
Dylan Ross .238 .330 .386 .217 .300 .377 0.8 -0.4 3.43 5.11
Brendan Girton .258 .351 .437 .237 .333 .385 0.7 -0.3 4.55 5.64
Reed Garrett .239 .338 .403 .229 .309 .349 0.6 -0.3 3.24 4.97
Max Kranick .273 .325 .468 .241 .289 .398 0.5 -0.2 3.87 5.30
Richard Lovelady .219 .306 .313 .256 .323 .427 0.6 -0.3 3.44 5.15
Aaron Rozek .239 .302 .359 .281 .340 .488 0.7 -0.6 4.52 5.80
Adbert Alzolay .273 .342 .470 .222 .288 .375 0.5 -0.3 3.55 5.25
Luis Moreno .275 .364 .438 .249 .332 .411 0.7 -0.5 4.55 5.75
Jordan Geber .262 .333 .458 .274 .331 .425 0.4 -0.3 4.45 5.51
Dedniel Núñez .262 .342 .446 .224 .286 .382 0.5 -0.2 3.32 5.17
Austin Warren .225 .314 .393 .264 .333 .427 0.5 -0.4 3.87 5.45
Joe Jacques .221 .299 .309 .266 .345 .430 0.5 -0.4 3.62 5.12
Douglas Orellana .253 .342 .414 .236 .333 .425 0.5 -0.4 4.17 5.57
Colin Poche .229 .315 .438 .250 .319 .413 0.5 -0.4 3.68 5.47
Nate Lavender .250 .365 .386 .213 .311 .371 0.4 -0.3 3.58 5.29
José Castillo .231 .333 .327 .241 .323 .420 0.4 -0.4 3.61 5.34
Brian Metoyer .222 .347 .397 .233 .337 .356 0.4 -0.4 3.69 5.42
Ryan Lambert .244 .350 .453 .208 .306 .313 0.4 -0.5 3.89 5.36
Nick Burdi .234 .355 .406 .222 .321 .347 0.3 -0.5 3.64 5.80
Alex Carrillo .250 .348 .475 .218 .303 .333 0.3 -0.6 3.85 5.73
Saul Garcia .240 .354 .417 .233 .339 .388 0.3 -0.6 4.46 5.96
Frankie Montas .279 .365 .497 .246 .315 .408 0.4 -0.7 4.89 6.12
Carlos Guzman .263 .357 .455 .248 .326 .402 0.3 -0.6 4.39 6.00
Jefry Yan .200 .345 .289 .239 .355 .413 0.3 -0.6 3.93 5.95
Drew Smith .250 .348 .450 .244 .318 .436 0.2 -0.6 4.03 6.01
Matt Turner .234 .333 .375 .261 .352 .442 0.3 -0.6 4.42 5.82
Hunter Parsons .263 .373 .439 .227 .314 .413 0.1 -0.6 4.28 5.99
Joshua Cornielly .260 .345 .458 .243 .319 .408 0.2 -0.5 4.26 5.55
Robinson Martínez .232 .348 .411 .262 .355 .415 0.0 -0.5 4.31 5.78
Zach Peek .240 .333 .423 .267 .344 .431 0.3 -0.8 4.19 5.70
Trey McGough .241 .323 .328 .261 .346 .477 0.1 -0.6 4.42 5.82
Ben Simon .256 .337 .427 .253 .330 .414 0.0 -0.7 4.42 5.62
Daniel Juarez .240 .333 .400 .267 .356 .444 0.0 -0.5 4.45 5.55
Justin Garza .270 .357 .473 .260 .318 .440 0.0 -0.8 4.70 6.42

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.


As Before, So Again: Cody Bellinger Is a Yankee

Mark Smith-Imagn Images

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

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

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


2026 ZiPS Projections: Chicago Cubs

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

Batters

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

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

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

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

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

Pitchers

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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