The world of advanced metrics continues to grow in the quest to analyze and understand the smallest idiosyncrasies that make baseball players who they are.
In 2025, Major League Baseball added some interesting new Statcast metrics about swing paths and attack angles that built on previous metrics, like swing length and bat speed.
Recently, MLB released new swing path and attack angle data for 2026 that may help give us an idea of where the Colorado Rockies are at and if there is an area for improvement.
What are swing path and attack angle metrics?
For those unfamiliar, the four metrics that make up this category of Statcast metrics are as follows:
- swing path (tilt)
- attack angle
- ideal attack angle
- attack direction
Swing path tells the shape of the swing on the way toward contact, with the tilt being defined as the angle of the bat path over the last 40 milliseconds prior to contact. This metric is used to determine how steep or flat a swing is; in layman’s terms, the higher the number, the steeper the swing.
Attack angle describes what is happening with the bat at the point of contact. It defines what vertical angle the bat is moving at as it impacts the ball (or comes closest to doing so, on misses). Positive numbers indicate a bat that is moving upwards, while negative numbers indicate a bat moving downwards at the point of contact. The ideal attack angle is defined as “the percentage of swings with an attack angle between 5° and 20° at the point of contact.” Hitting the ball with an upward-moving bat creates a higher exit velocity and optimal launch angle, which are necessary to hit doubles, triples, and home runs.
Attack direction, then, helps indicate the horizontal angle the bat is traveling as it makes contact. This is mostly used to determine whether a batter is a “pull” or “oppo” hitter.
For our purposes, we will be focusing on attack angle since swing path is more of a stylistic choice. (It’s not as simple as “more is good” or “less is bad” in that department.) Attack angle, however, tells a bit more about the Rockies’ offense and what’s going on.
The Rockies as a team
Entering June, the Rockies sport a team attack angle of 10°, which lands even with the league average alongside 13 other teams.
However, the Rockies have an ideal attack angle of 49.1%, which ranks 26th in baseball, just ahead of the Tampa Bay Rays (49%), Los Angeles Angels (48%), Athletics (47.8%), and Pittsburgh Pirates (46.6%). The league average for ideal attack angle is 51.2%.
This means that while the Rockies have an attack angle that falls in line with the majority of MLB on swings, they have managed to make contact with that ideal attack angle less than half the time. Evidence is shown in their 26% whiff rate that comes from a league-leading 51.8% swing rate.
Like other stats in baseball, however, there are nuances to attack angle because it depends on pitch location and pitch type as well. Attack angles will be higher on low pitches and lower on higher pitches. The Rockies have a 13° to 16° angle range on lower pitches and about a 9° angle on higher pitches. A higher angel will lead to more flyballs, while a lower angel will lead to more line drives. Negative angles end up with more groundballs.
The Rockies have a league-leading 21.2% line-drive rate, suggesting a flatter swing at the point of contact, despite a team swing path of 34°, which ranks as the fifth-steepest in baseball. A flatter swing isn’t inherently bad, as line drives are a quality result of making contact, but it does point to the lack of power the team has in the home run department. They rank 22nd in flyball rate at 37.9% and 20th in homerun-to-flyball rate at 9.6%.
The difference in the Rockies’ offense is also reflected over the last two months. In April, the Rockies had an ideal attack angle of 50.8%, while May dropped down to 47.2% and saw the club hitting more ground balls and fewer flyballs.
An important element to understanding attack angle is that it is a timing metric.
During a swing, there are numerous attack angles, and the one that matters is the point at which contact occurs. Pitches are thrown from a downward angle (usually around 6° to 10°). An upward (positive) attack angle allows your bat to travel along the same plane as the ball, giving a wider margin for error to make solid contact. Having an undesirable attack angle might be about being early or late, as well as the way the hitter is moving the bat. It’s not a case of “more is better” because too much or too little can be a problem, hence the ideal range.
Individual Rockies
Attack angle gives us a better understanding of a hitter’s profile, and so, let’s take a look at a couple of the Rockies to illustrate the make-up of the team.
Hunter Goodman
Hunter Goodman falls in line with many of the power hitters across the league. Averaging an attack angle of 15°, Goodman often catches the ball with an upward trajectory, which translates to a team-leading 14 home runs. Keep an eye on the red arrow in the video below (starting at four seconds) that showcases his attack angle through his swing to the point of contact.
What’s interesting is that Goodman’s 24° swing path is the “flattest” on the team, while the attack angle is the highest among the qualified hitters. The video shows that while Goodman has a more direct swing path to the ball, he manages to create lift by angling his bat in those final four milliseconds to lift the ball. He currently has a career-high 27.5% line drive rate and is matching his career-high 33.6% fly ball rate. Add in his incredible bat speed, and you get a hitter who can pound the ball at the expense of more strikeouts.
Most importantly, Goodman has an ideal attack angle 65.3% of the time, which ties him for fourth-highest in baseball among qualified hitters. That means that for roughly every six or seven swings out of 10, he is getting the most offensive value potential, which is what you want out of your power bat.
Kyle Karros
On the other side of the spectrum is Kyle Karros. Featuring a 33.3% line drive rate, Karros has generally been more of a contact-first bat with not a lot of oomph. A lower-than-league-average bat speed and an attack angle of 7° have led to more line drives and ground balls in his young big league career.
What makes Karros’ swing interesting is that he has one of the steepest swing paths on the team at 37°, and yet meets the ball on a more even plane at the point of contact. It messes with a preconceived notion that a player with a steeper swing would naturally hit the ball with a higher attack angle, just as a player with a flatter swing would have a lower attack angle.
However, the attack angle is a good measure of swing adjustments for a player, and Karros has demonstrated that over the last week. Starting on May 25, Karros has averaged an attack angle of 12° with 48.8% ideal attack angle rate. The swing path hasn’t changed, but Karros managed to elevate the ball more, which has resulted in two home runs (even if one was against a position player) and a ball in the air 33% of the time. Ideally, Karros raising his average attack angle even just a few degrees upward to the 10° mark could help him find that power a bit more consistently and cut down on the grounders.
More to be learned
There is so much more that can be learned from exploring the intricacies of these metrics that can’t be covered in this article. You can gain a lot just from a glimpse at the basic metrics, and I encourage you to explore these metrics and visuals on Baseball Savant.
For instance, look at the entire 2026 Rockies offense in this image. Some interesting things are going on here.
In general, the Rockies are a team that focuses on line drives and could benefit from more players finding an optimal swing more often than not. These metrics are all about maximizing offensive value, something the Rockies aren’t quite doing across the board at times.
One size does not fit all when it comes to swinging the bat. Each batter is unique with different stances and mechanics, and these metrics tell just a small part of the story and help paint the picture of an offensive profile.
On the Farm
Triple-A: Salt Lake Bees 7, Albuquerque Isotopes 4
The Albuquerque Isotopes put together a rough game at the plate as they managed just four runs in the middle innings, but struck out 13 times against one walk. Andrew Knizner had a home run as part of a two-hit night but that was about all that highlighted the offense. Still, they could have done just enough to win, but Isotopes starter Valente Bellozo saw his solid start fall apart in the fifth inning. Scoreless through four, Bellozo coughed up six runs and recorded just one out. The bullpen combo of Mason Green and Ryan Miller limited Salt Lake to just one run the rest of the way, but the offense couldn’t make up the lost ground.
Double-A: Portland Sea Dogs 9, Hartford Yard Goats 0
Despite collecting six hits, the Hartford Yard Goats were shut out as they struggled to get runners in scoring position and went 0-for-3 when they did. GJ Hill led the way with two hits, but eight strikeouts and three double-plays killed any momentum for the Yard Goats. Jake Brooks started on the mound and delivered six solid innings, allowing four runs on four hits with four strikeouts and two walks. Cade Denton was roughed up in relief, unfortunately, as he allowed five runs on six hits in two innings of work.
High-A: Hillsboro Hops 7, Spokane Indians 6
Spokane lost a close one as a two-run seventh by Hillsboro made up the difference. The Indians controlled the first half of the game 5-0 through four innings before Hillsboro got after starter Everett Catlett for four runs in the fifth. Tyler Hampu took the loss after allowing three runs on two hits in his 1.2 innings of work. Offensively, Spokane had 11 hits with Robert Calaz going 3-for-4 with a home run. The team struck out six times with two walks and went 2-for-6 with runners in scoring position.
Low-A: Fresno Grizzlies 6, Lake Elsinore Storm 5
A close-knit game saw the Fresno Grizzlies come out on top thanks to a two-run ninth inning rally to walk off the Lake Elsinore Storm. Trailing 5-4 in the ninth, Cameron Nelson laced a one-out double to score the equalizer run before coming in to score the winning run on a Roldy Brito single. Fresno had 10 hits with Nelson collecting a triple as well, while Tanner Thach and Clayton Gray each had a home run. Angel Jimenez started for the Grizzlies and went five innings, allowing just two runs on two hits with three walks and six strikeouts. Jhon Medina and Dylan Crooks followed in relief and struggled with command, issuing six free passes and allowing three runs in 2.2 combined innings of work. Seth Clausen took the win with his 1.1 scoreless innings of work.
10 big questions as Trade Deadline season approaches | MLB.com
The trade deadline is just two months away so it’s time to start considering some questions. Mark Feinsand mentions the Rockies as a likely seller, though they may not have many assets. He points to Antonio Senzatela, Tomoyuki Sugano, and Brennan Bernardino as likely candidates with the most value.
Topes Notes: Is Charlie Condon’s fast track to the majors back on? | The Albuquerque Journal ($)
Charlie Condon (No. 1 PuRP) has been on a tear for Albuquerque the last two weeks. Geoff Grammer considers the possibility of Condon getting back on track for a 2026 MLB debut.
Affected by Altitude Episode 213: Mayday! Send Help! | Rocky Mountain Rooftop
This week, Evan Lang and I talk about Ezequiel Tovar heating up at the plate, the need for reinforcements in the pitching department, and reflect on May with our players of the month.
Join the conversation!
Sign up for a user account and get:
- Fewer ads
- Create community posts
- Comment on articles, community posts
- Rec comments, community posts
- New, improved notifications system!
Please keep in mind our Purple Row Community Guidelines when you’re commenting. Thanks!











