clock menu more-arrow no yes mobile

Filed under:

Fun with Statcast: Average Expected Home Run Percentage

By using Statcast’s batted ball information we look at individual Average Expected Home Run Percentages from the 2016 season.

Wild Card Game - Baltimore Orioles v Toronto Blue Jays Photo by Vaughn Ridley/Getty Images

In my first piece as a contributor to Beyond The Box Score on July 25th, I wrote that Max Kepler’s unexpected power surge would not last. At the time he had hit 10 home runs in 189 plate appearances. In the week following he proceeded to hit five more, earning me playful jokes from some friends and a healthy dose of self-doubt. The small-sample randomness of baseball was mocking me, aiming to shake my confidence just as I started writing for the site.

Kepler would go on to hit just two more home runs in the remaining almost three months of the 2016 season (212 plate appearances). It was a reminder of the peaks and valleys of a baseball season.

Part of the reason I was so down on Kepler sustaining his power was seeing the minuscule home run percentage on similar batted balls that he was generating with his bombs. As found on Baseball Savant, every combination of exit velocity and launch angle has a listed league wide batting average and percentage in which that batted ball has ended up a single, double, triple, or home run. After looking at how small Kepler’s expected home run percentages were, I thought it might be interesting to find his and every other player’s average in this area.

A couple of notes to keep in mind:

  • There were 312 players who qualified under my arbitrary five-home run minimum, so use the search function to target specific players or teams.
  • The average for all of these players’ AvgExHR% was 59.1 percent.
  • Statcast is not perfect — it sometimes fails to track a batted ball. The number of home runs not tracked for each player are listed next to their home run total.

Here now is the 2016 Average Expected Home Run Percentage (AvgExHR%) for every player who had a minimum of five home runs tracked by Statcast:

2016 Average Expected Home Run % (min. 5 HRs)

