Archive for Daily Graphings

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 »


We Tried Tracker Update: Bo Beset, Stolen Arenado Edition

Dan Hamilton-Imagn Images

One of the reasons I’ve enjoyed tracking We Trieds over the past year is that there’s so much gray area involved. When a team gets the word out that it was also interested in a player who signed with another team, that information takes a circuitous journey. Its source is indeterminate. It’s usually laundered through one or several reporters. When it finally makes its way into the discourse, it emerges on social media, slips out during a podcast, or appears in boldface at the top of a sports section. You’re never quite sure whether the phrasing comes from the reporter or the source or some combination of the two. Most importantly, you never know how much truth is behind it.

The Mets “had some interest” in Pete Alonso, “showed interest” in Raisel Iglesias, “checked in on” Robert Suarez, and “made a reasonable try” for Tyler Rogers. Which player did they want the most? Which player did they expend the most effort to land? Even if you have strong opinions about what all of those words actually mean, you can’t ever be sure. The absence of hard facts leaves plenty of room for interpretation and silly jokes. Today, however, we’re going to focus on two We Trieds that seem, if anything, too real. Will we still make stupid jokes? Yes, we will. We will make them extra stupid. That’s not just our right; it’s our sacred duty. Read the rest of this entry »


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 »


Brewing with Gas: Evaluating Jett Williams and Brandon Sproat

Brad Penner and Sam Navarro-Imagn Images

Last night, the Brewers and Mets swung a big trade. Milwaukee sent staff ace Freddy Peralta, along with righty Tobias Myers, to Queens in exchange for two Top 100 prospects in Brandon Sproat and Jett Williams. Both are near-ready contributors who grade out as 50 FVs 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. Davy Andrews wrote up New York’s side of the swap. Here, we’ll take a look at the youngsters heading to the Midwest.

Let’s start with Sproat. After selecting the righty in the third round in 2022 and then failing to sign him, the Mets went back to the well a round earlier the following season. This time they got their man, and the former Florida Gator took to pro ball quickly. He posted a 3.40 ERA with 131 strikeouts in 116.1 innings in 2024, with solid walk and contact-management metrics alongside. He capped the year with seven starts at Triple-A, and while those were mostly forgettable, he entered 2025 as the club’s top farmhand and one of the brightest pitching prospects in baseball.

He then battled through an uneven 2025 campaign. He started slowly, with a new, less deceptive motion, and missed significantly fewer bats in the first half of the season than he had the year prior. Still, the traits that long made Sproat an enticing prospect mostly endured, as he was still sitting in the mid-to-upper 90s and mixing in a plus breaking ball. He righted the ship in July and saved some of his best baseball for the latter part of August, a run of form that culminated in his first big league call-up. 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.


Luis Arraez Belongs on the Mountaintop

John Leyba-Imagn Images

In early November, MLB Trade Rumors and Baseball Prospectus released their top 50 free agents lists, which included guesses about where each player would end up. Our focus in this article is on Luis Arraez, and in those two lists, seven very smart people and one random number generator made their best estimations about his likeliest destination. Only two of those experts picked the same team for him. The next week, MLB.com’s Mike Petriello broke down a whopping seven potential landing spots for Arraez. Only one of those teams was on either of the two previous lists. Lastly, just this weekend, a Fox Sports article with no byline explained why three teams would make the best fit for Arraez, and only one of those teams had any overlap with the previous three articles. By my count, that’s eight different experts, one robot, and one I-don’t-know-what making a total of 18 predictions. Somehow, those 18 predictions included 15 different landing spots for Arraez. That’s half the league! Only three teams got multiple votes, and no team got more than two. We’ve got a genuine mystery on our hands.

To some degree, all of this is understandable. Most projections have Arraez signing for either one year or two with an average annual value of $11 or $12 million. That means even the stingiest teams can afford him. And although Arraez is a poor defender who only projects for roughly 1.5 WAR (depending on your projection system), he’s never once put up a below-average season on offense. With the possible exception of the Dodgers, there is no such thing as a team that couldn’t find a spot for a hitter of Arraez’s caliber. ZiPS is slightly higher on Arraez than most systems, projecting him for 1.8 WAR in 2026. That’s more than we have projected in our Depth Charts either at first base, DH, or both for 21 different teams. Everybody can afford him. Almost everybody could use him. He really could end up anywhere.

