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.
Ethan Salas LHB SDN vs Dustin May RHP MIL P
P = platoon edge (batter faces the opposite hand)
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 belowOverall 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 | Ethan Salas: BA | Ethan Salas: HR% | Ethan Salas: Hard-Hit% | Ethan Salas: Exit Velo | Ethan Salas: xwOBA/con |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ST | 27% | 85.4 | -2.8" | 16.7" | 3178 | 0.6% | 26% | 0.334 | |||||
| FF | 25% | 96.2 | 14.2" | -10.4" | 2340 | 5.9% | 56% | 0.411 | 0.412 | 11.8% | 38% | 92.6 | 0.310 |
| FC | 21% | 92.8 | 8.7" | 0.7" | 2472 | 0.7% | 33% | 0.330 | |||||
| SI | 17% | 94.9 | 5.3" | -18.2" | 2397 | 9.6% | 60% | 0.503 | |||||
| CH | 6% | 90.1 | 4.0" | -15.6" | 1584 | 7.3% | 44% | 0.470 | |||||
| CU | 6% | 83.6 | -15.7" | 9.2" | 3116 | 0.0% | 60% | 0.325 |
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 | Ethan Salas: BA | Ethan Salas: HR% | Ethan Salas: Hard-Hit% | Ethan Salas: xwOBA/con |
|---|---|---|---|---|---|---|---|---|---|
| ST/SL/CU | 27% | 85.4 | -2.8" | 16.7" | 0.334 | ||||
| FF/SI/FC | 20% | 96.3 | 14.5" | -9.1" | 0.367 | 0.273 | 9.1% | ||
| SL/ST/CU | 20% | 96.3 | 14.5" | -9.1" | 0.367 | ||||
| SI/FF/CH | 19% | 94.9 | 6.0" | -17.5" | 0.511 | ||||
| FC/SL/FF | 17% | 92.6 | 8.1" | 1.1" | 0.342 | ||||
| FF/SI/FC | 6% | 94.8 | 13.4" | -8.9" | 0.373 | ||||
| CU/KC/ST | 6% | 83.6 | -15.7" | 9.2" | 0.325 | ||||
| EP/FA/SL | 6% | 94.7 | 13.4" | -8.9" | 0.373 | ||||
| CH/SI/FS | 3% | 90.1 | 3.8" | -16.9" | 0.464 | ||||
| CH/FS/FO | 3% | 90.1 | 4.2" | -13.9" | 0.475 |
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.
40 PA · 20 games · 2026-09-02 to 2026-10-07| Date | Result | Count | Pitch | Velo | Exit Velo | Angle | Dist | Location | xBA | xSLG | xwOBA | Pitcher |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2026-10-06 | Out ground ball | 0-0 | SI | 98.4 | 94.8 | -6° | 18 | Infield | 0.224 | 0.255 | 0.223 | Abner Uribe |
| 2026-10-06 | Out ground ball | 2-2 | SI | 97.6 | 85.8 | -3° | 31 | Infield | 0.173 | 0.208 | 0.163 | Antonio Senzatela |
| 2026-10-06 | Walk | 3-0 | FF | 96.4 | — | — | — | — | — | — | 0.698 | Dustin May |
| 2026-10-06 | Strikeout swinging | 3-2 | FC | 96.2 | — | — | — | — | — | — | 0.000 | Dustin May |
| 2026-10-03 | Out popup | 1-2 | SI | 99.3 | 60.2 | 76° | 49 | Infield | 0.006 | 0.007 | 0.006 | Aaron Ashby |
| 2026-10-03 | Strikeout swinging | 2-2 | CU | 89.4 | — | — | — | — | — | — | 0.000 | Jacob Misiorowski |
| 2026-10-03 | Single line drive | 0-1 | FC | 95.4 | 98.3 | 9° | 203 | CF | 0.640 | 0.703 | 0.590 | Jacob Misiorowski |
| 2026-09-30 | Sac Fly line drive | 1-0 | FF | 92.3 | 104.5 | 17° | 330 | CF | — | — | 0.605 | Kevin Gausman |
| 2026-09-26 | Single line drive | 0-0 | FF | 94.7 | 108.3 | 8° | 168 | RF | 0.686 | 0.829 | 0.661 | Jose Cabrera |
| 2026-09-26 | Single ground ball | 2-0 | FC | 91.5 | 100.6 | -5° | 22 | Infield | 0.317 | 0.366 | 0.286 | Jose Cabrera |
| 2026-09-26 | Out ground ball | 2-0 | SI | 97.0 | 105.2 | 4° | 91 | Infield | 0.571 | 0.638 | 0.529 | Jonathan Loáisiga |
| 2026-09-24 | Single line drive | 1-2 | ST | 86.8 | 94.6 | 15° | 261 | LF gap | 0.874 | 1.072 | 0.838 | Justin Wrobleski |
| 2026-09-24 | Single ground ball | 0-0 | FF | 96.4 | 60.0 | 20° | 140 | LF | 0.286 | 0.297 | 0.257 | Tyler Glasnow |
| 2026-09-24 | Strikeout swinging | 2-2 | FF | 95.7 | — | — | — | — | — | — | 0.000 | Tyler Glasnow |
| 2026-09-23 | Single ground ball | 0-1 | SI | 95.2 | 103.5 | -4° | 26 | CF | 0.359 | 0.398 | 0.323 | Yoshinobu Yamamoto |
| 2026-09-22 | Out ground ball | 2-2 | FF | 93.6 | 70.4 | 14° | 143 | RF gap | 0.340 | 0.340 | 0.306 | Jack Dreyer |
| 2026-09-22 | Single line drive | 1-0 | FF | 96.3 | 91.6 | 14° | 243 | LF gap | 0.960 | 1.080 | 0.889 | Kyle Hurt |
| 2026-09-20 | Strikeout looking | 3-2 | CU | 83.5 | — | — | — | — | — | — | 0.000 | Bradley Blalock |
| 2026-09-20 | Incomplete PA | 0-0 | CH | 91.3 | — | — | — | — | — | — | — | Sandy Alcantara |
| 2026-09-20 | Out fly ball | 0-0 | FC | 91.1 | 92.8 | 28° | 359 | RF gap | 0.126 | 0.289 | 0.170 | Sandy Alcantara |
| 2026-09-19 | Single ground ball | 0-2 | FF | 98.7 | 91.2 | -4° | 18 | RF gap | 0.193 | 0.212 | 0.185 | Josh Ekness |
| 2026-09-18 | Out fly ball | 1-2 | ST | 84.9 | 92.3 | 38° | 326 | LF gap | 0.031 | 0.077 | 0.045 | Dax Fulton |
| 2026-09-18 | Out fly ball | 3-2 | FF | 96.3 | 84.4 | 55° | 215 | CF | 0.023 | 0.033 | 0.025 | Tyler Zuber |
| 2026-09-16 | Out fly ball | 0-2 | FF | 92.5 | 92.1 | 50° | 288 | LF gap | 0.003 | 0.003 | 0.003 | Jimmy Herget |
| 2026-09-16 | Home Run fly ball | 0-1 | FF | 96.2 | 97.6 | 42° | 372 | RF | 0.057 | 0.199 | 0.104 | Nick Frasso |
| 2026-09-16 | Out fly ball | 1-2 | FF | 92.5 | 90.4 | 62° | 210 | LF | 0.014 | 0.022 | 0.017 | Mason Adams |
| 2026-09-16 | Home Run fly ball | 0-0 | FF | 93.2 | 105.8 | 33° | 426 | CF | 0.806 | 3.167 | 1.617 | Mason Adams |
| 2026-09-15 | Strikeout swinging | 1-2 | FF | 94.8 | — | — | — | — | — | — | 0.000 | Ryan Feltner |
| 2026-09-13 | Triple fly ball | 2-2 | FF | 92.0 | 94.7 | 36° | 350 | RF | 0.117 | 0.397 | 0.213 | Logan Webb |
| 2026-09-13 | Strikeout looking | 2-2 | ST | 83.9 | — | — | — | — | — | — | 0.000 | Logan Webb |
| 2026-09-12 | Out fly ball | 3-2 | FF | 94.6 | 96.0 | 56° | 270 | CF | 0.014 | 0.025 | 0.017 | Dylan Smith |
| 2026-09-09 | Strikeout swinging | 1-2 | FF | 98.1 | — | — | — | — | — | — | 0.000 | Luis Perales |
| 2026-09-09 | Out ground ball | 2-2 | ST | 83.8 | 60.4 | 21° | 151 | CF | 0.329 | 0.356 | 0.297 | Brad Lord |
| 2026-09-07 | Force Out ground ball | 0-0 | SI | 89.4 | 71.3 | -17° | 7 | Infield | 0.054 | 0.054 | 0.054 | Jake Irvin |
| 2026-09-07 | Out fly ball | 1-0 | FF | 94.8 | 100.7 | 47° | 324 | LF gap | 0.020 | 0.066 | 0.036 | Jake Irvin |
| 2026-09-06 | Out popup | 2-2 | FF | 98.2 | 90.7 | 74° | 77 | Infield | 0.001 | 0.001 | 0.000 | Gerrit Cole |
| 2026-09-06 | Strikeout swinging | 3-2 | FF | 97.9 | — | — | — | — | — | — | 0.000 | Gerrit Cole |
| 2026-09-02 | Strikeout swinging | 0-2 | ST | 86.1 | — | — | — | — | — | — | 0.000 | Brandon Williamson |
| 2026-09-02 | Out ground ball | 1-1 | ST | 85.4 | 93.4 | -3° | 27 | Infield | 0.266 | 0.310 | 0.252 | Brandon Williamson |
| 2026-09-02 | Out fly ball | 1-0 | FC | 90.8 | 99.4 | 32° | 388 | CF | 0.389 | 1.422 | 0.743 | Brandon Williamson |