Simplifying My Life: Power and Contact Thresholds

There are too many stats (“Welcome to FanGraphs”), so I decided to take a step back and try to remove as much noise as possible when making decisions. I’m not reinventing any concept, just concentrating on the most important factors. The fewer, the better. Today, I’m going to focus on my “new” power factor and mention how I settled on Contact%.

I know several other sources have a focus on keeping their inputs basic, but each one disagrees with the results. I decided to add to the disagreement and pick out the best options for the standard roto game.

Power: Improved Exit Velocity (iEV)

Too many metrics exist to explain a batter’s power. I’ve already written about my disdain for Savant’s lollipops where five of the metrics measure just power and two are heavily influenced by it. Those don’t include output based metrics like ISO and Home Runs. Again too many options.

Note: I know the angle the ball comes off the bat matters but I just have not found anything better than the Average Launch Angle or Groundball Rate especially since both metrics are highly correlated to each other. I was hoping to incorporate bat path, but it doesn’t help. As for a speed metric, Time-to-First is performs better but it not available for as many hitters compared to Sprint Speed.

For the power metric, I wanted to focus on home runs so I was looking for a metric that only predicted them. While I will use the metric to help with Batting Average, I wanted the best home run predicting option. In the end, I used a combination of one part Max Exit Velocity (maxEV) and two parts Average Exit Velocity (avgEV) to come up with Improved Exit Velocity.

iEV = (2 * avgEV + maxEV)/3

While the “perfect” ratio is just a bit different, this simplified one still beats the other factors I used. This value works great for smaller samples where a hitter might have shown their max value early but a few weakly hit balls are bringing down his average. Also, it helps the guys who haven’t been able to connect with everything to set a nice maxEV. For reference, here are the average stats (min 100 PA) for 1 mph iEV increments.

Various Stats at iEV Increments
iEV wRC+ OPS AVG HR/400 BIP avgLA avgPA
86 -23 .307 .121 3 1.7 56
87 -21 .309 .123 1 1.2 65
88 3 .389 .152 3 3.3 85
89 28 .486 .190 4 6.5 111
90 38 .515 .199 5 7.3 125
91 45 .536 .199 5 10.1 155
92 62 .597 .220 8 10.8 188
93 73 .640 .230 11 11.7 226
94 77 .653 .229 13 12.0 266
95 86 .687 .238 16 12.1 298
96 95 .723 .245 19 12.7 339
97 103 .752 .248 23 12.8 362
98 108 .773 .253 25 12.4 390
99 115 .800 .256 28 11.9 396
100 120 .820 .255 32 12.8 413
101 135 .878 .271 36 12.4 450
102 119 .823 .245 37 14.3 392

The high and low iEV values point to major league talent and guys who don’t make the cut. The situation gets murky is the yellow zone. In this range, the batters struggle for playing time especially if their team is stacked. For reference, here are this season’s rookies (min 300 PA) ranked by iEV.

2023 Rookies Ranked by iEV
Name PA avgEV maxEV iEV AVG OPS ISO HR
Gunnar Henderson 458 92.1 113.8 99.3 .249 .810 .232 21
Luke Raley 340 91.2 114.3 98.9 .253 .840 .250 17
Jordan Walker 329 91.0 114.3 98.8 .260 .745 .160 11
Triston Casas 414 91.5 113.2 98.7 .251 .829 .225 20
Ryan Noda 348 90.8 113.9 98.5 .233 .802 .186 11
Francisco Alvarez 337 90.2 114.1 98.2 .218 .737 .231 21
Josh Jung 461 92.1 110.0 98.0 .274 .813 .215 22
Brett Baty 311 90.0 113.7 97.9 .216 .620 .115 7
Corbin Carroll 498 89.9 113.8 97.9 .275 .857 .227 21
Connor Wong 313 89.7 113.6 97.7 .239 .686 .156 7
Maikel Garcia 380 91.4 110.0 97.6 .286 .709 .093 4
Joey Wiemer 383 89.5 112.8 97.3 .213 .666 .163 13
Kerry Carpenter 311 90.7 109.3 96.9 .288 .895 .253 19
Masataka Yoshida 473 89.2 112.3 96.9 .295 .807 .164 13
Spencer Steer 511 89.1 110.6 96.2 .268 .812 .194 18
Matt McLain 375 89.1 109.9 96.1 .295 .873 .215 14
James Outman 425 88.2 111.4 95.9 .250 .782 .179 15
Anthony Volpe 462 88.9 108.7 95.5 .215 .688 .179 17
Ezequiel Tovar 469 88.5 109.4 95.5 .259 .727 .170 14
Brenton Doyle 307 87.7 111.0 95.5 .189 .563 .125 8
Corey Julks 315 87.7 111.2 95.5 .245 .654 .110 6
Miguel Vargas 304 86.8 109.0 94.2 .195 .672 .172 7
Alex Call 393 86.5 108.5 93.9 .199 .598 .095 6
Brice Turang 338 86.4 106.7 93.2 .222 .620 .105 6
Will Brennan 356 85.3 106.9 92.5 .257 .649 .103 5
Esteury Ruiz 418 82.9 109.5 91.8 .245 .622 .077 2