While I don’t have any special insight about where Arraez will end up, I do have a strong preference. I want him to sign with the Rockies, and I want this for a very simple reason. I want to see Luis Arraez be the most Luis Arraez he can be. His skill set is unique in today’s game, and Coors Field is the perfect environment to let him flourish. Read the rest of this entry »


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 »


Mets Snag Luis Robert Jr. From White Sox

Steven Bisig-Imagn Images

With most of the top free agents having found new homes – 12 of our top 15 have signed – the baseball transaction news figured to be light this week. Maybe the Yankees and Cody Bellinger would keep making lovey-dovey eyes at each other across the negotiating table to give us some headlines, but that felt like the only game in town for at least a few days. But just because no one is left to sign doesn’t mean nothing can happen. Out in Queens, the Mets weren’t content to sit pat after signing Bo Bichette. They continued their offseason splurge by acquiring Luis Robert Jr. from the White Sox in exchange for Luisangel Acuña and pitching prospect Truman Pauley, as ESPN’s Jeff Passan first reported.

I’ve grappled with evaluating Robert innumerable times over the past few years. For a while, he was a yearly feature in our Trade Value series, an electric talent in his early 20s. Then he became an interesting litmus test when talking to team evaluators, as his production dipped but his prodigious tools remained as loud as ever. Finally, as his contract hit the expensive team option phase, I considered him for a list of top free agents, as I have to predict what option decisions teams will make. At every turn, I came away equally impressed and frustrated by Robert’s ludicrous ceiling and subbasement-level floor.

You want a tooled-up center fielder? Robert is your guy. If you click on the “Prospects Report” tab on his player page, you’ll see this short blurb by Eric Longenhagen: “Graduation TLDR: The Vitruvian Outfield Prospect in all facets save for his approach, Robert graduated from prospectdom as one of baseball’s most exciting players.” That Vitruvian Outfield Prospect phrase has stuck with me.

If you made an outfielder in a lab, he’d look a lot like this. Power? Robert has 90th-percentile bat speed and clobbered 38 home runs in his last full season of playing time. He gets the ball in the air, too, all the better to maximize his best contact. Speed? You guessed it, 90th-percentile sprint speed. He’s also among the best defensive outfielders in the game when he’s healthy. He even has a strong throwing arm, though it’s inaccurate at times. If you’re looking for a Gold Glove defender who can hit 40 homers at the hardest outfield spot and swipe 30 bags, he’s one of maybe three players in the entire majors who fits the bill. 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.


A’s Prospect Mason Barnett Has an Atypical Arm Angle and an Old-School Approach

Sergio Estrada-Imagn Images

Mason Barnett doesn’t profile as a front-of-the-rotation starter, but he does project to provide solid innings for a major league staff. A 25-year-old right-hander who made his MLB debut with the Athletics at the end of August, Barnett is currently viewed by Eric Longenhagen as “a big league starter who has demonstrated durability [and] is a no. 4/5 on a good team.” Our lead prospect evaluator anticipates assigning him a 45 FV when our 2026 A’s list is published in the not-too-distant future.

The Kennesaw, Georgia native was originally in the Kansas City system. Drafted 87th overall by the Royals in 2022 out of Auburn University, Barnett was subsequently traded to his current club in the 2024 deadline deal that sent Lucas Erceg to America’s Heartland. With his time down on the farm now mostly complete, Barnett will head into the forthcoming campaign having logged a 6.85 ERA and a 4.88 FIP over five starts comprising 22 1/3 innings in his initial major league opportunity.

Longenhagen has assigned a 40/45 on the righty’s command, and it was that aspect of his game that Scott Emerson emphasized when I asked him about Barnett toward the tail end of last season.

“Barnett, interesting guy,” said the longtime Athletics pitching coach. “Very good competitor. Throws strikes with his fastball, which has some cut-ride. He’s got a good developing changeup. He spins the ball really well and has both the sweeper and the curveball. For me, a lot of it with Barnett is his being able to execute his pitches inside the strike zone when he needs to, and then being able to make them chase outside of the strike zone when he’s ahead in the count. He’s one of our guys who needs to learn to command the ball better.”

The numbers back that up. Barnett had a 10.8% walk rate (as well as a 17.3% strikeout rate) in his big league cameo, while in Triple-A those numbers were 11.9% and 22.8%. But, while concerning, it’s not as though he can’t throw strikes or miss bats. In 2024, he punched out Double-A batters at a 28.5% clip, and walked them at a more-acceptable (albeit still not great) 8.7% over 133 innings of work. Like Longenhagen and Emerson, Barnett also recognizes the need to improve his strike-throwing. Read the rest of this entry »