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.
Sal Stewart RHB CIN vs Max Scherzer RHP TOR
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 | Sal Stewart: BA | Sal Stewart: HR% | Sal Stewart: Hard-Hit% | Sal Stewart: Exit Velo | Sal Stewart: xwOBA/con |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| FF | 47% | 93.4 | 16.2" | -8.7" | 2370 | 3.0% | 49% | 0.334 | 0.260 | 7.3% | 62% | 95.1 | 0.533 |
| SL | 34% | 85.3 | 2.7" | 3.9" | 2409 | 6.2% | 29% | 0.384 | 0.225 | 3.8% | 33% | 89.3 | 0.325 |
| CU | 10% | 75.2 | -7.5" | 13.1" | 2717 | 5.6% | 28% | 0.395 | 0.280 | 0.0% | 40% | 89.0 | 0.325 |
| CH | 8% | 84.8 | 4.4" | -14.0" | 1339 | 0.0% | 9% | 0.424 | 0.346 | 3.8% | 45% | 89.2 | 0.435 |
| FC | 1% | 87.9 | 7.0" | 0.7" | 2459 | 0.400 | 2.9% | 45% | 91.3 | 0.442 |
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 | Sal Stewart: BA | Sal Stewart: HR% | Sal Stewart: Hard-Hit% | Sal Stewart: xwOBA/con |
|---|---|---|---|---|---|---|---|---|---|
| FF/SI/FC | 26% | 93.9 | 16.5" | -8.6" | 0.333 | 0.272 | 8.6% | 64% | 0.594 |
| EP/FA/SL | 21% | 92.8 | 15.7" | -8.7" | 0.335 | ||||
| FF/SI/FC | 21% | 92.8 | 15.7" | -8.7" | 0.335 | 0.298 | 7.0% | 47% | 0.460 |
| SL/ST/CU | 19% | 84.5 | 1.4" | 4.4" | 0.418 | 0.152 | 0.0% | 34% | 0.286 |
| FC/SL/FF | 15% | 86.3 | 4.4" | 3.3" | 0.284 | 0.312 | 6.2% | 35% | 0.385 |
| CU/KC/ST | 9% | 75.1 | -7.8" | 13.1" | 0.376 | 0.296 | 0.0% | 35% | 0.305 |
| CH/SI/FS | 9% | 75.1 | -7.8" | 13.1" | 0.376 | 0.310 | 3.4% | 28% | 0.372 |
| CH/FS/FO | 8% | 84.8 | 4.4" | -14.0" | 0.424 | 0.294 | 11.8% | 55% | 0.669 |
| ST/SL/CU | 1% | 79.3 | -1.7" | 11.1" | 0.219 | 4.1% | 27% | 0.349 | |
| SI/FF/CH | 0% | 92.9 | 11.4" | -13.3" | 0.253 | 6.1% | 45% | 0.396 |
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.
82 PA · 30 games · 2026-08-25 to 2026-09-27| Date | Result | Count | Pitch | Velo | Exit Velo | Angle | Dist | Location | xBA | xSLG | xwOBA | Pitcher |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2026-09-27 | Out line drive | 1-0 | CU | 72.2 | 97.1 | 20° | 301 | LF | 0.286 | 0.543 | 0.340 | Max Scherzer |
| 2026-09-27 | Out fly ball | 1-2 | FF | 93.0 | 95.8 | 56° | 235 | RF gap | 0.014 | 0.025 | 0.017 | Max Scherzer |
| 2026-09-27 | Out ground ball | 2-2 | CH | 84.3 | 94.6 | 4° | 77 | Infield | 0.471 | 0.528 | 0.438 | Max Scherzer |
| 2026-09-26 | Single line drive | 1-1 | FC | 85.1 | 106.7 | 15° | 234 | LF | 0.623 | 1.025 | 0.688 | John Klein |
| 2026-09-26 | Fielder's Choice ground ball | 1-1 | CU | 83.1 | 94.4 | -6° | 11 | Infield | 0.218 | 0.245 | 0.201 | Spencer Miles |
| 2026-09-26 | Out popup | 0-1 | SL | 85.8 | 84.1 | 77° | 86 | LF corner | 0.009 | 0.015 | 0.010 | Trey Yesavage |
| 2026-09-25 | Strikeout swinging | 0-2 | FF | 100.0 | — | — | — | — | — | — | 0.000 | Louis Varland |
| 2026-09-25 | Strikeout swinging | 3-2 | FC | 93.6 | — | — | — | — | — | — | 0.000 | Chad Dallas |
| 2026-09-25 | Out popup | 0-0 | FF | 92.8 | 77.2 | 82° | 72 | RF corner | 0.003 | 0.003 | 0.003 | Brendan Cellucci |
| 2026-09-25 | Strikeout swinging | 0-2 | FF | 96.8 | — | — | — | — | — | — | 0.000 | José Soriano |
| 2026-09-24 | Out line drive | 2-2 | FF | 97.3 | 101.7 | 8° | 177 | RF | 0.654 | 0.737 | 0.608 | AJ Smith-Shawver |
| 2026-09-24 | Single ground ball | 1-2 | FF | 94.7 | 101.5 | 0° | 61 | RF gap | 0.414 | 0.467 | 0.386 | Tyler Mahle |
| 2026-09-23 | Out fly ball | 1-1 | CH | 87.5 | 101.3 | 56° | 226 | CF | 0.014 | 0.024 | 0.017 | Dylan Lee |
| 2026-09-23 | Strikeout looking | 3-2 | FF | 96.4 | — | — | — | — | — | — | 0.000 | Chris Sale |
| 2026-09-23 | Strikeout swinging | 0-2 | FF | 96.9 | — | — | — | — | — | — | 0.000 | Chris Sale |
| 2026-09-23 | Strikeout swinging | 1-2 | SL | 83.7 | — | — | — | — | — | — | 0.000 | Chris Sale |
| 2026-09-22 | Out ground ball | 3-2 | SL | 84.3 | 102.8 | -23° | 4 | LF corner | 0.110 | 0.115 | 0.099 | Didier Fuentes |
| 2026-09-22 | Out fly ball | 1-0 | CH | 82.4 | 95.7 | 60° | 201 | LF gap | 0.020 | 0.026 | 0.020 | Owen Murphy |
| 2026-09-22 | Single ground ball | 1-1 | CU | 81.5 | 96.4 | -7° | 21 | LF gap | 0.227 | 0.250 | 0.204 | JR Ritchie |
| 2026-09-22 | Strikeout swinging | 1-2 | FF | 96.8 | — | — | — | — | — | — | 0.000 | JR Ritchie |
| 2026-09-20 | Out fly ball | 0-0 | FC | 88.8 | 97.3 | 33° | 336 | RF | 0.186 | 0.632 | 0.335 | Colin Rea |
| 2026-09-20 | Out line drive | 0-0 | CU | 78.7 | 105.1 | 18° | 279 | LF gap | 0.517 | 1.018 | 0.641 | David Peterson |
| 2026-09-20 | Strikeout swinging | 0-2 | SL | 87.3 | — | — | — | — | — | — | 0.000 | David Peterson |
| 2026-09-19 | Strikeout swinging | 1-2 | SL | 92.0 | — | — | — | — | — | — | 0.000 | Daniel Palencia |
| 2026-09-19 | Out ground ball | 0-1 | FF | 93.7 | 100.7 | 7° | 131 | CF | 0.637 | 0.707 | 0.589 | Matthew Boyd |
| 2026-09-19 | Out line drive | 1-1 | CH | 80.1 | 101.5 | 9° | 192 | Infield | 0.660 | 0.749 | 0.614 | Matthew Boyd |
| 2026-09-18 | Single ground ball | 1-2 | FF | 96.3 | 100.8 | -14° | 8 | RF | 0.216 | 0.221 | 0.194 | Javier Assad |
| 2026-09-18 | Sac Fly line drive | 0-1 | FC | 84.5 | 95.7 | 24° | 327 | RF | — | — | 0.335 | Clay Holmes |
| 2026-09-17 | Single line drive | 1-0 | FF | 100.1 | 77.1 | 17° | 193 | RF | 0.957 | 1.019 | 0.868 | Seth Halvorsen |
| 2026-09-17 | Out line drive | 3-2 | SL | 87.9 | 100.1 | 9° | 154 | Infield | 0.714 | 0.822 | 0.676 | Landon Knack |
| 2026-09-16 | Single ground ball | 3-0 | SL | 86.5 | 98.0 | -15° | 7 | LF | 0.243 | 0.266 | 0.232 | Jack Dreyer |
| 2026-09-16 | Single line drive | 2-2 | CU | 80.0 | 91.9 | 13° | 207 | LF gap | 0.966 | 1.113 | 0.921 | Bobby Miller |
| 2026-09-16 | Out fly ball | 0-0 | SL | 89.7 | 89.2 | 45° | 279 | RF gap | 0.006 | 0.010 | 0.007 | Seth Halvorsen |
| 2026-09-16 | Single ground ball | 3-2 | CH | 85.8 | 105.9 | 6° | 118 | LF gap | 0.594 | 0.677 | 0.553 | Blake Snell |
| 2026-09-15 | Strikeout swinging | 1-2 | FF | 99.1 | — | — | — | — | — | — | 0.000 | Tanner Scott |
| 2026-09-14 | Strikeout swinging | 0-2 | CH | 89.3 | — | — | — | — | — | — | 0.000 | Tarik Skubal |
| 2026-09-14 | Out ground ball | 1-0 | CH | 86.7 | 67.2 | -55° | 1 | Infield | 0.286 | 0.286 | 0.257 | Tarik Skubal |
| 2026-09-14 | Strikeout swinging | 2-2 | FF | 99.5 | — | — | — | — | — | — | 0.000 | Tarik Skubal |
| 2026-09-13 | Single ground ball | 1-0 | FC | 90.4 | 104.2 | 2° | 65 | LF gap | 0.540 | 0.596 | 0.500 | Antonio Senzatela |
| 2026-09-13 | Strikeout swinging | 1-2 | FF | 93.7 | — | — | — | — | — | — | 0.000 | Robert Gasser |
| 2026-09-12 | Strikeout swinging | 0-2 | SL | 89.8 | — | — | — | — | — | — | 0.000 | Abner Uribe |
| 2026-09-12 | Single ground ball | 1-2 | FF | 97.7 | 109.7 | 2° | 72 | CF | 0.580 | 0.624 | 0.524 | Kyle Harrison |
| 2026-09-12 | Strikeout swinging | 1-2 | FF | 94.9 | — | — | — | — | — | — | 0.000 | Shane Drohan |
| 2026-09-12 | Walk | 3-1 | FC | 92.6 | — | — | — | — | — | — | 0.698 | Shane Drohan |
| 2026-09-11 | Single ground ball | 1-2 | CU | 85.4 | 107.3 | 7° | 129 | CF | 0.626 | 0.716 | 0.585 | Dustin May |
| 2026-09-09 | Single ground ball | 1-1 | FF | 95.8 | 95.4 | 2° | 65 | RF gap | 0.429 | 0.507 | 0.415 | Yoshinobu Yamamoto |
| 2026-09-09 | Out ground ball | 1-2 | CU | 77.8 | 89.9 | -16° | 10 | Infield | 0.104 | 0.117 | 0.094 | Yoshinobu Yamamoto |
| 2026-09-09 | Single line drive | 0-0 | FC | 93.7 | 109.1 | 11° | 220 | CF | 0.954 | 1.240 | 0.957 | Yoshinobu Yamamoto |
| 2026-09-08 | Strikeout looking | 1-2 | FF | 101.9 | — | — | — | — | — | — | 0.000 | Edgardo Henriquez |
| 2026-09-08 | Out line drive | 1-1 | FF | 96.3 | 105.3 | 18° | 290 | LF | 0.517 | 1.018 | 0.641 | Tarik Skubal |
| 2026-09-08 | Out ground ball | 0-1 | FF | 97.4 | 102.3 | -5° | 21 | Infield | 0.374 | 0.407 | 0.356 | Tarik Skubal |
| 2026-09-08 | Out ground ball | 2-2 | FF | 98.4 | 80.9 | -28° | 5 | Infield | 0.038 | 0.040 | 0.034 | Tarik Skubal |
| 2026-09-07 | Strikeout swinging | 0-2 | SL | 91.9 | — | — | — | — | — | — | 0.000 | Jack Dreyer |
| 2026-09-07 | Walk | 3-0 | SL | 86.2 | — | — | — | — | — | — | 0.698 | Emmet Sheehan |
| 2026-09-07 | Out line drive | 1-1 | FF | 94.5 | 97.4 | 21° | 335 | CF | 0.243 | 0.482 | 0.303 | Emmet Sheehan |
| 2026-09-07 | Strikeout swinging | 2-2 | FF | 95.3 | — | — | — | — | — | — | 0.000 | Emmet Sheehan |
| 2026-09-06 | Out line drive | 1-2 | FC | 94.1 | 66.1 | 13° | 124 | Infield | 0.269 | 0.295 | 0.243 | Antonio Senzatela |
| 2026-09-06 | Single line drive | 2-0 | FF | 94.2 | 110.0 | 14° | 244 | LF | 0.680 | 1.137 | 0.762 | Kyle Harrison |
| 2026-09-06 | Sac Fly line drive | 0-1 | FF | 94.0 | 101.4 | 19° | 319 | RF | — | — | 0.468 | Kyle Harrison |
| 2026-09-05 | Single line drive | 3-2 | CU | 84.9 | 102.2 | 16° | 282 | RF gap | 0.540 | 0.831 | 0.581 | Aaron Ashby |
| 2026-09-05 | Walk | 3-2 | FF | 96.1 | — | — | — | — | — | — | 0.698 | DL Hall |
| 2026-09-04 | Single ground ball | 0-1 | FC | 93.1 | 100.7 | 2° | 60 | RF | 0.480 | 0.539 | 0.446 | Antonio Senzatela |
| 2026-09-04 | Out fly ball | 2-1 | FC | 90.2 | 93.8 | 29° | 345 | LF | 0.137 | 0.355 | 0.201 | Chad Patrick |
| 2026-09-02 | Out ground ball | 3-2 | CH | 90.7 | 72.4 | -12° | 10 | Infield | 0.041 | 0.046 | 0.037 | Wandy Peralta |
| 2026-09-02 | Out line drive | 1-2 | FF | 94.7 | 105.0 | 15° | 319 | RF gap | 0.660 | 1.016 | 0.712 | Casey Mize |
| 2026-09-01 | Out popup | 1-0 | FF | 96.9 | 94.7 | 62° | 193 | RF gap | 0.011 | 0.016 | 0.011 | Randy Vásquez |
| 2026-09-01 | Out ground ball | 2-2 | FF | 96.7 | 83.7 | -12° | 10 | Infield | 0.089 | 0.100 | 0.080 | Randy Vásquez |
| 2026-08-31 | Grounded Into DP ground ball | 0-0 | SL | 87.2 | 81.4 | -15° | 6 | Infield | 0.066 | 0.068 | 0.059 | Michael King |
| 2026-08-31 | Out fly ball | 0-0 | SL | 86.7 | 102.5 | 34° | 406 | CF | 0.551 | 2.149 | 1.116 | Michael King |
| 2026-08-30 | Single ground ball | 2-2 | CH | 86.4 | 69.3 | -39° | 1 | Infield | 0.098 | 0.100 | 0.088 | Jacob Webb |
| 2026-08-30 | Strikeout swinging | 1-2 | FF | 90.6 | — | — | — | — | — | — | 0.000 | Shota Imanaga |
| 2026-08-29 | Single line drive | 2-2 | FF | 95.5 | 95.8 | 13° | 218 | LF gap | 0.957 | 1.122 | 0.907 | Ryan Rolison |
| 2026-08-29 | Out fly ball | 1-2 | FF | 94.4 | 90.8 | 30° | 314 | RF | 0.049 | 0.108 | 0.061 | Kevin Gausman |
| 2026-08-28 | Out fly ball | 1-2 | FC | 88.7 | 84.6 | 52° | 200 | RF | 0.014 | 0.017 | 0.013 | Aaron Civale |
| 2026-08-28 | Home Run fly ball | 3-1 | CU | 80.5 | 101.9 | 24° | 382 | LF gap | 0.623 | 1.850 | 1.020 | David Peterson |
| 2026-08-28 | Walk | 3-1 | CH | 85.8 | — | — | — | — | — | — | 0.698 | David Peterson |
| 2026-08-28 | Strikeout swinging | 2-2 | CU | 80.0 | — | — | — | — | — | — | 0.000 | David Peterson |
| 2026-08-26 | Walk | 3-2 | FF | 95.1 | — | — | — | — | — | — | 0.698 | Spencer Bivens |
| 2026-08-26 | Sac Fly fly ball | 3-2 | SL | 82.7 | 91.7 | 42° | 333 | CF | — | — | 0.005 | Ryan Walker |
| 2026-08-26 | Strikeout swinging | 3-2 | CH | 81.9 | — | — | — | — | — | — | 0.000 | Logan Webb |
| 2026-08-25 | Out ground ball | 0-0 | CH | 86.9 | 93.0 | -12° | 13 | Infield | 0.156 | 0.172 | 0.143 | Anthony Molina |
| 2026-08-25 | Out fly ball | 0-2 | SL | 83.4 | 99.6 | 32° | 385 | LF gap | 0.434 | 1.605 | 0.832 | Anthony Molina |