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-09T11:53:37-04:00
Arsenal Edges · 2026-07-09
| 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). |
|---|---|---|---|---|---|---|---|---|---|---|
| · | Jackson Chourio | Andre Pallante | Knuckle Curve | +21.9 | +1.6 | 18% | 1 | 2 | #37 | |
| · | Tyler Tolbert | Sean Manaea | Cutter | +23.7 | +1.1 | 9% | 1 | 1 | #70 | |
| · | Oswald Peraza | Nathan Eovaldi | Splitter | +9.4 | -1.8 | 36% | 0 | 5 | #137 | |
| · | Kyle Schwarber | Brady Singer | Sinker | +4.5 | +1.0 | 48% | 7 | 10 | #1 | |
| · | Brandon Marsh | Brady Singer | Sinker | +2.4 | +1.0 | 48% | 3 | 10 | #9 | |
| · | Tyler Tolbert | Sean Manaea | Sweeper | +4.6 | +2.6 | 32% | 1 | 3 | #70 | |
| · | Jake Bauers | Andre Pallante | Knuckle Curve | +8.2 | +1.6 | 18% | 1 | 2 | #39 | |
| · | Isaac Collins | Sean Manaea | Sweeper | +4.0 | +2.6 | 32% | 1 | 3 | #146 | |
| · | Logan O'Hoppe | Nathan Eovaldi | Curveball | +9.2 | -1.1 | 21% | 0 | 2 | #152 | |
| · | Ben Rice | Drew Rasmussen | Fastball | +6.2 | +0.4 | 27% | 13 | 6 | #3 | |
| · | Ty France | Merrill Kelly | Changeup | +6.4 | +0.5 | 25% | 1 | 2 | #41 | |
| · | Brice Turang | Andre Pallante | Knuckle Curve | +7.2 | +1.6 | 18% | 0 | 2 | #119 | |
| · | Miguel Amaya | Trevor Rogers | Fastball | +2.6 | -0.3 | 44% | 3 | 6 | #82 | |
| · | Tyler Callihan | Bryce Elder | Sinker | +7.1 | -0.9 | 26% | 1 | 5 | #128 | |
| · | Gabriel Arias | Bailey Ober | Curveball | +10.0 | +1.9 | 2% | 2 | 0 | #46 | |
| · | Riley Greene | Jack Perkins | Sinker | +3.1 | +10.4 | 2% | 1 | 1 | #56 | |
| · | Colt Keith | Jack Perkins | Sweeper | +5.3 | -0.7 | 31% | 1 | 1 | #114 | |
| · | Ildemaro Vargas | Griffin Canning | Knuckle Curve | +12.3 | -1.9 | 5% | 1 | 0 | #151 | |
| · | Garrett Mitchell | Andre Pallante | Knuckle Curve | +6.4 | +1.6 | 18% | 1 | 2 | #77 | |
| · | Kevin Mcgonigle | Jack Perkins | Sinker | +3.0 | +10.4 | 2% | 3 | 1 | #154 | |
| · | Christian Yelich | Andre Pallante | Splitter | +11.0 | -0.2 | 3% | 1 | 0 | #169 | |
| · | Nick Kurtz | Framber Valdez | Sinker | +1.4 | -0.5 | 46% | 1 | 4 | #24 | |
| · | Shea Langeliers | Framber Valdez | Sinker | +1.5 | -0.5 | 46% | 4 | 4 | #35 | |
| · | Esmerlyn Valdez | Bryce Elder | Fastball | +6.3 | -0.2 | 24% | 3 | 2 | #44 | |
| · | Bryce Harper | Brady Singer | Fastball | +4.0 | +8.1 | 3% | 10 | 1 | #2 | |
| · | Bryce Harper | Brady Singer | Sinker | -0.3 | +1.0 | 48% | 1 | 10 | #2 | |
| · | Dansby Swanson | Trevor Rogers | Fastball | +1.7 | -0.3 | 44% | 6 | 6 | #26 | |
| · | Xavier Edwards | Bryce Miller | Fastball | +2.7 | -1.8 | 44% | 3 | 4 | #162 | |
| · | Kerry Carpenter | Jack Perkins | Changeup | +7.1 | -0.2 | 17% | 3 | 0 | #30 | |
| · | Joc Pederson | Reid Detmers | Fastball | +1.3 | -0.4 | 44% | 7 | 4 | #42 |
💀 Pitcher Arsenal Preview
Michael Lorenzen
+28.4 RV allowed
Merrill Kelly
+23.9 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.