Player Team HR Total HRs Not Tracked AvgExHR%
Player Team HR Total HRs Not Tracked AvgExHR%
Byung-ho Park Twins 12 0 84.7%
Peter O’Brien Diamondbacks 5 0 83.6%
Steven Souza Jr. Rays 17 1 83.2%
Nelson Cruz Mariners 43 3 83.0%
Chris Davis Orioles 38 0 81.6%
Miguel Cabrera Tigers 38 0 81.1%
James McCann Tigers 12 1 80.8%
Avsail Garcia White Sox 12 0 80.8%
Tyler Flowers Braves 8 0 80.6%
Chris Carter Brewers 41 3 80.5%
Domingo Santana Brewers 11 0 80.5%
Billy Butler A’s/Yankees 5 0 80.2%
Khris Davis Athletics 42 0 80.1%
Alex Rodriguez Yankees 9 0 79.8%
Jarrett Parker Giants 5 0 78.6%
Mike Napoli Indians 34 0 78.4%
Travis Shaw Red Sox 16 0 78.3%
Lucas Duda Mets 7 0 78.0%
Christian Bethancourt Padres 6 0 77.8%
Mitch Moreland Rangers 22 0 77.6%
Kendrys Morales Royals 30 0 77.2%
Franklin Gutierrez Mariners 14 2 77.0%
Edwin Encarnacion Blue Jays 42 4 76.6%
Yasmani Grandal Dodgers 27 1 76.6%
Prince Fielder Rangers 8 1 76.4%
JD Martinez Tigers 22 0 76.4%
Nick Castellanos Tigers 18 0 76.4%
George Springer Astros 29 0 75.9%
Justin Upton Tigers 31 0 75.6%
Pedro Alvarez Orioles 22 0 75.1%
Cameron Rupp Phillies 16 0 74.7%
Justin Bour Marlins 15 0 74.7%
Nomar Mazara Rangers 20 1 74.7%
Tommy Pham Cardinals 9 0 74.7%
Mitch Haniger Diamondbacks 5 0 74.4%
Sean Rodriguez Pirates 18 1 74.2%
Miguel Sano Twins 25 2 74.2%
Jorge Soler Cubs 12 0 74.1%
Chris Herrmann Diamondbacks 6 0 73.7%
Giancarlo Stanton Marlins 27 0 73.2%
Paul Goldschmidt Diamondbacks 24 1 73.1%
Kris Bryant Cubs 39 1 73.0%
Logan Forsythe Rays 20 1 73.0%
Yoenis Cespedes Mets 31 0 72.9%
Carlos Gonzalez Rockies 25 1 72.8%
Carlos Correa Astros 20 1 72.7%
Danny Valencia Athletics 17 0 72.7%
Colby Rasmus Astros 15 0 72.7%
Jason Castro Astros 11 0 72.6%
Matt Kemp Padres/Braves 35 0 72.5%
Michael Taylor Nationals 7 0 72.1%
Stephen Piscotty Cardinals 22 0 72.1%
Seth Smith Mariners 16 0 72.1%
Joc Pederson Dodgers 25 0 72.0%
Mike Trout Angels 29 1 71.9%
Mark Trumbo Orioles 47 1 71.9%
Wilson Contreras Cubs 12 0 71.8%
Alex Gordon Royals 17 0 71.5%
Shin-Soo Choo Rangers 7 0 71.3%
Mac Williamson Giants 6 0 71.2%
Starling Marte Pirates 9 1 71.0%
Randal Grichuk Cardinals 24 0 70.9%
Christian Yelich Marlins 21 0 70.8%
Josh Donaldson Blue Jays 37 2 70.8%
Ryan Rua Rangers 8 0 70.8%
Wil Myers Padres 28 0 70.7%
Tim Beckham Rays 5 0 70.6%
Melvin Upton Jr. Padres/Blue Jays 20 1 70.6%
Kirk Nieuwenhuis Brewers 13 0 70.5%
Martin Maldonado Brewers 8 0 70.3%
Paulo Orlando Royals 5 0 70.2%
Hunter Pence Giants 13 1 70.1%
Evan Longoria Rays 36 1 69.7%
Derek Dietrich Marlins 7 0 69.4%
Carlos Santana Indians 34 0 69.2%
Tim Anderson White Sox 9 0 69.1%
Justin Smoak Blue Jays 14 0 68.9%
Jose Abreu White Sox 25 0 68.7%
Alex Dickerson Padres 10 0 68.6%
Mike Zunino Mariners 12 0 68.6%
Steve Pearce Rays/Orioles 13 0 68.5%
Corey Seager Dodgers 26 0 68.2%
Ryan Howard Phillies 25 0 68.0%
Hyun Soo Kim Orioles 6 0 68.0%
Bryce Harper Nationals 24 0 68.0%
Jonathan Schoop Orioles 25 1 67.7%
Keon Broxton Brewers 9 0 67.7%
Freddie Freeman Braves 34 1 67.2%
Todd Frazier White Sox 40 1 67.0%
Jake Lamb Diamondbacks 29 3 66.9%
Marcell Ozuna Marlins 23 0 66.7%
Logan Morrison Rays 14 0 66.5%
David Ross Cubs 10 0 66.4%
Eugenio Suarez Reds 21 1 66.4%
Matt Carpenter Cardinals 21 0 66.3%
Yasiel Puig Dodgers 11 0 66.3%
Ryan Schimpf Padres 20 1 66.3%
David Freese Pirates 13 1 66.1%
Lorenzo Cain Royals 9 0 66.0%
Tyler Austin Yankees 5 0 66.0%
Buster Posey Giants 14 2 65.8%
Matt Adams Cardinals 16 1 65.6%
Neil Walker Mets 23 0 65.4%
CJ Cron Angels 16 1 65.3%
Trayce Thompson Dodgers 13 0 65.3%
David Wright Mets 7 0 65.3%
Gary Sanchez Yankees 20 0 65.3%
Jedd Gyorko Cardinals 30 1 65.2%
Albert Pujols Angels 31 3 65.1%
Brandon Moss Cardinals 28 0 64.8%
Wilson Ramos Nationals 22 1 64.8%
Ian Desmond Rangers 22 0 64.7%
David Ortiz Red Sox 38 1 64.5%
Starlin Castro Yankees 21 1 64.4%
Rickie Weeks Jr. Diamondbacks 9 1 64.4%
Rene Rivera Mets 6 0 64.2%
Trevor Story Rockies 27 0 64.0%
Manny Machado Orioles 37 1 64.0%
Adam Duvall Reds 33 1 63.9%
Anthony Rizzo Cubs 32 0 63.9%
Addison Russell Cubs 21 0 63.9%
Jayson Werth Nationals 21 1 63.8%
Jung Ho Kang Pirates 21 1 63.7%
Kennys Vargas Twins 10 0 63.7%
Gerardo Parra Rockies 7 1 63.2%
Matt Joyce Pirates 13 1 63.0%
Eric Hosmer Royals 25 2 63.0%
Tommy Joseph Phillies 21 0 62.9%
Jonathan Lucroy Brewers/Rangers 24 1 62.8%
Ryan Zimmerman Nationals 15 0 62.7%
Adonis Garcia Braves 14 2 62.6%
Ryan Braun Brewers 30 0 62.6%
Jhonny Peralta Cardinals 8 0 62.5%
Desmond Jennings Rays 7 0 62.3%
Jonathan Villar Brewers 19 0 62.3%
Corey Dickerson Rays 24 0 62.2%
Brandon Belt Giants 17 0 62.2%
Enrique Hernandez Dodgers 7 0 62.1%
Eduardo Nunez Twins/Giants 16 0 62.1%
Evan Gattis Astros 32 3 62.1%
Luis Valbuena Astros 13 1 62.0%
Danny Espinosa Nationals 24 1 61.9%
Scott Schebler Reds 9 0 61.8%
Brett Lawrie White Sox 12 1 61.7%
Andrew McCutchen Pirates 24 1 61.4%
Carlos Gomez Astros/Rangers 13 0 61.1%
Russell Martin Blue Jays 20 0 60.9%
Tyler Naquin Indians 14 0 60.6%
Chris Iannetta Mariners 7 0 60.6%
Yonder Alonso Athletics 7 0 60.6%
Jett Bandy Angels 8 0 60.5%
Brett Gardner Yankees 7 0 60.4%
Marcus Semien Athletics 27 0 60.4%
Trevor Plouffe Twins 12 1 60.2%
Brad Miller Rays 30 0 60.1%
Michael Conforto Mets 12 1 60.1%
Howie Kendrick Dodgers 8 0 59.9%
Brett Wallace Padres 6 0 59.8%
Jefry Marte Angels 15 0 59.8%
Mark Reynolds Rockies 14 1 59.8%
Troy Tulowitzki Blue Jays 24 0 59.8%
Curt Casali Rays 8 0 59.8%
Jeremy Hazelbaker Cardinals 12 0 59.7%
Mike Moustakas Royals 7 0 59.6%
Adam Lind Mariners 20 0 59.6%
Yasmany Tomas Diamondbacks 31 0 59.6%
Kole Calhoun Angels 18 2 59.3%
Brian Dozier Twins 42 1 59.2%
Jean Segura Diamondbacks 20 0 59.1%
Jay Bruce Reds/Mets 33 0 58.9%
Ezequiel Carrera Blue Jays 6 0 58.8%
Tom Murphy Rockies 5 0 58.8%
Ryon Healy Athletics 13 0 58.5%
Daniel Murphy Nationals 25 0 58.4%
Stephen Drew Nationals 8 0 58.3%
Robinson Cano Mariners 39 1 57.8%
Maikel Franco Phillies 25 2 57.7%
Adam Rosales Padres 13 0 57.6%
Trea Turner Nationals 13 0 57.6%
Dexter Fowler Cubs 13 0 57.5%
Adrian Beltre Rangers 32 1 57.3%
Juan Uribe Indians 7 0 57.0%
Kyle Seager Mariners 30 0 57.0%
Jarrod Saltalamacchia Tigers 12 0 56.6%
Michael Saunders Blue Jays 24 1 56.5%
Brandon Drury Diamondbacks 16 1 56.3%
Jackie Bradley Jr. Red Sox 26 0 56.3%
Odubel Herrera Phillies 15 0 56.2%
Marlon Byrd Indians 5 0 56.2%
Matt Szczur Cubs 5 0 56.2%
Kelly Johnson Mets 9 0 55.8%
Dae-Ho Lee Mariners 14 0 55.8%
Wellington Castillo Diamondbacks 14 0 55.8%
Robbie Grossman Twins 11 0 55.6%
Aledmys Diaz Cardinals 17 0 55.4%
David Dahl Rockies 7 0 55.3%
Robinson Chirinos Rangers 9 0 55.2%
Ryan Raburn Rockies 9 0 55.2%
Rougned Odor Rangers 33 0 55.2%
Jace Peterson Braves 7 0 55.1%
Adam Jones Orioles 29 2 55.1%
Nick Hundley Rockies 10 0 55.0%
Hanley Ramirez Red Sox 30 3 54.6%
JT Realmuto Marlins 11 1 54.6%
Matt Holliday Cardinals 20 0 54.3%
Yan Gomes Indians 9 0 54.2%
Jose Altuve Astros 24 0 54.1%
Jeff Francoeur Braves 7 1 53.8%
Joe Mauer Twins 11 0 53.6%
Adrian Gonzalez Dodgers 18 1 53.5%
Gordon Beckham Braves/Giants 5 0 53.4%
Joey Votto Reds 29 1 53.4%
Joe Panik Giants 10 3 53.3%
Tyler White Astros 8 0 53.1%
Javier Baez Cubs 14 1 52.9%
Francisco Lindor Indians 15 0 52.9%
Anthony Rendon Nationals 20 0 52.9%
Brian McCann Yankees 20 0 52.9%
Charlie Blackmon Rockies 29 0 52.8%
Stephen Vogt Athletics 14 0 52.8%
Alcides Escobar Royals 7 0 52.7%
Curtis Granderson Mets 30 0 52.7%
Marwin Gonzalez Astros 13 0 52.5%
Gregory Polanco Pirates 22 2 52.5%
Adam Eaton White Sox 14 1 52.2%
Rajai Davis Indians 12 0 52.1%
Michael Bourn Orioles 5 0 52.0%
Justin Turner Dodgers 27 0 52.0%
Matt Wieters Orioles 17 0 51.7%
Mark Teixeira Yankees 15 0 51.6%
Scooter Gennett Brewers 14 0 51.0%
Eddie Rosario Twins 10 0 51.0%
Brandon Crawford Giants 12 1 50.9%
Victor Martinez Tigers 27 1 50.8%
Jake Smolinski Athletics 7 0 50.6%
Peter Bourjos Phillies 5 0 50.4%
Nolan Arenado Rockies 41 0 50.4%
Kevin Pillar Blue Jays 7 0 50.1%
Derek Norris Padres 14 0 50.1%
Xander Bogaerts Red Sox 21 2 49.5%
Sandy Leon Red Sox 7 0 49.4%
Salvador Perez Royals 22 0 49.1%
Jason Kipnis Indians 23 1 48.8%
Steven Moya Tigers 5 0 48.8%
Eduardo Escobar Twins 6 0 48.5%
Miguel Montero Cubs 8 1 48.4%
Alex Avila White Sox 7 0 48.4%
Cesar Hernandez Phillies 6 1 48.4%
Leonys Martin Mariners 15 0 48.4%
Nick Franklin Rays 6 0 47.8%
Nolan Reimold Orioles 6 0 47.7%
Brandon Phillips Reds 11 0 47.6%
DJ LeMahieu Rockies 11 0 47.6%
Elvis Andrus Rangers 8 0 47.5%
Yangervis Solarte Padres 15 0 46.8%
Chris Heisey Nationals 9 1 46.8%
Alex Bregman Astros 8 0 46.6%
Chase Headley Yankees 14 0 46.6%
Jurickson Profar Rangers 5 0 46.4%
Lonnie Chisenhall Indians 8 0 46.4%
Josh Reddick Athletics/Dodgers 10 1 46.3%
Kevin Kiermaier Rays 12 2 46.2%
Jason Heyward Cubs 7 0 46.1%
Ben Zobrist Cubs 18 0 46.1%
Alejandro De Aza Mets 6 0 45.5%
Angel Pagan Giants 12 0 45.4%
Jordy Mercer Pirates 11 0 44.8%
Conor Gillaspie Giants 6 1 44.8%
Byron Buxton Twins 10 1 44.8%
Jose Reyes Mets 8 0 44.4%
Hernan Perez Brewers 13 0 43.8%
Carlos Beltran Yankees/Rangers 29 0 43.8%
Chris Johnson Marlins 5 0 43.4%
Jose Bautista Blue Jays 22 2 43.4%
James Loney Mets 9 0 43.2%
Devon Travis Blue Jays 11 1 43.2%
Wilmer Flores Mets 16 0 43.1%
Jose Ramirez Indians 11 0 43.0%
Brandon Guyer Rays/Indians 9 0 42.4%
John Jaso Pirates 8 0 42.4%
Chase Utley Dodgers 14 0 42.2%
Tyler Saladino White Sox 8 0 41.5%
Mookie Betts Red Sox 31 1 41.4%
Joey Rickard Orioles 5 0 41.2%
Yadier Molina Cardinals 8 0 41.1%
Asdrubal Cabrera Mets 23 0 41.0%
Ian Kinsler Tigers 28 2 40.9%
Kurt Suzuki Twins 8 0 40.8%
Denard Span Giants 11 0 40.3%
Freddy Galvis Phillies 20 1 40.1%
Brock Holt Red Sox 7 0 39.3%
Daniel Descalso Rockies 8 1 38.9%
Nick Markakis Braves 13 0 38.8%
Cheslor Cuthbert Royals 12 0 38.7%
Aaron Hicks Yankees 8 0 38.3%
Zack Cozart Reds 16 0 36.9%
Martin Prado Marlins 8 0 36.6%
Justin Morneau White Sox 6 0 35.8%
JJ Hardy Orioles 9 0 35.4%
Yunel Escobar Angels 5 0 35.4%
Chris Young Red Sox 9 0 34.8%
Jacoby Ellsbury Yankees 9 0 34.3%
Dustin Pedroia Red Sox 15 0 33.9%
Melky Cabrera White Sox 14 1 33.2%
Alexei Ramirez Padres/Rays 6 0 33.0%
Aaron Hill Brewers 8 0 29.9%
Johnny Giavotella Angels 6 1 29.4%
Didi Gregorius Yankees 20 0 27.0%
Trevor Brown Giants 5 0 26.6%
Max Kepler Twins 17 1 24.0%
Dioner Navarro White Sox 6 1 21.6%
Tucker Barnhart Reds 7 0 20.1%

