Introducing wPD — Pitchers Edition

I’m also excited to announced that wPD (weighted plate discipline) will also be calculated for pitchers. It is a new metric that attempts to capture a given pitcher’s level of plate discipline relative to the league average (whether that be the average starting pitcher or reliever), which in this case will be 100. It takes into account a. what pitches the hitters are swinging at and b. what rate are they making contact with those pitches

CINCINNATI, OH – MARCH 30: Max Scherzer #31 of the Washington Nationals pitches in the third inning of the game against the Cincinnati Reds at Great American Ball Park on March 30, 2018 in Cincinnati, Ohio. (Photo by Joe Robbins/Getty Images)

Part A

FANGRAPHS PLATE DISCIPLINE STATS

O-Swing%: the percent of time a pitcher gets the hitter to swing at pitches outside the strike zone

Z-Swing%: the percent of time a pitcher gets the hitter to swing at pitches inside the strike zone

I took both of these stats and divided them by the league average for starting pitchers. Here’s what the calculations would look like for Max Scherzer…

O-Swing = (35.7% O-Swing / 31.3% O-Swing [League Average for SPs]) * 100 = 114

Z-Swing = (100% – 73.2% Z-Swing) / 31.8% Z-Swing [League Average for SPs] * 100 = 84

  • Note: the reason I subtracted Scherzer’s Zone% from 100% is because that gives the percent of pitches thrown that are outside the strike zone

Afterwards, I converted the two bolded values into a weighted average based on Max Scherzer’s Zone% (percent of time Scherzer throws a pitch in the strike zone)…

O-Z-Swing = {(100% – 46.2 Zone%) * 114 [O-Swing score]} + (46.2 Zone% * 84 [Z-Swing score]) = 100

Part B

FANGRAPHS PLATE DISCIPLINE STATS

O-Contact%: the percent of time a hitter makes contact with pitches outside the strike zone

Z-Swing%: the percent of time a hitter makes contact with pitches inside the strike zone

Likewise, I took both of these metrics and divided them by the league average (for SPs). Here’s what the calculations would look like for Max Scherzer…

O-Contact = (100% – 49.4% O-Contact) / 36.2% O-Contact [League Average for SPs] * 100 = 140

Z-Contact = (100% – 78.3% Z-Contact) / 14.1% Z-Contact [League Average for SPs] * 100 = 154

For Part B, I also averaged the two values, but this time using a different methodology.

46.2% of the pitches Scherzer throws are in the strike zone. Hitters swing at 73.2% of them. If you multiply those two percentages out and times the final number by 100, you get 33.8 — which means on average, for every 100 pitches Scherzer throws, batters will swing at 33.8 of them (all of which are inside the strike zone). If you repeat the same process for pitches Scherzer throws that are outside the strike zone, you get 19.2 (which holds the same meaning as the one above expect it is with pitches outside the strike zone). Now we are ready to weigh the two original values…

O-Z-Contact = {(33.8 / 53.0 [33.8 + 19.2]) * 154} + (19.2 / 53.0 * 140) = 149

In order to arrive at the ultimate wPD rating, we need to average (weighted) the two primary scores [O-Z-Swing and O-Z-Contact)…

(100 [O-Z-Swing] * 0.35) + (149 [O-Z-Contact] * 0.65) = 132

I weighed the O-Z-Contact more heavily mainly because in my discretion, whether or not a pitcher is doing a better job of limiting the amount of contact is more important than the actual pitches the pitcher is getting the hitters to swing at. 

Before I reveal the full wPD leaderboard, here are the wPD scores and their corresponding percentiles among qualified starting pitchers…

  • 75.9 – 84.6: very bad (1.4 – 10.8 percentile)
  • 85.0 – 91.6: bad (12.2 – 24.3 percentile)
  • 91.8 – 95.5: below average (25.7 – 33.8 percentile)
  • 95.6 – 106.2: average (35.1 – 66.2 percentile)
  • 106.6 – 109.7: above average (67.6 – 75.7 percentile)
  • 111.8 – 119.3: good (77.0 – 89.2 percentile)
  • 121.3 – 131.8: very good (90.5 – 100 percentile)
