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.
Matt Olson LHB ATL vs Tyler Glasnow RHP LAN 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 | Matt Olson: BA | Matt Olson: HR% | Matt Olson: Hard-Hit% | Matt Olson: Exit Velo | Matt Olson: xwOBA/con |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| FF | 39% | 95.6 | 16.1" | -0.9" | 2523 | 4.1% | 35% | 0.327 | 0.240 | 6.6% | 65% | 96.8 | 0.461 |
| SI | 18% | 96.0 | 13.9" | -10.9" | 2490 | 0.0% | 31% | 0.372 | 0.289 | 4.8% | 60% | 95.2 | 0.469 |
| CU | 16% | 82.1 | -15.7" | 4.8" | 2826 | 0.0% | 12% | 0.324 | 0.221 | 3.9% | 42% | 89.4 | 0.380 |
| SL | 15% | 89.6 | 0.9" | 3.5" | 2656 | 6.1% | 43% | 0.458 | 0.263 | 10.5% | 57% | 96.4 | 0.584 |
| KC | 13% | 80.6 | -16.0" | 7.1" | 2816 | 2.7% | 60% | 0.406 | 0.538 | 15.4% | 67% | 94.7 | 0.716 |
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 | Matt Olson: BA | Matt Olson: HR% | Matt Olson: Hard-Hit% | Matt Olson: xwOBA/con |
|---|---|---|---|---|---|---|---|---|---|
| FF/SI/FC | 54% | 95.8 | 15.6" | -4.0" | 0.341 | 0.188 | 1.9% | 61% | 0.383 |
| CU/KC/ST | 29% | 81.5 | -15.8" | 5.8" | 0.361 | 0.314 | 7.1% | 48% | 0.456 |
| CH/SI/FS | 29% | 81.5 | -15.8" | 5.8" | 0.361 | 0.247 | 5.6% | 50% | 0.376 |
| FC/SL/FF | 13% | 90.2 | 2.6" | 3.5" | 0.437 | 0.252 | 7.8% | 50% | 0.435 |
| ST/SL/CU | 2% | 88.4 | -3.3" | 4.0" | 0.207 | 3.4% | 40% | 0.320 | |
| EP/FA/SL | 1% | 94.7 | 14.6" | -4.0" | |||||
| FF/SI/FC | 1% | 94.6 | 14.7" | -4.3" | 0.341 | 12.1% | 70% | 0.585 | |
| SL/ST/CU | 1% | 87.7 | -4.9" | 2.1" | 0.261 | 8.7% | 58% | 0.525 | |
| SI/FF/CH | 1% | 96.1 | 11.5" | -13.8" | 0.286 | 5.7% | 53% | 0.443 | |
| CH/FS/FO | 1% | 96.1 | 11.5" | -13.8" | 0.268 | 2.4% | 40% | 0.360 |
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.
84 PA · 30 games · 2026-09-02 to 2026-10-07| Date | Result | Count | Pitch | Velo | Exit Velo | Angle | Dist | Location | xBA | xSLG | xwOBA | Pitcher |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2026-10-07 | Strikeout swinging | 1-2 | SL | 90.4 | — | — | — | — | — | — | 0.000 | Tanner Scott |
| 2026-10-07 | Out ground ball | 0-0 | FF | 91.8 | 107.8 | 5° | 108 | Infield | 0.640 | 0.708 | 0.590 | Alex Vesia |
| 2026-10-07 | Out fly ball | 0-0 | FF | 96.8 | 101.7 | 40° | 377 | LF gap | 0.180 | 0.656 | 0.334 | Tyler Glasnow |
| 2026-10-07 | Out ground ball | 2-0 | SI | 97.7 | 60.5 | -66° | 1 | Infield | 0.232 | 0.232 | 0.209 | Tyler Glasnow |
| 2026-10-06 | Strikeout swinging | 2-2 | FF | 97.7 | — | — | — | — | — | — | 0.000 | Tanner Scott |
| 2026-10-06 | Strikeout looking | 3-2 | FF | 96.4 | — | — | — | — | — | — | 0.000 | Yoshinobu Yamamoto |
| 2026-10-06 | Out ground ball | 1-2 | FF | 97.1 | 56.3 | 22° | 141 | Infield | 0.223 | 0.236 | 0.201 | Yoshinobu Yamamoto |
| 2026-10-04 | Strikeout swinging | 1-2 | FF | 101.3 | — | — | — | — | — | — | 0.000 | Roki Sasaki |
| 2026-10-04 | Single ground ball | 1-0 | FF | 101.4 | 94.1 | 8° | 148 | LF gap | 0.509 | 0.560 | 0.460 | Edgardo Henriquez |
| 2026-10-04 | Out popup | 1-0 | FF | 92.8 | 92.0 | 59° | 213 | CF | 0.011 | 0.015 | 0.010 | Kris Bubic |
| 2026-10-04 | Strikeout swinging | 2-2 | CU | 80.7 | — | — | — | — | — | — | 0.000 | Blake Snell |
| 2026-10-04 | Walk | 3-0 | FF | 96.9 | — | — | — | — | — | — | 0.698 | Blake Snell |
| 2026-10-03 | Out ground ball | 0-2 | SL | 90.6 | 78.8 | -17° | 4 | Infield | 0.060 | 0.071 | 0.060 | Tanner Scott |
| 2026-10-03 | Out fly ball | 2-2 | FF | 99.7 | 75.9 | 41° | 253 | LF | 0.111 | 0.146 | 0.105 | Tarik Skubal |
| 2026-10-03 | Out popup | 1-2 | FF | 99.6 | 89.1 | 71° | 111 | Infield | 0.001 | 0.001 | 0.000 | Tarik Skubal |
| 2026-10-01 | Out popup | 2-2 | FF | 94.1 | 63.1 | 71° | 83 | Infield | 0.001 | 0.001 | 0.000 | Zack Wheeler |
| 2026-10-01 | Force Out ground ball | 0-0 | FF | 95.7 | 81.3 | -29° | 4 | Infield | 0.047 | 0.047 | 0.043 | Zack Wheeler |
| 2026-10-01 | Walk | 3-1 | SI | 93.4 | — | — | — | — | — | — | 0.698 | Aaron Nola |
| 2026-09-30 | Strikeout looking | 3-2 | FF | 98.6 | — | — | — | — | — | — | 0.000 | Andrew Painter |
| 2026-09-30 | Sac Fly line drive | 3-2 | SI | 95.5 | 107.7 | 17° | 366 | LF gap | — | — | 0.758 | Cristopher Sánchez |
| 2026-09-30 | Strikeout swinging | 1-2 | SI | 95.9 | — | — | — | — | — | — | 0.000 | Cristopher Sánchez |
| 2026-09-30 | Out ground ball | 3-1 | SI | 96.0 | 108.0 | 1° | 52 | Infield | 0.511 | 0.554 | 0.462 | Cristopher Sánchez |
| 2026-09-30 | Single line drive | 3-2 | SL | 88.4 | 73.7 | 15° | 154 | RF | 0.574 | 0.603 | 0.517 | Cristopher Sánchez |
| 2026-09-29 | Out ground ball | 1-0 | FF | 96.1 | 88.5 | -23° | 4 | RF corner | 0.067 | 0.067 | 0.065 | Jesús Luzardo |
| 2026-09-27 | Out fly ball | 1-1 | FF | 93.1 | 98.0 | 33° | 381 | LF gap | 0.220 | 0.806 | 0.423 | Janson Junk |
| 2026-09-26 | Out fly ball | 0-1 | SI | 94.5 | 99.2 | 38° | 355 | LF gap | 0.169 | 0.630 | 0.333 | Bradley Blalock |
| 2026-09-26 | Strikeout swinging | 2-2 | SI | 97.7 | — | — | — | — | — | — | 0.000 | Bradley Blalock |
| 2026-09-26 | Single ground ball | 1-0 | SL | 90.4 | 84.5 | 1° | 51 | Infield | 0.211 | 0.236 | 0.190 | Dax Fulton |
| 2026-09-26 | Out popup | 0-0 | FF | 98.0 | 91.8 | 65° | 170 | LF | 0.011 | 0.017 | 0.014 | Victor Vodnik |
| 2026-09-25 | Out fly ball | 2-0 | SI | 96.7 | 78.4 | 31° | 260 | LF | 0.120 | 0.175 | 0.125 | Eury Pérez |
| 2026-09-25 | Walk | 3-0 | FF | 97.8 | — | — | — | — | — | — | 0.698 | Eury Pérez |
| 2026-09-25 | Out fly ball | 2-0 | FF | 96.9 | 100.3 | 42° | 321 | CF | 0.066 | 0.226 | 0.118 | Eury Pérez |
| 2026-09-24 | Out ground ball | 0-0 | FF | 96.4 | 105.8 | 0° | 60 | Infield | 0.511 | 0.572 | 0.480 | Brock Burke |
| 2026-09-24 | Out ground ball | 3-2 | FF | 94.4 | 97.4 | -17° | 6 | RF | 0.147 | 0.158 | 0.132 | Zach McCambley |
| 2026-09-24 | Sac Fly line drive | 2-1 | SL | 83.5 | 106.4 | 17° | 318 | RF | — | — | 0.660 | Brady Singer |
| 2026-09-23 | Out line drive | 1-2 | FF | 92.0 | 104.7 | 9° | 198 | Infield | 0.746 | 0.921 | 0.722 | Andrew Abbott |
| 2026-09-22 | Single ground ball | 2-2 | SL | 86.9 | 97.2 | -1° | 44 | RF | 0.340 | 0.380 | 0.309 | Brock Burke |
| 2026-09-22 | Out ground ball | 1-2 | SI | 94.6 | 98.6 | -13° | 14 | Infield | 0.219 | 0.250 | 0.198 | Brandon Williamson |
| 2026-09-22 | Grounded Into DP ground ball | 2-1 | SI | 93.1 | 107.5 | 5° | 112 | Infield | 0.640 | 0.708 | 0.590 | Brandon Williamson |
| 2026-09-20 | Grounded Into DP ground ball | 1-2 | FF | 94.9 | 99.5 | -22° | 8 | Infield | 0.118 | 0.118 | 0.106 | Miguel Ullola |
| 2026-09-20 | Strikeout swinging | 1-2 | KC | 84.0 | — | — | — | — | — | — | 0.000 | Hunter Brown |
| 2026-09-20 | Strikeout swinging | 3-2 | SI | 96.1 | — | — | — | — | — | — | 0.000 | Hunter Brown |
| 2026-09-19 | Out fly ball | 0-0 | SI | 93.6 | 77.0 | 37° | 265 | LF | 0.086 | 0.130 | 0.099 | Hayden Wesneski |
| 2026-09-18 | Out fly ball | 1-2 | SL | 87.4 | 83.8 | 56° | 206 | LF | 0.017 | 0.020 | 0.015 | Bennett Sousa |
| 2026-09-18 | Single line drive | 2-1 | SL | 85.3 | 109.2 | 9° | 224 | LF gap | 0.777 | 1.013 | 0.790 | Peter Lambert |
| 2026-09-16 | Single ground ball | 3-2 | FF | 92.8 | 37.0 | 7° | 38 | Infield | 0.278 | 0.278 | 0.262 | Shota Imanaga |
| 2026-09-15 | Strikeout looking | 1-2 | FF | 92.5 | — | — | — | — | — | — | 0.000 | Kevin Gausman |
| 2026-09-15 | Single line drive | 3-2 | FF | 94.1 | 109.5 | 17° | 370 | RF gap | 0.691 | 1.472 | 0.906 | Kevin Gausman |
| 2026-09-14 | Walk | 3-0 | FF | 93.3 | — | — | — | — | — | — | 0.699 | Ryan Rolison |
| 2026-09-14 | Strikeout looking | 1-2 | SI | 93.7 | — | — | — | — | — | — | 0.000 | David Peterson |
| 2026-09-14 | Strikeout swinging | 1-2 | SL | 86.7 | — | — | — | — | — | — | 0.000 | David Peterson |
| 2026-09-14 | Strikeout swinging | 0-2 | CU | 81.1 | — | — | — | — | — | — | 0.000 | David Peterson |
| 2026-09-13 | Home Run fly ball | 0-0 | SL | 88.2 | 101.9 | 30° | 400 | LF gap | 0.614 | 2.252 | 1.170 | Tanner Banks |
| 2026-09-13 | Grounded Into DP ground ball | 0-1 | FF | 97.7 | 86.5 | -27° | 5 | Infield | 0.053 | 0.062 | 0.051 | Andrew Painter |
| 2026-09-13 | Single ground ball | 0-2 | FF | 98.0 | 98.0 | -11° | 17 | CF | 0.198 | 0.212 | 0.183 | Andrew Painter |
| 2026-09-12 | Out fly ball | 0-2 | FF | 93.6 | 90.3 | 43° | 314 | LF corner | 0.009 | 0.023 | 0.015 | Grant Holman |
| 2026-09-12 | Grounded Into DP ground ball | 0-0 | SL | 88.5 | 98.2 | -3° | 27 | RF corner | 0.292 | 0.332 | 0.271 | Tim Mayza |
| 2026-09-11 | Out ground ball | 0-0 | FF | 97.3 | 96.7 | 0° | 50 | Infield | 0.349 | 0.415 | 0.326 | Jonathan Bowlan |
| 2026-09-11 | Out line drive | 2-1 | FF | 100.4 | 93.1 | 21° | 317 | LF gap | 0.243 | 0.397 | 0.268 | Alex McFarlane |
| 2026-09-11 | Out fly ball | 1-2 | FF | 93.4 | 99.3 | 27° | 369 | CF | 0.489 | 1.583 | 0.860 | Aaron Nola |
| 2026-09-11 | Home Run fly ball | 1-1 | FF | 93.7 | 97.2 | 31° | 352 | LF corner | 0.251 | 0.863 | 0.460 | Aaron Nola |
| 2026-09-10 | Out fly ball | 1-0 | FF | 94.5 | 96.3 | 26° | 373 | RF gap | 0.231 | 0.645 | 0.363 | Cam Booser |
| 2026-09-09 | Out ground ball | 1-2 | SI | 93.5 | 103.5 | -10° | 18 | Infield | 0.280 | 0.297 | 0.263 | Steven Matz |
| 2026-09-09 | Sac Fly line drive | 2-1 | FF | 94.6 | 98.9 | 19° | 348 | CF | — | — | 0.374 | Ty Johnson |
| 2026-09-08 | Out ground ball | 3-2 | FF | 93.1 | 106.0 | 1° | 63 | RF corner | 0.526 | 0.575 | 0.484 | Cole Sulser |
| 2026-09-08 | Out fly ball | 2-0 | FF | 93.9 | 97.5 | 37° | 368 | CF | 0.154 | 0.566 | 0.301 | Freddy Peralta |
| 2026-09-08 | Out fly ball | 1-1 | FF | 92.9 | 100.5 | 25° | 394 | CF | 0.474 | 1.316 | 0.733 | Freddy Peralta |
| 2026-09-08 | Single ground ball | 3-2 | CU | 79.8 | 80.3 | 1° | 42 | RF | 0.169 | 0.209 | 0.164 | Freddy Peralta |
| 2026-09-07 | Out ground ball | 0-1 | SI | 95.3 | 70.9 | -3° | 29 | Infield | 0.055 | 0.055 | 0.050 | Jesús Luzardo |
| 2026-09-07 | Single ground ball | 0-2 | FF | 96.3 | 102.8 | 3° | 85 | CF | 0.551 | 0.673 | 0.534 | Jesús Luzardo |
| 2026-09-07 | Strikeout looking | 0-2 | FF | 97.0 | — | — | — | — | — | — | 0.000 | Jesús Luzardo |
| 2026-09-06 | Strikeout swinging | 0-2 | SI | 93.9 | — | — | — | — | — | — | 0.000 | Aaron Nola |
| 2026-09-06 | Out fly ball | 0-2 | FF | 91.3 | 94.5 | 44° | 331 | LF | 0.011 | 0.033 | 0.019 | Aaron Nola |
| 2026-09-05 | Strikeout swinging | 2-2 | SI | 97.6 | — | — | — | — | — | — | 0.000 | José Alvarado |
| 2026-09-05 | Out fly ball | 0-0 | FF | 94.9 | 95.8 | 41° | 310 | LF | 0.029 | 0.100 | 0.053 | Zack Wheeler |
| 2026-09-05 | Strikeout swinging | 1-2 | FF | 95.7 | — | — | — | — | — | — | 0.000 | Zack Wheeler |
| 2026-09-05 | Walk | 3-1 | FF | 96.4 | — | — | — | — | — | — | 0.698 | Zack Wheeler |
| 2026-09-04 | Out line drive | 1-2 | FF | 96.7 | 102.3 | 16° | 305 | LF | 0.540 | 0.831 | 0.581 | Orion Kerkering |
| 2026-09-04 | Out fly ball | 2-1 | SI | 95.2 | 80.5 | 40° | 265 | LF | 0.020 | 0.025 | 0.021 | Cristopher Sánchez |
| 2026-09-04 | Strikeout swinging | 2-2 | SL | 87.0 | — | — | — | — | — | — | 0.000 | Cristopher Sánchez |
| 2026-09-04 | Out ground ball | 1-1 | SI | 95.4 | 70.0 | -49° | 2 | Infield | 0.198 | 0.198 | 0.178 | Cristopher Sánchez |
| 2026-09-02 | Strikeout swinging | 3-2 | CU | 81.4 | — | — | — | — | — | — | 0.000 | Max Kranick |
| 2026-09-02 | Strikeout swinging | 3-2 | SL | 84.5 | — | — | — | — | — | — | 0.000 | Riley Cornelio |
| 2026-09-02 | Strikeout swinging | 0-2 | FF | 95.8 | — | — | — | — | — | — | 0.000 | Brad Lord |