Using Gifs to Visualize Curveballs on the Scouting Scale
After reading Kiley McDaniel’s articles on explaining the scouting scale, I thought that I would take a different approach in trying to explain it–namely the approach of gifs. Although the scale is normally reserved for players who haven’t lost their rookie status in the majors, perhaps a visualization can better illustrate what “major league average,” “plus,” or “below average” looks like.
To show the differences between curveballs in different positions along the scouting scale, major league curveballs must first be graded. To do this, I pulled up Baseball Prospectus’ pitch f/x leaderboard and set it to filter for pitchers who threw at least 100 curveballs in 2014. The way in which pitch movement is measured and the fact that lefties’ curveballs’ horizontal movement appeared to be measured lower than righties forced my methodology.
I split up righties and lefties into separate groups for analysis. Pitch movement was recorded based on the inches a pitch broke more than the the pitch with the least break. Total movement was recorded as the square root of the combined horizontal and vertical movement squares (C2 = A2 + B2). Z Scores were recorded for each curveball’s velocity and movement, and then were added (with movement receiving a 1.5 times greater weight) to form a grade. The grades were then transferred into Z Scores with a median of 50 and each standard deviation being 10. Finally, the righties and lefties were combined to make a final scouting scale.
Name / Throws / Total Movement Z Score / Velocity Z Score / Scouting Grade
Garrett Richards | R | 2.081 | 0.289 | 73.4 |
Drew Pomeranz | L | 0.882 | 1.398 | 69.0 |
Tyler Skaggs | L | 1.757 | 0.047 | 68.8 |
Blaine Hardy | L | 1.356 | 0.410 | 67.1 |
Gio Gonzalez | L | 1.406 | 0.317 | 66.9 |
Alex Cobb | R | 0.907 | 0.948 | 66.0 |
Roenis Elias | L | 0.949 | 0.771 | 65.3 |
Sonny Gray | R | 0.589 | 1.187 | 64.4 |
Jarred Cosart | R | 1.125 | 0.289 | 63.8 |
Felix Hernandez | R | 0.812 | 0.712 | 63.5 |
Jake Arrieta | R | 0.972 | 0.428 | 63.2 |
Charlie Morton | R | 1.191 | 0.066 | 63.0 |
Carlos Torres | R | 0.973 | 0.350 | 62.7 |
Craig Kimbrel | R | -0.474 | 2.430 | 62.1 |
Sean Marshall | L | 1.795 | -0.970 | 62.0 |
Yoervis Medina | R | -0.471 | 2.330 | 61.5 |
Joe Kelly | R | 0.852 | 0.341 | 61.4 |
Mark Melancon | R | 0.312 | 1.116 | 61.2 |
Stephen Strasburg | R | 0.633 | 0.612 | 61.0 |
Justin Grimm | R | 0.404 | 0.915 | 60.8 |
Robbie Erlin | L | 1.711 | -1.022 | 60.7 |
Jamey Wright | R | 0.958 | 0.057 | 60.6 |
Adam Wainwright | R | 1.731 | -1.106 | 60.6 |
Wandy Rodriguez | L | 1.401 | -0.639 | 60.1 |
Kevin Jepsen | R | -0.315 | 1.861 | 59.9 |
Jeremy Hellickson | R | 1.367 | -0.664 | 59.9 |
Clay Buchholz | R | 1.007 | -0.166 | 59.6 |
Scott Atchison | R | 0.429 | 0.683 | 59.5 |
Will Harris | R | 0.538 | 0.518 | 59.5 |
Michael Bolsinger | R | 0.524 | 0.521 | 59.3 |
John Axford | R | 0.857 | 0.015 | 59.3 |
David Robertson | R | -0.245 | 1.619 | 59.0 |
Jeremy Affeldt | L | 1.197 | -0.497 | 59.0 |
Ian Kennedy | R | 0.943 | -0.186 | 58.8 |
Yu Darvish | R | 0.941 | -0.182 | 58.8 |
Eric Surkamp | L | 0.624 | 0.320 | 58.7 |
Nick Masset | R | 0.680 | 0.182 | 58.6 |
Tom Koehler | R | 0.551 | 0.360 | 58.5 |
Marcus Stroman | R | -0.189 | 1.455 | 58.4 |
Zack Wheeler | R | 0.604 | 0.263 | 58.4 |
Jose Fernandez | R | -0.255 | 1.532 | 58.3 |
Scott Downs | L | 1.405 | -1.064 | 57.2 |
Edinson Volquez | R | 0.240 | 0.609 | 57.1 |
Felix Doubront | L | 1.093 | -0.629 | 56.9 |
Juan Gutierrez | R | 0.110 | 0.744 | 56.7 |
Jesse Chavez | R | 1.076 | -0.731 | 56.5 |
Jeremy Jeffress | R | 0.264 | 0.476 | 56.4 |
Danny Duffy | L | 0.446 | 0.272 | 56.4 |
Cody Allen | R | -1.180 | 2.630 | 56.4 |
Mike Leake | R | 0.210 | 0.515 | 56.2 |
Dellin Betances | R | -0.552 | 1.635 | 56.0 |
Trevor Bauer | R | 0.416 | 0.147 | 55.8 |
Jose Veras | R | 0.924 | -0.638 | 55.6 |
Adam Warren | R | -0.220 | 1.022 | 55.2 |
Clayton Kershaw | L | 1.119 | -0.906 | 55.2 |
Chris Tillman | R | 0.987 | -0.828 | 55.0 |
Cole Hamels | L | 0.142 | 0.517 | 54.9 |
Miles Mikolas | R | 1.158 | -1.093 | 54.9 |
Jeff Locke | L | 0.268 | 0.317 | 54.9 |
Gerrit Cole | R | -0.845 | 1.884 | 54.7 |
Josh Fields | R | 0.233 | 0.257 | 54.7 |
Nick Tepesch | R | 0.370 | 0.018 | 54.4 |
Brandon Workman | R | 0.743 | -0.544 | 54.4 |
Carlos Carrasco | R | -0.275 | 0.954 | 54.2 |
Cesar Ramos | L | 1.941 | -2.290 | 54.2 |
Tom Wilhelmsen | R | 0.309 | 0.034 | 53.9 |
Jenrry Mejia | R | 0.117 | 0.308 | 53.9 |
Trevor Cahill | R | 0.202 | 0.153 | 53.7 |
Odrisamer Despaigne | R | 0.813 | -0.770 | 53.6 |
Collin McHugh | R | 1.350 | -1.635 | 53.2 |
Jesse Hahn | R | 1.150 | -1.345 | 53.2 |
Phil Hughes | R | 0.573 | -0.502 | 53.0 |
Samuel Deduno | R | -0.389 | 0.906 | 52.8 |
Brett Cecil | L | -1.373 | 2.483 | 52.8 |
Ian Krol | L | -0.094 | 0.555 | 52.7 |
Wade Davis | R | -1.260 | 2.184 | 52.6 |
Jordan Zimmermann | R | -0.034 | 0.308 | 52.3 |
Andre Rienzo | R | 0.052 | 0.170 | 52.3 |
Junichi Tazawa | R | 0.731 | -0.857 | 52.2 |
Jason Hammel | R | 0.477 | -0.512 | 52.0 |
Wesley Wright | L | -0.302 | 0.764 | 52.0 |
Mike Fiers | R | 1.376 | -1.890 | 51.8 |
Nathan Eovaldi | R | 0.542 | -0.644 | 51.8 |
Alex Wood | L | -0.385 | 0.851 | 51.7 |
Jake Buchanan | R | 0.570 | -0.709 | 51.6 |
Dillon Gee | R | 0.926 | -1.261 | 51.5 |
Trevor May | R | 0.298 | -0.328 | 51.4 |
David Buchanan | R | 0.247 | -0.263 | 51.3 |
Hyun-jin Ryu | L | 1.074 | -1.395 | 51.3 |
Rick Porcello | R | 0.171 | -0.189 | 51.1 |
Yordano Ventura | R | -1.045 | 1.603 | 50.9 |
Anthony Ranaudo | R | 0.136 | -0.195 | 50.7 |
Aaron Loup | L | -0.110 | 0.282 | 50.6 |
Brad Hand | L | -0.491 | 0.851 | 50.6 |
Brandon McCarthy | R | -0.757 | 1.116 | 50.5 |
Will Smith | L | -0.282 | 0.526 | 50.5 |
Vidal Nuno | L | 0.094 | -0.043 | 50.5 |
Justin Verlander | R | -0.301 | 0.415 | 50.4 |
Tommy Hunter | R | -1.053 | 1.539 | 50.4 |
Santiago Casilla | R | -0.726 | 1.038 | 50.3 |
Brad Peacock | R | 0.257 | -0.447 | 50.2 |
Madison Bumgarner | L | 0.013 | 0.043 | 50.2 |
Fernando Abad | L | -0.223 | 0.397 | 50.2 |
C.J. Wilson | L | 0.077 | -0.066 | 50.1 |
Francisco Rodriguez | R | 0.334 | -0.586 | 50.1 |
A.J. Burnett | R | -0.847 | 1.167 | 49.9 |
Erik Bedard | L | 0.572 | -0.842 | 49.9 |
Tanner Roark | R | 0.889 | -1.455 | 49.8 |
Kevin Quackenbush | R | 0.264 | -0.531 | 49.7 |
Casey Janssen | R | 0.767 | -1.287 | 49.7 |
Yovani Gallardo | R | -0.366 | 0.376 | 49.5 |
Matt Cain | R | -0.007 | -0.173 | 49.4 |
Cory Rasmus | R | 0.332 | -0.683 | 49.4 |
J.P. Howell | L | -0.488 | 0.652 | 49.2 |
Shelby Miller | R | 0.046 | -0.328 | 48.9 |
Joba Chamberlain | R | -0.417 | 0.331 | 48.7 |
Mike Minor | L | -1.028 | 1.373 | 48.6 |
Lance Lynn | R | -0.505 | 0.441 | 48.5 |
Josh Beckett | R | 0.835 | -1.587 | 48.4 |
Daisuke Matsuzaka | R | 0.510 | -1.109 | 48.3 |
Chase Anderson | R | -0.043 | -0.318 | 48.1 |
Jorge De La Rosa | L | 0.397 | -0.845 | 48.0 |
Danny Farquhar | R | 0.214 | -0.725 | 47.9 |
Nick Martinez | R | 0.107 | -0.599 | 47.7 |
Jerry Blevins | L | 0.348 | -0.825 | 47.6 |
Matt Garza | R | 0.444 | -1.141 | 47.5 |
Franklin Morales | L | 0.340 | -0.874 | 47.2 |
Craig Stammen | R | -0.732 | 0.563 | 47.1 |
Javy Guerra | R | -0.179 | -0.266 | 47.1 |
Scott Feldman | R | 0.326 | -1.041 | 46.9 |
Anthony Varvaro | R | -0.810 | 0.638 | 46.8 |
Hector Noesi | R | -0.910 | 0.741 | 46.5 |
Miguel Gonzalez | R | -0.144 | -0.428 | 46.3 |
John Lackey | R | -0.520 | 0.128 | 46.3 |
Kevin Correia | R | -0.427 | -0.015 | 46.3 |
Kyle Kendrick | R | -0.313 | -0.186 | 46.3 |
Tyler Thornburg | R | -0.364 | -0.118 | 46.2 |
Colby Lewis | R | -0.216 | -0.344 | 46.2 |
Donn Roach | R | 0.008 | -0.683 | 46.2 |
Tim Lincecum | R | 0.226 | -1.022 | 46.1 |
Chris Capuano | L | -0.013 | -0.507 | 46.0 |
Josh Tomlin | R | -0.062 | -0.618 | 45.9 |
J.A. Happ | L | -0.568 | 0.275 | 45.7 |
James Paxton | L | -1.519 | 1.643 | 45.3 |
Vance Worley | R | -0.360 | -0.289 | 45.1 |
J.J. Hoover | R | 0.093 | -0.973 | 45.1 |
Tim Hudson | R | 0.007 | -0.854 | 45.0 |
Wei-Yin Chen | L | 0.065 | -0.809 | 44.7 |
Marco Estrada | R | -0.419 | -0.286 | 44.5 |
Kyle Lohse | R | 0.091 | -1.109 | 44.1 |
Vic Black | R | -1.482 | 1.248 | 44.1 |
Gavin Floyd | R | -1.285 | 0.951 | 44.1 |
Bruce Chen | L | 0.405 | -1.421 | 44.0 |
Phil Coke | L | -1.232 | 1.003 | 43.8 |
Jon Lester | L | -0.249 | -0.478 | 43.7 |
Paul Maholm | L | 0.340 | -1.492 | 42.8 |
Jose Quintana | L | -1.420 | 1.134 | 42.7 |
David Phelps | R | -1.211 | 0.622 | 42.7 |
Zach Duke | L | -0.491 | -0.288 | 42.5 |
Brett Oberholtzer | L | -1.197 | 0.751 | 42.4 |
Homer Bailey | R | -1.197 | 0.538 | 42.2 |
Jon Niese | L | -0.078 | -0.954 | 42.2 |
Alfredo Simon | R | -0.751 | -0.179 | 41.9 |
Jim Johnson | R | -1.275 | 0.605 | 41.9 |
Zack Greinke | R | 0.308 | -1.903 | 41.0 |
Scott Carroll | R | -0.685 | -0.431 | 40.9 |
Jason Vargas | L | -0.469 | -0.562 | 40.8 |
Travis Wood | L | 0.088 | -1.443 | 40.5 |
Heath Bell | R | -1.696 | 0.948 | 40.0 |
David Price | L | -1.564 | 0.954 | 39.9 |
Doug Fister | R | 0.071 | -1.726 | 39.8 |
Jordan Lyles | R | -1.731 | 0.961 | 39.7 |
Michael Wacha | R | -0.378 | -1.112 | 39.4 |
Masahiro Tanaka | R | -0.204 | -1.413 | 39.2 |
Joel Peralta | R | -1.008 | -0.208 | 39.2 |
James Shields | R | -1.514 | 0.518 | 38.9 |
Jake Odorizzi | R | 0.579 | -2.759 | 38.0 |
Andrew Heaney | L | -1.515 | 0.568 | 37.7 |
Max Scherzer | R | -1.307 | -0.163 | 36.5 |
Anibal Sanchez | R | -1.676 | 0.357 | 36.2 |
Julio Teheran | R | -0.450 | -1.539 | 35.9 |
Scott Kazmir | L | -1.244 | -0.124 | 35.7 |
Yusmeiro Petit | R | -1.253 | -0.402 | 35.4 |
Mat Latos | R | -1.151 | -0.586 | 35.2 |
Jacob deGrom | R | -1.879 | 0.473 | 35.0 |
Tommy Milone | L | -0.975 | -0.626 | 35.0 |
Joe Nathan | R | -2.412 | 1.271 | 35.0 |
Edwin Jackson | R | -1.821 | 0.370 | 34.9 |
Matt Shoemaker | R | -1.126 | -0.802 | 34.0 |
Drew Smyly | L | -1.762 | 0.330 | 33.4 |
Dan Haren | R | -1.545 | -0.292 | 33.2 |
Hector Santiago | L | -1.609 | 0.069 | 33.2 |
Grant Balfour | R | -2.631 | 1.274 | 32.8 |
Ryan Vogelsong | R | -1.631 | -0.405 | 31.6 |
Mark Buehrle | L | -0.593 | -1.691 | 31.5 |
Erasmo Ramirez | R | -2.280 | 0.528 | 31.3 |
Jeremy Guthrie | R | -1.384 | -0.854 | 31.1 |
Jacob Turner | R | -2.033 | 0.102 | 31.0 |
Hiroki Kuroda | R | -1.637 | -0.528 | 30.7 |
Johnny Cueto | R | -2.591 | 0.880 | 30.6 |
Jake Peavy | R | -2.414 | 0.573 | 30.3 |
Josh Collmenter | R | -0.839 | -1.884 | 29.7 |
Sam LeCure | R | -1.215 | -1.461 | 28.7 |
Bronson Arroyo | R | -1.320 | -1.416 | 28.0 |
Aaron Harang | R | -1.461 | -1.319 | 27.2 |
John Danks | L | -1.548 | -1.051 | 25.9 |
Eric Stults | L | -0.448 | -2.837 | 24.9 |
Fernando Salas | R | -3.656 | 1.613 | 24.8 |
Carlos Villanueva | R | -2.102 | -0.718 | 24.8 |
Jered Weaver | R | -0.725 | -2.840 | 24.4 |
For our first gifs, we’ll look at two of the top curveballs on the by-the-numbers scouting scale. At an slightly above average velocity of 79.7 mph with the highest amount of break above than the baseline (sorry, Fernando Salas), Garrett Richards’ curveball is a sight to behold and grades out as a 73:
Next, we’ll look at Tyler Skagg’s curveball, which, features great horizontal and vertical movement while maintaining average velocity. It grades out as a 69:
With the plus-plus-type (70) curveballs out of the way, we’ll take a look at some plus (60) curveballs. Wandy Rodriguez fits this category. His curveball has slightly less, but similar, movement as Skagg’s but it’s lesser velocity makes it a lesser-quality pitch. Notice how it has defined break, but it appears a bit loopy due to its velocity:
With Kevin Jepsen, we see a curveball that is graded similarly but looks much different than Wandy’s. Although its break looks sharp because of its velocity, the total movement is slightly below average. This pitch may actually be a slider, but Jepsen’s breaking pitches tend to run together so consider it a representative picture of his curveball.
Next, we’ll look at an average (50 on the scale) curveball. Erik Bedard gets slightly above average break, but with below average velocity. It has solid two-plane break, but it doesn’t look very sharp:
Next, we’ll look at a below average (40 on the scale) curveball. Jordan Lyles has good velocity on his curveball, averaging 81.75 mph, but he also averages nearly two standard deviations less break than an average curveball in this sample. The following is a tough angle to see the break, but it lacks the sharp break of a better curveball.
Finally, we’ll look at Jered Weaver’s well below average (24 on the by-the-numbers scale!) curveball. His curveball was the slowest in the sample and also featured below average break (much of the perceived break is from its low velocity). It’s still an effective pitch for him, but it’s probably a result of his height and delivery combination than his curveball. With just about any other pitcher, it would likely be ineffective.
I’m glad you made this, people have been bugging Kiley for this. More breaking pitches coming?
I was thinking of doing another article on sliders. I’m not sure when exactly I’ll get a chance to do this, but it’s definitely next on my queue.
That’s good. I might do this for changeups.
That’s good. I might do this for changeups.
How did you come up with the grade after you added the z scores for velo and movement? Tried to do this for other pitches, but can’t figure out how you formulated the grade.