Batter vs Pitch Arsenal
A batter's own numbers by pitch type and location — add a pitcher to see their actual arsenal overlaid on top, and how this batter has done against pitches shaped like it.
Jonny DeLuca RHB TBA vs Shawn Armstrong RHP CLE
P = platoon edge (batter faces the opposite hand)
Batters grouped by swing shape — bat speed and swing length for power, attack angle and path tilt for loft — from Statcast bat tracking.
The number beside each metric is the gap to league average across the 610 batters with enough tracked swings to measure.
A description, not a prediction. The model does not use it.
Bat speed, barrel rate, exit velocity and chase rate over the last 30 games against this player's own last 100, so it reads as “is he himself right now” rather than “is he good”.
Flagged only when it has moved further than three quarters of hitters do. Movement in either direction counts.
Descriptive — the model does not use it.
whole-game, not filtered to this arsenal — see the per-pitch sections belowPitchers' arsenals are grouped by pitch shape — velocity, break and spin — and weighted by how often this pitcher throws each, so the number describes the arsenal he will face tonight.
Compared against this batter's own mark across every shape he has faced, so “done well” means well for him.
Descriptive — the model does not read it.
Overall vs RHP
One row per pitch this pitcher throws, ordered by usage. The bar is how this batter has performed against it; the dotted line is his own average from that hand.
Deeper red is better than his usual, deeper blue worse.
Faded rows have too little contact to trust — the count on the right is the sample behind the number.
vs RHP · ordered by usageNo tracked contact against this pitcher's pitches for this batter yet
Left: what the pitcher throws. Right: how this batter has done against that same pitch.
The right-hand columns count only pitches carrying the same label — a slider against a slider — thrown by pitchers with the same handedness.
That is precise but can leave a small sample. The table below groups by how a pitch actually moves instead.
| Pitch | Usage% | Velo | Vert Brk | Horz Brk | Spin | Allowed HR% | Allowed Hard-Hit% | Allowed xwOBA/con | Jonny DeLuca: BA | Jonny DeLuca: HR% | Jonny DeLuca: Hard-Hit% | Jonny DeLuca: Exit Velo | Jonny DeLuca: xwOBA/con |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| SI | 28% | 94.0 | 10.9" | -15.4" | 2111 | 0.0% | 34% | 0.272 | 0.400 | 2.0% | 27% | 83.9 | 0.302 |
| ST | 27% | 85.0 | 9.8" | 12.3" | 2609 | 0.0% | 18% | 0.207 | 0.188 | 9.4% | 35% | 81.0 | 0.379 |
| FF | 24% | 93.4 | 15.8" | -5.5" | 2308 | 4.2% | 36% | 0.342 | 0.288 | 3.4% | 33% | 86.6 | 0.311 |
| FC | 20% | 90.6 | 9.1" | 4.2" | 2466 | 2.3% | 34% | 0.290 | 0.292 | 4.2% | 32% | 87.5 | 0.297 |
| SV | 0% | 84.6 | -3.4" | 11.4" | 2683 |
The table above, grouped by how the pitch moves rather than what it is called.
Two pitchers can both say “slider” and throw very different pitches. Grouping by speed, break and spin pools everyone throwing something physically similar, so the sample is bigger and steadier.
| Shape (mostly) | Usage% | Velo | Vert Brk | Horz Brk | Allowed xwOBA/con | Jonny DeLuca: BA | Jonny DeLuca: HR% | Jonny DeLuca: Hard-Hit% | Jonny DeLuca: xwOBA/con |
|---|---|---|---|---|---|---|---|---|---|
| FC/SL/FF | 30% | 89.0 | 9.9" | 6.1" | 0.272 | 0.294 | 2.0% | 22% | 0.285 |
| SI/FF/CH | 26% | 94.0 | 10.6" | -15.6" | 0.281 | 0.390 | 2.4% | 28% | 0.310 |
| CH/FS/FO | 26% | 94.0 | 10.6" | -15.6" | 0.281 | 0.222 | 0.0% | ||
| EP/FA/SL | 19% | 93.3 | 15.1" | -6.7" | 0.276 | ||||
| FF/SI/FC | 19% | 93.3 | 15.1" | -6.7" | 0.276 | 0.214 | 0.0% | 22% | 0.281 |
| CU/KC/ST | 17% | 84.5 | 8.8" | 13.7" | 0.199 | 0.222 | 0.0% | ||
| ST/SL/CU | 17% | 84.5 | 8.8" | 13.7" | 0.199 | 0.250 | 9.4% | 41% | 0.387 |
| SL/ST/CU | 8% | 93.7 | 16.6" | -5.6" | 0.208 | 8.3% | 41% | 0.383 | |
| FF/SI/FC | 8% | 93.8 | 16.6" | -5.6" | 0.324 | 5.4% | 43% | 0.340 | |
| CH/SI/FS | 0% | 91.0 | 10.6" | -16.0" |
One row per plate appearance, newest first. Strikeouts and walks included.
Expected stats say what a batted ball was worth given how hard and at what angle it was hit, whether or not it found a glove.
xBA is blank on strikeouts and walks — there is no batted ball to judge. xwOBA counts them.
76 PA · 30 games · 2026-08-26 to 2026-10-15| Date | Result | Count | Pitch | Velo | Exit Velo | Angle | Dist | Location | xBA | xSLG | xwOBA | Pitcher |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2026-10-15 | Out ground ball | 0-0 | ST | 84.4 | 68.7 | -18° | 6 | Infield | 0.070 | 0.081 | 0.071 | Gavin Williams |
| 2026-10-15 | Out ground ball | 0-1 | FF | 97.3 | 99.4 | -4° | 29 | Infield | 0.366 | 0.399 | 0.337 | Gavin Williams |
| 2026-10-13 | Out ground ball | 1-1 | FC | 88.6 | 72.9 | 3° | 56 | Infield | 0.161 | 0.190 | 0.147 | Slade Cecconi |
| 2026-10-13 | Single ground ball | 0-0 | FC | 89.6 | 83.9 | -24° | 6 | CF | 0.049 | 0.057 | 0.044 | Shawn Armstrong |
| 2026-10-12 | Out line drive | 0-1 | FF | 93.6 | 82.3 | 26° | 274 | RF | 0.154 | 0.186 | 0.139 | Erik Sabrowski |
| 2026-10-12 | Single line drive | 0-0 | FF | 91.6 | 94.7 | 14° | 232 | LF | 0.920 | 1.141 | 0.895 | Foster Griffin |
| 2026-10-07 | Out line drive | 1-0 | FC | 92.1 | 100.8 | 15° | 317 | CF | 0.709 | 0.952 | 0.713 | Paul Blackburn |
| 2026-10-07 | Out fly ball | 2-1 | FF | 94.0 | 77.8 | 41° | 255 | RF gap | 0.060 | 0.083 | 0.059 | Max Fried |
| 2026-10-05 | Force Out ground ball | 0-0 | SI | 97.6 | 108.5 | -4° | 26 | Infield | 0.429 | 0.442 | 0.386 | Cam Schlittler |
| 2026-10-03 | Out popup | 2-2 | ST | 84.0 | 67.6 | 65° | 130 | RF corner | 0.003 | 0.003 | 0.003 | Paul Blackburn |
| 2026-10-03 | Strikeout swinging | 2-2 | FF | 98.8 | — | — | — | — | — | — | 0.000 | Gerrit Cole |
| 2026-09-27 | Out ground ball | 1-2 | ST | 89.9 | 53.7 | -61° | 2 | RF corner | 0.292 | 0.297 | 0.263 | Jhoan Duran |
| 2026-09-27 | Home Run fly ball | 3-2 | SI | 98.1 | 97.7 | 30° | 374 | RF gap | 0.374 | 1.251 | 0.665 | Alex McFarlane |
| 2026-09-27 | Home Run line drive | 3-2 | ST | 82.2 | 102.4 | 22° | 382 | LF | 0.534 | 1.290 | 0.758 | Zack Wheeler |
| 2026-09-27 | Out ground ball | 0-1 | SI | 94.5 | 84.5 | -19° | 7 | Infield | 0.083 | 0.108 | 0.083 | Zack Wheeler |
| 2026-09-26 | Single ground ball | 0-2 | FC | 87.2 | 79.2 | -50° | 2 | Infield | 0.221 | 0.226 | 0.199 | Max Lazar |
| 2026-09-26 | Strikeout swinging | 3-2 | ST | 80.2 | — | — | — | — | — | — | 0.000 | José Urquidy |
| 2026-09-26 | Walk | 3-2 | FC | 90.4 | — | — | — | — | — | — | 0.698 | Chase Shugart |
| 2026-09-25 | Out ground ball | 2-1 | SI | 95.3 | 97.1 | -12° | 7 | Infield | 0.218 | 0.247 | 0.196 | Cristopher Sánchez |
| 2026-09-25 | Single line drive | 0-0 | SI | 95.9 | 102.5 | 10° | 197 | RF gap | 0.834 | 1.005 | 0.802 | Cristopher Sánchez |
| 2026-09-24 | Single ground ball | 2-1 | SI | 90.5 | 107.5 | 5° | 126 | CF | 0.640 | 0.708 | 0.590 | Bradley Hanner |
| 2026-09-24 | Force Out ground ball | 1-2 | SI | 88.9 | 57.8 | -58° | 2 | Infield | 0.252 | 0.257 | 0.227 | Tim Hill |
| 2026-09-24 | Strikeout swinging | 0-2 | ST | 79.0 | — | — | — | — | — | — | 0.000 | Michael Fulmer |
| 2026-09-24 | Walk | 3-2 | SI | 98.1 | — | — | — | — | — | — | 0.698 | Cam Schlittler |
| 2026-09-23 | Single ground ball | 1-0 | SI | 95.2 | 108.4 | -8° | 14 | CF | 0.434 | 0.448 | 0.391 | Paul Blackburn |
| 2026-09-23 | Single ground ball | 0-0 | FF | 92.4 | 95.4 | 8° | 135 | LF | 0.617 | 0.695 | 0.576 | Brent Headrick |
| 2026-09-23 | Double fly ball | 3-2 | FF | 96.9 | 74.7 | 48° | 201 | RF | 0.100 | 0.124 | 0.095 | Gerrit Cole |
| 2026-09-23 | Strikeout looking | 2-2 | FF | 97.5 | — | — | — | — | — | — | 0.000 | Gerrit Cole |
| 2026-09-22 | Double line drive | 1-0 | FF | 92.6 | 105.4 | 7° | 144 | LF | 0.629 | 0.700 | 0.581 | John Schreiber |
| 2026-09-22 | Strikeout looking | 2-2 | ST | 80.9 | — | — | — | — | — | — | 0.000 | Max Fried |
| 2026-09-22 | Out ground ball | 2-1 | FF | 93.9 | 89.3 | -11° | 11 | Infield | 0.157 | 0.182 | 0.141 | Carlos Rodón |
| 2026-09-22 | Strikeout looking | 1-2 | ST | 78.0 | — | — | — | — | — | — | 0.000 | Max Fried |
| 2026-09-22 | Strikeout swinging | 0-2 | ST | 79.6 | — | — | — | — | — | — | 0.000 | Max Fried |
| 2026-09-20 | Strikeout looking | 1-2 | SI | 100.7 | — | — | — | — | — | — | 0.000 | Tyron Guerrero |
| 2026-09-20 | Out ground ball | 0-0 | FF | 91.1 | 92.2 | -18° | 5 | Infield | 0.149 | 0.163 | 0.134 | Patrick Sandoval |
| 2026-09-19 | Out popup | 0-0 | SI | 94.9 | 93.8 | 69° | 120 | Infield | 0.003 | 0.003 | 0.003 | Garrett Whitlock |
| 2026-09-18 | Out popup | 1-0 | SI | 94.2 | 72.2 | 67° | 122 | RF corner | 0.001 | 0.001 | 0.000 | Greg Weissert |
| 2026-09-18 | Strikeout looking | 1-2 | SI | 90.5 | — | — | — | — | — | — | 0.000 | Ranger Suarez |
| 2026-09-18 | Strikeout looking | 2-2 | SI | 88.6 | — | — | — | — | — | — | 0.000 | Ranger Suarez |
| 2026-09-18 | Out popup | 0-0 | FF | 91.0 | 81.1 | 75° | 86 | RF corner | 0.003 | 0.003 | 0.003 | Ranger Suarez |
| 2026-09-17 | Out fly ball | 0-1 | FF | 95.6 | 91.9 | 35° | 343 | CF | 0.037 | 0.118 | 0.063 | Geoff Hartlieb |
| 2026-09-17 | Strikeout swinging | 1-2 | FF | 91.4 | — | — | — | — | — | — | 0.000 | Jeffrey Springs |
| 2026-09-16 | Strikeout swinging | 1-2 | ST | 84.3 | — | — | — | — | — | — | 0.000 | Seth Johnson |
| 2026-09-16 | Single ground ball | 3-2 | FF | 92.2 | 108.4 | -5° | 11 | LF | 0.466 | 0.499 | 0.422 | Brady Basso |
| 2026-09-16 | Double ground ball | 0-1 | FC | 90.7 | 106.0 | 4° | 94 | LF | 0.606 | 0.703 | 0.578 | Brady Basso |
| 2026-09-13 | Single line drive | 2-1 | FF | 93.9 | 87.6 | 10° | 158 | RF | 0.509 | 0.547 | 0.461 | Enyel De Los Santos |
| 2026-09-13 | Reached On Error popup | 0-0 | SI | 90.8 | 57.3 | 41° | 176 | LF | 0.169 | 0.193 | 0.155 | Hayden Wesneski |
| 2026-09-13 | Strikeout swinging | 2-2 | ST | 82.3 | — | — | — | — | — | — | 0.000 | Hayden Wesneski |
| 2026-09-12 | Single ground ball | 0-0 | FF | 95.2 | 108.6 | -7° | 13 | CF | 0.447 | 0.461 | 0.402 | AJ Blubaugh |
| 2026-09-08 | Out ground ball | 1-2 | FF | 94.3 | 100.8 | -7° | 16 | Infield | 0.324 | 0.341 | 0.293 | Elieser Hernández |
| 2026-09-08 | Out fly ball | 1-1 | FF | 87.1 | 88.0 | 32° | 318 | RF gap | 0.040 | 0.085 | 0.052 | Brent Suter |
| 2026-09-08 | Strikeout swinging | 2-2 | FF | 88.7 | — | — | — | — | — | — | 0.000 | Brent Suter |
| 2026-09-06 | Out fly ball | 0-1 | ST | 82.1 | 77.2 | 35° | 280 | LF | 0.131 | 0.212 | 0.156 | Jakob Junis |
| 2026-09-06 | Single line drive | 3-1 | FF | 92.5 | 87.8 | 9° | 173 | CF | 0.509 | 0.579 | 0.488 | Tyler Alexander |
| 2026-09-06 | Out fly ball | 0-1 | FF | 92.9 | 71.1 | 52° | 194 | LF | 0.146 | 0.193 | 0.144 | MacKenzie Gore |
| 2026-09-03 | Walk | 3-2 | FF | 96.0 | — | — | — | — | — | — | 0.698 | Chase Silseth |
| 2026-09-03 | Out ground ball | 2-2 | FF | 93.2 | 83.7 | -11° | 13 | Infield | 0.134 | 0.156 | 0.121 | Cal Quantrill |
| 2026-09-02 | Strikeout looking | 3-2 | FC | 90.6 | — | — | — | — | — | — | 0.000 | Jonathan Pintaro |
| 2026-09-02 | Out fly ball | 3-2 | FF | 89.6 | 91.8 | 40° | 318 | RF | 0.014 | 0.033 | 0.019 | Nate Lavender |
| 2026-09-01 | Out ground ball | 1-2 | FF | 99.0 | 49.8 | 17° | 100 | Infield | 0.182 | 0.219 | 0.165 | Dylan Ross |
| 2026-09-01 | Sac Bunt ground ball | 1-1 | FF | 92.1 | 31.3 | -28° | 6 | Infield | — | — | — | Sean Manaea |
| 2026-08-31 | Walk | 3-1 | FF | 95.3 | — | — | — | — | — | — | 0.699 | Kodai Senga |
| 2026-08-31 | Single line drive | 0-0 | SI | 93.2 | 104.9 | 6° | 113 | Infield | 0.609 | 0.702 | 0.566 | Robert Stock |
| 2026-08-31 | Strikeout swinging | 0-2 | ST | 83.8 | — | — | — | — | — | — | 0.000 | Robert Stock |
| 2026-08-30 | Reached On Error ground ball | 0-0 | SI | 97.0 | 70.4 | -40° | 2 | Infield | 0.153 | 0.161 | 0.140 | David Morgan |
| 2026-08-30 | Out fly ball | 2-2 | FF | 98.6 | 89.0 | 35° | 338 | LF gap | 0.023 | 0.048 | 0.029 | Bradgley Rodriguez |
| 2026-08-30 | Out fly ball | 1-1 | FF | 93.6 | 94.2 | 47° | 294 | CF | 0.009 | 0.024 | 0.014 | Robbie Ray |
| 2026-08-30 | Strikeout swinging | 2-2 | FF | 92.9 | — | — | — | — | — | — | 0.000 | Robbie Ray |
| 2026-08-29 | Strikeout looking | 0-2 | SI | 92.8 | — | — | — | — | — | — | 0.000 | Kyle Hart |
| 2026-08-29 | Out popup | 1-0 | FC | 89.2 | 87.5 | 59° | 201 | RF corner | 0.014 | 0.020 | 0.013 | Walker Buehler |
| 2026-08-29 | Out popup | 0-0 | FC | 89.5 | 83.7 | 73° | 89 | Infield | 0.003 | 0.003 | 0.003 | Walker Buehler |
| 2026-08-28 | Walk | 3-2 | FF | 92.7 | — | — | — | — | — | — | 0.698 | Casey Mize |
| 2026-08-28 | Out fly ball | 2-2 | FF | 92.6 | 92.5 | 44° | 301 | RF corner | 0.011 | 0.028 | 0.018 | Casey Mize |
| 2026-08-26 | Out ground ball | 1-1 | FF | 96.0 | 81.9 | -38° | 2 | Infield | 0.083 | 0.091 | 0.075 | Troy Melton |
| 2026-08-26 | Strikeout swinging | 2-2 | FC | 91.7 | — | — | — | — | — | — | 0.000 | Troy Melton |
| 2026-08-26 | Double line drive | 0-0 | SI | 95.1 | 108.9 | 11° | 185 | LF corner | 0.954 | 1.240 | 0.957 | Troy Melton |