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.
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.
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% | 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.
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.
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!
They are. I was worried that a linear model wouldn’t work because the output would look like the AVG one for LA and EV.
As can be seen in the image in this article, the change is linear in both directions so I went with a linear equation for now.
This is the issue I have with adding LA to AVG and the power equations.