The TLDR on FanGraphs’ report for Los Angeles Angels designated hitter Moisés Ballesteros is a simple one.
“Ballesteros can really hit. Defensively, well, he can really hit.”
The report, complete with 55 grades for hit tool, game power, and raw power, is in line with much of the industry. Ballesteros was supposed to hit his way into a regular spot in the lineup, producing past murky defensive projections. For a moment, he did. Debuting with the Chicago Cubs, Ballesteros posted a 144 wRC+ in 20 games, hit nearly .300, and made a short cameo in the playoffs.
But there’s a reason he’s in the middle of the Angels lineup, rather than playing an ancillary role on Chicago’s race to October. Ballesteros has fallen on hard times in his rookie season, generating the sixth-lowest fWAR among players with 250 plate appearances and earning a mid-season demotion to AAA. That aforementioned summary implies that if Ballesteros doesn’t hit, he’s in trouble. He’s not hitting. And as he rounds out a disappointing season, it’s worth tracking how he got here and how Los Angeles might salvage his development.
Fake Hit Tools and High Fastballs
Part of how we’ve gotten here is a matter of expectations. Hindsight, of course, is 20-20, but Ballesteros’s production includes warning signs that he isn’t an MLB-ready, contact-first bat.
In AAA last season, Ballesteros’s swing and contact rates were promising. He posted an 82nd-percentile whiff rate, an 89th-percentile Z-Swing rate, and made contact on more than 87% of his in-zone swings. When he was demoted in June, his stint in AAA was more indicative of his prolonged slump. While the quality whiff and Z-Contact rates remained, he was swinging at just 42 percent of pitches (and 64.22% of pitches in the zone). There may have been some directive to cut down on chase during this mental reset, but if he were debuting for the first time with these marks, I wouldn’t be buying the hit tool.
Further, Ballesteros struggled to turn his bat-to-ball skills into results immediately in 2025. With all the necessary small-sample asterisks aside, his production was fueled more by his .349 BABIP and 13.6% walk rate than raw power or an untenable 74% Z-Contact rate. He did this while facing easier pitching, too. Whether it be variance or the nature of late-season baseball, Ballesteros’s Pitch Runs+ of 172 was the softest slate of pitches for any hitter with at least 200 pitches faced.
When that number dropped to 114 this year—above average but not astronomical—much of his profile appeared fragmented. While his Contact+ actually improved year-over-year, in part thanks to a jump in Z-Contact, it cost him potency and plate discipline.

Ballesteros is swinging at fewer pitches in the zone and chasing more often than last year, unsurprisingly limiting his opportunities to do damage. His SEAGER has fallen to 126th among 284 hitters with 250+ plate appearances; his slugging on contact ranks 260th among that same cohort. He spent the latter half of June through the trade deadline in the minors. But since June 1, he has totaled four extra-base hits and no home runs.
The most glaring reason for this has been his underperformance against fastballs. There is some unfortunate batted-ball luck at play, but one needs to make contact to improve said luck, and Ballesteros hasn’t done enough of that against hard stuff. He is whiffing on 37% of his swings against four-seamers en route to -2.5 run value per 100 pitches. Against higher velocity fastballs (we’ll call that 95+), the numbers are even more daunting.
Pitchers have, in turn, continued to attack him with an uptick in fastballs. Bucketing by pitch group, Ballesteros has spent the summer seeing over 50% fastballs. After hitting .346 against 129 fastballs in April, he’s hit .125 against them since. There’s just no reason not to challenge him with anything else if he is both whiffing and failing to damage in-zone heaters. Pitchers have pulled no punches, and Ballesteros has tumbled down to a 20 OPS+ with the Angels.
This is all pretty ugly, although it’s probably reasonable to chalk some of his struggles to merely being lost. He’s a young hitter in his first (mostly) full season of big-league ball. It wasn’t that long ago that former teammate and current NL MVP favorite Pete Crow-Armstrong looked hapless for the second half of last season. The hole in Ballesteros’s swing has thrust him into deep waters, but continuing to struggle in AAA (80 wRC+) speaks more to an intangible issue than an inability to hit the upper-minors pitching that he crushed last year.
Timing Is Everything
I am also willing to entertain the idea that Ballesteros is going through a metamorphosis of sorts, coming up empty as he attempts to optimize his profile.
Let’s suppose that the 55-hit tool that most agreed on was bullish. Maybe, even at his best, it’ll be a 45-grade tool. The path to maximizing an offensive arsenal that posted well-above-average exit velocities last year likely lies in his batted-ball spray. Ballesteros hasn’t pulled the ball in the air much at all since his first stint in AAA, back in 2024.
Ballesteros’s ability to kill worms is almost certainly leaving production on the table. Without the speed to stress defenses, Ballesteros’s 87th-percentile groundball rate is an issue. Even as his fly ball rate increased from 11.1% last year (again, extremely small sample) to 18.5% in 2026, he is still well below the league average. Trying to hit more fly balls has also spiked his pop-up rate to league average.
However, Ballesteros does hit the ball fairly hard in the air (91.5 mph) when he does get it there, and his launch angle has increased from 0.8 to 9.3 degrees in 2026. His profile can survive the adequate 17.1% HR/FB rate if he can lift the ball more, and he has already made some mechanical adjustments. While maintaining his bat speed, Ballesteros has upped his attack angle from 5° to 7°, begun the process of pulling more, and increased his Ideal Attack Angle to 51.8%. His intent seems to be shifting, and it remains possible that this is a snapshot at the trough of his trajectory, where his Pull Air rate continues to increase, and the downstream effects of his damage bring him back to relevance.
If that’s going to be the case, Ballesteros may have to rely on his ability to hit in-zone breakers while changing his approach against fastballs.