NameTeamwPD
Max ScherzerNationals131.8
Justin VerlanderAstros130.3
Lucas GiolitoWhite Sox129.4
Gerrit ColeAstros128.5
Chris SaleRed Sox128.2
Luis CastilloReds126.4
Robbie RayDiamondbacks124.4
Kenta MaedaDodgers121.3
Stephen StrasburgNationals119.3
Matthew BoydTigers117.7
Shane BieberIndians117.7
Jacob deGromMets117.2
Charlie MortonRays114.1
Jack FlahertyCardinals113.4
Yu DarvishCubs113.2
Cole HamelsCubs113.1
Noah SyndergaardMets113.0
Mike MinorRangers111.8
Patrick CorbinNationals109.7
Kyle GibsonTwins108.9
Michael PinedaTwins108.1
German MarquezRockies108.1
Dylan BundyOrioles107.3
Trevor RichardsMarlins106.8
Eduardo RodriguezRed Sox106.6
Jon GrayRockies106.2
Walker BuehlerDodgers106.2
Hyun-Jin RyuDodgers106.1
Lance LynnRangers104.3
Trevor BauerIndians104.3
Jose BerriosTwins103.9
Madison BumgarnerGiants102.9
Sonny GrayReds101.6
Zack WheelerMets101.2
Max FriedBraves100.8
Joey LucchesiPadres100.7
Aaron NolaPhillies100.5
Joe MusgrovePirates100.3
Julio TeheranBraves100.2
Brandon WoodruffBrewers99.9
Trent ThorntonBlue Jays99.1
Tyler MahleReds98.1
Zack GreinkeDiamondbacks97.5
Zach EflinPhillies97.4
Reynaldo LopezWhite Sox97.3
Clayton KershawDodgers96.5
Dakota HudsonCardinals95.9
Kyle HendricksCubs95.7
Wade MileyAstros95.6
Sandy AlcantaraMarlins95.5
Jakob JunisRoyals94.6
Masahiro TanakaYankees94.6
Spencer TurnbullTigers93.5
Jeff SamardzijaGiants93.2
J.A. HappYankees93.0
Andrew CashnerOrioles91.8
Miles MikolasCardinals91.6
Merrill KellyDiamondbacks91.6
Yusei KikuchiMariners91.6
Jon LesterCubs91.1
Marcus StromanBlue Jays90.7
Jose QuintanaCubs90.4
Tanner RoarkReds90.0
Aaron SanchezBlue Jays88.6
Mike FiersAthletics85.9
Rick PorcelloRed Sox85.0
Jake ArrietaPhillies84.6
Marco GonzalesMariners83.4
Zach DaviesBrewers81.5
Ivan NovaWhite Sox81.1
Mike LeakeMariners81.0
Brett AndersonAthletics79.9
Brad KellerRoyals79.6
Eric LauerPadres75.9

Among relief pitchers…

  • 68.7 – 84.7: very bad (0.6 – 10.7 percentile)
  • 85.8 – 91.5: bad (11.2 – 23.1 percentile)
  • 91.8 – 94.5: below average (22.7 – 33.7 percentile)
  • 94.6- 106.9: average (34.3 – 66.3 percentile)
  • 107.4 – 112.4: above average (66.9 – 77.5 percentile)
  • 113.3 – 119.8: good (78.1 – 89.2 percentile)
  • 121.5 – 162.3: very good (89.9 – 100 percentile)
