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.
Kyle Schwarber LHB PHI vs Tyler Mahle RHP ATL P
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 | Kyle Schwarber: BA | Kyle Schwarber: HR% | Kyle Schwarber: Hard-Hit% | Kyle Schwarber: Exit Velo | Kyle Schwarber: xwOBA/con |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| FF | 49% | 92.5 | 17.5" | -11.3" | 2308 | 5.7% | 42% | 0.349 | 0.243 | 10.2% | 61% | 97.3 | 0.496 |
| FS | 37% | 85.4 | 5.3" | -13.6" | 1653 | 2.1% | 29% | 0.349 | 0.170 | 6.4% | 44% | 89.3 | 0.416 |
| FC | 12% | 87.1 | 10.5" | -1.0" | 2394 | 2.3% | 41% | 0.271 | 0.327 | 7.3% | 74% | 97.9 | 0.546 |
| SL | 2% | 84.0 | 5.6" | 4.2" | 2367 | 0.0% | 0.193 | 6.1% | 54% | 92.4 | 0.467 |
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 | Kyle Schwarber: BA | Kyle Schwarber: HR% | Kyle Schwarber: Hard-Hit% | Kyle Schwarber: xwOBA/con |
|---|---|---|---|---|---|---|---|---|---|
| FF/SI/FC | 39% | 92.0 | 17.1" | -11.1" | 0.285 | 0.202 | 5.6% | 65% | 0.398 |
| EP/FA/SL | 39% | 92.0 | 17.1" | -11.1" | 0.290 | ||||
| CH/SI/FS | 22% | 85.4 | 6.2" | -14.3" | 0.351 | 0.195 | 9.2% | 60% | 0.513 |
| CH/FS/FO | 15% | 85.3 | 4.0" | -12.7" | 0.345 | 0.179 | 9.0% | 41% | 0.441 |
| FF/SI/FC | 12% | 93.5 | 18.4" | -11.1" | 0.478 | 0.261 | 13.8% | 58% | 0.573 |
| FC/SL/FF | 11% | 86.7 | 9.5" | 0.4" | 0.325 | 0.279 | 7.2% | 67% | 0.532 |
| SL/ST/CU | 1% | 83.1 | 4.8" | 4.1" | 0.167 | 5.6% | 55% | 0.509 | |
| SI/FF/CH | 0% | 94.4 | 14.3" | -15.5" | 0.288 | 6.8% | 66% | 0.550 | |
| CU/KC/ST | 0% | 86.4 | -2.8" | 6.4" | 0.192 | 5.8% | 36% | 0.398 | |
| ST/SL/CU | 0% | 86.4 | -2.8" | 6.4" | 0.141 | 7.8% | 51% | 0.466 |
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.
108 PA · 30 games · 2026-08-29 to 2026-10-01| Date | Result | Count | Pitch | Velo | Exit Velo | Angle | Dist | Location | xBA | xSLG | xwOBA | Pitcher |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2026-10-01 | Out fly ball | 2-2 | FC | 87.2 | 86.8 | 31° | 324 | RF | 0.017 | 0.033 | 0.016 | Dylan Dodd |
| 2026-10-01 | Single line drive | 1-0 | FC | 93.5 | 101.2 | 14° | 212 | RF | 0.809 | 1.074 | 0.811 | Grant Holmes |
| 2026-10-01 | Walk | 3-0 | SI | 93.5 | — | — | — | — | — | — | 0.698 | Ray Kerr |
| 2026-10-01 | Single line drive | 1-1 | SI | 94.8 | 108.2 | 8° | 201 | LF | 0.686 | 0.829 | 0.661 | Ray Kerr |
| 2026-09-30 | Strikeout swinging | 2-2 | FS | 89.8 | — | — | — | — | — | — | 0.000 | Didier Fuentes |
| 2026-09-30 | Home Run fly ball | 3-2 | SL | 86.6 | 111.7 | 27° | 447 | RF | 1.000 | 4.000 | 2.000 | Dylan Lee |
| 2026-09-30 | Strikeout swinging | 2-2 | FS | 88.7 | — | — | — | — | — | — | 0.000 | Tyler Mahle |
| 2026-09-30 | Strikeout swinging | 2-2 | FS | 87.7 | — | — | — | — | — | — | 0.000 | Tyler Mahle |
| 2026-09-30 | Out ground ball | 0-1 | FS | 87.5 | 94.0 | -2° | 27 | Infield | 0.280 | 0.330 | 0.264 | Tyler Mahle |
| 2026-09-29 | Strikeout swinging | 0-2 | FF | 95.3 | — | — | — | — | — | — | 0.000 | Dylan Lee |
| 2026-09-29 | Single ground ball | 1-1 | SI | 96.8 | 106.7 | -1° | 40 | Infield | 0.483 | 0.528 | 0.447 | Chris Sale |
| 2026-09-29 | Out popup | 2-2 | SI | 96.3 | 53.1 | 53° | 133 | RF corner | 0.011 | 0.011 | 0.010 | Chris Sale |
| 2026-09-29 | Walk | 3-2 | SL | 79.5 | — | — | — | — | — | — | 0.698 | Chris Sale |
| 2026-09-27 | Walk | 3-2 | FS | 86.1 | — | — | — | — | — | — | 0.698 | Jesse Scholtens |
| 2026-09-27 | Strikeout swinging | 2-2 | FS | 83.4 | — | — | — | — | — | — | 0.000 | Jesse Scholtens |
| 2026-09-27 | Double line drive | 2-2 | SI | 93.2 | 116.8 | 16° | 346 | RF | 0.780 | 1.777 | 1.061 | Nick Martinez |
| 2026-09-27 | Single ground ball | 0-0 | SI | 93.5 | 113.1 | 6° | 128 | RF | 0.689 | 0.813 | 0.645 | Nick Martinez |
| 2026-09-26 | Walk | 3-2 | FF | 91.0 | — | — | — | — | — | — | 0.698 | Cole Sulser |
| 2026-09-26 | Out popup | 3-2 | FF | 94.0 | 82.5 | 60° | 135 | Infield | 0.023 | 0.038 | 0.028 | Ty Johnson |
| 2026-09-26 | Force Out ground ball | 1-2 | FC | 90.3 | 75.5 | -9° | 15 | Infield | 0.055 | 0.066 | 0.050 | Cam Booser |
| 2026-09-26 | Strikeout swinging | 0-2 | SI | 94.2 | — | — | — | — | — | — | 0.000 | Steven Matz |
| 2026-09-25 | Out ground ball | 1-0 | FF | 92.6 | 101.2 | -14° | 9 | Infield | 0.198 | 0.201 | 0.178 | Cole Sulser |
| 2026-09-25 | Out ground ball | 0-0 | FF | 96.9 | 92.6 | 7° | 114 | Infield | 0.520 | 0.573 | 0.481 | Freddy Peralta |
| 2026-09-25 | Out ground ball | 1-0 | FF | 95.8 | 112.2 | 0° | 54 | RF corner | 0.583 | 0.656 | 0.553 | Freddy Peralta |
| 2026-09-24 | Single line drive | 2-1 | SI | 93.8 | 100.9 | 9° | 151 | RF | 0.660 | 0.749 | 0.614 | JoJo Romero |
| 2026-09-24 | Out ground ball | 3-2 | SI | 97.5 | 102.2 | -4° | 29 | RF corner | 0.358 | 0.387 | 0.322 | Aaron Ashby |
| 2026-09-24 | Double line drive | 0-0 | SI | 94.3 | 111.8 | 9° | 234 | RF gap | 0.837 | 1.071 | 0.822 | Shane Drohan |
| 2026-09-24 | Out fly ball | 1-0 | SI | 94.7 | 101.7 | 44° | 282 | LF gap | 0.063 | 0.203 | 0.103 | Shane Drohan |
| 2026-09-23 | Out popup | 1-1 | FF | 97.7 | 92.1 | 67° | 103 | Infield | 0.014 | 0.019 | 0.017 | Trevor Megill |
| 2026-09-23 | Hit By Pitch | 1-2 | SI | 95.3 | — | — | — | — | — | — | 0.729 | DL Hall |
| 2026-09-23 | Walk | 3-0 | FF | 94.2 | — | — | — | — | — | — | 0.698 | Logan Henderson |
| 2026-09-23 | Out ground ball | 1-2 | FF | 95.6 | 71.9 | -18° | 5 | Infield | 0.045 | 0.045 | 0.040 | Logan Henderson |
| 2026-09-22 | Strikeout looking | 0-2 | FF | 94.2 | — | — | — | — | — | — | 0.000 | Kyle Harrison |
| 2026-09-22 | Out fly ball | 2-0 | FC | 94.1 | 100.1 | 35° | 359 | RF gap | 0.351 | 1.329 | 0.688 | Dustin May |
| 2026-09-20 | Walk | 3-2 | SI | 97.3 | — | — | — | — | — | — | 0.698 | Jefry Yan |
| 2026-09-20 | Out fly ball | 1-2 | FF | 94.7 | 101.0 | 38° | 380 | CF | 0.206 | 0.788 | 0.410 | Jonah Tong |
| 2026-09-20 | Walk | 3-2 | FF | 96.5 | — | — | — | — | — | — | 0.698 | Jonah Tong |
| 2026-09-19 | Strikeout swinging | 1-2 | FS | 81.4 | — | — | — | — | — | — | 0.000 | Tobias Myers |
| 2026-09-19 | Double line drive | 3-2 | FS | 84.7 | 93.6 | 18° | 255 | LF | 0.509 | 0.642 | 0.482 | Christian Scott |
| 2026-09-19 | Walk | 3-2 | FC | 91.2 | — | — | — | — | — | — | 0.698 | Christian Scott |
| 2026-09-19 | Strikeout swinging | 1-2 | FS | 84.9 | — | — | — | — | — | — | 0.000 | Christian Scott |
| 2026-09-18 | Out fly ball | 0-0 | FF | 92.5 | 86.0 | 58° | 205 | LF gap | 0.029 | 0.045 | 0.032 | Nate Lavender |
| 2026-09-18 | Walk | 3-1 | FC | 88.1 | — | — | — | — | — | — | 0.698 | Zac Thornton |
| 2026-09-18 | Strikeout looking | 2-2 | FF | 93.7 | — | — | — | — | — | — | 0.000 | Zac Thornton |
| 2026-09-17 | Out fly ball | 2-1 | FS | 78.7 | 98.5 | 58° | 240 | RF gap | 0.023 | 0.037 | 0.029 | Tobias Myers |
| 2026-09-17 | Out fly ball | 0-0 | SI | 96.2 | 97.7 | 33° | 357 | LF gap | 0.220 | 0.806 | 0.423 | Nolan McLean |
| 2026-09-16 | Strikeout swinging | 2-2 | FS | 88.2 | — | — | — | — | — | — | 0.000 | Luis Perales |
| 2026-09-16 | Walk | 3-0 | FF | 90.9 | — | — | — | — | — | — | 0.699 | Will Dion |
| 2026-09-16 | Out popup | 1-0 | FF | 95.8 | 92.1 | 78° | 44 | Infield | 0.014 | 0.022 | 0.018 | Riley Cornelio |
| 2026-09-16 | Out line drive | 0-1 | SI | 94.9 | 90.4 | 10° | 149 | Infield | 0.611 | 0.689 | 0.587 | Jared Simpson |
| 2026-09-15 | Out popup | 1-1 | SI | 89.9 | 70.6 | 50° | 190 | LF gap | 0.183 | 0.260 | 0.200 | Richard Lovelady |
| 2026-09-15 | Home Run fly ball | 2-2 | SL | 84.9 | 98.3 | 33° | 366 | RF | 0.220 | 0.806 | 0.423 | Jackson Kent |
| 2026-09-15 | Out fly ball | 3-2 | SI | 93.6 | 95.7 | 24° | 328 | LF gap | 0.240 | 0.559 | 0.335 | Jackson Kent |
| 2026-09-15 | Walk | 3-1 | FF | 93.1 | — | — | — | — | — | — | 0.699 | Jackson Kent |
| 2026-09-13 | Single line drive | 1-1 | FC | 93.9 | 108.6 | 8° | 162 | RF gap | 0.686 | 0.859 | 0.669 | Victor Mederos |
| 2026-09-13 | Single line drive | 1-2 | SL | 83.6 | 104.2 | 12° | 229 | RF | 0.940 | 1.246 | 0.942 | Dylan Lee |
| 2026-09-13 | Grounded Into DP ground ball | 2-2 | SI | 94.7 | 90.9 | -21° | 7 | Infield | 0.075 | 0.084 | 0.080 | Ray Kerr |
| 2026-09-13 | Walk | 3-1 | SL | 84.9 | — | — | — | — | — | — | 0.699 | Grant Holmes |
| 2026-09-13 | Out fly ball | 0-2 | SL | 85.7 | 100.8 | 35° | 382 | LF gap | 0.391 | 1.471 | 0.759 | Grant Holmes |
| 2026-09-12 | Strikeout looking | 1-2 | SI | 91.1 | — | — | — | — | — | — | 0.000 | Brent Suter |
| 2026-09-12 | Out ground ball | 2-1 | FS | 86.4 | 86.4 | -2° | 28 | RF corner | 0.166 | 0.180 | 0.149 | Tyler Mahle |
| 2026-09-12 | Out ground ball | 3-2 | FS | 87.8 | 77.3 | -24° | 5 | Infield | 0.034 | 0.037 | 0.031 | Tyler Mahle |
| 2026-09-12 | Strikeout swinging | 3-2 | FS | 86.8 | — | — | — | — | — | — | 0.000 | Tyler Mahle |
| 2026-09-11 | Strikeout looking | 2-2 | FF | 95.2 | — | — | — | — | — | — | 0.000 | Raisel Iglesias |
| 2026-09-11 | Grounded Into DP ground ball | 0-0 | SL | 83.3 | 93.4 | -25° | 4 | RF corner | 0.062 | 0.068 | 0.056 | Dylan Lee |
| 2026-09-11 | Strikeout swinging | 3-2 | SL | 80.2 | — | — | — | — | — | — | 0.000 | Chris Sale |
| 2026-09-11 | Strikeout looking | 1-2 | SL | 81.1 | — | — | — | — | — | — | 0.000 | Chris Sale |
| 2026-09-11 | Out fly ball | 3-2 | SI | 96.9 | 104.2 | 48° | 318 | CF | 0.040 | 0.124 | 0.065 | Chris Sale |
| 2026-09-10 | Out ground ball | 1-0 | SI | 96.0 | 70.3 | 3° | 55 | Infield | 0.132 | 0.149 | 0.124 | Josh Hader |
| 2026-09-10 | Strikeout swinging | 3-2 | FF | 94.3 | — | — | — | — | — | — | 0.000 | Cristian Javier |
| 2026-09-10 | Strikeout swinging | 3-2 | FF | 93.1 | — | — | — | — | — | — | 0.000 | Cristian Javier |
| 2026-09-10 | Walk | 3-2 | FF | 93.2 | — | — | — | — | — | — | 0.699 | Cristian Javier |
| 2026-09-09 | Out fly ball | 3-2 | FF | 97.5 | 91.1 | 56° | 236 | LF | 0.009 | 0.011 | 0.009 | Hunter Brown |
| 2026-09-09 | Strikeout looking | 1-2 | FF | 97.1 | — | — | — | — | — | — | 0.000 | Hunter Brown |
| 2026-09-08 | Out popup | 1-2 | SI | 97.1 | 80.1 | 63° | 161 | RF | 0.017 | 0.030 | 0.021 | Josh Hader |
| 2026-09-08 | Out line drive | 1-1 | SL | 86.9 | 92.4 | 21° | 287 | RF | 0.249 | 0.384 | 0.264 | Bryan Abreu |
| 2026-09-08 | Out line drive | 3-2 | SI | 92.0 | 106.2 | 8° | 157 | RF | 0.671 | 0.777 | 0.630 | Hayden Wesneski |
| 2026-09-07 | Home Run fly ball | 2-2 | FF | 99.7 | 107.8 | 29° | 415 | RF | 0.963 | 3.810 | 1.949 | Didier Fuentes |
| 2026-09-07 | Out fly ball | 2-1 | SL | 83.9 | 92.4 | 40° | 320 | CF | 0.014 | 0.033 | 0.019 | Grant Holmes |
| 2026-09-07 | Single ground ball | 2-1 | FC | 93.2 | 110.7 | 3° | 80 | RF gap | 0.620 | 0.695 | 0.572 | Grant Holmes |
| 2026-09-06 | Home Run fly ball | 1-1 | SI | 96.4 | 107.0 | 25° | 371 | RF | 0.937 | 3.557 | 1.839 | Dylan Dodd |
| 2026-09-06 | Out ground ball | 2-2 | FS | 88.1 | 44.3 | -77° | 0 | Infield | 0.137 | 0.137 | 0.123 | Tyler Mahle |
| 2026-09-06 | Out ground ball | 1-0 | FS | 87.0 | 95.3 | 2° | 62 | Infield | 0.429 | 0.507 | 0.415 | Tyler Mahle |
| 2026-09-06 | Walk | 3-1 | FC | 86.9 | — | — | — | — | — | — | 0.698 | Tyler Mahle |
| 2026-09-05 | Walk | 3-2 | SI | 90.1 | — | — | — | — | — | — | 0.698 | Brent Suter |
| 2026-09-05 | Single line drive | 3-2 | SI | 95.0 | 101.0 | 14° | 253 | RF gap | 0.809 | 1.074 | 0.811 | Ray Kerr |
| 2026-09-05 | Home Run fly ball | 2-2 | SI | 90.8 | 108.7 | 25° | 435 | — | 1.000 | 4.000 | 2.000 | Martín Pérez |
| 2026-09-05 | Out ground ball | 1-0 | SI | 90.5 | 102.7 | -6° | 23 | Infield | 0.234 | 0.267 | 0.211 | Martín Pérez |
| 2026-09-05 | Walk | 3-1 | SI | 90.0 | — | — | — | — | — | — | 0.698 | Martín Pérez |
| 2026-09-04 | Out line drive | 0-1 | FF | 98.5 | 78.4 | 27° | 260 | LF gap | 0.337 | 0.407 | 0.311 | Didier Fuentes |
| 2026-09-04 | Out fly ball | 1-2 | SL | 84.1 | 98.7 | 45° | 294 | LF gap | 0.029 | 0.083 | 0.045 | Chris Sale |
| 2026-09-04 | Strikeout swinging | 3-2 | SI | 96.5 | — | — | — | — | — | — | 0.000 | Chris Sale |
| 2026-09-04 | Out ground ball | 2-2 | SI | 96.9 | 63.2 | -59° | 1 | Infield | 0.237 | 0.237 | 0.213 | Chris Sale |
| 2026-09-02 | Strikeout swinging | 0-2 | FF | 98.9 | — | — | — | — | — | — | 0.000 | Juan Morillo |
| 2026-09-02 | Out line drive | 2-0 | FC | 88.0 | 101.3 | 10° | 185 | Infield | 0.840 | 1.024 | 0.816 | Derek Law |
| 2026-09-02 | Out ground ball | 1-0 | SI | 95.7 | 77.8 | -9° | 12 | Infield | 0.070 | 0.076 | 0.063 | Taylor Clarke |
| 2026-09-01 | Sac Fly line drive | 0-0 | SL | 88.9 | 91.2 | 23° | 316 | RF gap | — | — | 0.192 | Derek Law |
| 2026-08-31 | Out fly ball | 0-2 | FF | 99.5 | 91.6 | 59° | 219 | LF | 0.011 | 0.015 | 0.010 | Juan Morillo |
| 2026-08-31 | Out ground ball | 0-0 | SI | 93.3 | 79.8 | -12° | 12 | Infield | 0.060 | 0.066 | 0.054 | Brandon Pfaadt |
| 2026-08-30 | Strikeout swinging | 0-2 | FF | 93.2 | — | — | — | — | — | — | 0.000 | Mitch Farris |
| 2026-08-30 | Walk | 3-2 | FF | 88.7 | — | — | — | — | — | — | 0.699 | Sammy Peralta |
| 2026-08-30 | Force Out ground ball | 1-1 | FF | 97.3 | 103.3 | -6° | 16 | Infield | 0.234 | 0.267 | 0.211 | Yusei Kikuchi |
| 2026-08-30 | Single line drive | 2-2 | SL | 85.2 | 84.5 | 19° | 248 | RF | 0.920 | 1.059 | 0.861 | Yusei Kikuchi |
| 2026-08-30 | Out ground ball | 0-0 | FF | 95.6 | 85.9 | -35° | 3 | Infield | 0.051 | 0.051 | 0.052 | Yusei Kikuchi |
| 2026-08-29 | Double fly ball | 1-1 | FC | 89.7 | 73.2 | 34° | 255 | CF | 0.369 | 0.422 | 0.342 | Trevor Martin |
| 2026-08-29 | Strikeout swinging | 3-2 | FF | 95.7 | — | — | — | — | — | — | 0.000 | Luke Murphy |
| 2026-08-29 | Out ground ball | 0-1 | FS | 82.5 | 89.3 | 1° | 40 | Infield | 0.289 | 0.310 | 0.260 | Ryan Johnson |
| 2026-08-29 | Strikeout swinging | 2-2 | FC | 90.2 | — | — | — | — | — | — | 0.000 | Ryan Johnson |