For a more visual look at the data, here’s an interactive scatter plot:

Since this list is based solely on how well a player’s home runs were hit, we see perennial top-tier sluggers such as Nelson Cruz, Chris Davis, and Miguel Cabrera mixed in with Quad-A types such as Byung ho-Park and Peter O’Brien. That doesn’t really move the needle; we know guys like Park and O’Brien have massive power. The difference between them being an everyday major leaguer or a farmhand is about improving their contact skills and strikeout rate, something this statistic doesn’t care about. This is about game power, which those guys have plenty of.

The names that stand out are some of the players near the bottom of the list. Here are some takeaways:

Max Kepler 24.0 percent on 17 HRs (Rank 310 of 312)

He was the original inspiration for this exercise, but it was still surprising to see Kepler so close to the bottom. He had one mammoth shot with an expected home run percentage of 95, but 10 of his 17 dingers were 20 percent or lower. It was his rookie campaign, so it’s not like his batted ball tendencies are set in stone, but it will be interesting to monitor.

Didi Gregorius 27.0 percent on 20 HRs (Rank 308 of 312)

Every single one of Gregorius’ 20 home runs in 2016 was to the pull side, with 11 of those twenty coming at Yankee Stadium where he seemed to take advantage of the short porch. Nine of his 20 home runs had an expected home run percentage of 10 percent or less.

