Pitch Arsenal
Batter vs. pitcher pitch-type matchups — when a batter who crushes a pitch type faces a pitcher whose version of that pitch is getting shelled, that's an exploitable edge.
⚡ Arsenal Edges
Historical Snapshot
Validated pre-game snapshot. This view was captured before first pitch.
refresh_14 - 2026-06-23T14:00:32-04:00
Arsenal Edges · 2026-06-23
| Hit? | Signal Composite signal strength combining three factors: how much the batter crushes this pitch (45%), how badly the pitcher gets shelled on it (35%), and how often the pitcher throws it (10%). Higher = more exploitable. | Batter | Pitcher |
Pitch
The specific pitch type where the matchup edge exists. Color-coded by family: Hard — Fastball, Sinker, Cutter Breaking — Slider, Curve, Sweeper Offspeed — Changeup, Splitter |
Bat RV/100
Batter's Run Value per 100 pitches against this pitch type. +15 = solid · +30 = elite crusher |
Pit RV/100
Pitcher's Run Value allowed per 100 on this pitch type. +10 = vulnerable · +20 = getting shelled |
Usage% How often the pitcher throws this pitch type. | Bat HRs Home runs the batter has hit off this specific pitch type this season. | Pit HRs Home runs the pitcher has allowed on this pitch type this season. | Rank The batter's rank on that day's slate (by model HR probability score). |
|---|---|---|---|---|---|---|---|---|---|---|
| · | Nick Kurtz | Robbie Ray | Knuckle Curve | +18.0 | -0.6 | 9% | 0 | 0 | #8 | |
| · | Nathaniel Lowe | Brandon Sproat | Cutter | +13.2 | +0.5 | 25% | 2 | 3 | #27 | |
| · | Travis Bazzana | Sean Burke | Knuckle Curve | +12.3 | +0.6 | 21% | 0 | 1 | #79 | |
| · | Jose Caballero | Casey Mize | Splitter | +10.3 | +0.6 | 25% | 1 | 0 | #203 | |
| · | Colton Cowser | Ryan Johnson | Sinker | +5.8 | +4.3 | 29% | 3 | 2 | #37 | |
| · | Sal Frelick | Nick Lodolo | Curveball | +8.8 | +1.2 | 26% | 2 | 0 | #178 | |
| · | Eugenio Suarez | Brandon Sproat | Cutter | +9.2 | +0.5 | 25% | 4 | 3 | #99 | |
| · | Caleb Durbin | Sean Sullivan | Fastball | +0.7 | +2.8 | 53% | 3 | 1 | #108 | |
| · | Carson Kelly | Kodai Senga | Cutter | +7.9 | +1.7 | 25% | 1 | 1 | #118 | |
| · | Ben Rice | Casey Mize | Fastball | +7.2 | -0.3 | 34% | 11 | 1 | #17 | |
| · | Paul Goldschmidt | Casey Mize | Fastball | +7.1 | -0.3 | 34% | 7 | 1 | #35 | |
| · | Dillon Dingler | Carlos Rodon | Slider | +7.9 | +1.1 | 24% | 5 | 2 | #26 | |
| · | Willson Contreras | Sean Sullivan | Fastball | +0.2 | +2.8 | 53% | 2 | 1 | #6 | |
| · | Wilyer Abreu | Sean Sullivan | Fastball | -0.2 | +2.8 | 53% | 5 | 1 | #39 | |
| · | Ceddanne Rafaela | Sean Sullivan | Fastball | -0.4 | +2.8 | 53% | 1 | 1 | #77 | |
| · | Masataka Yoshida | Sean Sullivan | Fastball | -0.4 | +2.8 | 53% | 0 | 1 | #187 | |
| · | Jarren Duran | Sean Sullivan | Fastball | -0.6 | +2.8 | 53% | 7 | 1 | #34 | |
| · | Marcelo Mayer | Sean Sullivan | Fastball | -0.9 | +2.8 | 53% | 0 | 1 | #147 | |
| · | Shea Langeliers | Robbie Ray | Knuckle Curve | +11.2 | -0.6 | 9% | 1 | 0 | #25 | |
| · | Gunnar Henderson | Ryan Johnson | Cutter | +3.4 | +3.3 | 30% | 3 | 2 | #33 | |
| · | Nico Hoerner | Kodai Senga | Sweeper | +7.9 | +3.4 | 9% | 1 | 1 | #199 | |
| · | Bryce Harper | Zack Littell | Fastball | +3.7 | +3.2 | 28% | 8 | 8 | #11 | |
| · | Jeremiah Jackson | Ryan Johnson | Sinker | +2.6 | +4.3 | 29% | 1 | 2 | #73 | |
| · | Luis Arraez | Aaron Civale | Curveball | +7.4 | +0.1 | 23% | 0 | 1 | #215 | |
| · | Jj Bleday | Brandon Sproat | Curveball | +6.2 | +4.5 | 12% | 2 | 5 | #19 | |
| · | Samuel Basallo | Ryan Johnson | Cutter | +3.1 | +3.3 | 30% | 2 | 2 | #52 | |
| · | Kerry Carpenter | Carlos Rodon | Changeup | +7.8 | +1.3 | 14% | 3 | 0 | #53 | |
| · | Jeremiah Jackson | Ryan Johnson | Splitter | +4.7 | +2.1 | 26% | 0 | 0 | #73 | |
| · | Leody Taveras | Ryan Johnson | Sinker | +2.1 | +4.3 | 29% | 1 | 2 | #150 | |
| · | Jake Mangum | George Kirby | Sweeper | +6.3 | -0.6 | 28% | 0 | 1 | #223 |
💀 Pitcher Arsenal Preview
Michael Lorenzen
+26.4 RV allowed
Brady Singer
+23.0 RV allowed
Zac Gallen
+22.9 RV allowed
What is Run Value (RV)?
Run Value measures how much a pitch outcome changes the expected runs in a game.
Positive RV for a batter = good (they're generating offense). Positive RV against a pitcher = bad (they're giving up offense).
RV/100 normalizes per 100 pitches seen/thrown for fair comparison.
How Arsenal Edges work: When a batter with a high RV against fastballs faces a pitcher whose fastball has a high RV allowed, and that pitcher throws their fastball 40%+ of the time — that's a concrete, pitch-level HR edge that goes beyond general HR/FB rates.
Pitch families: Hard (Fastball, Sinker, Cutter) · Breaking (Slider, Curveball, Sweeper) · Offspeed (Changeup, Splitter)
Data source: Statcast pitch-level data via Baseball Savant. Hover any column header for a detailed explanation, or hover any cell for per-pitcher/batter context.
How Arsenal Edges work: When a batter with a high RV against fastballs faces a pitcher whose fastball has a high RV allowed, and that pitcher throws their fastball 40%+ of the time — that's a concrete, pitch-level HR edge that goes beyond general HR/FB rates.
Pitch families: Hard (Fastball, Sinker, Cutter) · Breaking (Slider, Curveball, Sweeper) · Offspeed (Changeup, Splitter)
Data source: Statcast pitch-level data via Baseball Savant. Hover any column header for a detailed explanation, or hover any cell for per-pitcher/batter context.