For all the whiff issues plaguing his 2026 campaign, Ballesteros has retained his bat-to-ball skills against breaking balls. While his Contact+ has largely stuck to the 75th percentile, Ballesteros is underperforming his xSLG and xwOBA by 88 and 58 points, respectively. His whiff rates here are much more in line with the rest of the league, and a 13.7% putaway rate is nearly half of what it is against fastballs.
Getting more breaking balls, combined with a few more pulled fly balls, could go a long way in mitigating pitchers’ fastball-heavy plan of attack. Despite the whiff issues, that process might begin by swinging at more fastballs, specifically in the lower two-thirds of the zone.

By and large, Ballesteros’s struggles against velocity have come up in the zone. Pitchers are happy to live there; the vast majority of his whiffs are above the letters, and he isn’t making it a risky endeavor by punishing them on occasion. Yet, pitchers are getting away with filling the zone with four-seamers.

We’d expect someone with such horrific whiff issues to have more swings and misses on in-zone heaters, rather than clustering up and above the zone. It would be more exaggerated there, naturally… but whiffing on 22.2% of fastballs in the lower two-thirds of the zone suggests that he should (must!) offer at more of these. He’s posted a .721 xSLGCON on 11 swings here, compared to .585 on 27 swings up in the zone or above it. He’s giving away free strikes on pitches he could damage, tilting the scales in a battle he’s been losing all summer long.
Trading called strikes for hard-hit balls is unequivocally helpful. If pitchers have to think twice about tossing him a fastball, it makes sense that he’d see an influx of breakers, too, playing into one of the strengths that got him to the big leagues. While it’s possible that a more aggressive approach lower in the zone could make him more vulnerable below it, Ballesteros’s current chase rates and overall production are reason enough to roll the dice.
The Road Back
Speaking of timing, Los Angeles has the runway to wait this out. The ship has sailed on building a winner around Mike Trout. For the first time in forever, the Angels look like a team that knows how to rebuild, and John Mozeliak is now able to use playing time as currency. Flirting with the Mendoza Line doesn’t hurt anyone when you’re 17 games out of the American League West.
Ballesteros doesn’t have much in the form of competition, and the Angels seem content with platooning him and giving him the best chance to succeed. Having already struggled in the minors this season, getting the opportunity to figure things out against the best players in the world may grant him the momentum necessary to cash in on these adjustments. There are tangible fixes Ballesteros can make to his approach, and we’ve already seen him tinker with his swing. As the Kroenke ownership era gets underway and new hitting infrastructure is inevitably implemented, Ballesteros should have even more tools at his disposal.
The trajectories of both Ballesteros’s batted balls and his long-term value are changing. It’s no longer safe to pencil him in as an everyday DH, buying time to be a big-league catcher. Until things start to turn around, it’ll get harder to justify a commitment to playing time, too. But Ballesteros has proven to be malleable already, and I’m willing to bet on the bat speed and bat-to-ball skills giving him a chance to claw himself out of this deficit.
There’s a world in which Ballesteros is a 20-homer guy as the long side of a DH platoon. While that falls short of the expectations we collectively had for Ballesteros, it would be a favorable outcome from his current trajectory, and one that might be proof of concept for a new administration’s ability to become a serious organization.
Photos by Icon Sports Wire and Adobe Stock | Graphic by Carlos Leano
