MLB's Launch Angle
MLB data has never been better, easier to access, and more useful in explaining the game. One such metric, launch angle, has recently been taking over the league.

Introduction
MLB is in the midst of a hitting revolution. Gone are the days of slap hitting shortstops who beat out weakly hit ground balls for base hits. Instead, the game has dramatized towards sluggers who crush the ball as far as humanly possible. If you've watched any baseball though, you'll inherently know that hitting the ball hard isn't the end-all-be-all. A ball that's smoked into the ground is way less valuable than a ball that's smoked into the air. The former is a loud ground out to third. The latter is a home run.
The angle at which a ball is hit into the field of play is what we call a player's launch angle, and it can be key in understanding a playerâs underlying offensive abilities, potential, and risk.
Goal
This project will investigate launch angle and its effect on offensive performance within the MLB.
Data Collection
Baseball Savant is a treasure trove of baseball data, especially public batted ball data. I gathered the following information from the site:
last_name
first_name
player_id
year
xba
: expected batting averagexslg
: expected slugging percentagewoba
: weighted on base averagexwoba
: expected weighted on base averagexiso
: expected isolated powerwobacon
: weighted on base average on contactxwobacon
: expected weighted on base average on contactexit_velocity
launch_angle
barrel_batted_rate
If you are unfamiliar with baseball statistics, no problem! We'll mainly be looking at exit velocity (how hard the ball leaves a player's bat), launch angle (the angle at which the ball leaves a player's bat), and xwOBA (a predictive measure of offensive performance). I decided to utilize xwOBA as it is a predictive, rather than observational, statistic. Batters have control over how hard they hit a baseball and their launch angle but they arenât in control over what happens once the batted ball is hit into play. xwOBA strips away what batter's can't control (good/bad defensive, luck, etc.) and only focuses on what a batter can truly account for allowing us to have a greater understanding and predictor of future offensive success.
Thankfully, this dataset is impeccable and wonât require any cleaning. Letâs proceed with the analysis!
Data Analysis
Let's first take a look at the players with the highest average exit velocities. Iâm making a basic assumption that the harder a player hits the ball the better, but we can double check that here.
1SELECT
2 last_name,
3 first_name,
4 year,
5 exit_velocity_avg,
6 launch_angle_avg
7FROM
8 stats
9ORDER BY
10 exit_velocity_avg DESC, xwoba
11LIMIT 20;
Last Name | First Name | Year | Average Exit Velocity | Average Launch Angle |
---|---|---|---|---|
Stanton | Giancarlo | 2015 | 96.1 | 15.7 |
Judge | Aaron | 2019 | 96 | 11.2 |
Tatis Jr. | Fernando | 2020 | 95.9 | 8.7 |
Judge | Aaron | 2022 | 95.9 | 15 |
Judge | Aaron | 2021 | 95.8 | 11.6 |
Sano | Miguel | 2020 | 95.2 | 20.2 |
Alvarez | Yordan | 2022 | 95.2 | 12.3 |
Stanton | Giancarlo | 2021 | 95.1 | 10.3 |
Guerrero Jr. | Vladimir | 2021 | 95.1 | 9.4 |
Stanton | Giancarlo | 2022 | 95 | 10.8 |
Judge | Aaron | 2017 | 95 | 15.8 |
Gallo | Joey | 2019 | 94.8 | 22.4 |
Judge | Aaron | 2018 | 94.7 | 12.4 |
Cruz Jr. | Nelson | 2016 | 94.6 | 11.2 |
Sano | Miguel | 2019 | 94.4 | 15.9 |
Gallo | Joey | 2018 | 94.3 | 21.9 |
Longoria | Evan | 2021 | 94.1 | 15.5 |
Sano | Miguel | 2015 | 94.1 | 16.3 |
Donaldson | Josh | 2021 | 94.1 | 14.6 |
Yelich | Christian | 2020 | 94 | 7.1 |
Scroll to view the full table.
Itâs great to see an assumption made true. This is a list of the most powerful and best hitters in the league. I mean, 2022 Aaron Judge comes fourth on this list and he just had one of the best offensive seasons in MLB history. Now that we have this understanding under our belt (hit the ball hard = good) we can begin to dive into launch angleâs effect on offensive performance.
To begin with, average launch angles within MLB adheres to a normal distribution. Not many have very low average launch angles and not many have very high average launch angles.

Now let's see how a player's launch angle affects their xwOBA.
1SELECT
2 launch_angle_avg,
3 AVG(xwoba)
4FROM
5 stats
6GROUP BY
7 launch_angle_avg
8ORDER BY
9 AVG(xwoba) DESC;
Average Launch Angle | Average xwOBA |
---|---|
23.1 | 0.428 |
24.6 | 0.395 |
2.7 | 0.388 |
22 | 0.385 |
21.2 | 0.383 |
23 | 0.3765 |
23.2 | 0.3635 |
22.4 | 0.35766666666666663 |
17.2 | 0.3526 |
22.6 | 0.34933333333333333 |
18.6 | 0.349 |
5.7 | 0.347 |
16.6 | 0.34614285714285714 |
4.4 | 0.346 |
22.2 | 0.3446 |
29.7 | 0.344 |
14.4 | 0.3439444444444444 |
22.5 | 0.3426666666666667 |
18.5 | 0.3421111111111111 |
20.1 | 0.34199999999999997 |
17.9 | 0.3416666666666666 |
15.7 | 0.34137499999999993 |
13.3 | 0.34011764705882347 |
15.9 | 0.3394285714285714 |
18.1 | 0.33809999999999996 |
16 | 0.33809090909090905 |
18.2 | 0.33741176470588236 |
20.8 | 0.33725000000000005 |
19.5 | 0.33725 |
24 | 0.337 |
13.4 | 0.3364761904761905 |
18.4 | 0.33575 |
21.4 | 0.3355 |
21.7 | 0.33516666666666667 |
18 | 0.3348 |
18.8 | 0.33475 |
21.6 | 0.33466666666666667 |
16.3 | 0.33443750000000005 |
18.7 | 0.33414285714285713 |
6.5 | 0.33375 |
15.5 | 0.3332 |
16.8 | 0.3332 |
19.3 | 0.333 |
17.5 | 0.333 |
19 | 0.33269230769230773 |
16.5 | 0.331875 |
13.8 | 0.3317272727272727 |
20.5 | 0.3316 |
14.5 | 0.3312105263157895 |
Scroll to view the full table.
Note, this is just a small sample of the full result-set. To view the full result-set, please visit my GitHub.
While we can see that the highest xwOBAs tend to generally come with a launch angle in the high teens to twenties, this table isnât too informative. I'll make a quick plot to see if their relationship can be made any clearer.

Unfortunately, their relationship is still not entirely clear, or if there even is one! I do, however, think that the data is maybe a little to granular to grasp their connectivity. Let's break the launch angles into buckets of 5 degrees.
1SELECT
2 AVG(xwoba),
3 CASE
4 WHEN launch_angle_avg <= 0 THEN '0 and below'
5 WHEN launch_angle_avg <= 5 THEN '0.001 - 5'
6 WHEN launch_angle_avg <= 10 THEN '5.001 - 10'
7 WHEN launch_angle_avg <= 15 THEN '10.001 - 15'
8 WHEN launch_angle_avg <= 20 THEN '15.001 - 20'
9 WHEN launch_angle_avg <= 25 THEN '20.001 - 25'
10 ELSE '25.001 - 30'
11 END as 'launch_angle'
12FROM
13 stats
14GROUP BY
15 CASE
16 WHEN launch_angle_avg <= 0 THEN '0 and below'
17 WHEN launch_angle_avg <= 5 THEN '0.001 - 5'
18 WHEN launch_angle_avg <= 10 THEN '5.001 - 10'
19 WHEN launch_angle_avg <= 15 THEN '10.001 - 15'
20 WHEN launch_angle_avg <= 20 THEN '15.001 - 20'
21 WHEN launch_angle_avg <= 25 THEN '20.001 - 25'
22 ELSE '25.001 - 30'
23 END
24ORDER BY
25 launch_angle_avg;
Average xwOBA | Launch Angle |
---|---|
0.2791428571428572 | 0 and below |
0.3058068965517241 | 0.001 - 5 |
0.31223861852433277 | 5.001 - 10 |
0.3212822429906546 | 10.001 - 15 |
0.3258476923076924 | 15.001 - 20 |
0.32534313725490205 | 20.001 - 25 |
0.31367 | 25.001 - 30 |
Scroll to view the full table.

Thatâs much better. As a player's average launch angle increases so does their xwOBA. These increases in xwOBA may not seem like much, but a .200 point difference is the gap between Jon Berti (0.306 xwOBA), certified role-player, and Xander Bogaerts (.323 xwOBA), four time All-Star and five time Silver Slugger.
We do see, however, that increasing launch angle too much can have negative effects on xwOBA. Intuitively this makes sense, though. As launch angles continue to increase, a player will simply pop the ball straight up, which is an easy out.
Letâs find the players with average launch angles greater than or equal to 20°.
1SELECT
2 last_name,
3 first_name,
4 year,
5 launch_angle_avg,
6 xwoba
7FROM
8 stats
9WHERE
10 launch_angle_avg >= 20
11ORDER BY
12 xwoba DESC
13LIMIT 25;
Last Name | First Name | Year | Average Launch Angle | xwOBA |
---|---|---|---|---|
Trout | Mike | 2019 | 22.2 | 0.46 |
Trout | Mike | 2020 | 23.1 | 0.428 |
Gallo | Joey | 2019 | 22.4 | 0.397 |
Trout | Mike | 2022 | 24.6 | 0.395 |
Carpenter | Matt | 2018 | 21.6 | 0.391 |
Bryant | Kris | 2016 | 20.8 | 0.386 |
Belt | Brandon | 2017 | 22 | 0.385 |
Belt | Brandon | 2016 | 21.2 | 0.383 |
Carpenter | Matt | 2017 | 22.6 | 0.381 |
Gallo | Joey | 2017 | 23 | 0.379 |
Hoskins | Rhys | 2021 | 21.7 | 0.378 |
Belt | Brandon | 2021 | 23 | 0.374 |
Ramirez | Jose | 2020 | 23.2 | 0.373 |
Gallo | Joey | 2018 | 21.9 | 0.371 |
Jansen | Danny | 2022 | 22.2 | 0.368 |
Encarnacion | Edwin | 2019 | 22.5 | 0.367 |
Polanco | Jorge | 2022 | 21.7 | 0.358 |
Buxton | Byron | 2022 | 21.4 | 0.358 |
Frazier | Todd | 2017 | 20.3 | 0.355 |
Zunino | Mike | 2021 | 23.2 | 0.354 |
Gallo | Joey | 2021 | 22.7 | 0.354 |
Santander | Anthony | 2022 | 21.4 | 0.352 |
Belt | Brandon | 2018 | 23.3 | 0.351 |
Hoskins | Rhys | 2018 | 22.6 | 0.349 |
Bruce | Jay | 2019 | 21.6 | 0.346 |
Scroll to view the full table.

It's always a good thing to see a list populated with Trout! Certainly not bad when Gallo and Jose Ramirez are included as well when trying to find the best hitters in the MLB.
What about on the other end of the spectrum?
1SELECT
2 last_name,
3 first_name,
4 year,
5 launch_angle_avg,
6 xwoba
7FROM
8 stats
9WHERE
10 launch_angle_avg <= 5
11ORDER BY
12 xwoba
13LIMIT 25;
Last Name | First Name | Year | Average Launch Angle | xwOBA |
---|---|---|---|---|
Strange-Gordon | Dee | 2016 | 3.7 | 0.228 |
Arcia | Orlando | 2018 | 4 | 0.238 |
Romine | Andrew | 2015 | 3.6 | 0.239 |
Lopez | Nicky | 2019 | 3.1 | 0.242 |
Villar | Jonathan | 2022 | -0.7 | 0.247 |
Neuse | Sheldon | 2022 | 1.5 | 0.254 |
Suzuki | Ichiro | 2015 | 3.3 | 0.256 |
Segura | Jean | 2015 | 4.3 | 0.258 |
Pache | Cristian | 2022 | 3.8 | 0.259 |
Castillo | Rusney | 2015 | 0.9 | 0.259 |
Villar | Jonathan | 2020 | 1.6 | 0.261 |
Simmons | Andrelton | 2021 | 3.9 | 0.261 |
Suzuki | Ichiro | 2017 | 5 | 0.262 |
Gutierrez | Kelvin | 2021 | 2.3 | 0.263 |
Fuld | Sam | 2015 | 3.2 | 0.263 |
Slater | Austin | 2018 | 2.6 | 0.264 |
Desmond | Ian | 2017 | 0 | 0.265 |
Villar | Jonathan | 2017 | 3.1 | 0.266 |
Haseley | Adam | 2019 | 5 | 0.269 |
Celestino | Gilberto | 2022 | -1.9 | 0.27 |
Iglesias | Jose | 2015 | 4.5 | 0.272 |
Lopez | Nicky | 2022 | 4.9 | 0.273 |
Wolters | Tony | 2018 | 4.9 | 0.273 |
Tapia | Raimel | 2021 | -4.4 | 0.273 |
Strange-Gordon | Dee | 2017 | 2.2 | 0.274 |
Scroll to view the full table.

Not so great. Dee Strange-Gordon was frequently shuffled between the majors and AAA, Orlando Arcia has had trouble sticking in the pros, and to be quite frank, I've never heard of Andrew Romine đ€·âââ
Let's go back to looking at our players who hit the ball really hard over the years of data we have (2015-2022).
1SELECT
2 last_name,
3 first_name,
4 year,
5 exit_velocity_avg,
6 launch_angle_avg
7FROM
8 stats
9ORDER BY
10 exit_velocity_avg DESC, xwoba
11LIMIT 50;
Last Name | First Name | Year | Average Exit Velocity | Average Launch Angle |
---|---|---|---|---|
Stanton | Giancarlo | 2015 | 96.1 | 15.7 |
Judge | Aaron | 2019 | 96 | 11.2 |
Tatis Jr. | Fernando | 2020 | 95.9 | 8.7 |
Judge | Aaron | 2022 | 95.9 | 15 |
Judge | Aaron | 2021 | 95.8 | 11.6 |
Sano | Miguel | 2020 | 95.2 | 20.2 |
Alvarez | Yordan | 2022 | 95.2 | 12.3 |
Stanton | Giancarlo | 2021 | 95.1 | 10.3 |
Guerrero Jr. | Vladimir | 2021 | 95.1 | 9.4 |
Stanton | Giancarlo | 2022 | 95 | 10.8 |
Judge | Aaron | 2017 | 95 | 15.8 |
Gallo | Joey | 2019 | 94.8 | 22.4 |
Judge | Aaron | 2018 | 94.7 | 12.4 |
Cruz Jr. | Nelson | 2016 | 94.6 | 11.2 |
Sano | Miguel | 2019 | 94.4 | 15.9 |
Gallo | Joey | 2018 | 94.3 | 21.9 |
Longoria | Evan | 2021 | 94.1 | 15.5 |
Sano | Miguel | 2015 | 94.1 | 16.3 |
Donaldson | Josh | 2021 | 94.1 | 14.6 |
Yelich | Christian | 2020 | 94 | 7.1 |
Stanton | Giancarlo | 2016 | 93.9 | 13.9 |
Cruz Jr. | Nelson | 2018 | 93.9 | 12.8 |
Tatis Jr. | Fernando | 2021 | 93.9 | 13.8 |
Acuna Jr. | Ronald | 2021 | 93.8 | 18.2 |
Cabrera | Miguel | 2015 | 93.8 | 12.2 |
Stanton | Giancarlo | 2018 | 93.7 | 11.7 |
Cruz Jr. | Nelson | 2019 | 93.7 | 13.1 |
Trout | Mike | 2020 | 93.7 | 23.1 |
Ohtani | Shohei | 2021 | 93.6 | 16.6 |
Cabrera | Miguel | 2016 | 93.6 | 12.3 |
Broxton | Keon | 2016 | 93.5 | 9.6 |
Bote | David | 2018 | 93.5 | 3.7 |
Schwarber | Kyle | 2019 | 93.5 | 15.5 |
Sano | Miguel | 2021 | 93.4 | 17.6 |
Flowers | Tyler | 2016 | 93.3 | 12.8 |
Olson | Matt | 2018 | 93.3 | 18.1 |
Reyes | Franmil | 2019 | 93.3 | 9.5 |
Schwarber | Kyle | 2022 | 93.3 | 19.2 |
Gallo | Joey | 2017 | 93.3 | 23 |
Hernandez | Teoscar | 2020 | 93.3 | 15.3 |
Yelich | Christian | 2019 | 93.3 | 11.3 |
Pederson | Joc | 2022 | 93.2 | 14.8 |
Cabrera | Miguel | 2020 | 93.2 | 12.1 |
Alvarez | Yordan | 2021 | 93.2 | 14.1 |
Cruz Jr. | Nelson | 2017 | 93.2 | 12.4 |
Ortiz | David | 2016 | 93.2 | 16.9 |
Seager | Corey | 2020 | 93.2 | 11.9 |
Chapman | Matt | 2018 | 93.1 | 14.9 |
Holliday | Matt | 2016 | 93.1 | 8.6 |
Moncada | Yoan | 2019 | 93.1 | 12.3 |
Scroll to view the full table.
Even though we have the stars of the MLB here, we also have some surprising names like David Bote and Keon Broxton coming in the top 35 average exit velocities seasons since 2015. What gives?
1SELECT
2 last_name,
3 first_name,
4 year,
5 exit_velocity_avg,
6 launch_angle_avg,
7 xwoba
8FROM
9 stats
10WHERE
11 last_name = 'Broxton'
12ORDER BY
13 exit_velocity_avg DESC;
Last Name | First Name | Year | Average Exit Velocity | Average Launch Angle | xwOBA |
---|---|---|---|---|---|
Broxton | Keon | 2016 | 93.5 | 9.6 | 0.326 |
Broxton | Keon | 2019 | 88.1 | 10.3 | 0.233 |
Broxton | Keon | 2017 | 87.2 | 10.3 | 0.308 |
Scroll to view the full table.
Despite Broxton having one of the best seasons in professional baseball since 2015 in terms of exit velocity, he had a poor xwOBA. Why? Take a look at the launch angle for 2016. Broxton's 9.6° is far from optimal and an important lesson. Premium exit velocity cannot make up for poor launch angles. Both parts of the equation are needed to be an elite hitter.
Let's take a look at what Broxton could have accomplished with the same average exit velocity but with a launch angle 5°-10° higher.
1SELECT
2 AVG(xwoba)
3FROM
4 stats
5WHERE
6 (exit_velocity_avg BETWEEN 93 AND 94) AND
7 (launch_angle_avg >= 14.6 AND launch_angle_avg <=19.6);
AVG(xwOBA) |
---|
.387 |
Scroll to view the full table.
Wow, thatâs a huge difference compared to his observed .326 xwOBA, but let's put that xwOBA in context with some player comps.
1SELECT
2 last_name,
3 first_name,
4 year,
5 exit_velocity_avg,
6 launch_angle_avg,
7 xwoba
8FROM
9 stats
10WHERE
11 (exit_velocity_avg BETWEEN 93 AND 94) AND
12 (launch_angle_avg >= 14.6 AND launch_angle_avg <=19.6)
13ORDER BY
14 xwoba DESC;
Last Name | First Name | Year | Average Exit Velocity | Average Launch Angle | xwOBA |
---|---|---|---|---|---|
Ozuna | Marcell | 2020 | 93 | 16.4 | 0.436 |
Ortiz | David | 2016 | 93.2 | 16.9 | 0.43 |
Acuna Jr. | Ronald | 2021 | 93.8 | 18.2 | 0.429 |
Ortiz | David | 2015 | 93 | 15.7 | 0.42 |
Ohtani | Shohei | 2021 | 93.6 | 16.6 | 0.411 |
Hernandez | Teoscar | 2020 | 93.3 | 15.3 | 0.401 |
O'Neill | Tyler | 2021 | 93 | 17.8 | 0.392 |
Schwarber | Kyle | 2022 | 93.3 | 19.2 | 0.375 |
Schwarber | Kyle | 2019 | 93.5 | 15.5 | 0.375 |
Perez | Salvador | 2021 | 93 | 15.9 | 0.374 |
Pederson | Joc | 2022 | 93.2 | 14.8 | 0.367 |
Olson | Matt | 2018 | 93.3 | 18.1 | 0.357 |
Chapman | Matt | 2018 | 93.1 | 14.9 | 0.338 |
Sano | Miguel | 2021 | 93.4 | 17.6 | 0.322 |
Scroll to view the full table.
Jeez, with an improved launch angle but the same average exit velocity, we could have expected him to be comparable to Marcell Ozuna, David Ortiz, Ronald Acuna Jr., and Shohei Ohtani! For those keeping score at home that's a combined 17 All Star appearences, 2 MVP awards, and 12 Silver Slugger awards. Keon Broxton was absolutely mashing the ball in 2016, he just didnât have an optimal launch angle to capitalize.
Broxton is a great example of how important a playerâs launch angle can be. It alone wonât drive offensive performance, but itâs difficult to be a truly great hitter without an optimal launch angle. If he were still playing, he would be a prime candidate for someone who would benefit from a re-tooled swing focused on adding extra lift.
Letâs see if we can find other players that fit this mold â above average exit velocities but sub-optimal launch angles. First we'll need to find what an above average exit velocity is.
1SELECT
2 AVG(exit_velocity_avg)
3FROM
4 stats
5ORDER BY
6 year DESC;
Since 2015, the average exit velocity in MLB has been 88.52mph.
Now let's find the average launch angle.
1SELECT
2 AVG(launch_angle_avg)
3FROM
4 stats
5ORDER BY
6 year DESC;
The average launch angle in MLB is 12.41° degrees.
Great, now we have our criteria for a player who could potentially benefit from a re-worked swing â an average exit velocity of 89mph or higher and an average launch angle of 12° or lower.
1SELECT
2 last_name,
3 first_name,
4 year,
5 exit_velocity_avg,
6 launch_angle_avg
7FROM
8 stats
9WHERE
10 launch_angle_avg < 12 AND exit_velocity_avg > 89
11ORDER BY
12 launch_angle_avg, exit_velocity_avg DESC
13LIMIT 30;
Last Name | First Name | Year | Average Exit Velocity | Average Launch Angle |
---|---|---|---|---|
Villar | Jonathan | 2022 | 89.6 | -0.7 |
Ramos | Wilson | 2019 | 90 | -0.1 |
Yelich | Christian | 2015 | 91.7 | 0.1 |
Desmond | Ian | 2018 | 90.1 | 0.1 |
Morse | Michael | 2015 | 90.4 | 0.4 |
Kendrick III | Howie | 2015 | 90.3 | 1.2 |
Neuse | Sheldon | 2022 | 89.1 | 1.5 |
Kendrick III | Howie | 2016 | 90.5 | 1.7 |
Alfaro | Jorge | 2021 | 90.9 | 1.8 |
Escobar | Yunel | 2016 | 89.3 | 1.9 |
Hosmer | Eric | 2019 | 90.8 | 2.1 |
Pence | Hunter | 2015 | 90.1 | 2.1 |
Freese | David | 2016 | 91 | 2.2 |
LeMahieu | DJ | 2020 | 91.3 | 2.3 |
Gutierrez | Kelvin | 2021 | 89.9 | 2.3 |
Butler | Joey | 2015 | 90.1 | 2.4 |
Hayes | Ke'Bryan | 2021 | 90.2 | 2.6 |
Yelich | Christian | 2016 | 92.6 | 2.7 |
Yelich | Christian | 2021 | 91 | 2.8 |
Greene | Riley | 2022 | 89.5 | 2.8 |
LeMahieu | DJ | 2015 | 90.5 | 2.9 |
LeMahieu | DJ | 2022 | 89.2 | 3 |
Perez | Roberto | 2015 | 90.6 | 3.3 |
Hosmer | Eric | 2021 | 90.5 | 3.3 |
Davis | J.D. | 2020 | 90.1 | 3.3 |
LeMahieu | DJ | 2017 | 89.3 | 3.3 |
Yelich | Christian | 2022 | 91.5 | 3.6 |
Bote | David | 2018 | 93.5 | 3.7 |
Mauer | Joe | 2016 | 89.9 | 3.8 |
Pache | Cristian | 2022 | 89.4 | 3.8 |
Scroll to view the full table.
The list for the most part is pretty uninspiring in terms of offensive weapons, but that's the point! These guys hit the ball hard but into the ground too often to be noticeably productive. #11 on this list is Eric Hosmer, the poster child for someone who hits the ball hard but kills a lot of worms in the process. Similarly, at #3 we have the 2015, pre-MVP version of Christian Yelich. Let's take a look at his career trajectory.
1SELECT
2 last_name,
3 first_name,
4 year,
5 exit_velocity_avg,
6 launch_angle_avg,
7 xwoba
8FROM
9 stats
10WHERE
11 last_name = 'Yelich'
12ORDER BY
13 year;
Last Name | First Name | Year | Average Exit Velocity | Average Launch Angle | xwOBA |
---|---|---|---|---|---|
Yelich | Christian | 2015 | 91.7 | 0.1 | 0.358 |
Yelich | Christian | 2016 | 92.6 | 2.7 | 0.388 |
Yelich | Christian | 2017 | 90.6 | 4.6 | 0.363 |
Yelich | Christian | 2018 | 92.6 | 5 | 0.416 |
Yelich | Christian | 2019 | 93.3 | 11.3 | 0.429 |
Yelich | Christian | 2020 | 94 | 7.1 | 0.378 |
Yelich | Christian | 2021 | 91 | 2.8 | 0.337 |
Yelich | Christian | 2022 | 91.5 | 3.6 | 0.339 |
Scroll to view the full table.
His launch angle increased from 0.1° to 11.3° in 2019. His xwOBA follows a similar trend, peaking in 2019 at .429 all the while his average exit velocity remained relatively stable.

By looking at this data in 2015, and knowing of an attempted swing change, we may have been able to forecast a breakout. His premium exit velocity paired with a rise in launch angle were huge reasons why he won the NL MVP in 2018 and came runner-up in 2019. His launch angle has since come down, and he has been a consistent disappointment since. Let's keep looking for these 'breakout candidates' but in more recent seasons.
1SELECT
2 last_name,
3 first_name,
4 year,
5 exit_velocity_avg,
6 launch_angle_avg
7FROM
8 stats
9WHERE
10 (launch_angle_avg < 12 AND exit_velocity_avg > 89)
11 AND (year = 2020)
12ORDER BY
13 exit_velocity_avg DESC
14LIMIT 20;
Last Name | First Name | Year | Average Exit Velocity | Average Launch Angle |
---|---|---|---|---|
Tatis Jr. | Fernando | 2020 | 95.9 | 8.7 |
Yelich | Christian | 2020 | 94 | 7.1 |
Seager | Corey | 2020 | 93.2 | 11.9 |
Devers | Rafael | 2020 | 93 | 10.6 |
Abreu | Jose | 2020 | 92.9 | 10.9 |
Schwarber | Kyle | 2020 | 92.8 | 8.8 |
Guerrero Jr. | Vladimir | 2020 | 92.5 | 4.6 |
Reyes | Franmil | 2020 | 92.4 | 11.2 |
Jimenez | Eloy | 2020 | 92.4 | 5.7 |
Moran | Colin | 2020 | 91.9 | 8.3 |
Longoria | Evan | 2020 | 91.7 | 10.7 |
Bell | Josh | 2020 | 91.7 | 5.9 |
Cruz Jr. | Nelson | 2020 | 91.6 | 9.4 |
LeMahieu | DJ | 2020 | 91.3 | 2.3 |
Happ | Ian | 2020 | 91.1 | 9 |
Gurriel Jr. | Lourdes | 2020 | 90.8 | 10.5 |
Turner | Trea | 2020 | 90.5 | 9.5 |
Walker | Christian | 2020 | 90.4 | 11.5 |
Davis | J.D. | 2020 | 90.1 | 3.3 |
Reyes | Victor | 2020 | 90 | 10.7 |
Scroll to view the full table.
Vlad Guerrero Jr. pops out. His average exit velocity is right up there with Fernando Tatis, Yelich, and Kyle Schwarber but his average launch angle is nearly half of theirs. Unlock that power Vladdy!
1SELECT
2 last_name,
3 first_name,
4 year,
5 exit_velocity_avg,
6 launch_angle_avg,
7 xwoba
8FROM
9 stats
10WHERE
11 last_name = 'Guerrero Jr.'
12ORDER BY
13 year;
Last Name | First Name | Year | Average Exit Velocity | Average Launch Angle | xwOBA |
---|---|---|---|---|---|
Guerrero Jr. | Vladimir | 2019 | 89.4 | 6.7 | 0.329 |
Guerrero Jr. | Vladimir | 2020 | 92.5 | 4.6 | 0.333 |
Guerrero Jr. | Vladimir | 2021 | 95.1 | 9.4 | 0.417 |
Guerrero Jr. | Vladimir | 2022 | 92.8 | 4.3 | 0.348 |
Scroll to view the full table.
And he did! Well at least for 2021 when he challenged Shohei Ohtain for AL MVP. And then it fell back again in 2022 wherein his xwOBA crashed as well.

I wonder what Vladdy weâll get in 2023!
Conclusion
As we can see, hitting the ball hard is a good indicator of strong offensive performance, but it is not enough when looked at alone. When paired with a playerâs launch angle, fans can get a better insight into a playerâs true abilities, the stability/instability of their performances, or even who could potentially be a star if they simply altered their swing a little. So whoâs your favorite player in the MLB? And do they have an optimal launch angle?
Learning Take-Aways
Clean data is everything. I was extremely fortunate when embarking on this project because Baseball Savant has meticulously curated data for the public to use. The beauty of not having to fix/deal with any issues in the data is not lost on me, and it is a good benchmark to try to acheive in future endevours when cleaning data.
Bucketing granular data into meaningful chunks. This is a super useful skill to have. By creating buckets for the average launch angles, I was able to come to meaningful conclusions from the data that I would not have been able to see otherwise. I'll absolutely be making use of this in the future.
There's always more to investigate. Fangraphs is another excellent source for pubic baseball data, and in the future I would love to combine their data with what I gathered from Baseball Savant. By using joins, I could get a more holistic view of launch angles' effect on offensive performance by looking at even more metrics like wRC+, BABIP, K%, and even plate disciple. The ideas and opportunities are endless with enough data!