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_11 - 2026-07-04T11:00:45-04:00
Arsenal Edges · 2026-07-04
| 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). |
|---|---|---|---|---|---|---|---|---|---|---|
| · | Logan O'Hoppe | Sonny Gray | Curveball | +10.8 | +2.9 | 16% | 0 | 3 | #190 | |
| · | Ezequiel Tovar | Robbie Ray | Knuckle Curve | +14.0 | -1.1 | 9% | 1 | 0 | #95 | |
| · | Dominic Canzone | Shane Bieber | Knuckle Curve | +6.8 | +5.3 | 17% | 0 | 0 | #10 | |
| · | Travis Bazzana | Sean Burke | Knuckle Curve | +9.1 | +0.8 | 21% | 0 | 1 | #157 | |
| · | Heliot Ramos | Tomoyuki Sugano | Splitter | +10.0 | -0.3 | 20% | 1 | 3 | #15 | |
| · | Dillon Dingler | Kumar Rocker | Slider | +6.1 | -1.4 | 38% | 5 | 1 | #26 | |
| · | Ben Rice | Zebby Matthews | Fastball | +6.1 | -0.9 | 36% | 12 | 3 | #1 | |
| · | Dominic Canzone | Shane Bieber | Fastball | +2.3 | +2.8 | 40% | 7 | 2 | #10 | |
| · | Randy Arozarena | Shane Bieber | Slider | +1.9 | +11.0 | 13% | 2 | 1 | #101 | |
| · | Jordan Walker | Shota Imanaga | Splitter | +6.3 | -0.8 | 33% | 1 | 6 | #18 | |
| · | Cole Young | Shane Bieber | Slider | +1.6 | +11.0 | 13% | 2 | 1 | #116 | |
| · | Dominic Canzone | Shane Bieber | Slider | +1.3 | +11.0 | 13% | 2 | 1 | #10 | |
| · | Luke Raley | Shane Bieber | Fastball | +1.9 | +2.8 | 40% | 6 | 2 | #29 | |
| · | Miguel Andujar | Yoshinobu Yamamoto | Splitter | +8.0 | -1.2 | 26% | 1 | 3 | #146 | |
| · | Joc Pederson | Jack Flaherty | Fastball | +1.4 | +0.4 | 50% | 7 | 4 | #25 | |
| · | Colt Emerson | Shane Bieber | Fastball | +1.8 | +2.8 | 40% | 4 | 2 | #82 | |
| · | William Contreras | Merrill Kelly | Cutter | +6.1 | +3.8 | 16% | 4 | 5 | #88 | |
| · | Ivan Herrera | Shota Imanaga | Splitter | +5.6 | -0.8 | 33% | 1 | 6 | #110 | |
| · | Alec Burleson | Shota Imanaga | Fastball | +2.3 | +0.6 | 43% | 5 | 9 | #42 | |
| · | Josh Jung | Jack Flaherty | Fastball | +0.9 | +0.4 | 50% | 4 | 4 | #140 | |
| · | Christian Yelich | Merrill Kelly | Changeup | +5.6 | +0.9 | 26% | 1 | 2 | #134 | |
| · | Josh Naylor | Shane Bieber | Fastball | +1.0 | +2.8 | 40% | 5 | 2 | #168 | |
| · | Nico Hoerner | Kyle Leahy | Sweeper | +8.1 | +1.3 | 13% | 1 | 1 | #200 | |
| · | Brice Turang | Merrill Kelly | Cutter | +5.1 | +3.8 | 16% | 2 | 5 | #69 | |
| · | Juan Soto | Chris Sale | Fastball | +3.5 | -1.1 | 40% | 7 | 5 | #77 | |
| · | Randy Arozarena | Shane Bieber | Knuckle Curve | +3.6 | +5.3 | 17% | 0 | 0 | #101 | |
| · | J.P. Crawford | Shane Bieber | Fastball | +0.5 | +2.8 | 40% | 4 | 2 | #137 | |
| · | Vaughn Grissom | Sonny Gray | Sweeper | +8.0 | -1.0 | 20% | 2 | 1 | #173 | |
| · | Kyle Karros | Robbie Ray | Fastball | +2.6 | +0.0 | 39% | 3 | 10 | #67 | |
| · | Riley Greene | Kumar Rocker | Sinker | +3.2 | +1.2 | 32% | 1 | 4 | #92 |
💀 Pitcher Arsenal Preview
Michael Lorenzen
+27.3 RV allowed
Zac Gallen
+23.2 RV allowed
Merrill Kelly
+23.1 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.