Modern Baseball

Explore

Research Lab

Choose axes from stored season metrics, filter a cohort, and read the fit. Trend sort uses year-over-year change. Not a betting tool.
Velocity vs Whiff%
Up to 400 qualified players. Linear fit is on this plotted set.
Ranked set
Compact list of the scatter rows · compare season 2025.
#PlayerTeamSampleVelocityWhiff%Y change
1Mason MillerSD1,06294.6070.435+1.2%
2Roddery MuñozHOU11390.4040.413+11.5%
3Eric CerantolaKC12289.4050.405
4Andrés MuñozSEA91793.7720.385+4.1%
5Brendon LittleTOR51390.9310.376-3.7%
6Fernando CruzNYY95284.8720.374-7.0%
7Tanner RaineyDET12791.8540.372+5.9%
8Michael FulmerNYY19987.2360.371+25.5%
9Ryan HelsleyBAL27792.7910.363+8.2%
10Yaramil HiraldoBAL19390.6510.362-0.4%
11Daniel EspinoCLE21694.8480.352
12Cam SandersBAL51491.3240.351+8.9%
13Jacob MisiorowskiMIL2,45597.5490.343+8.1%
14Tayler SaucedoLAA28187.2140.341+12.7%
15Hagen SmithCWS35089.5090.340
16Corbin MartinCHC11191.2940.340+6.9%
17Jeff HoffmanMIN1,15990.6060.339+4.7%
18Erik MillerBOS89591.8140.335+5.0%
19Luis PeralesWSH15492.5080.333
20Garrett StallingsMIL15285.9800.333
21Ricky TiedemannTOR12487.8380.333
22Blake SnellLAD64689.5680.332+0.9%
23Jhoan DuranPHI86696.1730.330+4.0%
24Riley CornelioWSH53189.9720.328
25Anthony NunezBAL94290.8110.328
26Dylan LeeATL1,01086.6040.328+0.9%
27Josh HaderHOU60591.2400.327-5.8%
28Dedniel NúñezNYM17492.6490.327+7.7%
29Brandan BidoisPIT32592.3000.327
30Garrett ActonMIN20790.9290.323+18.0%
31Scott BarlowATH58980.9000.323+3.7%
32Devin WilliamsNYM73289.1770.322-1.8%
33Bryan AbreuHOU1,03491.2820.321-7.1%
34Yunior TurATH20790.3980.319
35Adrian MorejonSD1,28196.1690.318+9.9%
36Jacob WebbCHC1,06888.9730.317+7.1%
37Sam BachmanLAA76592.4210.316+6.2%
38Jacob deGromTEX2,48493.1400.315+3.9%
39Tanner ScottLAD89992.8650.315+3.8%
40Samy Natera Jr.LAA58093.0020.314
41Luis GastelumSTL51187.3270.314
42Cade SmithCLE1,14093.5630.314+1.0%
43Kyle HurtLAD72293.0240.314
44Angel ChivilliNYY28592.0490.313+2.3%
45Erik SabrowskiCLE74290.6180.312-2.7%
46Alex VesiaLAD94488.3670.310+3.2%
47Yuki MatsuiSD1,00087.2440.308+3.2%
48William KempnerMIA19990.9590.308
49Bennett SousaHOU43788.1180.308-4.2%
50Jefry YanNYM23594.5320.308
51Dylan CeaseTOR2,82290.5710.305-1.2%
52Gavin WilliamsCLE2,82890.9650.303+4.7%
53Ryan FernandezSTL38790.6680.303-0.2%
54Matt BrashSEA26390.1520.302+0.7%
55Brendan BeckNYY14988.0390.302
56Lou Trivino IIIPHI14489.9560.302+7.1%
57Tatsuya ImaiHOU1,40190.4700.301
58Luis MedinaATH1,20492.4750.301
59Chase SilsethTEX1,01291.8840.299-3.2%
60Jesús LuzardoPHI2,86090.5620.298+1.4%
61Cristopher SánchezPHI2,86290.3750.296+1.2%
62Chase BurnsCIN2,50294.3490.296-0.6%
63Brent HeadrickNYY1,21389.9640.295-1.3%
64Garrett WhitlockBOS69290.7180.295-1.3%
65Aaron AshbyMIL1,45792.3830.295+4.7%
66Jovani MoránBOS1,01487.8880.295-3.8%
67Mark Leiter Jr.ATH55285.7480.295+1.5%
68Jared JonesPIT1,40293.7460.295
69Ryan ZeferjahnCHC1,22991.4560.295+1.1%
70Brandon EisertPIT70486.8370.294-0.8%
71Mason MontgomeryPIT1,06595.4020.294-2.7%
72Graham AshcraftCIN52494.3670.294+2.1%
73Emmet SheehanLAD1,86788.7080.291-1.8%
74Rico GarciaBAL94890.0480.291+1.0%
75Trevor MegillMIL81394.3800.290+0.0%
76Luis MeyCIN57593.3280.290+4.6%
77Tarik SkubalLAD2,19692.6290.290-1.4%
78Pete FairbanksMIA76891.8220.290+4.1%
79Tyler GlasnowLAD96690.7790.290+2.6%
80Tim HerrinCLE89388.3560.289+0.2%
81Cooper HjerpeSTL10684.7050.289
82Wyatt OldsBOS22292.3550.288
83Jeremiah EstradaSD51390.4960.287-3.6%
84Erik TolmanWSH18691.8800.287
85David BednarNYY1,07990.4080.286-1.0%
86Jacob LatzTEX1,05890.3750.286+2.0%
87Steven OkertHOU1,05184.2570.286-2.2%
88Shohei OhtaniLAD1,33590.9430.285+0.3%
89Tyler WellsTB1,07289.4160.284+8.1%
90David MorganSD49791.8930.284+5.0%
91Jonathan BowlanPHI93593.1880.284-2.2%
92Trey YesavageTOR1,54989.3820.284-4.4%
93Joey CantilloCLE2,59184.9180.283+0.2%
94Cole RagansKC63990.1830.283-3.7%
95Edgardo HenriquezLAD97296.1740.282+0.6%
96Lake BacharPIT1,30689.7110.282+0.0%
97George KlassenLAA49192.5630.281
98Nathan EovaldiTEX2,05287.2850.281+2.9%
99Zack WheelerPHI2,36090.1980.281-0.7%
100Brycen MautzSTL19187.9390.280
101Carter BaumlerTEX11789.0700.280
102Corbin BurnesAZ13288.0400.279+3.3%
103Cole WilcoxSEA49291.2420.279+22.0%
104Luke WeaverPIT84492.1230.278+1.4%
105George SorianoSTL1,13891.6820.278+5.5%
106José FerminLAA93092.8560.278-2.6%
107Jhony BritoSD12389.5150.278
108Chris MurphyCWS56888.3370.278+2.5%
109Cristian JavierHOU98088.2880.277+7.7%
110Logan GilbertSEA2,74989.6970.277-2.8%
111Hunter GaddisCLE87089.0820.277-1.9%
112Andrew NardiMIA37889.8960.276
113Shota ImanagaCHC2,60886.3580.276+5.3%
114Justin SternerATH73088.4090.275-0.5%
115Didier FuentesATL1,11893.7560.274+5.0%
116Griffin JaxTB1,53991.4930.274-8.7%
117Justin MartinezAZ15998.5310.274-5.9%
118Kevin GinkelAZ1,01690.8280.274+0.6%
119Juan MorilloAZ97895.6010.274+3.5%
120Jordan RomanoCOL58388.1870.274+2.1%
121Elvis AlvaradoATH86495.7780.274-3.8%
122Elmer RodríguezNYY49790.5980.273
123Joe RossTEX20791.9170.273+7.9%
124Gerardo CarrilloAZ32091.1550.272
125Gregory SotoPIT1,06390.5830.272-0.2%
126Roki SasakiLAD2,05292.2510.272+7.0%
127Zach McCambleyCIN17689.2460.272
128Bradgley RodriguezSD1,09493.9970.272+8.6%
129Chris SaleATL2,47888.6990.271-0.2%
130Colin HoldermanCLE86491.2390.270+2.6%
131Valente BellozoCOL17884.2420.269+9.7%
132Drew SommersDET58492.3320.269+1.9%
133Gavin HollowellCHC25390.4440.269+1.5%
134Clayton BeeterWSH80890.9350.268-5.1%
135Robert GarciaTEX19790.3170.268+0.2%
136Ian SeymourTB1,99186.2210.268+2.5%
137Craig YohoCLE59285.5700.268+2.5%
138Ryne StanekSTL1,04694.4450.268+1.4%
139Eury PérezMIA2,46292.7910.268+0.3%
140Jonah TongNYM35791.0960.268+7.1%
141Kodai SengaNYM1,06889.9640.267+1.2%
142Cam SchlittlerNYY2,87695.9060.267+4.5%
143Ryan BoruckiSF38587.9820.266-2.1%
144Brock StewartLAD33091.3220.266-1.9%
145Max MeyerMIA1,79191.0150.266+1.4%
146Jason AdamSD55187.3250.265-4.7%
147Tyler FergusonCHC29390.8130.264+3.4%
148Drey JamesonAZ30690.7780.264+11.4%
149Carlos RodriguezMIL18289.5140.264-0.4%
150Mitchell ParkerWSH66586.1010.263+7.9%
151Jack AndersonMIN18284.7570.263
152Grant TaylorCWS1,23192.9450.263-2.0%
153Tyler KinleyDET85987.6720.263-3.3%
154Raisel IglesiasATL85391.3790.262-2.2%
155Nick SandlinLAA15782.0200.262-7.1%
156Marco RayaMIN10089.8140.262
157Aroldis ChapmanBOS83194.4340.262-6.8%
158Alex LangeKC1,05391.6650.261-7.2%
159Spencer StriderATL69188.5830.261-3.2%
160Yohan RamírezPIT1,32989.8990.261+1.3%
161Carson WhisenhuntSF61787.6820.261+2.8%
162Orlando RibaltaWSH75091.2470.259+1.3%
163Jaden HillCOL65592.4250.259+2.6%
164Drew AndersonDET1,61389.9630.259
165José SorianoTOR2,79392.6430.258+0.5%
166Cole WinnTEX78890.7590.258+3.6%
167Ken WaldichukWSH14986.7230.258
168Dylan DoddATL72091.0030.258-3.8%
169Ben JoyceLAA23698.3180.258+3.3%
170Kirby YatesPIT68488.5060.258-6.2%
171Will DionWSH63885.3010.258
172Jake BirdWSH67988.8250.257-1.2%
173Jack DreyerLAD94589.9780.257+0.9%
174Carlos RodónNYY1,24090.6910.257-2.1%
175Seth JohnsonATH47093.0430.257+1.3%
176Victor MederosATL52293.3770.257+4.8%
177Matt KrookWSH18185.5930.257+4.5%
178José AlvaradoPHI1,05395.5020.257+3.2%
179AJ BlubaughHOU1,54290.7080.257-2.3%
180Kyle HarrisonMIL1,99489.8110.256+1.4%
181Reid DetmersLAA2,79388.0410.256-3.7%
182Dean KremerMIN1,29786.7420.256+4.4%
183Braydon FisherTOR1,20887.4370.256-1.9%
184Cameron FosterBAL18992.2380.256
185Daniel PalenciaCHC43396.3410.256+0.2%
186Peyton PalletteCLE44289.7730.256
187Louis VarlandTOR1,19993.7860.256+0.2%
188DL HallMIL87289.7730.255+6.3%
189Kai-Wei TengHOU1,26688.3140.255-1.2%
190José SuarezATH1,07386.8370.255-5.8%
191Hunter GreeneCIN45694.1250.255-3.4%
192Grant HolmesATL2,24489.4330.255-1.4%
193Jack PerkinsATH1,85391.0480.255-5.5%
194Mason FluhartyTOR98686.9390.255-4.4%
195Brandyn GarciaAZ61993.6180.255+5.0%
196Walbert UreñaLAA2,31894.0320.254
197Kendry RojasMIN52192.8890.254
198Garrett CleavingerTB73890.1290.254-7.8%
199Julian GarciaCIN67986.0220.254
200Michael PetersenMIA1,02894.1850.254+3.7%
201Paul SkenesPIT2,70592.5890.254-2.5%
202Aaron NolaPHI2,76585.9700.254+1.5%
203Caleb KilianPHI79491.8060.253
204Shaun AndersonLAA35188.9400.253+2.5%
205Jordan LeasureCWS31891.9870.253-2.6%
206Gavin CollyerTEX45092.1500.253
207Codi HeuerCLE18990.5340.253-6.5%
208Riley O'BrienSTL1,04192.2830.253+1.0%
209Sam HentgesSF62390.3020.252
210Andrew SearsDET28789.3440.252
211Jordan HicksCWS80895.0490.251+4.3%
212Enyel De Los SantosHOU1,10189.9950.251-2.1%
213Blake TreinenLAD42590.0360.251+2.4%
214Adam MackoTEX55388.5000.251
215Kevin GausmanCHC2,81089.1100.251+0.7%
216Caleb ThielbarCHC81485.9310.251+1.8%
217Ryan WeathersNYY2,28188.8990.250-2.1%
218Brock BurkeCIN1,15191.5170.250+3.5%
219Jose CorniellTEX10888.1330.250-4.2%
220Yovanny CruzWSH17494.2820.250
221Jayden MurrayCHC30591.0970.250+8.9%
222Payton TolleBOS2,19592.9400.250-2.6%
223Chase DollanderCOL74393.9730.249+4.2%
224Bryan BakerTB92391.1350.249-0.9%
225Mitch FarrisLAA85386.7910.249-1.3%
226Mick AbelMIN36189.5060.249+2.2%
227Dax FultonMIA39189.7820.249
228Yennier CanoBAL73992.5380.249+2.7%
229Justin LawrenceWSH68889.6750.248-3.8%
230Jack FlahertyDET1,64387.7210.248-0.3%
231Tyler PhillipsMIA1,91488.6330.247-1.1%
232J.T. GinnATH2,18990.5650.247-3.0%
233Seranthony DomínguezSEA1,03792.3890.247-6.2%
234Cole SulserTB84787.9280.247-1.3%
235Franco AlemanCLE42792.8150.246
236Tejay AntoneCIN83586.4430.246
237Cade CavalliWSH2,70991.5980.246-0.5%
238Yoshinobu YamamotoLAD2,56191.0910.246-2.7%
239Kumar RockerTEX2,35189.2450.246+1.6%
240Shane McClanahanTB1,83089.7810.245
241Anthony BandaMIN61090.0210.245-1.0%
242Ben BrownCHC1,00492.5030.245-2.2%
243Quinn MathewsSTL69087.4800.245
244Steven CruzKC88795.6930.245+4.0%
245Matt FestaCLE1,03888.8710.244-0.3%
246Travis AdamsMIN84689.9620.244+0.4%
247Christian ScottNYM1,88689.9670.244
248Edward CabreraCHC1,28092.2260.243-3.5%
249Kenley JansenDET69791.8550.243+2.0%
250Hunter BrownHOU1,59292.3380.243-0.9%
251Scott BlewettATH47689.9770.243-1.9%
252Shane DrohanMIL1,89990.2780.243
253Jameson TaillonTOR1,44786.2320.243+5.0%
254Huascar BrazobánCWS98993.8820.242+1.7%
255Cam BooserTB51291.0470.242-1.0%
256Jose CuasKC37889.2630.242
257Elieser HernándezATL20785.5270.242
258Camilo DovalPIT96995.5050.241-3.1%
259Connor PhillipsCIN54792.0610.241-13.3%
260Kyle FinneganDET1,04691.5550.241+2.6%
261Griffin CanningSD1,40390.2150.241-0.1%
262Jack LeiterTEX1,39791.9410.241+1.9%
263Austin WarrenNYM83888.9480.240+9.5%
264MacKenzie GoreTEX2,79890.2770.240-3.4%
265Paul GervaseLAD12488.4560.240-7.1%
266Jimmy HergetCOL86785.2370.240-0.7%
267Ty MaddenDET64788.6880.240
268Calvin FaucherMIA1,08691.4890.240+3.4%
269Trent HarrisSF29088.2990.240
270Eduardo RiveraBOS21091.7440.240
271Shane SmithCWS22590.9600.240-1.0%
272Geoff HartliebATH33390.8540.240-1.0%
273Noah CameronKC2,70086.8110.239-0.5%
274Jonathan PintaroNYM47391.9270.239+7.2%
275Abner UribeMIL86594.5800.238-4.9%
276Michael RuckerSEA68690.3760.238
277Logan HendersonMIL1,33188.3090.238+1.5%
278Alex HoppeBAL69294.5930.237
279Dylan SmithSF61991.8720.237+1.0%
280Dennis SantanaAZ86089.7110.237-1.8%
281Miguel UllolaHOU11992.7530.237
282Taj BradleyMIN2,79692.9260.237+2.7%
283Andrew AlvarezWSH1,66487.2890.237+4.6%
284Evan SiskPIT79285.1750.237-6.5%
285Chad PatrickMIL1,65292.3240.237+2.7%
286Justin SlatenBOS50893.2480.236-2.4%
287Lance McCullers Jr.MIL79386.8000.236-0.3%
288Cesar PerdomoSF21589.5690.236
289Danny YoungATL27388.2180.236-5.8%
290Gage JumpATH1,76291.1100.236
291Beck WayKC38993.0510.236
292Grant WolframBAL84392.2500.235-1.4%
293Orion KerkeringPHI1,04392.4610.235+0.6%
294Freddy PeraltaTB2,77089.2910.234-4.2%
295Braxton AshcraftPIT2,41392.5390.234-0.1%
296Spencer ArrighettiTOR1,84984.4330.234-1.4%
297Chad DallasTOR19387.9090.234
298Blake WeimanLAA22182.9780.234
299Robby AhlstromTEX64290.4690.234
300Tommy NanceMIN93889.3150.233+0.1%
301Robert StockNYM56190.5950.233+7.5%
302Nate LavenderNYM20989.3240.232
303Brooks RaleyPHI81385.0310.232+5.3%
304Connor BrogdonCLE28289.2110.232-4.4%
305Will VestDET48492.6950.232-2.1%
306Parker MessickCLE2,70890.1090.232-1.8%
307Lucas GiolitoSD55484.4680.231+2.1%
308Yoendrys GómezMIN1,05992.1900.231+1.1%
309Hunter BiggeTB32392.4900.230-4.9%
310Robbie RaySD2,68388.4610.230-2.5%
311Brady SingerCIN2,64387.3620.230+1.2%
312Cionel PérezNYM70291.2460.230+1.9%
313Mason EnglertTB60786.0630.229-1.0%
314Grant AndersonMIL92488.5850.229-4.5%
315Sean BurkeCWS2,69389.6340.229+0.3%
316Kris BubicLAD81288.3300.229-4.3%
317Trevor WilliamsTEX42185.1700.229+5.1%
318Brett KerryLAA21287.3830.229
319Joel PayampsATL15189.1850.229+0.5%
320Garrett CrochetBOS51892.2970.228-3.8%
321Robert SuarezATL46795.7700.228+1.2%
322Eli MorganKC33984.7730.228+2.5%
323Lazaro EstradaTOR23387.1660.228-5.4%
324Brandon WilliamsonCIN74287.2280.228
325Alan RangelPHI49184.6550.228+5.4%
326Alex McFarlanePHI22495.3570.227
327Enmanuel De JesusDET66990.4740.226
328Peyton GrayTEX93987.9840.226
329Joe RockCWS19589.9920.226+4.6%
330Ryan WatsonLAA1,09389.0250.226
331Jacob LopezATH2,08783.9980.226-3.4%
332Matthew LiberatoreSTL2,45088.5810.226+4.0%
333Jackson KentWSH51788.1350.226
334Joe RyanMIN2,24188.6300.225-0.9%
335Brandon SproatMIL1,75792.9340.225+8.1%
336Max FriedNYY1,51188.0890.225-1.7%
337Mason AdamsCOL30489.4890.225
338Paul SewaldTOR79787.7430.225+0.9%
339Juan MejiaCOL1,23691.8010.224-5.1%
340Patrick SandovalBOS94787.9400.224
341Ron MarinaccioCIN1,04387.8900.224-4.9%
342Jack KochanowiczLAA1,11192.8250.224+3.8%
343Chase ShugartPHI79490.9080.224+0.5%
344Jalen BeeksTEX41190.0970.224-2.9%
345Max RajcicSTL16389.4510.224
346Daniel Lynch IVKC1,07489.6460.224+1.6%
347Drew RomATH21790.4490.224
348Cole SandsMIN20989.1250.223+1.6%
349Landen RouppSF2,71587.2360.223-0.4%
350Joe BoyleTB34792.4000.223-3.3%
351Andrew PainterPHI1,94890.3260.223
352Hogan HarrisATH1,25888.3320.223+2.2%
353Kyle BradishBAL2,63090.7040.223-9.9%
354Drew RasmussenTB2,47092.3810.223+2.8%
355Chayce McDermottNYM15590.6580.222+4.8%
356Manuel RodríguezTB10092.8630.222+0.9%
357Brayan BelloBOS1,74691.1370.222+3.4%
358Michael KingSD2,79688.9430.222-1.8%
359Phil MatonCHC54684.6390.222-11.2%
360Anthony MolinaSF37491.0500.222-1.0%
361Emilio PagánCIN61391.0010.222-5.3%
362Nolan McLeanNYM2,75191.1400.221-3.8%
363Troy MeltonDET1,69091.6070.221+1.3%
364Hurston WaldrepATL21588.9180.221-3.9%
365Brandon WoodruffMIL64388.7860.221-2.1%
366Peter LambertHOU2,45489.3680.221
367Luinder AvilaKC1,29391.8380.221-3.2%
368Osvaldo BidoCWS31790.5900.221-0.5%
369Jordan MontgomeryTEX29085.7000.221
370Ryan WeissHOU53089.8620.220
371Jacob WaguespackDET55588.5880.220
372Kade AndersonSEA39888.7890.220
373Trey GibsonBAL61991.2320.220
374Tim MayzaPHI1,01892.0910.219+0.9%
375Connelly EarlyBOS1,52988.8220.219-9.6%
376Khristian CurtisPIT21790.8840.219
377James KarinchakATL16290.6510.219
378Casey MizeSD1,93889.8610.219-0.1%
379Bryce MillerSEA1,70990.5240.219+1.1%
380Ryan FeltnerCOL1,86489.4660.218-2.7%
381Hayden WesneskiHOU73888.0720.218+0.7%
382Andrew KittredgeBAL67891.9260.218-5.9%
383Connor ThomasKC29787.8130.217+10.0%
384Bryan WooSEA2,47892.7860.217-1.7%
385Tanner BibeeCLE2,77987.4640.217+0.2%
386Anthony BenderMIA54388.2980.217+2.3%
387Craig KimbrelKC76991.4600.216-3.9%
388Ryan YarbroughNYY93781.3570.216-3.0%
389Keaton WinnSF64892.2410.216-5.8%
390Brandon YoungBAL2,36488.6500.216+1.8%
391Lucas SimsCWS17189.2470.216-11.7%
392Tyler HoltonDET1,09586.6290.216-1.0%
393Bryan HudsonCWS98488.4890.216-2.8%
394Braxton GarrettMIA13088.1120.216
395Trevor RogersBAL2,53689.2400.216-2.3%
396Joey EstesATH12587.3490.215+4.9%
397Victor VodnikMIA93994.1520.215-2.0%
398Luis CastilloCWS2,34091.6730.215-0.7%
399Will KleinLAD76792.6810.215-5.0%
400Max KranickWSH34088.9350.215+3.8%

Pearson r

0.144

0.021

N

400

Year vs year r

0.449

Paired N
311

Year vs year r is Whiff% · 2025 vs 2026 on players in the plotted set who have both seasons. Associations, not a projection.

Velocity
Counts from the same plotted set — not a league average.