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.
Angel Genao LHB CLE vs Nick Martinez RHP TBA 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 | Angel Genao: BA | Angel Genao: HR% | Angel Genao: Hard-Hit% | Angel Genao: Exit Velo | Angel Genao: xwOBA/con |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CH | 27% | 78.5 | 3.9" | -11.8" | 1920 | 3.0% | 23% | 0.294 | 0.231 | 0.0% | 42% | 91.6 | 0.230 |
| FC | 23% | 89.1 | 11.2" | 1.5" | 2338 | 3.9% | 35% | 0.370 | 0.091 | 0.0% | 30% | 84.6 | 0.211 |
| FF | 20% | 92.7 | 17.3" | -5.8" | 2300 | 3.5% | 45% | 0.378 | 0.348 | 0.0% | 63% | 94.0 | 0.423 |
| SI | 17% | 92.5 | 12.2" | -15.1" | 2296 | 4.8% | 50% | 0.395 | 0.125 | 0.0% | 47% | 90.7 | 0.211 |
| CU | 8% | 79.9 | -16.1" | 2.0" | 2569 | 0.0% | 31% | 0.383 | |||||
| SL | 4% | 84.7 | 2.3" | 0.7" | 2403 | 0.0% | 48% | 0.342 | 0.111 | 0.0% | |||
| PO | 0% | 93.1 | 13.8" | -11.3" | 2326 |
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 | Angel Genao: BA | Angel Genao: HR% | Angel Genao: Hard-Hit% | Angel Genao: xwOBA/con |
|---|---|---|---|---|---|---|---|---|---|
| CH/SI/FS | 24% | 78.6 | 3.8" | -12.0" | 0.298 | 0.273 | 0.0% | 40% | 0.227 |
| EP/FA/SL | 23% | 92.3 | 16.4" | -7.1" | 0.387 | ||||
| FF/SI/FC | 23% | 92.3 | 16.4" | -7.1" | 0.395 | ||||
| FC/SL/FF | 23% | 88.9 | 10.6" | 1.7" | 0.366 | 0.143 | 0.0% | 18% | 0.230 |
| SI/FF/CH | 12% | 92.6 | 11.2" | -15.9" | 0.383 | 0.067 | 0.0% | 47% | 0.220 |
| CU/KC/ST | 8% | 79.9 | -16.1" | 2.0" | 0.383 | ||||
| FF/SI/FC | 4% | 93.3 | 17.4" | -6.7" | 0.296 | 0.353 | 0.0% | 83% | 0.448 |
| SL/ST/CU | 3% | 83.9 | 1.4" | 0.3" | 0.415 | 0.182 | 9.1% | 60% | 0.190 |
| ST/SL/CU | 3% | 78.2 | 4.4" | -10.8" | 0.269 | ||||
| CH/FS/FO | 3% | 78.2 | 4.4" | -10.8" | 0.269 |
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.
85 PA · 30 games · 2026-08-19 to 2026-10-08| Date | Result | Count | Pitch | Velo | Exit Velo | Angle | Dist | Location | xBA | xSLG | xwOBA | Pitcher |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2026-10-07 | Double ground ball | 1-1 | FC | 91.9 | 83.9 | -20° | 7 | LF | 0.073 | 0.083 | 0.066 | Davis Martin |
| 2026-09-27 | Out popup | 0-2 | FF | 99.9 | 83.3 | 61° | 196 | LF corner | 0.014 | 0.020 | 0.017 | Lucas Erceg |
| 2026-09-27 | Out ground ball | 1-0 | CH | 85.7 | 95.5 | -13° | 7 | Infield | 0.204 | 0.217 | 0.186 | Nolan Hoffman |
| 2026-09-27 | Single line drive | 0-1 | SI | 93.2 | 107.1 | 7° | 146 | CF | 0.626 | 0.716 | 0.585 | Daniel Lynch IV |
| 2026-09-26 | Walk | 3-2 | FF | 94.7 | — | — | — | — | — | — | 0.698 | Spencer Bivens |
| 2026-09-22 | Out popup | 1-0 | SI | 95.6 | 87.6 | 71° | 111 | Infield | 0.001 | 0.001 | 0.000 | Erik Miller |
| 2026-09-20 | Out ground ball | 3-2 | FC | 95.0 | 96.1 | -10° | 12 | Infield | 0.270 | 0.305 | 0.257 | Jack Perkins |
| 2026-09-20 | Out ground ball | 0-0 | FF | 95.8 | 59.1 | -60° | 1 | Infield | 0.246 | 0.247 | 0.221 | Jack Perkins |
| 2026-09-19 | Strikeout looking | 0-2 | FF | 92.7 | — | — | — | — | — | — | 0.000 | Drew Rom |
| 2026-09-16 | Out line drive | 2-2 | CH | 90.0 | 87.9 | 22° | 293 | RF gap | 0.294 | 0.422 | 0.297 | Noah Schultz |
| 2026-09-16 | Strikeout swinging | 0-2 | FC | 90.4 | — | — | — | — | — | — | 0.000 | Hagen Smith |
| 2026-09-16 | Out fly ball | 3-2 | FF | 98.9 | 100.5 | 24° | 377 | CF | 0.529 | 1.397 | 0.795 | Anthony Kay |
| 2026-09-15 | Strikeout swinging | 0-2 | FF | 98.9 | — | — | — | — | — | — | 0.000 | Grant Taylor |
| 2026-09-15 | Out ground ball | 1-1 | CH | 89.8 | 76.1 | -48° | 2 | Infield | 0.149 | 0.150 | 0.134 | Davis Martin |
| 2026-09-15 | Out ground ball | 0-0 | SI | 93.8 | 64.5 | -68° | 1 | Infield | 0.246 | 0.247 | 0.221 | Davis Martin |
| 2026-09-15 | Out ground ball | 0-1 | FC | 89.3 | 105.6 | -10° | 11 | Infield | 0.338 | 0.351 | 0.304 | Davis Martin |
| 2026-09-13 | Walk | 3-2 | SI | 95.9 | — | — | — | — | — | — | 0.699 | Tommy Nance |
| 2026-09-13 | Out ground ball | 1-0 | SI | 94.3 | 104.2 | -10° | 14 | Infield | 0.326 | 0.347 | 0.306 | Travis Adams |
| 2026-09-13 | Out popup | 1-1 | FC | 92.5 | 64.6 | 81° | 29 | LF corner | 0.001 | 0.001 | 0.000 | Travis Adams |
| 2026-09-13 | Out ground ball | 3-1 | FF | 92.7 | 106.1 | 6° | 111 | Infield | 0.594 | 0.677 | 0.553 | Joe Ryan |
| 2026-09-13 | Out ground ball | 0-0 | SI | 92.1 | 82.9 | -12° | 10 | Infield | 0.085 | 0.095 | 0.077 | Joe Ryan |
| 2026-09-11 | Walk | 3-2 | FF | 97.6 | — | — | — | — | — | — | 0.699 | Yoendrys Gómez |
| 2026-09-09 | Out ground ball | 0-0 | CU | 87.9 | 95.2 | -4° | 27 | Infield | 0.314 | 0.343 | 0.283 | Rico Garcia |
| 2026-09-09 | Single ground ball | 1-1 | CH | 87.1 | 102.6 | 9° | 138 | RF | 0.714 | 0.860 | 0.684 | Shane Baz |
| 2026-09-09 | Single line drive | 1-0 | FF | 95.1 | 100.4 | 14° | 248 | LF gap | 0.829 | 1.041 | 0.805 | Shane Baz |
| 2026-09-07 | Out ground ball | 0-0 | SL | 88.4 | 81.5 | -20° | 5 | Infield | 0.062 | 0.066 | 0.056 | Andrew Kittredge |
| 2026-09-06 | Out ground ball | 2-1 | FC | 95.0 | 85.1 | -14° | 7 | Infield | 0.101 | 0.108 | 0.091 | Kenley Jansen |
| 2026-09-06 | Grounded Into DP ground ball | 1-1 | FC | 89.7 | 97.2 | -1° | 40 | Infield | 0.391 | 0.435 | 0.357 | Tyler Holton |
| 2026-09-06 | Out ground ball | 2-2 | CH | 86.2 | 91.9 | -31° | 3 | Infield | 0.070 | 0.083 | 0.068 | Jackson Jobe |
| 2026-09-06 | Strikeout swinging | 3-2 | FF | 98.2 | — | — | — | — | — | — | 0.000 | Jackson Jobe |
| 2026-09-05 | Grounded Into DP ground ball | 3-2 | SI | 94.3 | 75.4 | -1° | 33 | Infield | 0.117 | 0.135 | 0.117 | Framber Valdez |
| 2026-09-05 | Out ground ball | 1-2 | FF | 95.2 | 80.7 | -21° | 8 | LF corner | 0.048 | 0.052 | 0.043 | Framber Valdez |
| 2026-09-05 | Single ground ball | 1-0 | SI | 92.6 | 95.5 | 5° | 107 | RF | 0.486 | 0.554 | 0.450 | Framber Valdez |
| 2026-09-04 | Out ground ball | 1-2 | FC | 93.1 | 88.6 | -8° | 14 | Infield | 0.140 | 0.165 | 0.126 | Kenley Jansen |
| 2026-09-04 | Out ground ball | 0-2 | FF | 94.4 | 55.2 | -9° | 13 | LF corner | 0.085 | 0.089 | 0.077 | Drew Sommers |
| 2026-09-04 | Out ground ball | 0-1 | FF | 95.5 | 98.6 | -12° | 11 | Infield | 0.267 | 0.302 | 0.261 | Beau Brieske |
| 2026-09-04 | Single ground ball | 3-2 | FC | 89.1 | 100.2 | -20° | 6 | CF | 0.146 | 0.150 | 0.131 | Tyler Holton |
| 2026-09-04 | Out ground ball | 1-1 | CH | 87.3 | 84.2 | 1° | 46 | Infield | 0.243 | 0.281 | 0.219 | Andrew Sears |
| 2026-09-04 | Double line drive | 2-2 | SL | 84.6 | 97.7 | 10° | 200 | LF | 0.740 | 0.895 | 0.721 | Keider Montero |
| 2026-09-04 | Strikeout swinging | 3-2 | SL | 86.9 | — | — | — | — | — | — | 0.000 | Keider Montero |
| 2026-09-04 | Out line drive | 1-2 | FF | 95.0 | 104.0 | 14° | 325 | CF | 0.691 | 0.980 | 0.711 | Andrew Sears |
| 2026-09-03 | Strikeout looking | 1-2 | FF | 100.4 | — | — | — | — | — | — | 0.000 | Louis Varland |
| 2026-09-03 | Out ground ball | 2-2 | SI | 97.3 | 87.3 | -5° | 24 | Infield | 0.174 | 0.192 | 0.158 | Spencer Miles |
| 2026-09-03 | Out ground ball | 1-1 | SI | 97.8 | 89.3 | -60° | 1 | Infield | 0.317 | 0.321 | 0.291 | José Soriano |
| 2026-09-02 | Strikeout swinging | 3-2 | SI | 95.9 | — | — | — | — | — | — | 0.000 | Brendon Little |
| 2026-09-02 | Out ground ball | 2-2 | SL | 89.6 | 92.0 | 3° | 65 | Infield | 0.440 | 0.528 | 0.431 | Dylan Cease |
| 2026-09-02 | Strikeout swinging | 1-2 | SI | 94.8 | — | — | — | — | — | — | 0.000 | Dylan Cease |
| 2026-09-01 | Out line drive | 3-2 | FC | 89.4 | 96.2 | 18° | 336 | CF | 0.426 | 0.641 | 0.449 | Michael Lorenzen |
| 2026-09-01 | Home Run fly ball | 0-0 | SI | 85.8 | 105.1 | 30° | 426 | LF | 0.820 | 3.223 | 1.645 | Joe Mantiply |
| 2026-08-30 | Walk | 3-2 | SI | 92.1 | — | — | — | — | — | — | 0.699 | Jose Cuas |
| 2026-08-30 | Out ground ball | 2-2 | FF | 92.3 | 76.3 | -3° | 27 | Infield | 0.076 | 0.077 | 0.068 | Connor Thomas |
| 2026-08-30 | Strikeout swinging | 2-2 | FF | 95.2 | — | — | — | — | — | — | 0.000 | Seth Lugo |
| 2026-08-30 | Out ground ball | 3-2 | FC | 93.2 | 70.9 | -3° | 29 | Infield | 0.068 | 0.072 | 0.061 | Seth Lugo |
| 2026-08-29 | Out ground ball | 3-1 | FC | 93.3 | 90.5 | -13° | 9 | RF corner | 0.143 | 0.168 | 0.141 | Alex Lange |
| 2026-08-29 | Out fly ball | 2-2 | CH | 89.4 | 86.9 | 45° | 270 | LF | 0.003 | 0.003 | 0.003 | John Schreiber |
| 2026-08-29 | Out fly ball | 1-2 | FF | 97.6 | 83.0 | 31° | 310 | LF gap | 0.066 | 0.132 | 0.086 | Anthony Gose |
| 2026-08-29 | Fielder's Choice ground ball | 0-1 | SI | 92.6 | 98.5 | -17° | 7 | Infield | 0.198 | 0.205 | 0.178 | Daniel Lynch IV |
| 2026-08-28 | Out ground ball | 2-0 | FC | 94.3 | 58.1 | -69° | 1 | Infield | 0.273 | 0.274 | 0.252 | Steven Cruz |
| 2026-08-26 | Force Out ground ball | 0-1 | CH | 85.1 | 103.4 | -20° | 4 | Infield | 0.165 | 0.183 | 0.149 | Sammy Peralta |
| 2026-08-26 | Single ground ball | 2-1 | FF | 96.9 | 100.7 | 5° | 96 | RF gap | 0.637 | 0.713 | 0.593 | Grayson Rodriguez |
| 2026-08-26 | Out fly ball | 3-2 | FF | 97.6 | 98.5 | 37° | 364 | CF | 0.163 | 0.577 | 0.297 | Grayson Rodriguez |
| 2026-08-24 | Out ground ball | 2-2 | FF | 89.0 | 99.3 | 5° | 100 | Infield | 0.574 | 0.641 | 0.540 | Sammy Peralta |
| 2026-08-24 | Walk | 3-1 | SI | 94.9 | — | — | — | — | — | — | 0.698 | George Klassen |
| 2026-08-24 | Single ground ball | 1-2 | SI | 97.5 | 96.3 | 3° | 69 | RF | 0.449 | 0.526 | 0.421 | George Klassen |
| 2026-08-24 | Strikeout swinging | 0-2 | SL | 90.7 | — | — | — | — | — | — | 0.000 | George Klassen |
| 2026-08-23 | Out ground ball | 3-2 | SL | 82.4 | 98.4 | -29° | 6 | RF corner | 0.082 | 0.092 | 0.074 | Jordan Romano |
| 2026-08-23 | Out ground ball | 0-1 | SI | 97.7 | 52.3 | -74° | 1 | Infield | 0.183 | 0.184 | 0.165 | Jaden Hill |
| 2026-08-23 | Force Out ground ball | 2-2 | FF | 93.5 | 99.2 | -5° | 29 | Infield | 0.290 | 0.311 | 0.272 | Mark Manfredi |
| 2026-08-23 | Strikeout swinging | 1-2 | CU | 78.6 | — | — | — | — | — | — | 0.000 | Tomoyuki Sugano |
| 2026-08-23 | Strikeout swinging | 2-2 | SL | 85.2 | — | — | — | — | — | — | 0.000 | Tomoyuki Sugano |
| 2026-08-22 | Out fly ball | 1-0 | FF | 94.1 | 81.4 | 45° | 275 | LF | 0.011 | 0.011 | 0.010 | Nick Frasso |
| 2026-08-22 | Out ground ball | 0-1 | CH | 87.3 | 101.0 | -24° | 4 | Infield | 0.133 | 0.146 | 0.126 | Gabriel Hughes |
| 2026-08-22 | Single ground ball | 2-1 | FF | 93.4 | 60.1 | -50° | 2 | RF corner | 0.273 | 0.280 | 0.246 | Gabriel Hughes |
| 2026-08-21 | Out ground ball | 2-2 | SL | 84.1 | 48.9 | -33° | 1 | Infield | 0.158 | 0.162 | 0.142 | Zach Agnos |
| 2026-08-21 | Out ground ball | 0-1 | CH | 84.9 | 99.2 | -13° | 5 | RF corner | 0.258 | 0.293 | 0.235 | Tanner Gordon |
| 2026-08-21 | Double line drive | 0-1 | CU | 82.6 | 102.9 | 3° | 78 | RF | 0.551 | 0.673 | 0.534 | Tanner Gordon |
| 2026-08-21 | Out fly ball | 0-0 | CH | 84.4 | 92.0 | 35° | 369 | LF gap | 0.037 | 0.118 | 0.063 | Tanner Gordon |
| 2026-08-20 | Single ground ball | 1-0 | FC | 93.4 | 90.7 | 6° | 91 | RF | 0.466 | 0.511 | 0.432 | Carson Seymour |
| 2026-08-20 | Strikeout swinging | 1-2 | CH | 88.0 | — | — | — | — | — | — | 0.000 | Landen Roupp |
| 2026-08-20 | Out ground ball | 0-1 | SI | 94.8 | 104.0 | -13° | 8 | Infield | 0.290 | 0.300 | 0.275 | Landen Roupp |
| 2026-08-20 | Fielder's Choice ground ball | 0-1 | CH | 87.0 | 91.2 | -5° | 19 | Infield | 0.189 | 0.237 | 0.170 | Landen Roupp |
| 2026-08-19 | Single ground ball | 2-0 | FF | 96.7 | 107.7 | 6° | 123 | RF | 0.623 | 0.727 | 0.584 | Dylan Smith |
| 2026-08-19 | Single ground ball | 3-2 | SI | 95.0 | 98.3 | -10° | 9 | Infield | 0.234 | 0.263 | 0.211 | Adrian Houser |
| 2026-08-19 | Out line drive | 2-0 | FF | 96.9 | 102.2 | 14° | 250 | LF | 0.771 | 1.028 | 0.773 | Adrian Houser |
| 2026-08-19 | Out ground ball | 2-1 | FF | 90.0 | 89.9 | -10° | 14 | Infield | 0.165 | 0.190 | 0.158 | Matt Wilkinson |