Cubs Video
Moises Ballesteros entered 2025 as a top prospect who had already performed at the Triple-A level at 20 years of age and looked primed to make an impact with the big-league club. After a very brief and less-than-stellar debut in May, he rejoined the club in September and put together a .999 OPS that convinced the Chicago Cubs to put him on the playoff roster. It figured that he would heavily factor in to the Cubs' plans in 2026 and beyond, and so far he is doing just that.
Ballesteros was known as a bat-first prospect with a contact-oriented, all fields approach and he largely performed as such in September of last year. With Carson Kelly and Miguel Amaya in the fold again, he went into the offseason knowing that his clearest path to playing time might be as DH and made some clear changes in an attempt to win that job.
First, he increased his average bat speed by 1.6 mph, up to 74.3 mph. Great work! Swinging the bat faster generally leads to higher exit velocities, which is exactly what has happened this year as Mo’s average exit velocity has leapt from 89 to 93. The major league average on balls with an 89-mph exit velocity is .227; on balls with a 93-mph exit velocity it is .260. For a guy who was already sporting an OPS that was 52% better than league average, that is an extremely valuable change. But it appears Ballesteros did not stop there.
While we can certainly attribute some of the EV increase to the bat speed increase, it doesn’t explain the entirety of the jump. Swinging fast is good, but swinging fast and on plane is even better. What do I mean by on plane?
Every pitch thrown from the mound has a descent angle towards the plate. Most pitches are between -5 and -20 degrees, breaking balls obviously being steeper than fastballs. Every swing has an attack angle (yes, John Smoltz, every swing ever). Hitters want to make as flush contact as possible, so they want to match the descent angle by swinging with an attack angle of between 5 and 20 degrees to give themselves the best opportunity to find the barrel. A lower attack angle swing is likely to lead to a ground ball; a higher attack angle to a fly ball.
Ballesteros had an average attack angle of 5 degrees last year, right at the bottom of the range. This is likely what led to a 62% ground ball rate, not where he wants to be as someone with 1st-percentile foot speed, regardless of how hard he is hitting the ball. This season, he has increased his average to 8 degrees.
Three degrees may not seem like a lot, but Statcast tracks the percentage of time a hitter swings between 5 and 20 degrees as ideal attack angle%, and boy does Ballesteros' year-over-year difference stand out. In 2025, he was in the ideal attack angle range just 46% of the time; in 2026, that number has exploded to 65%. So, not only is he swinging harder, he is on plane with the incoming pitch more frequently, leading him to hit it in the air 60% of the time. So, he is swinging faster and hitting the ball flush and in the air more frequently, leading to the aforementioned jump in EV.
It doesn’t seem to be a fluke either. The biggest driver behind the increase in his ideal attack angle% looks to simply be an intent to catch the ball out front of the plate, as he has moved his intercept point almost six inches, from 4.5 inches deep to about an inch in front of the plate. A swing will have a higher attack angle towards the finish and catching the ball out front has allowed Ballesteros to make more contact when his swing is at a higher attack angle. In simpler terms, he is trying to pull the ball in the air and it is working.
There is one other left-handed hitter in 2026 that swings the bat at 74 mph or higher and remains in the ideal attack angle range at least 65% of the time: Kyle Schwarber. That is mighty fine company to keep for a 22-year-old trying to stake his claim to the DH role on the North Side.







Recommended Comments
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now