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.
Petey Halpin 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 | Petey Halpin: BA | Petey Halpin: HR% | Petey Halpin: Hard-Hit% | Petey Halpin: Exit Velo | Petey Halpin: xwOBA/con |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CH | 27% | 78.5 | 3.9" | -11.8" | 1920 | 3.0% | 23% | 0.294 | 0.200 | 0.0% | 17% | 79.5 | 0.342 |
| FC | 23% | 89.1 | 11.2" | 1.5" | 2338 | 3.9% | 35% | 0.370 | 0.133 | 0.0% | 25% | 72.3 | 0.240 |
| FF | 20% | 92.7 | 17.3" | -5.8" | 2300 | 3.5% | 45% | 0.378 | 0.341 | 4.9% | 35% | 86.8 | 0.398 |
| SI | 17% | 92.5 | 12.2" | -15.1" | 2296 | 4.8% | 50% | 0.395 | 0.333 | 0.0% | 12% | 84.5 | 0.405 |
| CU | 8% | 79.9 | -16.1" | 2.0" | 2569 | 0.0% | 31% | 0.383 | 0.308 | 0.0% | 27% | 89.7 | 0.337 |
| SL | 4% | 84.7 | 2.3" | 0.7" | 2403 | 0.0% | 48% | 0.342 | 0.200 | 0.0% | 50% | 93.3 | 0.358 |
| 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 | Petey Halpin: BA | Petey Halpin: HR% | Petey Halpin: Hard-Hit% | Petey Halpin: xwOBA/con |
|---|---|---|---|---|---|---|---|---|---|
| CH/SI/FS | 24% | 78.6 | 3.8" | -12.0" | 0.298 | 0.200 | 0.0% | 15% | 0.269 |
| EP/FA/SL | 23% | 92.3 | 16.4" | -7.1" | 0.387 | ||||
| FF/SI/FC | 23% | 92.3 | 16.4" | -7.1" | 0.395 | 0.350 | 10.0% | 42% | 0.386 |
| FC/SL/FF | 23% | 88.9 | 10.6" | 1.7" | 0.366 | 0.250 | 0.0% | 35% | 0.310 |
| SI/FF/CH | 12% | 92.6 | 11.2" | -15.9" | 0.383 | 0.360 | 4.0% | 21% | 0.512 |
| CU/KC/ST | 8% | 79.9 | -16.1" | 2.0" | 0.383 | 0.455 | 0.0% | 44% | 0.411 |
| FF/SI/FC | 4% | 93.3 | 17.4" | -6.7" | 0.296 | 0.250 | 0.0% | 25% | 0.384 |
| SL/ST/CU | 3% | 83.9 | 1.4" | 0.3" | 0.415 | 0.000 | 0.0% | ||
| ST/SL/CU | 3% | 78.2 | 4.4" | -10.8" | 0.269 | 0.000 | 0.0% | ||
| CH/FS/FO | 3% | 78.2 | 4.4" | -10.8" | 0.269 | 0.182 | 0.0% | 20% | 0.338 |
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.
78 PA · 30 games · 2026-08-14 to 2026-10-15| Date | Result | Count | Pitch | Velo | Exit Velo | Angle | Dist | Location | xBA | xSLG | xwOBA | Pitcher |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2026-10-15 | Strikeout swinging | 1-2 | SI | 95.4 | — | — | — | — | — | — | 0.000 | Steven Matz |
| 2026-10-15 | Home Run fly ball | 2-2 | SI | 95.9 | 105.0 | 26° | 385 | RF gap | 0.897 | 3.405 | 1.763 | Griffin Jax |
| 2026-10-15 | Out fly ball | 2-1 | CU | 86.6 | 80.6 | 39° | 257 | LF gap | 0.011 | 0.011 | 0.010 | Griffin Jax |
| 2026-10-13 | Strikeout swinging | 3-2 | CH | 89.0 | — | — | — | — | — | — | 0.000 | Freddy Peralta |
| 2026-10-13 | Single line drive | 1-2 | FF | 96.0 | 93.0 | 12° | 179 | RF | 0.860 | 1.003 | 0.836 | Freddy Peralta |
| 2026-10-13 | Strikeout swinging | 1-2 | CH | 88.8 | — | — | — | — | — | — | 0.000 | Freddy Peralta |
| 2026-10-12 | Strikeout looking | 1-2 | SI | 95.8 | — | — | — | — | — | — | 0.000 | Drew Rasmussen |
| 2026-10-12 | Out line drive | 0-0 | FF | 95.0 | 93.8 | 23° | 312 | LF | 0.140 | 0.259 | 0.161 | Drew Rasmussen |
| 2026-10-10 | Double line drive | 2-2 | FC | 90.0 | 93.5 | 11° | 176 | RF | 0.789 | 0.924 | 0.762 | Sean Burke |
| 2026-10-10 | Out ground ball | 3-2 | SI | 95.6 | 100.2 | 0° | 53 | Infield | 0.423 | 0.480 | 0.397 | Sean Burke |
| 2026-10-07 | Walk | 3-2 | CH | 91.5 | — | — | — | — | — | — | 0.698 | Davis Martin |
| 2026-09-27 | Out popup | 2-2 | FF | 99.7 | 86.4 | 67° | 179 | LF corner | 0.006 | 0.006 | 0.005 | Lucas Erceg |
| 2026-09-27 | Out ground ball | 1-2 | SI | 92.1 | 84.1 | -9° | 14 | Infield | 0.170 | 0.201 | 0.171 | Connor Thomas |
| 2026-09-27 | Reached On Error ground ball | 0-0 | SI | 93.3 | 58.0 | -38° | 3 | Infield | 0.153 | 0.159 | 0.145 | Daniel Lynch IV |
| 2026-09-27 | Single line drive | 0-0 | SL | 87.8 | 80.1 | 18° | 233 | RF gap | 0.997 | 1.124 | 0.931 | Daniel Lynch IV |
| 2026-09-26 | Walk | 3-0 | FF | 93.8 | — | — | — | — | — | — | 0.698 | Spencer Bivens |
| 2026-09-25 | Walk | 3-0 | SI | 92.0 | — | — | — | — | — | — | 0.698 | Nolan Hoffman |
| 2026-09-23 | Strikeout swinging | 1-2 | SI | 100.8 | — | — | — | — | — | — | 0.000 | Tyron Guerrero |
| 2026-09-23 | Single line drive | 1-0 | CU | 80.5 | 99.8 | 12° | 179 | RF | 0.943 | 1.168 | 0.916 | Sonny Gray |
| 2026-09-23 | Out fly ball | 1-1 | CU | 79.1 | 87.7 | 29° | 305 | LF | 0.060 | 0.126 | 0.081 | Sonny Gray |
| 2026-09-22 | Single fly ball | 3-2 | SL | 84.4 | 71.9 | 43° | 219 | RF gap | 0.311 | 0.384 | 0.305 | Erik Miller |
| 2026-09-18 | Out ground ball | 0-0 | CU | 81.5 | 75.6 | -36° | 1 | Infield | 0.066 | 0.069 | 0.059 | Luis Medina |
| 2026-09-18 | Single line drive | 0-0 | FF | 93.6 | 94.0 | 12° | 224 | LF gap | 0.889 | 1.048 | 0.860 | Mason Barnett |
| 2026-09-18 | Strikeout swinging | 1-2 | FF | 95.3 | — | — | — | — | — | — | 0.000 | Mason Barnett |
| 2026-09-16 | Home Run fly ball | 3-1 | SI | 94.3 | 103.7 | 30° | 393 | RF | 0.800 | 3.089 | 1.594 | Sean Newcomb |
| 2026-09-16 | Out fly ball | 1-2 | SI | 98.1 | 87.4 | 37° | 277 | LF | 0.017 | 0.033 | 0.021 | Anthony Kay |
| 2026-09-16 | Single line drive | 2-1 | SI | 97.6 | 72.8 | 18° | 197 | RF gap | 0.891 | 0.951 | 0.811 | Anthony Kay |
| 2026-09-15 | Out ground ball | 0-1 | CU | 87.8 | 68.0 | -18° | 6 | Infield | 0.051 | 0.054 | 0.046 | Grant Taylor |
| 2026-09-15 | Out ground ball | 1-0 | CH | 90.9 | 106.7 | -17° | 4 | Infield | 0.193 | 0.199 | 0.174 | Davis Martin |
| 2026-09-15 | Out line drive | 1-0 | FC | 89.8 | 102.2 | 17° | 284 | RF | 0.403 | 0.696 | 0.459 | Davis Martin |
| 2026-09-08 | Out fly ball | 0-0 | FF | 94.7 | 90.2 | 45° | 285 | LF gap | 0.003 | 0.005 | 0.003 | Cam Sanders |
| 2026-09-08 | Walk | 3-0 | FF | 98.5 | — | — | — | — | — | — | 0.699 | Alex Hoppe |
| 2026-09-08 | Out popup | 2-2 | SL | 87.3 | 78.7 | 68° | 116 | Infield | 0.003 | 0.007 | 0.005 | Grant Wolfram |
| 2026-09-08 | Single ground ball | 0-0 | FF | 94.4 | 98.3 | 7° | 131 | RF | 0.594 | 0.662 | 0.547 | Brandon Young |
| 2026-09-08 | Single line drive | 1-1 | CU | 75.8 | 93.8 | 19° | 258 | RF | 0.386 | 0.519 | 0.369 | Brandon Young |
| 2026-09-07 | Strikeout swinging | 3-2 | FF | 95.4 | — | — | — | — | — | — | 0.000 | Trevor Rogers |
| 2026-09-07 | Out ground ball | 1-2 | CH | 86.5 | 72.6 | 7° | 88 | Infield | 0.267 | 0.304 | 0.241 | Trevor Rogers |
| 2026-09-07 | Out ground ball | 2-2 | FF | 94.0 | 98.0 | -1° | 36 | Infield | 0.459 | 0.502 | 0.413 | Trevor Rogers |
| 2026-09-06 | Out popup | 0-1 | CU | 84.7 | 93.3 | 59° | 155 | Infield | 0.017 | 0.027 | 0.019 | Jackson Jobe |
| 2026-09-06 | Strikeout swinging | 2-2 | FC | 94.6 | — | — | — | — | — | — | 0.000 | Jackson Jobe |
| 2026-09-05 | Out popup | 1-2 | SL | 85.5 | 59.8 | 73° | 84 | LF corner | 0.003 | 0.003 | 0.003 | Kyle Finnegan |
| 2026-09-05 | Out popup | 0-0 | SI | 93.5 | 34.8 | 68° | 42 | Infield | 0.043 | 0.043 | 0.039 | Framber Valdez |
| 2026-09-05 | Sac Bunt ground ball | 0-0 | SI | 93.9 | 40.7 | -39° | 4 | Infield | — | — | — | Framber Valdez |
| 2026-09-02 | Out popup | 1-0 | FF | 96.0 | 83.7 | 68° | 133 | Infield | 0.011 | 0.021 | 0.015 | Brendon Little |
| 2026-08-30 | Strikeout swinging | 2-2 | FF | 92.7 | — | — | — | — | — | — | 0.000 | Jose Cuas |
| 2026-08-28 | Single line drive | 2-2 | SI | 95.2 | 101.2 | 14° | 238 | RF | 0.809 | 1.074 | 0.811 | Michael Wacha |
| 2026-08-28 | Out fly ball | 0-2 | FF | 95.5 | 77.4 | 40° | 266 | CF | 0.069 | 0.081 | 0.062 | Michael Wacha |
| 2026-08-28 | Force Out ground ball | 1-1 | FC | 91.1 | 47.6 | 26° | 115 | Infield | 0.129 | 0.145 | 0.116 | Michael Wacha |
| 2026-08-25 | Single line drive | 1-0 | SI | 95.0 | 79.9 | 15° | 178 | CF | 0.863 | 0.962 | 0.816 | José Fermín |
| 2026-08-25 | Out line drive | 2-2 | SI | 99.3 | 85.2 | 20° | 276 | CF | 0.651 | 0.756 | 0.609 | Walbert Ureña |
| 2026-08-25 | Sac Bunt ground ball | 0-0 | CH | 93.1 | 33.7 | -56° | 1 | Infield | — | — | — | Walbert Ureña |
| 2026-08-24 | Strikeout swinging | 2-2 | FF | 88.5 | — | — | — | — | — | — | 0.000 | Sammy Peralta |
| 2026-08-24 | Single fly ball | 1-0 | CH | 86.7 | 69.3 | 34° | 239 | CF | 0.811 | 0.859 | 0.736 | George Klassen |
| 2026-08-24 | Walk | 3-1 | FF | 96.2 | — | — | — | — | — | — | 0.698 | George Klassen |
| 2026-08-22 | Walk | 3-2 | FF | 96.6 | — | — | — | — | — | — | 0.698 | Juan Mejia |
| 2026-08-22 | Out line drive | 1-0 | CH | 83.1 | 91.1 | 24° | 338 | RF | 0.123 | 0.220 | 0.138 | Nick Frasso |
| 2026-08-22 | Out ground ball | 3-1 | SI | 92.9 | 91.1 | -17° | 6 | Infield | 0.140 | 0.163 | 0.133 | Gabriel Hughes |
| 2026-08-22 | Out line drive | 0-0 | CH | 86.3 | 72.3 | 14° | 154 | Infield | 0.409 | 0.422 | 0.368 | Gabriel Hughes |
| 2026-08-21 | Out fly ball | 0-0 | FF | 95.7 | 95.6 | 35° | 381 | CF | 0.160 | 0.592 | 0.313 | Zach Agnos |
| 2026-08-21 | Walk | 3-1 | FF | 93.9 | — | — | — | — | — | — | 0.698 | Mark Manfredi |
| 2026-08-21 | Out ground ball | 1-0 | CH | 83.9 | 88.0 | -1° | 38 | Infield | 0.332 | 0.369 | 0.351 | Tanner Gordon |
| 2026-08-21 | Home Run fly ball | 0-1 | FF | 93.7 | 100.5 | 35° | 422 | RF gap | 0.351 | 1.329 | 0.688 | Tanner Gordon |
| 2026-08-20 | Single line drive | 3-1 | SI | 94.1 | 92.0 | 13° | 200 | CF | 0.966 | 1.113 | 0.921 | JT Brubaker |
| 2026-08-20 | Force Out ground ball | 0-0 | FC | 90.5 | 21.7 | -11° | 7 | LF corner | 0.344 | 0.347 | 0.310 | Landen Roupp |
| 2026-08-20 | Out popup | 1-1 | FC | 91.3 | 86.5 | 63° | 136 | Infield | 0.009 | 0.012 | 0.008 | Landen Roupp |
| 2026-08-20 | Strikeout swinging | 1-2 | FC | 91.8 | — | — | — | — | — | — | 0.000 | Landen Roupp |
| 2026-08-19 | Strikeout swinging | 0-2 | FF | 95.7 | — | — | — | — | — | — | 0.000 | Dylan Smith |
| 2026-08-19 | Strikeout swinging | 0-2 | CH | 84.9 | — | — | — | — | — | — | 0.000 | Adrian Houser |
| 2026-08-19 | Out ground ball | 0-1 | CH | 86.8 | 56.4 | -28° | 3 | Infield | 0.094 | 0.100 | 0.085 | Adrian Houser |
| 2026-08-19 | Out popup | 0-0 | FC | 83.1 | 86.0 | 82° | 36 | LF corner | 0.003 | 0.003 | 0.003 | Matt Wilkinson |
| 2026-08-18 | Out ground ball | 0-0 | SI | 91.3 | 93.4 | -1° | 45 | Infield | 0.360 | 0.394 | 0.325 | Reiver Sanmartin |
| 2026-08-15 | Out line drive | 2-1 | SL | 89.7 | 103.4 | 20° | 390 | CF | 0.543 | 1.169 | 0.713 | Griffin Canning |
| 2026-08-15 | Force Out ground ball | 0-0 | SL | 87.2 | 95.2 | 2° | 53 | Infield | 0.429 | 0.507 | 0.415 | Randy Vásquez |
| 2026-08-15 | Single popup | 0-1 | FC | 92.4 | 36.4 | 39° | 81 | Infield | 0.251 | 0.254 | 0.233 | Randy Vásquez |
| 2026-08-15 | Strikeout looking | 1-2 | FF | 95.6 | — | — | — | — | — | — | 0.000 | Kyle Hart |
| 2026-08-14 | Double fly ball | 0-0 | CH | 86.6 | 100.0 | 27° | 391 | CF | 0.511 | 1.610 | 0.871 | Michael King |
| 2026-08-14 | Out fly ball | 0-0 | CH | 86.0 | 88.3 | 34° | 324 | RF | 0.023 | 0.050 | 0.030 | Michael King |
| 2026-08-14 | Strikeout swinging | 2-2 | CH | 87.8 | — | — | — | — | — | — | 0.000 | Michael King |