Category: MLB


  • Park-Adjusted Statistics for the MLB

    Park-Adjusted Statistics for the MLB

    (📸 MLB.com)

    The development of sabermetrics in Major League Baseball has coincided with an increased awareness of confounders, one of which is the effect of ballparks and their playing environments. The ubiquitous example is Coors Field in Denver, whose abnormal elevation is known to cause baseballs to travel 5 to 10% farther than at typical sea level. [1] While comprehensive statistics like On-Base Plus Slugging (OPS) and weighted Runs Created (wRC) have spawned improvements that account for such prior knowledge, these principles have yet to be widely applied to traditional box scores. Thus, I set out to develop a subset of “park factors” that can be used to manipulate statistics like batting average and home runs to provide a more level playing field when comparing these measurements between players of varying ballpark conditions.

    The Example

    Colorado Rockies players often have more scrutinized slash lines and power statistics because of the aforementioned data on the elevation effect. Let’s use home runs in the 2021 regular season as the example of park-adjusted statistics to observe the supposed bottom-line effect in home-run frequency between stadiums. To estimate a ballpark’s effect on home runs among all thirty teams, their home-run frequency (measured as home runs per plate appearance) is compared between home and away games. To include a larger breadth of information, a five-year data set was used. (For 2021, seasons 2017 through 2021 were used to calculate park factors.)

    Because the entire league is usually more prone to hit home runs at home than on the road (likely stemming from the home-field advantage), a small adjustment is made to reflect this. Additionally, only half of the measured effect is added to the rating because teams split roughly half of their schedule between home and away games. Therefore, the final measurement we’re left with is the percent increment of a team’s home-run frequency on the road versus at home relative to the league. This park factor can be used on the player level, too. Let’s see how the power-hitting landscape changes when these listed adjustments are applied to MLB batters.

    The Results

    NB: Traded players occupy multiple rows for each team played for.

    NameTeamAdj HRHRLuck
    Salvador PerezKCR5548-7
    Vladimir Guerrero Jr.TOR46482
    Marcus SemienTOR43452
    Fernando Tatis Jr.SDP4342-1
    Shohei OhtaniLAA43463
    Brandon LoweTBR4339-4
    Matt OlsonOAK4139-2
    Mitch HanigerSEA4139-2
    Rafael DeversBOS4038-2
    Tyler O’NeillSTL3934-5
    Nolan ArenadoSTL3934-5
    Pete AlonsoNYM3837-1
    Jose RamirezCLE3736-1
    Kyle SeagerSEA3735-2
    Aaron JudgeNYY36393
    Mike ZuninoTBR3633-3
    Paul GoldschmidtSTL3631-5
    Brandon BeltSFG3429-5
    Jorge PolancoMIN3433-1
    Austin RileyATL3433-1
    Yordan AlvarezHOU3433-1
    Max MuncyLAD33363
    Hunter RenfroeBOS3331-2
    Giancarlo StantonNYY33352
    Joey VottoCIN32364
    Bryce HarperPHI32353
    Freddie FreemanATL3231-1
    Jose AltuveHOU31310
    Franmil ReyesCLE3130-1
    Miguel SanoMIN3130-1
    Nick CastellanosCIN31343
    Teoscar HernandezTOR31321
    Ozzie AlbiesATL3130-1
    Kyle TuckerHOU30300
    Adolis GarciaTEX30311
    Austin MeadowsTBR3027-3
    J.D. MartinezBOS2928-1
    Ryan MountcastleBAL29334
    Mike YastrzemskiSFG2925-4
    Matt ChapmanOAK2927-2
    Jose AbreuCHW29301
    Manny MachadoSDP2928-1
    Patrick WisdomCHC28280
    Juan SotoWSN28291
    Avisail GarciaMIL28291
    Brandon CrawfordSFG2824-4
    Eugenio SuarezCIN28313
    Bo BichetteTOR28291
    Dansby SwansonATL27270
    Jared WalshLAA27292
    Bryan ReynoldsPIT2724-3
    Cedric Mullins IIBAL27303
    Josh DonaldsonMIN2726-1
    Carlos CorreaHOU26260
    Bobby DalbecBOS2625-1
    Josh BellWSN26271
    Ian HappCHC25250
    Justin TurnerLAD25272
    C.J. CronCOL25283
    Rhys HoskinsPHI24273
    Andrew McCutchenPHI24273
    Ronald Acuna Jr.ATL24240
    Kyle SchwarberWSN24251
    Xander BogaertsBOS2423-1
    Jesus AguilarMIA2422-2
    Adam DuvallMIA2422-2
    Joey GalloTEX24251
    Robbie GrossmanDET2423-1
    Will SmithLAD23252
    Eduardo EscobarARI2322-1
    Jonathan SchoopDET2322-1
    Eric HaaseDET2322-1
    Luis UriasMIL22231
    Javier BaezCHC22220
    Yasmani GrandalCHW22231
    Randy ArozarenaTBR2220-2
    Paul DeJongSTL2219-3
    Carlos SantanaKCR2219-3
    Jesse WinkerCIN22242
    Jake CronenworthSDP21210
    Gary SanchezNYY21232
    Trevor StoryCOL21243
    Seth BrownOAK2120-1
    Willson ContrerasCHC21210
    Mookie BettsLAD21232
    Enrique HernandezBOS2120-1
    Randal GrichukTOR21221
    George SpringerTOR21221
    Buster PoseySFG2118-3
    Wilmer FloresSFG2118-3
    LaMonte Wade Jr.SFG2118-3
    Francisco LindorNYM2120-1
    Dylan CarlsonSTL2118-3
    Ryan McMahonCOL20233
    Lourdes Gurriel Jr.TOR20211
    Jazz Chisholm Jr.MIA2018-2
    Austin HaysBAL20222
    Byron BuxtonMIN19190
    Nelson CruzMIN19190
    Max KeplerMIN19190
    Andrew BenintendiKCR1917-2
    Willy AdamesMIL19201
    A.J. PollockLAD19212
    Jonathan IndiaCIN19212
    Ty FranceSEA1918-1
    Jonathan VillarNYM1918-1
    Trey ManciniBAL19212
    Darin RufSFG1916-3
    Cesar HernandezCLE1918-1
    Harrison BaderSTL1816-2
    Chris TaylorLAD18202
    Hunter DozierKCR1816-2
    Brad MillerPHI18202
    Kris BryantCHC18180
    Mark CanhaOAK1817-1
    Sean MurphyOAK1817-1
    Trea TurnerWSN17181
    Wil MyersSDP17170
    Nathaniel LoweTEX17181
    Tyler NaquinCIN17192
    Jeimer CandelarioDET1716-1
    Bobby BradleyCLE1716-1
    Adam DuvallATL16160
    Tim AndersonCHW16171
    Anthony SantanderBAL16182
    Elias DiazCOL16182
    Justin UptonLAA16171
    Luis TorrensSEA1615-1
    Kevin PillarNYM1615-1
    Miguel CabreraDET1615-1
    J.T. RealmutoPHI15172
    Jesus SanchezMIA1514-1
    Trent GrishamSDP15150
    Tommy PhamSDP15150
    Yuli GurrielHOU15150
    Evan LongoriaSFG1513-2
    Alex DickersonSFG1513-2
    Jed LowrieOAK1514-1
    Ramon LaureanoOAK1514-1
    Jorge SolerKCR1513-2
    Corey SeagerLAD15161
    Jarred KelenicSEA1514-1
    Michael ConfortoNYM1514-1
    Ketel MarteARI1514-1
    Kyle FarmerCIN14162
    Ryan JeffersMIN14140
    Andrew VaughnCHW14151
    Jorge SolerATL14140
    Chas McCormickHOU14140
    Nelson CruzTBR1413-1
    Yandy DiazTBR1413-1
    Brett PhillipsTBR1413-1
    Anthony RizzoCHC14140
    Austin SlaterSFG1412-2
    Rougned OdorNYY14151
    Alex VerdugoBOS1413-1
    Michael A. TaylorKCR1412-2
    Ryan ZimmermanWSN14140
    Kolten WongMIL14140
    Carson KellyARI13130
    Akil BaddooDET13130
    Yoan MoncadaCHW13141
    Mitch GarverMIN13130
    Brendan RodgersCOL13152
    Frank SchwindelCHC13130
    Gio UrshelaNYY13141
    Jean SeguraPHI13141
    Yadier MolinaSTL1311-2
    Tommy EdmanSTL1311-2
    Manny PinaMIL13130
    Dylan MooreSEA1312-1
    Luis RobertCHW12131
    Sam HilliardCOL12142
    Gregory PolancoPIT1211-1
    Eric HosmerSDP12120
    Martin MaldonadoHOU12120
    Alex BregmanHOU12120
    Joey GalloNYY12131
    Max StassiLAA12131
    Joey WendleTBR1211-1
    Ji-Man ChoiTBR1211-1
    Odubel HerreraPHI12131
    Didi GregoriusPHI12131
    Tyrone TaylorMIL12120
    DJ PetersTEX12120
    Tom MurphySEA1211-1
    Charlie BlackmonCOL11132
    Dominic SmithNYM11110
    Josh RojasARI11110
    Daulton VarshoARI11110
    Pavin SmithARI11110
    Whit MerrifieldKCR1110-1
    Amed RosarioCLE11110
    Colin MoranPIT1110-1
    Rafael OrtegaCHC11110
    Joc PedersonCHC11110
    Albert PujolsLAD11121
    Manuel MargotTBR1110-1
    D.J. StewartBAL11121
    Omar NarvaezMIL11110
    Mitch MorelandOAK1110-1
    Nick SolakTEX11110
    Danny JansenTOR11110
    Gavin SheetsCHW10111
    James McCannNYM10100
    Christian WalkerARI10100
    Austin HedgesCLE10100
    Ryan O’HearnKCR109-1
    Luke VoitNYY10111
    Lewis BrinsonMIA109-1
    Garrett CooperMIA109-1
    Miguel RojasMIA109-1
    Pedro SeverinoBAL10111
    Maikel FrancoBAL10111
    Garrett HampsonCOL10111
    Jonah HeimTEX10100
    Eloy JimenezCHW10100
    Jake FraleySEA990
    J.P. CrawfordSEA990
    Javier BaezNYM990
    Steven DuggarSFG98-1
    Willi CastroDET990
    Niko GoodrumDET990
    DJ LeMahieuNYY9101
    Brett GardnerNYY9101
    Kyle HigashiokaNYY9101
    Yu ChangCLE990
    Jack MayfieldLAA9101
    Brent RookerMIN990
    Trea TurnerLAD9101
    Cody BellingerLAD9101
    Tyler StephensonCIN9101
    Aristides AquinoCIN9101
    Yoshi TsutsugoPIT98-1
    Ben GamelPIT98-1
    Jacob StallingsPIT98-1
    Dom NunezCOL9101
    Lewin DiazMIA98-1
    Yan GomesWSN990
    Yadiel HernandezWSN990
    Christian YelichMIL990
    Daniel VogelbachMIL990
    Tony KempOAK880
    Taylor TrammellSEA880
    Gleyber TorresNYY891
    Brandon NimmoNYM880
    David PeraltaARI880
    Bradley ZimmerCLE880
    Alex KirilloffMIN880
    Ha-seong KimSDP880
    Thairo EstradaSFG87-1
    Tommy La StellaSFG87-1
    Donovan SolanoSFG87-1
    Kris BryantSFG87-1
    William ContrerasATL880
    Michael BrantleyHOU880
    Aledmys DiazHOU880
    Jason CastroHOU880
    Jason HeywardCHC880
    David BoteCHC880
    Freddy GalvisBAL891
    Michael PerezPIT87-1
    Lorenzo CainMIL880
    Isiah Kiner-FalefaTEX880
    Starling MarteMIA87-1
    Brian AndersonMIA87-1
    Wander FrancoTBR87-1
    Alejandro KirkTOR880
    Brian GoodwinCHW880
    Anthony RizzoNYY781
    Jose IglesiasLAA781
    Mike TroutLAA781
    Taylor WardLAA781
    Kyle SchwarberBOS770
    Jeff McNeilNYM770
    Asdrubal CabreraARI770
    Eddie RosarioCLE770
    Josh NaylorCLE770
    Jordan LuplowCLE770
    Roberto PerezCLE770
    Harold RamirezCLE770
    Willians AstudilloMIN770
    Trevor LarnachMIN770
    Victor CaratiniSDP770
    Marcell OzunaATL770
    Eddie RosarioATL770
    Travis d’ArnaudATL770
    Joc PedersonATL770
    Connor JoeCOL781
    Edmundo SosaSTL76-1
    Adalberto MondesiKCR76-1
    Lane ThomasWSN770
    Rowdy TellezMIL770
    Andy IbanezTEX770
    Cavan BiggioTOR770
    Ke’Bryan HayesPIT76-1
    Yermin MercedesCHW770
    Adam EngelCHW770
    Francisco MejiaTBR76-1
    Phil GosselinLAA671
    Gavin LuxLAD671
    Zach McKinstryLAD671
    Matt BeatyLAD671
    Chad PinderOAK660
    Ronald TorreyesPHI671
    Alec BohmPHI671
    Christian VazquezBOS660
    Christian ArroyoBOS660
    Tucker BarnhartCIN671
    Jose PerazaNYM660
    Ramon UriasBAL671
    Josh VanMeterARI660
    Andy YoungARI660
    Dustin GarneauDET660
    Jake RogersDET660
    Wilson RamosDET660
    Zack ShortDET660
    Oscar MercadoCLE660
    Joshua FuentesCOL671
    Jake MeyersHOU660
    Abraham ToroHOU660
    Mauricio DubonSFG65-1
    Curt CasaliSFG65-1
    Josh HarrisonWSN660
    Luis GarciaWSN660
    Carter KieboomWSN660
    Jace PetersonMIL660
    Jackie Bradley Jr.MIL660
    Eduardo EscobarMIL660
    Travis ShawMIL660
    Willie CalhounTEX660
    Jason MartinTEX660
    Eli WhiteTEX660
    Lars NootbaarSTL65-1
    Jake LambCHW660
    Edward OlivaresKCR65-1
    Anthony AlfordPIT65-1
    Phillip EvansPIT65-1
    Kevin NewmanPIT65-1
    Rodolfo CastroPIT65-1
    Miguel AndujarNYY660
    Anthony RendonLAA660
    Juan LagaresLAA660
    Kurt SuzukiLAA660
    Jose RojasLAA660
    Luis RengifoLAA660
    Austin BarnesLAD660
    Bryan De La CruzMIA550
    Willy AdamesTBR550
    Mike BrosseauTBR550
    Mike MoustakasCIN561
    Raimel TapiaCOL561
    Stephen PiscottyOAK550
    Starling MarteOAK550
    Yan GomesOAK550
    Danny SantanaBOS550
    Abraham ToroSEA550
    Kyle LewisSEA550
    J.D. DavisNYM550
    Billy McKinneyNYM550
    Stephen VogtARI550
    Kole CalhounARI550
    Nick AhmedARI550
    Victor ReyesDET550
    Andres GimenezCLE550
    Kyle GarlickMIN550
    Abraham AlmonteATL550
    Ehire AdrianzaATL550
    Guillermo HerediaATL550
    Robinson ChirinosCHC550
    Jake MarisnickCHC550
    Sergio AlcantaraCHC550
    Matt DuffyCHC550
    Andrew StevensonWSN550
    Charlie CulbersonTEX550
    Jose TrevinoTEX550
    Seby ZavalaCHW550
    Leury GarciaCHW550
    Adam EatonCHW550
    Mike TauchmanSFG54-1
    Clint FrazierNYY550
    Albert PujolsLAA550
    Justin WilliamsSTL54-1
    Freddy GalvisPHI550
    Adam FrazierPIT440
    Wilmer DifoPIT440
    Pat ValaikaBAL451
    Nick FortesMIA440
    Jorge AlfaroMIA440
    Jon BertiMIA440
    Isan DiazMIA440
    Sandy LeonMIA440
    Kevin KiermaierTBR440
    Jordan LuplowTBR440
    Shed Long Jr.SEA440
    Jose MarmolejosSEA440
    Brandon DruryNYM440
    Daz CameronDET440
    Renato NunezDET440
    Daniel JohnsonCLE440
    Owen MillerCLE440
    Nick GordonMIN440
    Jurickson ProfarSDP440
    Pablo SandovalATL440
    Jose SiriHOU440
    Trayce ThompsonCHC440
    Alcides EscobarWSN440
    Keston HiuraMIL440
    John HicksTEX440
    David DahlTEX440
    Corey DickersonTOR440
    Rowdy TellezTOR440
    Zack CollinsCHW440
    Aaron HicksNYY440
    Jo AdellLAA440
    Austin WynnsBAL440
    Jason VoslerSFG330
    Jose RondonSTL330
    Matt CarpenterSTL330
    Hoy ParkPIT330
    Alex JacksonMIA330
    Elvis AndrusOAK330
    Aramis GarciaOAK330
    Kevin PlaweckiBOS330
    Travis ShawBOS330
    Jonathan ArauzBOS330
    Tomas NidoNYM330
    Harold CastroDET330
    Derek HillDET330
    Nomar MazaraDET330
    Ernie ClementCLE330
    Andrelton SimmonsMIN330
    Jake CaveMIN330
    Ben RortvedtMIN330
    Marwin GonzalezHOU330
    Michael HermosilloCHC330
    Starlin CastroWSN330
    Billy McKinneyMIL330
    Leody TaverasTEX330
    Cesar HernandezCHW330
    Mike FordNYY330
    Sheldon NeuseLAD330
    Max SchrockCIN330
    Rio RuizBAL330
    Nicky LopezKCR220
    Hanser AlbertoKCR220
    Ka’ai TomPIT220
    Cole TuckerPIT220
    Erik GonzalezPIT220
    Corey DickersonMIA220
    Josh HarrisonOAK220
    Jarren DuranBOS220
    Marwin GonzalezBOS220
    Michael ChavisBOS220
    Jake BauersSEA220
    Donovan WaltonSEA220
    Sam HaggertySEA220
    Cal RaleighSEA220
    Evan WhiteSEA220
    Josh ReddickARI220
    Jake McCarthyARI220
    JaCoby JonesDET220
    Myles StrawCLE220
    Rene RiveraCLE220
    Wilson RamosCLE220
    Jake BauersCLE220
    Rob RefsnyderMIN220
    Gilberto CelestinoMIN220
    Luis ArraezMIN220
    Webster RivasSDP220
    Austin NolaSDP220
    Jorge MateoSDP220
    Brian O’GradySDP220
    Huascar YnoaATL220
    Ender InciarteATL220
    Orlando ArciaATL220
    Stephen VogtATL220
    Myles StrawHOU220
    Taylor JonesHOU220
    Keibert RuizWSN220
    Riley AdamsWSN220
    Tres BarreraWSN220
    Jordy MercerWSN220
    Gerardo ParraWSN220
    Victor RoblesWSN220
    Daniel RobertsonMIL220
    Adrian HouserMIL220
    Jacob NottinghamMIL220
    Brock HoltTEX220
    Khris DavisTEX220
    Santiago EspinalTOR220
    Joe PanikTOR220
    Danny MendickCHW220
    Nick MadrigalCHW220
    Billy HamiltonCHW220
    Ryan LaMarreNYY220
    David FletcherLAA220
    Brandon MarshLAA220
    Luke RaleyLAD220
    Andrew KnappPHI220
    Matt VierlingPHI220
    Matt JoycePHI220
    Nick MatonPHI220
    Scott HeinemanCIN220
    Kelvin GutierrezBAL220
    Jorge MateoBAL220
    Ryan McKennaBAL220
    Yonathan DazaCOL220
    Chadwick TrompSFG110
    Logan WebbSFG110
    Andrew KniznerSTL110
    Austin DeanSTL110
    Jack FlahertySTL110
    Kyle IsbelKCR110
    Cam GallagherKCR110
    Kelvin GutierrezKCR110
    Emmanuel RiveraKCR110
    Tyler AndersonPIT110
    Michael ChavisPIT110
    Oneil CruzPIT110
    John NogowskiPIT110
    Will CraigPIT110
    Deven MarreroMIA110
    Eddy AlvarezMIA110
    Joe PanikMIA110
    Taylor WallsTBR110
    Khris DavisOAK110
    Austin AllenOAK110
    Frank SchwindelOAK110
    Skye BoltOAK110
    Jose IglesiasBOS110
    Franchy CorderoBOS110
    Jacob NottinghamSEA110
    Luis GuillormeNYM110
    Mason WilliamsNYM110
    Patrick MazeikaNYM110
    Travis BlankenhornNYM110
    Humberto CastellanosARI110
    Seth BeerARI110
    Henry RamosARI110
    Tim LocastroARI110
    Drew EllisARI110
    Wyatt MathisenARI110
    Grayson GreinerDET110
    Isaac ParedesDET110
    Daniel CamarenaSDP110
    Adam FrazierSDP110
    Ryan WeathersSDP110
    Cristian PacheATL110
    Robel GarciaHOU110
    Alfonso Rivas IIICHC110
    Eric SogardCHC110
    Austin RomineCHC110
    Andrew RomineCHC110
    Alex AvilaWSN110
    Jon LesterWSN110
    Eric LauerMIL110
    Pablo ReyesMIL110
    Yohel PozoTEX110
    Ronald GuzmanTEX110
    Jonathan DavisTOR110
    Jake LambTOR110
    Breyvic ValeraTOR110
    Reese McGuireTOR110
    Kevin SmithTOR110
    Jake BurgerCHW110
    Tim LocastroNYY110
    Jay BruceNYY110
    Chris GittensNYY110
    Estevan FlorialNYY110
    Andrew VelazquezNYY110
    Adam EatonLAA110
    DJ PetersLAD110
    Edwin RiosLAD110
    Steven Souza Jr.LAD110
    Billy McKinneyLAD110
    Keibert RuizLAD110
    Mickey MoniakPHI110
    Travis JankowskiPHI110
    Luke WilliamsPHI110
    Rafael MarchanPHI110
    Kyle GibsonPHI110
    T.J. FriedlCIN110
    Delino DeShieldsCIN110
    Nick SenzelCIN110
    Richie MartinBAL110
    Tyler NevinBAL110
    Domingo LeybaBAL110
    Chris OwingsCOL110
    German MarquezCOL110
    Alan TrejoCOL110
    Tommy HunterNYM000
    Daniel BardCOL000
    Jose QuintanaSFG000
    Connor OvertonPIT000
    Josh LoweTBR000
    Jake ArrietaSDP000
    Austin VothWSN000
    Andrew HeaneyLAA000
    Sean ManaeaOAK000
    Justus SheffieldSEA000
    Jordan YamamotoNYM000
    Jakson ReetzWSN000
    Garrett CleavingerLAD000
    Triston McKenzieCLE000
    Ali SanchezSTL000
    Cal QuantrillCLE000
    Garrett WhitlockBOS000
    Bailey OberMIN000
    Jerad EickhoffNYM000
    Taylor DavisPIT000
    Dylan CeaseCHW000
    Jacob deGromNYM000
    Jon JayLAA000
    Jonathan LucroyWSN000
    Ross DetwilerMIA000
    Josh TomlinATL000
    Taylor MotterBOS000
    Jake FariaARI000
    Matthew BoydDET000
    Kohl StewartCHC000
    Ivan CastilloSDP000
    Taylor ClarkeARI000
    JT RiddleMIN000
    James KaprielianOAK000
    Kenta MaedaMIN000
    Phil BickfordLAD000
    Dakota HudsonSTL000
    Justin DunnSEA000
    Dane DunningTEX000
    Alex De GotiHOU000
    Kyle WrightATL000
    Cory AbbottCHC000
    Joey BartSFG000
    Spencer HowardPHI000
    Drew RasmussenTBR000
    Connor WongBOS000
    Nico HoernerCHC000
    Luke MaileMIL000
    Johneshwy FargasNYM000
    Eric CampbellSEA000
    Andy BurnsLAD000
    Max FriedATL000
    Brian MillerMIA000
    Nick MartiniCHC000
    Greg AllenNYY000
    Tyler WadeNYY000
    David PriceLAD000
    Payton HenryMIA000
    Alejo LopezCIN000
    Geraldo PerdomoARI000
    Adrian SanchezWSN000
    Dexter FowlerLAA000
    Rich HillTBR000
    Ryan LavarnwayCLE000
    Kevan SmithTBR000
    Dylan BundyLAA000
    Joe RossWSN000
    Erick CastilloCHC000
    Patrick KivlehanSDP000
    Jose De LeonCIN000
    Lucas GiolitoCHW000
    Zack LittellSFG000
    Derek FisherMIL000
    Ryan McBroomKCR000
    Braden BishopSEA000
    Jose UrquidyHOU000
    Patrick SandovalLAA000
    Luis BarreraOAK000
    Corbin MartinARI000
    Luis GonzalezCHW000
    Matt PeacockARI000
    Romy GonzalezCHW000
    Jose DeversMIA000
    Magneuris SierraMIA000
    Johneshwy FargasCHC000
    Clayton KershawLAD000
    Anthony BemboomLAA000
    Trevor WilliamsCHC000
    Jarrod DysonKCR000
    Yonny HernandezTEX000
    Rene RiveraWSN000
    Mike TauchmanNYY000
    Tylor MegillNYM000
    Shogo AkiyamaCIN000
    Julio UriasLAD000
    Lance LynnCHW000
    Craig StammenSDP000
    Jonathan LucroyATL000
    Garrett RichardsBOS000
    Stephen StrasburgWSN000
    John MeansBAL000
    Alex BlandinoCIN000
    Nick CiuffoBAL000
    Chad WallachMIA000
    Monte HarrisonMIA000
    Cole IrvinOAK000
    Ronnie DawsonHOU000
    Josh PalaciosTOR000
    Edwin UcetaLAD000
    Jose BarreroCIN000
    Bryan HoladayARI000
    Adam HaseleyPHI000
    Colton WelkerCOL000
    Jake MarisnickSDP000
    Ranger SuarezPHI000
    Zac GallenARI000
    Mike FreemanCIN000
    Ildemaro VargasARI000
    Wade MileyCIN000
    Kevin GausmanSFG000
    Wilfredo TovarNYM000
    Mark PaytonCIN000
    Kyle FreelandCOL000
    Braxton GarrettMIA000
    Tucupita MarcanoSDP000
    Zach DaviesCHC000
    Jack MayfieldSEA000
    Garrett StubbsHOU000
    Tony GonsolinLAD000
    Jared OlivaPIT000
    Sebastian RiveroKCR000
    Roman QuinnPHI000
    Rio RuizCOL000
    Dustin FowlerPIT000
    Paolo EspinoWSN000
    Matt AdamsCOL000
    John AndreoliSDP000
    Luis MarteMIA000
    Ashton GoudeauCOL000
    Steven BraultPIT000
    Kean WongLAA000
    Stevie WilkersonBAL000
    Keegan ThompsonCHC000
    Yoshi TsutsugoTBR000
    Kevan SmithATL000
    Luis CastilloCIN000
    Jose GodoySEA000
    Zack WheelerPHI000
    Chi Chi GonzalezCOL000
    Jacob WilsonHOU000
    Jack LopezBOS000
    Chance SiscoBAL000
    Justin SteeleCHC000
    Trent GiambroneCHC000
    Corbin BurnesMIL000
    Jon LesterSTL000
    Rob BrantlyNYY000
    Taylor MotterCOL000
    Johan OviedoSTL000
    Jahmai JonesBAL000
    Scott ScheblerLAA000
    Sonny GrayCIN000
    Jacob WilsonOAK000
    Ildemaro VargasCHC000
    Aaron NolaPHI000
    Trevor WilliamsNYM000
    Matt ThaissLAA000
    Nick HeathARI000
    Tony SantillanCIN000
    Humberto MejiaARI000
    Edward CabreraMIA000
    Joe MusgroveSDP000
    Zach ThompsonMIA000
    Jeff HoffmanCIN000
    Greg DeichmannCHC000
    Stuart FairchildARI000
    Patrick CorbinWSN000
    Charlie MortonATL000
    Tony WoltersCHC000
    Jake HagerNYM000
    Vimael MachinOAK000
    Adam WainwrightSTL000
    Yoshi TsutsugoLAD000
    Blake SnellSDP000
    Kyle HendricksCHC000
    Albert Almora Jr.NYM000
    Brandon WoodruffMIL000
    Kwang-hyun KimSTL000
    Trevor CahillPIT000
    Jake HagerARI000
    Dillon ThomasSEA000
    Chance SiscoNYM000
    Troy Stokes Jr.PIT000
    Jake WoodfordSTL000
    Jaylin DavisSFG000
    Mitch KellerPIT000
    Riley AdamsTOR000
    Taijuan WalkerNYM000
    Jon GrayCOL000
    Luke WeaverARI000
    Lane ThomasSTL000
    Madison BumgarnerARI000
    Walker BuehlerLAD000
    Rich HillNYM000
    Tim LopesMIL000
    Cody PoteetMIA000
    Jordan HollowayMIA000
    Sammy LongSFG000
    Marcus StromanNYM000
    Jake ArrietaCHC000
    Yu DarvishSDP000
    Drew ButeraLAA000
    Austin GomberCOL000
    Freddy PeraltaMIL000
    Pete KozmaOAK000
    Vince VelasquezPHI000
    Jorge BonifacioPHI000
    Orlando ArciaMIL000
    Caleb SmithARI000
    Yairo MunozBOS000
    Vladimir GutierrezCIN000
    Kyle MullerATL000
    Curtis TerryTEX000
    Luis CampusanoSDP000
    Todd FrazierPIT000
    Carlos MartinezSTL000
    Chase De JongPIT000
    Kevin PadloTBR000
    Bryse WilsonATL000
    JT BrubakerPIT000
    Jarrod DysonTOR000
    Asdrubal CabreraCIN000
    Ildemaro VargasPIT000
    Vidal BrujanTBR000
    Drew SmylyATL000
    Ben GamelCLE000
    Elieser HernandezMIA000
    Trevor RogersMIA000
    Johnny CuetoSFG000
    Adbert AlzolayCHC000
    Merrill KellyARI000
    Max MoroffSTL000
    Ka’ai TomOAK000
    Taylor WidenerARI000
    Anderson TejedaTEX000
    David PetersonNYM000
    Pablo LopezMIA000
    Jonathan DavisNYY000
    Wil CrowePIT000
    John NogowskiSTL000
    Khalil LeeNYM000
    Tyler MahleCIN000
    Ian AndersonATL000
    Hernan PerezWSN000
    Scott KingeryPHI000
    Josiah GrayWSN000
    Antonio SenzatelaCOL000
    Chad KuhlPIT000
    Alex JacksonATL000
    P.J. HigginsCHC000
    Anthony DeSclafaniSFG000
    Cameron MaybinNYM000
    Sandy AlcantaraMIA000
    Trevor BauerLAD000
    Alec MillsCHC000
    Chris PaddackSDP000
    Neftali FelizLAD000
    Neftali FelizPHI000
    Matt BushTEX000
    Adam OttavinoBOS000
    Oliver PerezCLE000
    Sean DoolittleSEA000
    Sean DoolittleCIN000
    Matt MoorePHI000
    Zack GreinkeHOU000
    Corey KluberNYY000
    Jhoulys ChacinCOL000
    Ross DetwilerSDP000
    Luis AvilanWSN000
    Kenley JansenLAD000
    Tony WatsonLAA000
    Tony WatsonSFG000
    Max ScherzerLAD000
    Max ScherzerWSN000
    Will HarrisWSN000
    Ervin SantanaKCR000
    Tyler LadendorfCHC000
    T.J. McFarlandSTL000
    Zack BrittonNYY000
    Joe SmithSEA000
    Joe SmithHOU000
    Darren O’DayNYY000
    Jeff MathisATL000
    Danny DuffyKCR000
    Liam HendriksCHW000
    Yusmeiro PetitOAK000
    Hector SantiagoSEA000
    Pedro StropCHC000
    Derek HollandDET000
    Rafael DolisTOR000
    Jose LobatonCHC000
    Mark MelanconSDP000
    Justin WilsonNYY000
    Justin WilsonCIN000
    Tyler ChatwoodTOR000
    Tyler ChatwoodSFG000
    Jordan ZimmermannMIL000
    Nate JonesATL000
    Nate JonesLAD000
    Matt ShoemakerMIN000
    Scott KazmirSFG000
    Fernando AbadBAL000
    Jake DiekmanOAK000
    Anthony GoseCLE000
    Jeurys FamiliaNYM000
    Wade LeBlancBAL000
    Wade LeBlancSTL000
    Blake ParkerCLE000
    Jose AlvarezSFG000
    Michael PinedaMIN000
    Brad PeacockBOS000
    Pedro BaezHOU000
    Jesse ChavezATL000
    Ryan BrasierBOS000
    Tyler ClippardARI000
    Junior GuerraLAA000
    Dellin BetancesNYM000
    David PhelpsTOR000
    Chris ArcherTBR000
    Jake OdorizziHOU000
    Trevor MayNYM000
    Jose CisneroDET000
    Steve CishekLAA000
    Blaine HardyMIL000
    Alex CobbLAA000
    Robert StockCHC000
    Robert StockNYM000
    Brad BrachCIN000
    Carlos CarrascoNYM000
    Craig KimbrelCHW000
    Craig KimbrelCHC000
    Alex ColomeMIN000
    Andrew MillerSTL000
    Julio TeheranDET000
    Chase AndersonPHI000
    Martin PerezBOS000
    Joakim SoriaTOR000
    Joakim SoriaARI000
    Brandon DicksonSTL000
    Luis GarciaSTL000
    Ian KennedyTEX000
    Ian KennedyPHI000
    Ryan PresslyHOU000
    Daniel HudsonWSN000
    Daniel HudsonSDP000
    Greg HollandKCR000
    Preston GuilmetMIA000
    Sean Kazmar jr.ATL000
    Javy GuerraWSN000
    J.A. HappMIN000
    J.A. HappSTL000
    Jay JacksonSFG000
    Wade DavisKCR000
    Anthony SwarzakKCR000
    Anthony SwarzakARI000
    Collin McHughTBR000
    Jake McGeeSFG000
    Nick VincentMIN000
    Jordan LylesTEX000
    Tommy MiloneTOR000
    Wily PeraltaDET000
    Mike FiersOAK000
    Richard BleierMIA000
    Hunter StricklandLAA000
    Hunter StricklandTBR000
    Hunter StricklandMIL000
    Andrew AlbersMIN000
    Josh LindblomMIL000
    Anthony BassMIA000
    Will SmithATL000
    Bryan ShawCLE000
    Brett AndersonMIL000
    David RobertsonTBR000
    Lucas LuetgeNYY000
    AJ RamosLAA000
    Deolis GuerraOAK000
    Justin MillerWSN000
    Justin MillerSTL000
    Tanner RoarkTOR000
    Cesar ValdezBAL000
    John AxfordMIL000
    Brad HandTOR000
    Brad HandWSN000
    Brad HandNYM000
    Nathan EovaldiBOS000
    Kyle LobsteinWSN000
    Zac RosscupCOL000
    Dallas KeuchelCHW000
    Ryan BuchterARI000
    David HalePHI000
    Joe KellyLAD000
    Rex BrothersCHC000
    Miles MikolasSTL000
    Sergio RomoOAK000
    Chaz RoeTBR000
    Brandon KintzlerPHI000
    Mike MinorKCR000
    Tyler MatzekATL000
    Brooks RaleyHOU000
    Ian KrolDET000
    Caleb ThielbarMIN000
    Kyle GibsonTEX000
    Brad BoxbergerMIL000
    Manny BarredaBAL000
    Ryan WeberBOS000
    Ryan WeberSEA000
    Ryan WeberMIL000
    Shelby MillerCHC000
    Shelby MillerPIT000
    Aaron NorthcraftSDP000
    Aroldis ChapmanNYY000
    Ryan TeperaCHW000
    Ryan TeperaCHC000
    Erasmo RamirezDET000
    Juan MinayaMIN000
    Aaron LoupNYM000
    Mychal GivensCIN000
    Mychal GivensCOL000
    Jake PetrickaLAA000
    Jimmy NelsonLAD000
    Scott AlexanderLAD000
    Chris SaleBOS000
    Andrew BellattiMIA000
    Drew HutchisonDET000
    Shane GreeneATL000
    Shane GreeneLAD000
    Mike FoltynewiczTEX000
    R.J. AlanizCIN000
    Asher WojciechowskiNYY000
    Adam KolarekOAK000
    Chasen ShrevePIT000
    Jared HoyingTOR000
    Ben RowenLAA000
    Mickey JannisBAL000
    Vince VelasquezSDP000
    Grant DaytonATL000
    Casey SadlerSEA000
    Sean NolinWSN000
    Seth FrankoffARI000
    Jose QuintanaLAA000
    Drew PomeranzSDP000
    Brandon WorkmanBOS000
    Brandon WorkmanCHC000
    Jesse BiddleATL000
    A.J. ColeTOR000
    Bryan MitchellMIA000
    Robbie RayTOR000
    Joely RodriguezNYY000
    Joely RodriguezTEX000
    Aaron SanchezSFG000
    Josh OsichCIN000
    Jose UrenaDET000
    Mike KickhamLAD000
    Heath HembreeCIN000
    Heath HembreeNYM000
    Jameson TaillonNYY000
    Matt HarveyBAL000
    Luke JacksonATL000
    Kyle RyanCHC000
    Noah SyndergaardNYM000
    Hansel RoblesBOS000
    Hansel RoblesMIN000
    Hector NerisPHI000
    Alberto BaldonadoWSN000
    James PaxtonSEA000
    Chris MartinATL000
    Jason AdamCHC000
    Michael FelizBOS000
    Michael FelizOAK000
    Michael FelizCIN000
    Michael FelizPIT000
    Matt AndrieseBOS000
    Matt AndrieseSEA000
    Yimi GarciaMIA000
    Yimi GarciaHOU000
    Domingo TapiaKCR000
    Domingo TapiaSEA000
    Dan WinklerCHC000
    Ryan SherriffTBR000
    Evan MarshallCHW000
    Chris BassittOAK000
    Colin ReaMIL000
    Jacob BarnesTOR000
    Jacob BarnesNYM000
    Kevin QuackenbushLAD000
    Spencer PattonTEX000
    Nick TropeanoNYM000
    Nick TropeanoSFG000
    Seth LugoNYM000
    Blake TreinenLAD000
    Nick RamirezSDP000
    DJ JohnsonCLE000
    DJ JohnsonTBR000
    Adam MorganCHC000
    Mike Wright Jr.CHW000
    Ryne HarperWSN000
    Rafael MonteroSEA000
    Rafael MonteroHOU000
    Chris DevenskiARI000
    John BrebbiaSFG000
    Burch SmithOAK000
    Noe RamirezLAA000
    Noe RamirezARI000
    Matt WislerTBR000
    Matt WislerSFG000
    Andrew KittredgeTBR000
    Shawn ArmstrongBAL000
    Shawn ArmstrongTBR000
    Matt BarnesBOS000
    Tyler AndersonSEA000
    Alex ClaudioLAA000
    Archie BradleyPHI000
    Andrew ChafinOAK000
    Andrew ChafinCHC000
    Colten BrewerBOS000
    Reymin GuduanOAK000
    Gerrit ColeNYY000
    Derek LawMIN000
    Eduardo RodriguezBOS000
    Kyle CrickPIT000
    Jordan WeemsOAK000
    Jordan WeemsARI000
    Joe BiaginiCHC000
    Michael FulmerDET000
    Louis HeadTBR000
    Ross StriplingTOR000
    Jesse HahnKCR000
    Danny CoulombeMIN000
    Adrian SampsonCHC000
    Luis CessaNYY000
    Luis CessaCIN000
    Hoby MilnerMIL000
    Cam BedrosianOAK000
    Cam BedrosianCIN000
    Cam BedrosianPHI000
    Steven MatzTOR000
    Dylan FloroMIA000
    Sam SelmanLAA000
    Sam SelmanSFG000
    Felix PenaLAA000
    Pierce JohnsonSDP000
    Taylor RogersMIN000
    Lucas SimsCIN000
    Daniel NorrisDET000
    Daniel NorrisMIL000
    Brandon BrennanBOS000
    Richard RodriguezATL000
    Richard RodriguezPIT000
    Steven OkertMIA000
    Robert StephensonCOL000
    Humberto ArteagaWSN000
    Shawn MorimandoMIA000
    Carl Edwards Jr.TOR000
    Carl Edwards Jr.ATL000
    Jakob JunisKCR000
    Clay HolmesNYY000
    Clay HolmesPIT000
    Jharel CottonTEX000
    Corey OswaltNYM000
    John GantMIN000
    John GantSTL000
    Sal RomanoNYY000
    Sal RomanoCIN000
    Sal RomanoMIL000
    Robert GsellmanNYM000
    Joey KrehbielBAL000
    Joey KrehbielTBR000
    Kyle BarracloughMIN000
    Tyler DuffeyMIN000
    Chris StrattonPIT000
    Dominic LeoneSFG000
    JT ChargoisSEA000
    JT ChargoisTBR000
    Zach EflinPHI000
    Alex WoodSFG000
    Matt StrahmSDP000
    Austin AdamsSDP000
    Paul SewaldSEA000
    Chris FlexenSEA000
    Dietrich EnnsTBR000
    Brent SuterMIL000
    Michael WachaTBR000
    Lance McCullers Jr.HOU000
    Chris MazzaTBR000
    Jose BerriosMIN000
    Jose BerriosTOR000
    Kyle ZimmerKCR000
    Josh HaderMIL000
    Wandy PeraltaNYY000
    Wandy PeraltaSFG000
    Frankie MontasOAK000
    Nick WilliamsCHW000
    Joel PayampsKCR000
    Joel PayampsTOR000
    Tyler GlasnowTBR000
    Amir GarrettCIN000
    Hyun-Jin RyuTOR000
    Adam ConleyTBR000
    J.B. WendelkenOAK000
    J.B. WendelkenARI000
    Jorge LopezBAL000
    Carlos EstevezCOL000
    Jose RuizCHW000
    James HoytLAA000
    Rowan WickCHC000
    Konner WadeBAL000
    Jandel GustaveMIL000
    Dillon MaplesCHC000
    Duane Underwood Jr.PIT000
    Tzu-Wei LinMIN000
    Andres MachadoWSN000
    Keone KelaSDP000
    Anthony BandaNYM000
    Anthony BandaPIT000
    Brady LailSEA000
    Edwin DiazNYM000
    Paul BlackburnOAK000
    Emilio PaganSDP000
    Buck FarmerDET000
    Michael LorenzenCIN000
    Joe MantiplyARI000
    Zack GodleyMIL000
    Sam MollOAK000
    Taylor WilliamsMIA000
    Taylor WilliamsSDP000
    Johan CamargoATL000
    Reyes MorontaSFG000
    Tyler WebbSTL000
    Giovanny GallegosSTL000
    Scott BarlowKCR000
    Yacksel RiosBOS000
    Yacksel RiosSEA000
    Kyle FinneganWSN000
    Corey KnebelLAD000
    Alex ReyesSTL000
    Tim MayzaTOR000
    Lou TrivinoOAK000
    Yency AlmonteCOL000
    Kyle McGowinWSN000
    Hunter WoodTEX000
    Luke FarrellMIN000
    Jimmie SherfyLAD000
    Jimmie SherfySFG000
    Drew AndersonTEX000
    Jake NewberryKCR000
    Ashton GoudeauCIN000
    Justin TopaMIL000
    Aaron SlegersLAA000
    Cody ReedTBR000
    Cole SulserBAL000
    Keynan MiddletonSEA000
    Adam CimberTOR000
    Adam CimberMIA000
    Austin PruittMIA000
    Austin PruittHOU000
    Andrew HeaneyNYY000
    Mike MayersLAA000
    Nick PivettaBOS000
    Marco GonzalesSEA000
    Stephen GonsalvesBOS000
    Hunter HarveyBAL000
    Kendall GravemanSEA000
    Kendall GravemanHOU000
    Joseph OdomTBR000
    Eric YardleyMIL000
    Tyler RogersSFG000
    Chad GreenNYY000
    Nick WittgrenCLE000
    Phillips ValdezBOS000
    Yefry RamirezLAD000
    Miguel CastroNYM000
    Brad KellerKCR000
    Joe JimenezDET000
    Devin WilliamsMIL000
    Paul FryBAL000
    Adam PlutkoBAL000
    Kent EmanuelHOU000
    Wander SueroWSN000
    Stephen TarpleyNYM000
    Luis SeverinoNYY000
    Lewis ThorpeMIN000
    Ryne StanekHOU000
    Keury MellaARI000
    Akeem BostickNYM000
    Stefan CrichtonARI000
    Taylor GushueCHC000
    Daniel Ponce de LeonSTL000
    Jordan RomanoTOR000
    Chris EllisBAL000
    Chris EllisTBR000
    John CurtissMIA000
    John CurtissMIL000
    David HessTBR000
    David HessMIA000
    Carlos RodonCHW000
    Jace FryCHW000
    Spencer TurnbullDET000
    Jake ReedLAD000
    Jake ReedNYM000
    Tejay AntoneCIN000
    Aaron BummerCHW000
    Sam HowardPIT000
    Sam ClayWSN000
    Jesus TinocoCOL000
    Alex McRaeCHW000
    Ryan BoruckiTOR000
    Ryan CastellaniCOL000
    Brad WieckCHC000
    Reynaldo LopezCHW000
    Domingo LeybaARI000
    Victor GonzalezLAD000
    Blake TaylorHOU000
    Scott BlewettKCR000
    James NorwoodSDP000
    Conner GreeneBAL000
    Conner GreeneLAD000
    Brent HoneywellTBR000
    Roel RamirezSTL000
    Ryan YarbroughTBR000
    Dan AltavillaSDP000
    Jordan MontgomeryNYY000
    Dusten KnightBAL000
    Erik SwansonSEA000
    Kevin PadloSEA000
    Bryan AbreuHOU000
    J.P. FeyereisenTBR000
    J.P. FeyereisenMIL000
    Ryan ThompsonTBR000
    Julian MerryweatherTOR000
    Vinny NittoliSEA000
    Josh JamesHOU000
    Tim HillSDP000
    Touki ToussaintATL000
    Sean NewcombATL000
    Jake JewellCHC000
    Tyler BeedeSFG000
    Trevor HildenbergerNYM000
    Jefry RodriguezWSN000
    Sean Reid-FoleyNYM000
    Domingo AcevedoOAK000
    Austin DavisBOS000
    Austin DavisPIT000
    Raisel IglesiasLAA000
    Domingo GermanNYY000
    Gabe SpeierKCR000
    Yoan LopezARI000
    Dinelson LametSDP000
    Austin BriceBOS000
    Sam CoonrodPHI000
    Michael KopechCHW000
    Javy GuerraSDP000
    Framber ValdezHOU000
    Edgar SantanaATL000
    Josh TaylorBOS000
    Brett MartinTEX000
    David PaulinoPHI000
    Erick FeddeWSN000
    Albert AbreuNYY000
    Spenser WatkinsBAL000
    Genesis CabreraSTL000
    Diego CastilloSEA000
    Diego CastilloTBR000
    Jorge GuzmanMIA000
    Ryan BurrCHW000
    Jimmy HergetLAA000
    Jimmy HergetTEX000
    Marcos DiplanBAL000
    Tanner ScottBAL000
    Cristian JavierHOU000
    Tanner RaineyWSN000
    Justin LawrenceCOL000
    Jeffrey SpringsTBR000
    Ralph GarzaMIN000
    Ralph GarzaHOU000
    Trevor MegillCHC000
    Skye BoltSFG000
    Nabil CrismattSDP000
    Evan PhillipsTBR000
    Evan PhillipsLAD000
    Tyler AlexanderDET000
    Brody KoernerNYY000
    Drew SmithNYM000
    Angel PerdomoMIL000
    Jose AlvaradoPHI000
    Jake BrentzKCR000
    Patrick WeigelMIL000
    Dillon TateBAL000
    Daniel ZamoraSEA000
    Ian GibautMIN000
    Nestor CortesNYY000
    Dennis SantanaTEX000
    Dennis SantanaLAD000
    Tayler SaucedoTOR000
    Cody PoncePIT000
    Trent ThorntonTOR000
    Tyler GilbertARI000
    Peter LambertCOL000
    Pete FairbanksTBR000
    Hoy ParkNYY000
    Tanner AndersonPIT000
    Phil MatonCLE000
    Phil MatonHOU000
    Cody StashakMIN000
    Ryan MeisingerCHC000
    Ryan HelsleySTL000
    Jay FlaaBAL000
    Jay FlaaATL000
    Anthony MisiewiczSEA000
    Art WarrenCIN000
    Jarlin GarciaSFG000
    Tyler KinleyCOL000
    Carson FulmerCIN000
    Josh SborzTEX000
    Taylor HearnTEX000
    Eric HanholdBAL000
    Alex YoungCLE000
    Alex YoungARI000
    Josh StaumontKCR000
    Nick AndersonTBR000
    Julian FernandezCOL000
    Brandon WaddellBAL000
    Brandon WaddellMIN000
    Brandon WaddellSTL000
    Jaime BarriaLAA000
    Thomas EshelmanBAL000
    Connor OvertonTOR000
    Scott EffrossCHC000
    Travis BlankenhornMIN000
    Enyel De Los SantosPHI000
    Enyel De Los SantosPIT000
    Trey AmburgeyNYY000
    Shea SpitzbarthPIT000
    Junior FernandezSTL000
    Josh RogersWSN000
    Phil BickfordMIL000
    Sam HentgesCLE000
    Logan AllenCLE000
    Travis BergenTOR000
    Travis Lakins Sr.BAL000
    A.J. MinterATL000
    Kolby AllardTEX000
    Nick NeidertMIA000
    Dillon PetersPIT000
    Miguel Del PozoDET000
    Drew SteckenriderSEA000
    Miguel DiazSDP000
    Pedro AvilaSDP000
    Beau BurrowsDET000
    Beau BurrowsMIN000
    Kyle KellerPIT000
    Zack BurdiBAL000
    Zack BurdiCHW000
    Corey RayMIL000
    Tommy NanceCHC000
    Kirby SneadTOR000
    Robert DuggerSEA000
    Brandyn SittingerARI000
    Conner MenezSFG000
    Jose QuijadaLAA000
    Mitch WhiteLAD000
    Caleb BaragarSFG000
    Wes BenjaminTEX000
    Miguel AguilarARI000
    Seranthony DominguezPHI000
    Thomas HatchTOR000
    T.J. ZeuchTOR000
    Jacob WebbATL000
    Edgar GarciaMIN000
    Edgar GarciaCIN000
    Trevor RichardsTBR000
    Trevor RichardsTOR000
    Trevor RichardsMIL000
    Joey LucchesiNYM000
    Richard LoveladyKCR000
    A.J. PukOAK000
    Daulton JefferiesOAK000
    Dean KremerBAL000
    Keegan AkinBAL000
    Shane BieberCLE000
    Yohan RamirezSEA000
    Shaun AndersonBAL000
    Shaun AndersonMIN000
    Shaun AndersonSDP000
    Michael RuckerCHC000
    Kyle FunkhouserDET000
    Bryan GarciaDET000
    Jorge AlcalaMIN000
    Aaron CivaleCLE000
    Ryan HartmanHOU000
    Andrew VasquezLAD000
    Devin SmeltzerMIN000
    Raynel EspinalBOS000
    Jacob RobsonDET000
    Jason FoleyDET000
    Ryan HendrixCIN000
    Jimmy LambertCHW000
    Stephen NogosekNYM000
    Jon DuplantierARI000
    J.D. HammerPHI000
    Geoff HartliebNYM000
    Geoff HartliebPIT000
    Bernardo Flores Jr.STL000
    David BednarPIT000
    JoJo RomeroPHI000
    Sean PoppenTBR000
    Sean PoppenARI000
    Sean PoppenPIT000
    Otto LopezTOR000
    Cionel PerezCIN000
    Jordan HicksSTL000
    Jack KrugerLAA000
    Matt FosterCHW000
    Zach ReksLAD000
    Gregory SotoDET000
    Jordan SheffieldCOL000
    Kyle CodyTEX000
    Connor SeaboldBOS000
    Patrick MurphyTOR000
    Patrick MurphyWSN000
    Dustin MayLAD000
    Kodi WhitleySTL000
    Anthony BenderMIA000
    Jonathan LoaisigaNYY000
    Reiver SanmartinCIN000
    Seth ElledgeSTL000
    Will VestSEA000
    Justin GarzaCLE000
    Anthony CastroTOR000
    Bryan BakerTOR000
    Daniel CastanoMIA000
    Riley SmithARI000
    Alexander WellsBAL000
    Darwinzon HernandezBOS000
    Michael KingNYY000
    Charlie BarnesMIN000
    Brandon BielakHOU000
    Griffin CanningLAA000
    Drew CarltonDET000
    Tucker DavidsonATL000
    Kevin GinkelARI000
    Tanner HouckBOS000
    Gabe KlobositsWSN000
    Alex LangeDET000
    Clarke SchmidtNYY000
    Adonis MedinaPHI000
    Jose SuarezLAA000
    Trevor StephanCLE000
    Jhon RomeroWSN000
    Ljay NewsomeSEA000
    Jesus LuzardoOAK000
    Jesus LuzardoMIA000
    Zach PlesacCLE000
    Bryse WilsonPIT000
    Dylan LeeATL000
    Tyler WellsBAL000
    Wyatt MillsSEA000
    John SchreiberBOS000
    Hunter OwenPIT000
    Darren McCaughanSEA000
    Adrian MorejonSDP000
    Ronald BolanosKCR000
    Sean GuentherMIA000
    Kaleb OrtBOS000
    Bailey FalterPHI000
    Miguel SanchezMIL000
    Mauricio LloveraPHI000
    James KarinchakCLE000
    Nick NelsonNYY000
    Nate PearsonTOR000
    Ty TiceTOR000
    Ty TiceATL000
    Zach PopMIA000
    Ben BowdenCOL000
    Eli MorganCLE000
    Jeremy BeasleyTOR000
    Mike BaumannBAL000
    Yennsy DiazNYM000
    Tyler IveyHOU000
    Zac LowtherBAL000
    Griffin JaxMIN000
    Mario FelicianoMIL000
    Deivi GarciaNYY000
    Jhonathan DiazLAA000
    Alec BettingerMIL000
    Andre ScrubbHOU000
    Kyle DohyPHI000
    Riley O’BrienCIN000
    Brusdar GraterolLAD000
    Ramon RossoPHI000
    Matt ManningDET000
    Bruce ZimmermannBAL000
    Andres MunozSEA000
    Tyler ZuberKCR000
    Antonio SantosCOL000
    Isaac MattsonBAL000
    Anthony KayTOR000
    Nick MargeviciusSEA000
    Luis MaderoMIA000
    Josh FlemingTBR000
    Jovani MoranMIN000
    Rony GarciaDET000
    Enoli ParedesHOU000
    Peter SolomonHOU000
    J.B. BukauskasARI000
    Casey MizeDET000
    Scott HurstSTL000
    Kyle NelsonCLE000
    Nick SandlinCLE000
    Kutter CrawfordBOS000
    JC MejiaCLE000
    Yusei KikuchiSEA000
    Cristopher SanchezPHI000
    Manuel RodriguezCHC000
    Eduard BazardoBOS000
    Francisco PerezCLE000
    Oliver OrtegaLAA000
    Emmanuel ClaseCLE000
    Seth MartinezHOU000
    Luis GilNYY000
    Thomas SzapuckiNYM000
    Demarcus EvansTEX000
    Dauri MoretaCIN000
    Miguel YajurePIT000
    Tyler PayneCHC000
    Brooks KriskeBAL000
    Brooks KriskeNYY000
    Darien NunezLAD000
    Connor BrogdonPHI000
    Lucas GilbreathCOL000
    Andre JacksonLAD000
    Jake LatzTEX000
    Glenn OttoTEX000
    Joe RyanMIN000
    Ryan FeltnerCOL000
    Kris BubicKCR000
    Shane McClanahanTBR000
    Daniel LynchKCR000
    Reiss KnehrSDP000
    Jackson KowarKCR000
    Jake CousinsMIL000
    Elvis PegueroLAA000
    Kervin CastroSFG000
    Luis OviedoPIT000
    Jose MarteLAA000
    Mason ThompsonWSN000
    Mason ThompsonSDP000
    Gregory SantosSFG000
    Camilo DovalSFG000
    Luis FriasARI000
    Angel RondonSTL000
    John KingTEX000
    Aaron FletcherSEA000
    Kyle TylerLAA000
    Ryan ViladeCOL000
    Max KranickPIT000
    Hans CrousePHI000
    Mac ScerolerBAL000
    Jon HeasleyKCR000
    Paul CampbellMIA000
    Logan GilbertSEA000
    Shane BazTBR000
    Tarik SkubalDET000
    Dylan ColemanKCR000
    Joe BarlowTEX000
    Chris RodriguezLAA000
    A.J. AlexyTEX000
    Stephen RidingsNYY000
    Nivaldo RodriguezHOU000
    Carlos HernandezKCR000
    Angel ZerpaKCR000
    Roansy ContrerasPIT000
    Luis PatinoTBR000
    Joan AdonWSN000
    Spencer HowardTEX000
    Packy NaughtonLAA000
    Codi HeuerCHW000
    Codi HeuerCHC000
    Janson JunkLAA000
    Damon JonesPHI000
    Nick SnyderTEX000
    Aaron AshbyMIL000
    Ryan DorowTEX000
    Brett de GeusTEX000
    Brett de GeusARI000
    Luis GarciaHOU000
    Justin BruihlLAD000
    Randy DobnakMIN000
    Nick AllgeyerTOR000
    Josiah GrayLAD000
    Jonathan StieverCHW000
    Cody WilsonWSN000
    Andrew WantzLAA000
    Austin WarrenLAA000
    Cooper CriswellLAA000
    Alex VesiaLAD000
    Nick MearsPIT000
    Brady SingerKCR000
    Drew RasmussenMIL000
    Alek ManoahTOR000
    Garrett CrochetCHW000
    Reid DetmersLAA000
    Spencer StriderATL000
    Kohei AriharaTEX000
    Hyeon-jong YangTEX000
    Hirokazu SawamuraBOS000

    The above table represents five properties: 1) the player’s name; 2) the team for which the player accrued his statistics; 3) his “adjusted” home run total, which uses his team’s park factor; 4) his raw home run total, which does not use his team’s park factor; and 5) “luck,” which measures the difference between his actual home run total and his adjusted home run total. If we sort the table to reflect the luckiest and unluckiest batters, their listed teams will start to reflect which ballparks have the greatest promotion for home runs and which ones do not. It’s no surprise that there are numerous Rockies players near the top of this list:

    • C.J. Cron +3 (7th)
    • Trevor Story +3 (10th)
    • Ryan McMahon +3 (12th)
    • Elias Diaz +2 (23rd)
    • Brendan Rodgers +2 (30th)
    • Sam Hilliard +2 (34th)
    • Charlie Blackmon +2 (37th)

    Interestingly enough, Colorado has the lowest home-run park factor in 2021, which means the Coors Field environment has the most positive effect on homers compared to other ballparks! Conversely, we can sort to find the “unluckiest” batsmen in the league. Here, we (expectantly) see a whole new crop of players and teams:

    1. Salvador Perez -7 (KCR)
    2. Tyler O’Neill -5 (STL)
    3. Nolan Arenado -5 (STL)
    4. Brandon Belt -5 (SFG)
    5. Paul Goldschmidt -5 (STL)
    6. Mike Yastrzemski -4 (SFG)
    7. Brandon Crawford -4 (SFG)
    8. Brandon Lowe -4 (TBR)
    9. Mike Zunino -3 (TBR)
    10. Buster Posey -3 (SFG)

    The analytical approach does seem to corroborate the traditional ideas about Coors Field while also revealing insights into which ballparks don’t induce more home runs than usual. Here are the top-5 and bottom-5 teams in this 2021 version of the home-run park factor (higher meaning worse home-run environment, lower meaning better):

    • San Francisco Giants (1st)
    • St. Louis Cardinals (2nd)
    • Kansas City Royals (3rd)
    • Pittsburgh Pirates (4th)
    • Miami Marlins (5th)
    • Los Angeles Dodgers (26th)
    • Philadelphia Phillies (27th)
    • Cincinnati Reds (28th)
    • Baltimore Orioles (29th)
    • Colorado Rockies (30th)

    [1] https://www.colorado.edu/today/2021/07/07/its-outta-here-physics-baseball-mile-high


  • How Matt Chapman’s Two-Way Play Makes Him an All-Star

    How Matt Chapman’s Two-Way Play Makes Him an All-Star

    Matt Chapman burst onto the scene in 2018 as an All-Star level player, proving strong abilities as both a hitter and a fielder, resulting in two consecutive years finishing at least seventh in AL MVP voting. As his batting began to stabilize, Chapman remained the anchor of one of the MLB’s best defensive teams and consistently providing value to Oakland that would rank him among the very best third basemen in the game. But as of late, Chapman’s performances have seemed more streaky and less effective. His overall statistical profiles on both sides of the ball have been declining since the 2019 season, so is this truly an indicator of a declining talent, or is Matt Chapman still on track to become an All-League baseball player?

    Hitting

    Chapman’s value as a hitter has been a bit puzzling over the last four seasons. During his first full season in 2018, his batting profile spiked at very desirable heights. His 2017 hard-hit rate (EV > 94 MPH) of 43.6% jumped to 53.8%, and he consistently fared well in hitting line drives while limiting ground balls and fly balls. Weighted Runs Created (wRC), which estimates a player’s value as a batter using box score statistics in conjunction with run expectancy values for various events, pegged Chapman in its standardized counterpart at 139 up from 110 the previous season. A season later in 2019, that value dropped to 126. A season later, in a mere 37 games, Chapman was still above league-average at 117. However, in 60 games played in 2021, he’s fallen to 88.

    Baseball can be a streaky sport, with even season-long runs of statistics not being totally indicative of a player’s “true” value, so has Chapman’s offensive skill dropped off in recent years, or is there an element of luck at play?

    The immediate eyesore in Chapman’s statistical profile is his batting average, which has dropped at least 17 percentage points in each season since 2018, and this statistic seems to have some type of relationship with his batting average on balls in play. Chapman’s .278 season saw 33.8% of batted balls result in hits, which immediately fell to .270 the following season without any major change in his zone swing portfolio.

    We actually see his tendency to chase low balls decline in the following season, suggesting he almost certainly received the benefit of chance with his batting average in 2018. That means, while we see a significant decline in the raw numbers, his skill level is very likely more stable than these numbers indicate. However, there is one prominent aspect of Chapman’s pitch selection that can explain his shortcomings in the batter’s box as of late: massive changes in run value in certain swinging areas.

    There has basically been no change in how Chapman attacks various qualities of pitches, with the pattern of an ever-so-slight increase in overall swing rate evolving over the past four seasons. However, as stated earlier, some of these areas of Chapman’s swings appear to be bleeding value. The approximated run value in certain listed zones have been fluctuating:

    A degree of instability across zones is clear, but the exact degrees vary across zones. Chapman’s estimated run value from pitches in the shadow zone, which envelops the heart of the strike zone while extending slightly beyond it, has been relatively stable over the past four seasons. However, Chapman appears to have lost a considerable amount of impact as a hitter in each of the other zones. The largest yearly drop-off in a zone was between the 2019 and 2020 seasons, during which his value in the chase zone severely declined, but it is worth noting a lot of flattened trends in the last two seasons are in some form byproducts of shorter or incomplete seasons.

    An important skill of Chapman’s to recognize is how he provides most of his value as a hitter; and interestingly, it’s not necessarily by his ability to hit the ball, but to take pitches. Expectantly, in zones outside the heart of the strike zone, Chapman usually loses runs for his team when he doesn’t take the pitch. (It’s worth noting Chapman added an estimated 20 runs through swings in the heart of the strike zone, followed by three seasons of 9, 4, and -8 runs, which serve as indicators of the potential “luck” factor in Chapman’s batting output.) However, Chapman’s selectivity with pitches outside the strike zone actually adds a considerable amount of value to his team’s offense.

    The aforementioned -8 run value from the pitches Chapman faced in the heart of the strike zone is a compelling figure alongside the previous three seasons, and likely signals some type of change in either Chapman’s hitting tendencies or opposing defense’s reactions to such hits. While his proportion of batted balls hasn’t changed much, other aspects of his batting portfolio have. Matt Chapman has always been a great hard hitter, hitter 53% or more of his batted balls leaving at an exit velocity of 95 MPH or higher from 2018 to 2020. But in 2021, that percentage has fallen below the 2017 to 2021 league average of 39%, settling at 36.2%.

    As his other hitting tendencies are functionally similar, there seems to be a sneaky good chance a large proportion of Chapman’s hits in the heart of the strike zone are inadvertently resulting in pop-ups. Since these pitches aren’t positioned at angles that provide an inherently greater or less chance of the resulting hit being a pop-up, the increased fly ball percentage has a promising likelihood of being a product of poorer luck. Thus, I’m a bit higher on Matt Chapman’s slugging ability than the number suggests, and perhaps if all the weird recent circumstances hadn’t come into play, his batting profile would have regressed to values that are more indicative of his true value as a hitter.

    Fielding

    During the past four years, Chapman has been awarded two Gold Gloves as an AL third baseman and two Platinum Gloves, seemingly on the track to become one of baseball’s all-time great fielders at the position. His renowned defensive game is centered around Chapman’s all-world fielding range.

    Chapman is known to strictly play the roles of a left-side infielder, spending heavy innings at third base while seldom moving to shortstop. The above chart shows Chapman’s starting positions from the 2018 to 2021 seasons (through June 6, 2021), displaying a healthy diet of movement and adjustments that would be expected from an everyday third baseman; but the more interesting aspect of his fielding is where he finishes.

    Chapman’s estimated 41 outs above average were surprisingly dispersed across the geometry of the field. He stays within the distinct vicinity of the third-base territory but extends his reach out past the foul lines and a considerable way into the outfield along with his bunt protection and coverage versus shorter batted balls. As explored in his film study, Chapman pairs elite abilities as a fielder with absurd levels of versatility in how he protects such large areas of the field for the Athletics.

    His ability to protect the area of the field extending out to the foul line is the focal point of his fielding, and it makes ground ball hits extremely difficult to convert on for opposing teams. Chapman’s fielding on film exhibits some of the most impressive glove precision in the game today, eliminating the need to provide a lot of value through a quicker recovery time.

    Unlike other third basemen, Chapman shows a consistent effort between the catch-to-throw transition to effectively block the ground ball and square his body for the out to first. His aforementioned recovery time is shown to be split into two parts: one, the shorter one, involves his play during hits that extend his range. The time between his interception of the ball and when he’s back on his feet is among the quickest in the league, alleviating the stress for the period that follows. Chapman is shown to take slightly more time to position himself for the throw than other infielders, but it mitigates some of the wildness that comes with an arm as strong as his.

    However, Chapman displays a strong tendency to augment his fielding motion to adapt to a given play. Here, he blocks the ground ball a significant portion to his right and splits the time between recovery and throw roughly equally. This defensive versatility allows Chapman to function at an elite level in many types of run situations. Paired with his incredible arm speed and maintenance, and Chapman demonstrates a clear All-League skill in his fielding.

    Chapman adds to his bag of tricks as a ground-ball fielder with the spin move. The fluidity of his hips paired with his glove placement makes him one of the best defensive playmakers in baseball. Here, he turns a relatively difficult ball in play into a safe out through his full rotation upon fielding the ball, clearly shortening the time necessary to make the throw and furthering the idea that Chapman protects a larger area of the field than arguably any other player at his position.

    A strength of Chapman’s that separates him from other third basemen is how well he protects foul territory. He makes similar plays on line drives or looping hangers that would clearly appear to be in unattainable descent, yet the value Chapman adds from converting on these plays saves a considerable number of runs over the course of a season. This play demonstrates his ability to travel into the seating area, but as long as the batted ball is within the horizontal range of his third base positioning, he’s a consistent candidate to make the catch.

    There are only two prominent weaknesses in Chapman’s game, both of which are rarely at play. Because he has the tendency to shield the ball with mainly his glove rather than blocking it with his entire body, the angle at which his glove is positioned proves crucial. This means a downturned glove will allow more hard grounders to sneak by, and his torso won’t be in positioning to halt its movement.

    Chapman has one of the strongest arms among position players in the MLB. During his time with the U.S. national college team, he threw pitches that were tracked at a velocity up to 98 miles per hour and was perennially recognized as having one of the strongest arms in the Minor Leagues before his rookie year. With that, however, comes the greater risk of an overthrow. Chapman appears to actively combat this, meaning more of his throwing errors actually require first basemen to scoop his throw rather than leap for it. Although a testament to Chapman’s defensive mind and awareness, there isn’t an immediate remedy for his short-arm throws.

    Impact Evaluation

    Even everyday watchers of the Athletics during Chapman’s first few seasons were taken aback at how quickly he was able to ascend to elite territory among the MLB’s best players. All-in-one estimates of aggregate value, mostly Wins Above Replacement models, thought very fondly of Chapman during the 2018 to 2019 stretch, which was still likely the peak of his actual abilities as both a batter and a fielder.

    Chapman peaked at elite heights, which suggested he had even surpassed the typical All-Star electee and was entering All-League territory, which would put him among the top-16 or so players in the MLB. Because there still a certain number of question marks with his offense (is his pop-up spike a function of skill loss or bad luck?) and how much slack his fielding can pick up, I’m not quite ready to name him to my All-MLB teams. But there’s simply too much evidence that suggests he’s a bonafide All-Star, and when he’s healthy, perhaps even more.


  • MLB GOAT: Evaluating a Baseball Player

    MLB GOAT: Evaluating a Baseball Player

    My last post, which covered an introductory example of adjusting century-old stats for inflation in the MLB, was the first step is a larger goal, one that will be brought to life with the processes I’ll outline today: ranking the greatest MLB players ever. Many times before we have seen an attempt to do so, but rarely have I found a list that aligns with my universal sporting values. Thus, I have chosen to embark on a journey to replicate the results in a process I see to be more philosophically fair: a ranking of the best players of all time with the driver being the value of their on-field impact. However, as I am a relative novice in the art of hardcore analysis in baseball, I’ll be providing a clear, step-by-step account of my process to ensure the list is as accurate as possible.

    The Philosophy

    I’ve come to interpret one universal rule in player evaluation across most to all team sports, which relies on the purpose of the player. As I’ve stated in similar posts covering the NBA, a player is employed by a team for one purpose: to improve that team’s success. Throughout the course of the season, the team aims to win a championship. Therefore, the “greatest” MLB players give their teams the best odds to win the World Series. However, I’m going to alter one word in that sentence: “their.” Because championship odds are not universal across all teams (better teams have greater odds), that means a World Series likelihood approach that considers “situational” value (a player’s value to his own team) will be heavily skewed towards players on better teams, and that would be an unfair deflation or inflation of a player’s score that relies on his teammates.

    The central detail of my evaluation style will be the ideology behind assigning all players the same teammates, average teammates. Therefore, the question I’m trying to answer with a player evaluation is: what are the percent odds a player provides an average team to provide the World Series? This approach satisfies the two conditions I outlined earlier: to measure a player’s impact in the way that appeases the purpose of his employment while leveling the field for players seen as “weaker” due to outside factors they couldn’t control. Thus, we have the framework to structure the evaluations.

    The Method

    To measure a player’s impact, I’ll use a preexisting technique I’ve adopted for other sports, in which I estimate a player’s per-game impact (in this case, this would be represented through runs per game). For example, if an outfielder evaluates as a +0.25 runs per game player on offense and a 0 runs per game player on defense, he extends the aforementioned average team’s schedule-adjusted run differential (SRS) and thus raises the odds of winning a given game with the percent odds that come along with a +0.25 SRS boost. To gain an understanding of how the “impact landscape” works, I laid every qualified season from 1871 to 2020 out for both position players and pitchers to get a general idea of how “goodness” translates to impact. These were the results:

    Note: Offense and fielding use Fangraphs‘s “Off” and “Def” composite metrics scaled to per-game measures while pitching uses Runs Above Replacement per game scaled to “runs above average” – these statistics are used to gauge certain levels of impact. / I split the fielding distributions among positions to account for any inherent differences that result from play frequency, the value of a position’s skill set, and others.

    Offense (all positions)

    Fielding (pitchers)

    Fielding (catchers)

    Fielding (first basemen)

    Fielding (second basemen)

    Fielding (third basemen)

    Fielding (shortstops)

    Fielding (outfielders)

    Pitching (starters)

    Pitching (relievers)

    A large reason for the individual examination of each distribution is to gain a feel for what constitutes, say, an All-Star type of season, an All-MLB type of season, or an MVP-level season, and so on and so forth. The dispersions of the distributions are as listed below:

    Standard DeviationsPosition Players (Off)Starting Pitchers (Pitch)Relief Pitchers (Pitch)Pitchers (Field)Catchers (Field)First Basemen (Field)Second Basemen (Field)Third Basemen (Field)Shortstops (Field)Outfielders (Field)
    -4-0.554-1.683-0.582-0.305-0.262-0.255-0.256-0.258-0.258-0.286
    -3-0.402-1.262-0.437-0.233-0.183-0.202-0.185-0.188-0.178-0.221
    -2-0.250-0.841-0.291-0.162-0.104-0.149-0.115-0.118-0.097-0.157
    -1-0.098-0.421-0.146-0.090-0.025-0.096-0.044-0.048-0.017-0.092
    00.0540.0000.000-0.0180.053-0.0430.0260.0220.064-0.028
    10.2060.4210.1460.0530.1320.0100.0970.0920.1440.037
    20.3580.8410.2910.1250.2110.0630.1680.1620.2250.102
    30.5101.2620.4370.1970.2900.1160.2380.2320.3050.166
    40.6621.6830.5820.2690.3680.1690.3090.3020.3850.231

    These values are used to represent four ambiguous “tiers” of impact, with one standard deviation meaning “good” seasons, two standard deviations meaning “great” seasons, three standard deviations meaning “amazing” seasons, and four standard deviations meaning “all-time” seasons, with the negative halves representing the opposites of those descriptions. Throughout my evaluations, I’ll refrain from handing out all-time seasons, as these stats were taken from one-year samples and are thus prone to some form of variance. Therefore, an “all-time” season in this series will likely be a tad underneath what the metrics would suggest.

    There are also some clear disparities between the different fielding positions that will undoubtedly affect the level of impact each of them can provide. Most infield positions seem to be above-average fielders in general, with the first basemen showing greater signs of being more easily replaced. The second and third basemen share almost the same distribution while the shortstops and catchers make names as the “best” fielders on the diamond. I grouped all the outfielders into one curve, and they’re another “low-ceiling” impact position, similar to pitchers (for whom fielding isn’t even their primary duty). It’ll be important to keep these values in mind for evaluations, not necessarily to compare an average shortstop and an average first baseman, but, for instance, an all-time great fielding shortstop versus and an all-time great fielding first baseman.

    The Calculator

    Now that we have the practice listed out, it’s time to convert all those thoughts on a player to the numeric scale and actually do something with the number. The next step in the aforementioned preexisting technique is a “championship odds” calculator that uses a player’s impact on his team’s SRS (AKA the runs per game evaluation) and his health to gauge the “lift” he provided an average team that season. To create this function, I gathered the average SRS of the top-five seeds in the last twenty years and simulated a Postseason based on how likely a given team was to win the series, calculated with regular-season data in the same span.

    Because the fourth seed (the top Wild Card teams) is usually better than the third seed (the “worst” division leader), and the former would often face the easier path to the World Series, a disparity was created in the original World Series odds: in this case, a lower seed had better championship odds. To fit a more philosophically-fair curve, I had to take teams out of the equation and restructure the function accordingly. This means there is a stronger correlation to title odds based on SRS, separate from seeding conundrums; after all, we want to target the players with more lift, not the other way around. Eventually, this curve became so problematic I chose the more pragmatic approach: taking and generalizing real-world results instead of simulating them and found the ideal function with an R^2 of 0.977. (This method seemed to prove effective not only because of the strength of the fit, but the shape of the curve, which went from distinctly logarithmic (confusing) to distinctly exponential.)

    The last step is weighing a player’s championship equity using his health; if a player performed at an all-time level for 162 games but missed the entirety of the Postseason, he’s certainly not as valuable as he would’ve been if he’d been fully healthy. Thus, we use the proportion of a player’s games played in the regular season to determine the new SRS, while the percentage of Postseason games played represents the sustainability of that SRS for the second season. The health-weighted SRS is then plugged into the championship odds function to get Championship Probability Added!

    Significance

    With my new “World Series odds calculator,” I’ll perform evaluations on the best players in MLB history and rank the greatest careers in history. I’ll aim to rank the top-20 players ever at minimum, with a larger goal of cranking out the top-40. With this project, I hope to shed some light on these types of topics in a new manner while, hopefully, sparking discussion on a sport that deserves more coverage nowadays.


  • How Different Would Hugh Duffy’s 1894 Batting Title Look in 2020? – MLB Stat Inflation

    How Different Would Hugh Duffy’s 1894 Batting Title Look in 2020? – MLB Stat Inflation

    During the 1894 MLB season, Hugh Duffy of the Boston Beaneaters set a new precedent for contact hitters, posting an outstanding .440 batting average. This record has yet to be broken and will likely never be. Naturally, this sets forth the idea of questioning how valuable Duffy’s average truly was. What would a .440 hitter in 1984 have looked like if he played at the same level during, say, 2020? Here, I’ll use a technique to prorate Duffy’s batting average to an environment closer to the one batters play in today as an introductory example to accounting for stat inflation in the MLB, as well as to gain some more insight as to how impressive Duffy’s 1894 campaign really was.

    The Method

    To standardize batting average across eras, we need to set a baseline for the hitting environment. Because we’re adjusting stats closest to the 2020 season, I’ll choose values that are very similar to today’s to allow for more intelligible comparison. Last season, the MLB’s cumulative batting average was .245, a mere half-percent less than the “conventional average” of .250, so for these standardized values, we’ll set the typical batting average as such. The next point of consideration is the dispersion of our ideal batting averages, which will be measured with a conceived standard deviation. There are two options for us here:

    • Measure the standard deviation using all players with at least one at-bat.
    • Measure the standard deviation using all qualified hitters ( 3.1+ plate appearances per team game).

    It may seem there wouldn’t be a significant change, but in taking one of the other, the standard deviation will vary by roughly 10%. For example, in 2019, the standard deviation of batting average using the first method would draw a value of roughly 13.5%. The second method garners a typical variance of 2.6%. Because the distribution of batting average looks approximately normal, I’m inclined to use the second method. It also makes sense to think a “good” hitter (one standard deviation above the mean) would hit roughly .280, a “great” one would hit about .310, and a .340 hitter would be in contention for the batting title. Thus, we’ll set the parameters of our standardized batting curve to a mean of .250 and a standard deviation of 3%.

    There was also one more variable that I suspected would play a role in a fair cross-era comparison. (This is concerning cumulative stats such as hits or home runs). League offenses were far more efficient on a per-game basis in 1894 (7.38 runs per game) than in 2020 (4.65 runs per game). This could potentially mean a quicker flow of offense during 1894 granted its players far more opportunities per game than in 2020. Thus, I calculated a figure I’ll call “pace,” the number of plate appearances every nine innings. (I chose to use nine innings rather than one game because per-game stats will be affected by extra-inning games.) During the 1894 season, there were about 43.0 plate appearances every nine innings whereas, in 2020, there were 39.8. This may not seem to be a significant factor, but it could be the difference between four and five plate appearances in a game for the cleanup hitter.

    Duffy’s New Average

    During the 1894 season, the “placeholder” standard deviation was absurdly high compared to its 2020 counterpart, making Duffy’s .440 batting average less impressive on our standardized scale. By taking the z-score of his batting average, we obtain a value of +3.825, which on the standardized scale, is…

    *drum roll please*

    … a new average of .365! This means that if Duffy were to have played at the same level in a roughly 2020-esque environment, just under 36.5% of his at-bats would have resulted in a hit. This is still a very impressive feat, and Duffy would still claim the batting title among the 2020 contenders, but his hitting proficiency is closer to that of DJ LeMahieu last season (.364 average) than an outlier among outliers in MLB history.

    Significance

    It’s often well-known that batting averages in baseball will fluctuate over time, explaining why the superstars of the late 19th and early 20th centuries will post some averages greater than .400 while the very best of today will rarely exceed .350. However. there have been few attempts (that I’ve seen) to adjust for these changes to create a “Standardized Scale.” (From here on out, I will refer to these adjusted baseball statistics with a “z” abbreviation (alluding to the notation of the standardized test statistic)). So Duffy’s 1894 batting average of .440 correlates to a “z” BA of .365. My goal with these values is to help evaluate MLB players of the past in fair comparison to players of the present, to shed more light on the true capabilities of the greatest baseball players of all time.