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-07-31T14:00:35-04:00
Arsenal Edges · 2026-07-31
| 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). |
|---|---|---|---|---|---|---|---|---|---|---|
| · | Jordan Walker | Dylan Cease | Knuckle Curve | +18.5 | +1.0 | 10% | 1 | 1 | #80 | |
| · | Kody Clemens | Bryce Miller | Knuckle Curve | +17.9 | -0.1 | 4% | 1 | 0 | #29 | |
| · | Ben Rice | Shota Imanaga | Fastball | +5.9 | +0.2 | 41% | 15 | 11 | #4 | |
| · | Jake Burger | Hunter Brown | Knuckle Curve | +10.8 | -0.4 | 21% | 1 | 0 | #39 | |
| · | Michael Conforto | Will Warren | Sinker | +7.6 | +0.7 | 27% | 2 | 3 | #58 | |
| · | Yandy Diaz | Erick Fedde | Sweeper | +6.5 | -0.8 | 37% | 3 | 6 | #143 | |
| · | Xavier Edwards | Freddy Peralta | Fastball | +2.2 | +0.1 | 53% | 3 | 7 | #208 | |
| · | Jeremy Peña | Nathan Eovaldi | Splitter | +7.3 | -1.9 | 37% | 1 | 5 | #44 | |
| · | Brandon Lowe | Hunter Greene | Fastball | +2.4 | -0.4 | 52% | 9 | 2 | #26 | |
| · | Bryan Reynolds | Hunter Greene | Fastball | +2.4 | -0.4 | 52% | 7 | 2 | #53 | |
| · | Jonathan Aranda | Erick Fedde | Sweeper | +6.1 | -0.8 | 37% | 2 | 6 | #118 | |
| · | Otto Lopez | Freddy Peralta | Fastball | +1.6 | +0.1 | 53% | 4 | 7 | #171 | |
| · | Nico Hoerner | Will Warren | Sweeper | +7.8 | +1.8 | 20% | 2 | 3 | #205 | |
| · | Paul Goldschmidt | Shota Imanaga | Fastball | +4.1 | +0.2 | 41% | 9 | 11 | #38 | |
| · | Jose Caballero | Shota Imanaga | Splitter | +6.6 | -0.8 | 33% | 1 | 6 | #166 | |
| · | Dillon Dingler | Jeffrey Springs | Fastball | +1.6 | +1.8 | 44% | 6 | 11 | #5 | |
| · | Ty France | Carson Whisenhunt | Changeup | +5.2 | -1.6 | 38% | 1 | 2 | #40 | |
| · | Ryan O'Hearn | Hunter Greene | Fastball | +1.2 | -0.4 | 52% | 8 | 2 | #75 | |
| · | Christian Yelich | Ryan Johnson | Splitter | +7.3 | -0.9 | 26% | 1 | 0 | #109 | |
| · | Javier Sanoja | Freddy Peralta | Fastball | +0.6 | +0.1 | 53% | 1 | 7 | #212 | |
| · | Manny Machado | Carson Whisenhunt | Fastball | +1.7 | +3.1 | 36% | 11 | 1 | #50 | |
| · | Alec Bohm | Brandon Young | Splitter | +6.8 | +1.1 | 20% | 0 | 1 | #108 | |
| · | Ildemaro Vargas | Tanner Bibee | Cutter | +7.0 | -0.2 | 25% | 1 | 9 | #195 | |
| · | William Contreras | Ryan Johnson | Cutter | +5.6 | -0.5 | 30% | 5 | 2 | #141 | |
| · | Jose Ramirez | Mitch Bratt | Fastball | +1.1 | +2.7 | 38% | 6 | 2 | #151 | |
| · | Nick Gonzales | Hunter Greene | Fastball | +0.5 | -0.4 | 52% | 1 | 2 | #161 | |
| · | Liam Hicks | Freddy Peralta | Fastball | -0.2 | +0.1 | 53% | 4 | 7 | #169 | |
| · | Spencer Torkelson | Jeffrey Springs | Fastball | +0.5 | +1.8 | 44% | 8 | 11 | #9 | |
| · | Sal Stewart | Paul Skenes | Fastball | +3.6 | -1.6 | 41% | 9 | 5 | #22 | |
| · | Travis Bazzana | Mitch Bratt | Fastball | +0.8 | +2.7 | 38% | 5 | 2 | #117 |
💀 Pitcher Arsenal Preview
Michael Lorenzen
+35.0 RV allowed
Jeffrey Springs
+23.6 RV allowed
Zac Gallen
+23.5 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.