Mookie Betts 41.4 percent on 31 HRs (Rank 283 of 312)

Another instance of a park helping the overall home run total. Of his 31 home runs, Betts hit 17 of them at Fenway Park. Here’s the visual of where they landed, with Fenway on the left compared to the relatively neutral dimensions of Kauffman Stadium on the right.

While nine of his 31 home runs had an expected home run percentage of 70 percent or more, 11 of them were 15 percent or less. Quite a few wall-scrapers for Mr. Betts.

Jose Bautista 43.4 percent on 22 HRs (Rank 274 of 312)

At first glance, it’s rather shocking to see one of the game’s premier sluggers so far down on this list and so far below the league average, but when you remember that he spent the 2016 season as a 35-year-old constantly battling injury to his lower half, it makes more sense. Seven of his 22 home runs had an expected home run percentage less than 10 percent. The fact that he remains unsigned is an indicator that teams are wary of giving big money to an aging corner outfielder, and this number gives further credence to their hesitation.

Brian Dozier 59.2 percent on 42 HRs (Rank 168 of 312)

The "will they or won’t they" between the Dodgers and Twins regarding a Dozier trade has been a constant this offseason. On his debut as a co-host of Effectively Wild, Jeff Sullivan of FanGraphs contemplated how teams looking at a smaller player like Dozier would evaluate his power spike in 2016 (starts around the 35:00 mark):