NameTeamwPD
Josh HaderBrewers162.3
Corbin BurnesBrewers140.5
Robert StephensonReds137.9
Amir GarrettReds137.0
Ken GilesBlue Jays136.0
Joe JimenezTigers130.2
Edwin DiazMets129.3
Emilio PaganRays128.8
Hector NerisPhillies128.1
Jake DiekmanRoyals127.9
Joshua JamesAstros127.7
Carlos EstevezRockies127.2
Tommy KahnleYankees126.7
David HernandezReds124.9
Kirby YatesPadres124.9
Giovanny GallegosCardinals122.6
Raisel IglesiasReds121.8
Nick AndersonMarlins121.5
Ryan PresslyAstros119.8
Andrew ChafinDiamondbacks119.7
Mychal GivensOrioles119.5
Roberto OsunaAstros119.4
Kenley JansenDodgers118.8
Andrew MillerCardinals118.5
Will SmithGiants118.3
Pedro BaezDodgers118.1
Jose LeclercRangers118.1
Adam OttavinoYankees116.8
Matt Wisler– – –115.9
John BrebbiaCardinals115.7
Shawn Armstrong– – –115.7
Brandon WorkmanRed Sox115.1
Wander SueroNationals114.2
Jace FryWhite Sox114.1
Liam HendriksAthletics114.0
Trey WingenterPadres114.0
Brad HandIndians113.6
Francisco LirianoPirates113.3
Heath HembreeRed Sox113.3
Tim MayzaBlue Jays112.4
Noe RamirezAngels112.4
Kyle CrickPirates112.1
Brandon BrennanMariners112.0
Buck FarmerTigers112.0
Scott BarlowRoyals112.0
Felipe VazquezPirates111.4
Reyes MorontaGiants109.9
Joakim SoriaAthletics109.7
Joe BiaginiBlue Jays109.6
Felix PenaAngels109.2
Scott ObergRockies109.1
Luke JacksonBraves108.9
Aroldis ChapmanYankees108.8
Matt BarnesRed Sox108.8
Nick RamirezTigers108.3
Ryne HarperTwins108.2
Sergio RomoMarlins107.4
Diego CastilloRays106.9
Chris DevenskiAstros106.8
Touki ToussaintBraves106.6
Roenis EliasMariners106.5
Wilmer Font– – –106.4
Lou TrivinoAthletics105.9
Matt MagillTwins105.8
Yimi GarciaDodgers105.3
Nick VincentGiants105.3
John GantCardinals105.1
Tayron GuerreroMarlins104.8
Steve CishekCubs104.8
Dominic LeoneCardinals104.6
Anthony Swarzak– – –104.6
Jonathan HolderYankees104.6
Luis CessaYankees104.4
Trevor MayTwins104.4
Jeurys FamiliaMets104.0
Jordan HicksCardinals103.9
Ty ButtreyAngels103.8
Tony WatsonGiants103.1
Julio UriasDodgers103.1
Blake TreinenAthletics102.3
Michael LorenzenReds101.9
Marcus WaldenRed Sox101.7
Colten BrewerRed Sox101.1
Ryan BrasierRed Sox100.9
Will HarrisAstros100.8
Yoan LopezDiamondbacks100.6
Seth LugoMets100.1
Greg HollandDiamondbacks99.4
Tyler WebbCardinals99.2
Kelvin HerreraWhite Sox99.0
Brad BrachCubs98.9
Taylor RogersTwins98.8
Cam BedrosianAngels98.8
Archie BradleyDiamondbacks98.6
Brett MartinRangers98.5
Robert GsellmanMets98.4
Yoshihisa HiranoDiamondbacks98.2
Miguel CastroOrioles98.2
Alex ClaudioBrewers98.2
Blake ParkerTwins98.1
Junior GuerraBrewers97.7
Shane GreeneTigers97.6
Thomas PannoneBlue Jays97.1
Jacob WebbBraves96.9
Luis GarciaAngels96.7
Nestor CortesYankees96.1
Sam GaviglioBlue Jays95.9
Justin AndersonAngels95.8
Chaz RoeRays95.3
Austin BriceMarlins95.2
Dylan FloroDodgers94.6
Joe KellyDodgers94.6
Brandon KintzlerCubs94.5
Jalen BeeksRays94.4
Juan MinayaWhite Sox94.4
Paul FryOrioles94.1
Robbie ErlinPadres93.9
Trevor GottGiants93.8
Kyle RyanCubs93.7
Aaron BummerWhite Sox93.7
Adam WarrenPadres93.5
Shawn KelleyRangers93.2
Alex ColomeWhite Sox93.1
Sean DoolittleNationals93.0
Yusmeiro PetitAthletics92.9
Hansel RoblesAngels92.5
Jose AlvarezPhillies92.4
Derek HollandGiants92.3
Chris MartinRangers92.2
Matt AlbersBrewers91.8
Clay HolmesPirates91.5
Zack BrittonYankees91.0
Victor AlcantaraTigers90.8
Tyler DuffeyTwins90.6
Wade LeBlancMariners89.8
Luis PerdomoPadres89.7
Adam KolarekRays89.7
Jared HughesReds89.7
Cory GearrinMariners89.6
Matt AndrieseDiamondbacks89.1
Adam ConleyMarlins88.7
Mark MelanconGiants88.6
Blaine HardyTigers88.5
Josh OsichWhite Sox88.2
Nick WittgrenIndians88.1
Mike Wright Jr.– – –87.7
Adam CimberIndians87.5
Bryan ShawRockies87.0
Craig StammenPadres86.5
Juan NicasioPhillies86.4
Josh TomlinBraves85.8
Daniel HudsonBlue Jays84.7
Richard RodriguezPirates84.6
Tyler ChatwoodCubs84.6
Jeremy JeffressBrewers84.1
Sam DysonGiants84.0
Javy Guerra– – –84.0
Wei-Yin ChenMarlins83.8
Ryan YarbroughRays83.5
T.J. McFarlandDiamondbacks82.0
Adrian SampsonRangers81.5
Hector RondonAstros80.5
Elvis LucianoBlue Jays80.4
Nick Kingham– – –80.0
Chad BettisRockies80.0
Matt GraceNationals79.0
Wily PeraltaRoyals76.7
Ian KennedyRoyals76.2
Jesse ChavezRangers68.7

Here is a complete wPD ranking for all 30 teams’ pitching…

  • Note: average = 100.0
wPD
Rays111
Astros110
Reds107
Nationals106
Dodgers106
Yankees104
Red Sox104
Mets103
Marlins103
Indians102
Angels102
Twins102
Brewers101
Cardinals101
Pirates100
Braves99
Cubs99
Padres99
Phillies99
Tigers97
Diamondbacks97
Rockies97
Blue Jays96
Giants95
White Sox95
Rangers94
Mariners93
Orioles93
Athletics93
Royals90

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s