While iEV’s home run bias is obvious, the overall talent and AVG effect are also front and center. iEV points out the five guys under 95 who may not be able to cut it in the majors.

Contact Rate: Second Input to Batting Average

My next focus was to move to batting average which will be noisy. It always has been a mess with so many possible variables. I’m focusing on AVG roto leagues and just don’t care about on-base rate or walks. I already have my power component set and need to focus on the plate discipline inputs. While the kitchen sink approach got the best results, Contact% got me 95% of the way there. I know other factors like foot speed and launch angle are needed, but I’m happy to just focus on Contact% at its contribution to batting average.

Here are the average Batting Averages and Strikeout Rates for various Contact% intervals.

Contact% Compared to Other Metrics
Contact% AVG OPS K%
59% .197 .679 37%
60% .207 .731 38%
61% .216 .673 33%
62% .204 .670 37%
63% .220 .712 43%
64% .221 .709 33%
65% .223 .698 29%
66% .227 .712 29%
67% .219 .707 31%
68% .226 .702 28%
69% .229 .713 31%
70% .235 .721 32%
71% .238 .736 26%
72% .236 .721 22%
73% .241 .734 26%
74% .246 .737 22%
75% .242 .726 24%
76% .245 .728 27%
77% .248 .726 22%
78% .251 .736 20%
79% .253 .735 20%
80% .251 .725 20%
81% .253 .722 21%
82% .262 .744 18%
83% .263 .738 16%
84% .260 .718 16%
85% .260 .714 11%
86% .269 .738 19%
87% .265 .721 8%
88% .269 .729 8%
89% .278 .736 10%
90% .276 .728 9%
91% .264 .675 12%
92% .292 .731 7%
93% .302 .778 9%

In most of my Roto leagues, a .250 AVG is where the last-place team stands, so by focusing on guys with an equal to or higher AVG, the category should get buried. Managers can’t just focus on the 78% Contact% because several components are missing.

Next, I combined the two inputs into a matrix to show how each value contributes to their Batting Average. Again, I rounded the Contact% and iEV and then averaged the AVG for each pair. Here are the results with the transition (white) values at .250.

From this dataset, I found a temporary equation to determine AVG (still need to incorporate a Launch Angle and a speed component).

AVG = 0.294*Contact%+0.00572*iEV-0.525

Going back to the same group of rookies, here are their expected Batting Averages.

Contact% & iEV Used to Predict AVG
Name AVG iEV Contact% xAVG
Maikel Garcia .286 97.6 83% .278
Masataka Yoshida .295 96.9 83% .274
Corbin Carroll .275 97.9 80% .269
Gunnar Henderson .249 99.3 74% .262
Triston Casas .251 98.7 75% .259
Spencer Steer .268 96.2 79% .258
Alex Call .199 93.9 83% .256
Kerry Carpenter .288 96.9 77% .255
Josh Jung .274 98.0 74% .252
Jordan Walker .260 98.8 72% .251
Miguel Vargas .195 94.2 81% .251
Will Brennan .257 92.5 83% .249
Francisco Alvarez .218 98.2 72% .248
Corey Julks .245 95.5 77% .248
Brice Turang .222 93.2 81% .247
Matt McLain .295 96.1 75% .246
Brett Baty .216 97.9 71% .244
Anthony Volpe .215 95.5 74% .239
Connor Wong .239 97.7 70% .239
Ezequiel Tovar .259 95.5 72% .233
Ryan Noda .233 98.5 66% .232
Joey Wiemer .213 97.3 68% .231
Luke Raley .253 98.9 64% .228
Esteury Ruiz .245 91.8 76% .222
James Outman .250 95.9 65% .215
Brenton Doyle .189 95.5 64% .211

The list shows that high-power, low-contact guys (e.g. Jordan Walker) and low-power, high-contact guys (e.g. Will Brennan) can post similar batting averages. The guys to stay away from are those low-power, low-contact guys (e.g. Brendan Doyle).

That is all for now. I will get back to incorporating the two components at a later date.





Jeff, one of the authors of the fantasy baseball guide,The Process, writes for RotoGraphs, The Hardball Times, Rotowire, Baseball America, and BaseballHQ. He has been nominated for two SABR Analytics Research Award for Contemporary Analysis and won it in 2013 in tandem with Bill Petti. He has won four FSWA Awards including on for his Mining the News series. He's won Tout Wars three times, LABR twice, and got his first NFBC Main Event win in 2021. Follow him on Twitter @jeffwzimmerman.

14 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
thefourbsMember since 2023
1 year ago

Hi Jeff, this is a great article! How do you generate the weights for a formula (like AVG = 0.294*Contact%+0.00572*iEV-0.525)? Are these y-intercepts or slopes from a linear regression line (x-axis: avg, y-axis: stat of interest) or is there more to it?

Thanks!