Dozier’s power took off, but if you’ve ever watched Brian Dozier hit a home run, then you’ve watched Brian Dozier hit every one of his home runs. They’re not upper tank shots that he’s hitting, they are those wall-scrapers that it seemed like those slighter, smaller, mediocre power guys, they were just hitting more of them.

Jean Segura had a similar kind of power spike, where no one thinks of Jean Segura as a power hitter, but for whatever reason that tier of players seemed to be able to get that extra 5 or 10 feet. And I don’t think that teams know what to do about that.

I probably wouldn’t have paid much attention to Dozier’s place on this list were it not for Sullivan reflecting on how teams will view his home run surge. After listening I looked up where he placed, and not only was he right next to Jean Segura, ranked 168 and 169 respectively, but their average expected home run percentages were 59.2 and 59.1. (As mentioned earlier, the average of this list is 59.1 percent.)


Is there a ton to learn from this information? I don’t think so. I mean, Mookie Betts isn’t going to have a new home ballpark anytime soon. Max Kepler was a 23-year-old in his rookie season, so while his 2016 power may have been a bit of an illusion, we can’t say that the tool won’t develop. One season’s worth of home run batted ball data is still a pretty small sample size so it’s not fair to dismiss the home run power of players near the bottom of this list.

The point here is not to delegitimize anyone. That 340-foot fly down the line that barely creeps over the wall is still a home run in the record books. This is just another tool we can use to look at the overall home run output of a player to help gauge if that production is undeniable or maybe aided by some luck, be it park factors or weather conditions.

As the data collected by Statcast grows we’ll find out what it means. Maybe it can be a tool to better inform or predict when a player’s power production will start to decline. Maybe it will have no year-to-year meaning whatsoever. Either way, it’s fun to dig in and see how those taters get mashed.

. . .

Chris Anders is a contributor to Beyond the Box Score. You can follow him on Twitter at @mrchrisanders.