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-06-28T11:00:27-04:00
Arsenal Edges · 2026-06-28
| 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). |
|---|---|---|---|---|---|---|---|---|---|---|
| · | Bryce Harper | Cionel Perez | Slurve | +16.1 | +0.7 | 27% | 1 | 1 | #9 | |
| · | Jackson Holliday | Zack Littell | Splitter | +14.9 | +1.3 | 19% | 1 | 4 | #31 | |
| · | Logan O'Hoppe | Aaron Civale | Curveball | +10.8 | +0.3 | 23% | 0 | 1 | #124 | |
| · | Noelvi Marte | Mitch Keller | Sweeper | +9.4 | +2.2 | 17% | 1 | 5 | #127 | |
| · | Alex Jackson | Ryan Feltner | Slider | +9.8 | -0.4 | 24% | 0 | 1 | #216 | |
| · | Esmerlyn Valdez | Brady Singer | Slider | +6.7 | +0.3 | 32% | 1 | 4 | #1 | |
| · | Yordan Alvarez | Jack Flaherty | Fastball | +2.5 | +0.6 | 49% | 7 | 4 | #27 | |
| · | Bryan Reynolds | Brady Singer | Sinker | +2.9 | +0.8 | 48% | 1 | 8 | #67 | |
| · | Tyler Tolbert | Anthony Kay | Cutter | +9.6 | +0.2 | 18% | 0 | 2 | #222 | |
| · | Juan Soto | Jesus Luzardo | Sweeper | +6.5 | -1.2 | 36% | 2 | 3 | #42 | |
| · | Jose Altuve | Jack Flaherty | Fastball | +2.1 | +0.6 | 49% | 3 | 4 | #155 | |
| · | George Springer | Kumar Rocker | Cutter | +9.6 | +0.9 | 12% | 3 | 1 | #81 | |
| · | Jeremy Peña | Jack Flaherty | Fastball | +1.7 | +0.6 | 49% | 1 | 4 | #131 | |
| · | Konnor Griffin | Brady Singer | Sinker | +1.7 | +0.8 | 48% | 1 | 8 | #106 | |
| · | Alejandro Kirk | Kumar Rocker | Sinker | +4.6 | +1.5 | 32% | 1 | 4 | #120 | |
| · | Tyler Callihan | Brady Singer | Sinker | +1.5 | +0.8 | 48% | 0 | 8 | #85 | |
| · | Oswald Peraza | Aaron Civale | Splitter | +9.5 | +2.4 | 6% | 0 | 0 | #111 | |
| · | Braxton Fulford | Connor Prielipp | Sinker | +8.9 | +1.9 | 10% | 0 | 0 | #130 | |
| · | Sal Frelick | Ryan Rolison | Curveball | +8.8 | -0.4 | 19% | 2 | 1 | #199 | |
| · | Cam Smith | Jack Flaherty | Fastball | +1.0 | +0.6 | 49% | 3 | 4 | #99 | |
| · | Ryan O'Hearn | Brady Singer | Sinker | +0.8 | +0.8 | 48% | 1 | 8 | #113 | |
| · | Ildemaro Vargas | Drew Rasmussen | Cutter | +6.0 | -1.6 | 32% | 1 | 3 | #183 | |
| · | Jacob Gonzalez | Luinder Avila | Curveball | +8.1 | +1.1 | 14% | 0 | 2 | #191 | |
| · | Ty France | Emmet Sheehan | Changeup | +7.5 | +1.0 | 15% | 1 | 0 | #24 | |
| · | Colton Cowser | Zack Littell | Sinker | +5.1 | +4.5 | 14% | 3 | 5 | #37 | |
| · | Drake Baldwin | Robbie Ray | Fastball | +2.6 | -0.1 | 41% | 6 | 10 | #64 | |
| · | Jake Mangum | Brady Singer | Sweeper | +6.1 | +4.2 | 11% | 0 | 4 | #225 | |
| · | Jake Bauers | Ryan Rolison | Fastball | +3.2 | -2.1 | 45% | 5 | 2 | #23 | |
| · | Henry Davis | Brady Singer | Sinker | +0.3 | +0.8 | 48% | 2 | 8 | #58 | |
| · | Christian Walker | Jack Flaherty | Fastball | +0.0 | +0.6 | 49% | 5 | 4 | #52 |
💀 Pitcher Arsenal Preview
Michael Lorenzen
+26.4 RV allowed
Zac Gallen
+22.1 RV allowed
Kyle Freeland
+21.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.