Ty France RHB SDN
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.
Where this player ranks against the league over the same games. 100 is the best in baseball, 50 is average, and right is always better.
Rows marked ↓ are ones where a low number is good, so the bar is flipped. The figure on the right is always the real value.
Windows count games played, not calendar days.
2026-08-29 to 2026-10-07 · 329 qualified playersWhere every base hit landed, over this player's recent games. Outs are not plotted.
Distance is read off the dotted rings, not a drawn fence -- real fences vary by 100+ feet park to park, so one drawn wall would be accurate for none of them.
Statcast records where a ball was FIELDED, not where it landed, so about 4% of hits (a grounder run down in foul ground, say) are pulled back to the foul line here rather than plotted past it.
38 hits · 30 games · 2026-08-29 to 2026-10-07Hover or tap any hit for how it was struck — distance, exit velocity, launch angle, the pitch, and what that batted ball was expected to be worth.
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.
130 PA · 30 games · 2026-08-29 to 2026-10-07| Date | Result | Count | Pitch | Velo | Exit Velo | Angle | Dist | Location | xBA | xSLG | xwOBA | Pitcher |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2026-10-07 | Out popup | 2-2 | SL | 90.2 | 71.7 | 59° | 151 | RF corner | 0.017 | 0.017 | 0.015 | Abner Uribe |
| 2026-10-07 | Walk | 3-2 | CU | 86.3 | — | — | — | — | — | — | 0.698 | Aaron Ashby |
| 2026-10-07 | Out fly ball | 1-0 | SI | 93.0 | 103.0 | 43° | 346 | CF | 0.157 | 0.580 | 0.306 | Robert Gasser |
| 2026-10-07 | Force Out ground ball | 0-1 | FC | 90.6 | 82.8 | -29° | 3 | Infield | 0.029 | 0.029 | 0.026 | Robert Gasser |
| 2026-10-06 | Out ground ball | 0-2 | SI | 98.6 | 103.4 | 6° | 125 | Infield | 0.649 | 0.732 | 0.603 | Abner Uribe |
| 2026-10-06 | Strikeout swinging | 1-2 | FC | 92.2 | — | — | — | — | — | — | 0.000 | Antonio Senzatela |
| 2026-10-06 | Out fly ball | 1-0 | SI | 96.9 | 103.1 | 28° | 368 | RF gap | 0.734 | 2.744 | 1.423 | Dustin May |
| 2026-10-06 | Out ground ball | 0-0 | SI | 97.9 | 88.3 | -25° | 5 | LF corner | 0.056 | 0.060 | 0.050 | Dustin May |
| 2026-10-04 | Single ground ball | 1-0 | SI | 97.1 | 101.3 | -2° | 29 | RF | 0.311 | 0.353 | 0.280 | Abner Uribe |
| 2026-10-04 | Hit By Pitch | 0-0 | CH | 83.8 | — | — | — | — | — | — | 0.729 | Logan Henderson |
| 2026-10-04 | Strikeout looking | 0-2 | ST | 83.2 | — | — | — | — | — | — | 0.000 | Logan Henderson |
| 2026-10-04 | Single line drive | 2-2 | FF | 94.7 | 104.3 | 9° | 222 | RF gap | 0.771 | 0.920 | 0.738 | Logan Henderson |
| 2026-10-03 | Out fly ball | 1-0 | FF | 98.9 | 105.3 | 49° | 323 | LF | 0.051 | 0.178 | 0.100 | Trevor Megill |
| 2026-10-03 | Hit By Pitch | 2-0 | SI | 99.1 | — | — | — | — | — | — | 0.729 | Abner Uribe |
| 2026-10-03 | Single line drive | 0-0 | SI | 99.4 | 54.8 | 25° | 140 | RF | 0.226 | 0.265 | 0.212 | Antonio Senzatela |
| 2026-10-03 | Out fly ball | 0-1 | FF | 97.7 | 76.0 | 33° | 254 | RF | 0.186 | 0.249 | 0.192 | Jacob Misiorowski |
| 2026-10-03 | Strikeout swinging | 1-2 | CU | 86.4 | — | — | — | — | — | — | 0.000 | Jacob Misiorowski |
| 2026-09-30 | Single ground ball | 1-2 | ST | 85.9 | 84.2 | -11° | 10 | Infield | 0.083 | 0.095 | 0.075 | Ryan Zeferjahn |
| 2026-09-30 | Strikeout swinging | 1-2 | FF | 97.3 | — | — | — | — | — | — | 0.000 | Daniel Palencia |
| 2026-09-30 | Out ground ball | 1-0 | FF | 94.1 | 107.5 | -3° | 23 | Infield | 0.380 | 0.380 | 0.342 | Kevin Gausman |
| 2026-09-30 | Double ground ball | 1-0 | FF | 92.3 | 95.9 | 6° | 105 | LF | 0.577 | 0.659 | 0.550 | Kevin Gausman |
| 2026-09-29 | Single ground ball | 2-2 | FC | 90.0 | 74.7 | 12° | 129 | CF | 0.360 | 0.378 | 0.324 | Aaron Civale |
| 2026-09-29 | Single ground ball | 1-0 | SI | 94.9 | 95.3 | -4° | 21 | LF gap | 0.249 | 0.272 | 0.224 | Javier Assad |
| 2026-09-29 | Out fly ball | 0-1 | FF | 94.0 | 93.4 | 27° | 347 | CF | 0.151 | 0.327 | 0.196 | Matthew Boyd |
| 2026-09-29 | Out line drive | 0-2 | FF | 95.9 | 97.0 | 15° | 269 | RF | 0.803 | 0.992 | 0.772 | Matthew Boyd |
| 2026-09-27 | Single ground ball | 0-1 | FF | 97.4 | 88.0 | -6° | 18 | LF gap | 0.151 | 0.170 | 0.141 | Ryne Nelson |
| 2026-09-27 | Walk | 3-2 | FS | 90.9 | — | — | — | — | — | — | 0.698 | Justin Martinez |
| 2026-09-27 | Single ground ball | 0-0 | FF | 98.3 | 75.2 | 4° | 62 | LF gap | 0.169 | 0.188 | 0.159 | Juan Morillo |
| 2026-09-27 | Out fly ball | 1-0 | SV | 81.5 | 95.0 | 61° | 193 | RF | 0.014 | 0.021 | 0.014 | Michael Soroka |
| 2026-09-27 | Out popup | 2-2 | SV | 81.3 | 79.2 | 54° | 202 | RF gap | 0.063 | 0.094 | 0.075 | Michael Soroka |
| 2026-09-26 | Out fly ball | 2-2 | FF | 102.7 | 90.8 | 39° | 312 | RF gap | 0.023 | 0.045 | 0.028 | Justin Martinez |
| 2026-09-26 | Single ground ball | 0-0 | SL | 86.4 | 63.2 | 12° | 98 | LF | 0.147 | 0.182 | 0.136 | Dennis Santana |
| 2026-09-26 | Strikeout swinging | 1-2 | FF | 96.5 | — | — | — | — | — | — | 0.000 | Jose Cabrera |
| 2026-09-26 | Out ground ball | 0-1 | SI | 98.6 | 90.6 | -1° | 45 | Infield | 0.233 | 0.278 | 0.213 | Jonathan Loáisiga |
| 2026-09-26 | Hit By Pitch | 1-0 | SI | 94.7 | — | — | — | — | — | — | 0.729 | Taylor Clarke |
| 2026-09-25 | Walk | 3-2 | ST | 85.1 | — | — | — | — | — | — | 0.698 | Brandon Pfaadt |
| 2026-09-25 | Strikeout swinging | 2-2 | ST | 85.7 | — | — | — | — | — | — | 0.000 | Brandon Pfaadt |
| 2026-09-25 | Strikeout swinging | 0-2 | FF | 94.1 | — | — | — | — | — | — | 0.000 | Brandon Pfaadt |
| 2026-09-25 | Strikeout swinging | 2-2 | FF | 94.6 | — | — | — | — | — | — | 0.000 | Brandon Pfaadt |
| 2026-09-24 | Strikeout swinging | 1-2 | ST | 87.7 | — | — | — | — | — | — | 0.000 | Evan Phillips |
| 2026-09-24 | Out popup | 2-1 | SL | 91.4 | 76.1 | 59° | 172 | LF gap | 0.034 | 0.043 | 0.035 | Tyler Glasnow |
| 2026-09-24 | Out fly ball | 0-0 | SL | 90.9 | 99.5 | 36° | 370 | CF | 0.340 | 1.266 | 0.651 | Tyler Glasnow |
| 2026-09-24 | Strikeout swinging | 0-2 | FF | 95.7 | — | — | — | — | — | — | 0.000 | Tyler Glasnow |
| 2026-09-23 | Out ground ball | 0-2 | CU | 80.9 | 91.5 | -27° | 3 | Infield | 0.078 | 0.093 | 0.072 | Jack Dreyer |
| 2026-09-23 | Out ground ball | 2-2 | SL | 87.8 | 54.8 | -45° | 3 | Infield | 0.137 | 0.137 | 0.123 | Yoshinobu Yamamoto |
| 2026-09-23 | Single ground ball | 0-0 | FF | 96.4 | 104.6 | -3° | 27 | LF gap | 0.372 | 0.399 | 0.335 | Yoshinobu Yamamoto |
| 2026-09-23 | Out line drive | 1-2 | FS | 91.1 | 86.1 | 24° | 316 | LF gap | 0.203 | 0.326 | 0.227 | Yoshinobu Yamamoto |
| 2026-09-22 | Walk | 3-2 | FF | 93.0 | — | — | — | — | — | — | 0.698 | Alex Vesia |
| 2026-09-22 | Strikeout swinging | 1-2 | CH | 88.8 | — | — | — | — | — | — | 0.000 | Kyle Hurt |
| 2026-09-22 | Out popup | 0-1 | FF | 96.5 | 49.7 | 55° | 112 | RF corner | 0.011 | 0.011 | 0.010 | Blake Treinen |
| 2026-09-22 | Strikeout swinging | 0-2 | FF | 96.1 | — | — | — | — | — | — | 0.000 | Brock Stewart |
| 2026-09-20 | Out line drive | 1-2 | SI | 95.7 | 93.9 | 20° | 296 | CF | 0.303 | 0.516 | 0.342 | Bradley Blalock |
| 2026-09-20 | Strikeout swinging | 2-2 | SL | 85.8 | — | — | — | — | — | — | 0.000 | Sandy Alcantara |
| 2026-09-20 | Out ground ball | 1-2 | CH | 91.8 | 95.0 | -4° | 23 | Infield | 0.249 | 0.272 | 0.224 | Sandy Alcantara |
| 2026-09-20 | Out ground ball | 2-2 | FF | 98.3 | 96.9 | -7° | 16 | Infield | 0.191 | 0.218 | 0.176 | Sandy Alcantara |
| 2026-09-19 | Out ground ball | 1-2 | CH | 91.8 | 90.5 | -1° | 42 | Infield | 0.233 | 0.278 | 0.213 | Victor Vodnik |
| 2026-09-19 | Double line drive | 1-2 | FF | 98.9 | 100.0 | 21° | 339 | RF gap | 0.360 | 0.759 | 0.464 | Michael Petersen |
| 2026-09-19 | Out ground ball | 3-2 | FF | 97.8 | 70.5 | -14° | 8 | Infield | 0.035 | 0.035 | 0.032 | Eury Pérez |
| 2026-09-19 | Single line drive | 1-1 | SL | 89.8 | 97.0 | 16° | 237 | LF | 0.666 | 0.924 | 0.679 | Eury Pérez |
| 2026-09-19 | Single ground ball | 0-0 | SI | 96.1 | 88.6 | 6° | 95 | LF | 0.449 | 0.504 | 0.414 | Eury Pérez |
| 2026-09-18 | Strikeout swinging | 3-2 | SI | 99.0 | — | — | — | — | — | — | 0.000 | Josh Ekness |
| 2026-09-18 | Home Run fly ball | 0-0 | ST | 81.3 | 106.3 | 37° | 388 | LF | 0.629 | 2.453 | 1.252 | Tyler Zuber |
| 2026-09-18 | Single line drive | 0-1 | FF | 96.3 | 89.3 | 18° | 253 | RF | 0.777 | 0.874 | 0.702 | Tyler Phillips |
| 2026-09-18 | Grounded Into DP ground ball | 2-1 | CU | 83.3 | 97.6 | -2° | 27 | Infield | 0.325 | 0.379 | 0.296 | Tyler Phillips |
| 2026-09-17 | Hit By Pitch | 0-1 | SI | 91.4 | — | — | — | — | — | — | 0.729 | Brennan Bernardino |
| 2026-09-17 | Double line drive | 0-2 | ST | 84.1 | 97.7 | 19° | 278 | LF | 0.323 | 0.593 | 0.380 | Zach Agnos |
| 2026-09-17 | Out popup | 1-1 | FS | 86.6 | 85.8 | 72° | 91 | Infield | 0.006 | 0.007 | 0.006 | Zach Agnos |
| 2026-09-17 | Single line drive | 0-0 | CU | 81.8 | 91.4 | 20° | 270 | LF gap | 0.337 | 0.421 | 0.306 | Tanner Gordon |
| 2026-09-17 | Single ground ball | 3-2 | CU | 81.7 | 82.2 | 5° | 76 | LF gap | 0.275 | 0.300 | 0.248 | Tanner Gordon |
| 2026-09-16 | Out ground ball | 1-2 | ST | 79.7 | 92.9 | -7° | 17 | Infield | 0.174 | 0.199 | 0.157 | Jimmy Herget |
| 2026-09-16 | Double line drive | 1-1 | FF | 95.7 | 101.6 | 19° | 332 | RF | 0.391 | 0.786 | 0.489 | Nick Frasso |
| 2026-09-16 | Out fly ball | 0-1 | FF | 92.4 | 85.5 | 32° | 333 | LF gap | 0.011 | 0.017 | 0.010 | Mason Adams |
| 2026-09-16 | Out popup | 1-2 | FF | 92.1 | 61.6 | 52° | 170 | CF | 0.034 | 0.034 | 0.031 | Mason Adams |
| 2026-09-16 | Sac Fly fly ball | 1-2 | ST | 85.9 | 92.8 | 40° | 338 | RF gap | — | — | 0.032 | Mason Adams |
| 2026-09-15 | Out line drive | 0-0 | FF | 95.0 | 96.3 | 23° | 363 | CF | 0.203 | 0.403 | 0.255 | Ryan Feltner |
| 2026-09-15 | Strikeout swinging | 0-2 | SL | 86.7 | — | — | — | — | — | — | 0.000 | Ryan Feltner |
| 2026-09-15 | Out line drive | 1-1 | KC | 79.6 | 106.2 | 17° | 341 | CF | 0.531 | 1.053 | 0.660 | Kyle Freeland |
| 2026-09-15 | Strikeout swinging | 2-2 | KC | 81.7 | — | — | — | — | — | — | 0.000 | Kyle Freeland |
| 2026-09-14 | Out line drive | 2-2 | FF | 91.1 | 83.7 | 11° | 166 | CF | 0.483 | 0.510 | 0.435 | Jordan Romano |
| 2026-09-14 | Single line drive | 3-2 | FF | 93.8 | 105.3 | 8° | 183 | RF gap | 0.686 | 0.792 | 0.642 | Mark Manfredi |
| 2026-09-14 | Single ground ball | 0-2 | FF | 92.6 | 87.5 | 9° | 145 | RF gap | 0.463 | 0.510 | 0.425 | Tomoyuki Sugano |
| 2026-09-14 | Double fly ball | 1-2 | FS | 86.6 | 99.5 | 30° | 409 | LF gap | 0.437 | 1.574 | 0.828 | Tomoyuki Sugano |
| 2026-09-14 | Strikeout swinging | 1-2 | FF | 93.4 | — | — | — | — | — | — | 0.000 | Tomoyuki Sugano |
| 2026-09-09 | Single line drive | 0-0 | SI | 97.1 | 96.1 | 9° | 185 | RF gap | 0.629 | 0.701 | 0.584 | Eddy Yean |
| 2026-09-09 | Strikeout swinging | 0-2 | SL | 89.3 | — | — | — | — | — | — | 0.000 | Luis Perales |
| 2026-09-09 | Double line drive | 0-0 | SL | 83.1 | 105.2 | 10° | 152 | LF | 0.874 | 1.124 | 0.869 | Brad Lord |
| 2026-09-09 | Single ground ball | 1-2 | CH | 86.6 | 84.0 | -4° | 14 | LF gap | 0.103 | 0.110 | 0.093 | Jackson Kent |
| 2026-09-09 | Out fly ball | 0-2 | CH | 85.5 | 96.1 | 27° | 362 | RF gap | 0.280 | 0.793 | 0.451 | Jackson Kent |
| 2026-09-08 | Single line drive | 0-2 | FF | 98.5 | 104.2 | 5° | 153 | RF gap | 0.583 | 0.664 | 0.543 | Erik Tolman |
| 2026-09-08 | Single line drive | 0-1 | SL | 84.2 | 79.4 | 17° | 206 | LF gap | 0.971 | 1.091 | 0.903 | Clayton Beeter |
| 2026-09-08 | Out fly ball | 0-1 | SL | 90.2 | 98.5 | 29° | 384 | CF | 0.426 | 1.420 | 0.756 | Zak Kent |
| 2026-09-08 | Out fly ball | 1-0 | FF | 95.4 | 96.7 | 27° | 349 | CF | 0.323 | 0.871 | 0.494 | Riley Cornelio |
| 2026-09-07 | Out fly ball | 0-1 | FF | 95.5 | 93.3 | 47° | 272 | RF | 0.009 | 0.027 | 0.017 | Jack Sinclair |
| 2026-09-07 | Out ground ball | 3-2 | SI | 92.9 | 103.6 | -25° | 5 | RF gap | 0.117 | 0.124 | 0.105 | Jake Irvin |
| 2026-09-07 | Grounded Into DP ground ball | 1-0 | SI | 92.0 | 62.1 | 5° | 57 | LF corner | 0.125 | 0.152 | 0.119 | Jake Irvin |
| 2026-09-07 | Walk | 3-2 | FF | 94.5 | — | — | — | — | — | — | 0.698 | Jake Irvin |
| 2026-09-06 | Strikeout swinging | 0-2 | FF | 97.6 | — | — | — | — | — | — | 0.000 | Gerrit Cole |
| 2026-09-06 | Out popup | 1-0 | FF | 97.6 | 66.8 | 76° | 55 | Infield | 0.011 | 0.014 | 0.013 | Gerrit Cole |
| 2026-09-06 | Out fly ball | 1-0 | SL | 89.8 | 102.5 | 28° | 394 | CF | 0.711 | 2.533 | 1.330 | Gerrit Cole |
| 2026-09-05 | Walk | 3-2 | FF | 94.3 | — | — | — | — | — | — | 0.698 | John Schreiber |
| 2026-09-05 | Strikeout looking | 3-2 | FC | 90.0 | — | — | — | — | — | — | 0.000 | Michael Fulmer |
| 2026-09-05 | Out ground ball | 0-1 | CH | 86.5 | 93.2 | -7° | 14 | Infield | 0.174 | 0.199 | 0.157 | Carlos Rodón |
| 2026-09-05 | Strikeout swinging | 2-2 | SL | 84.7 | — | — | — | — | — | — | 0.000 | Carlos Rodón |
| 2026-09-04 | Double line drive | 0-2 | FS | 89.0 | 98.1 | 14° | 214 | LF corner | 0.906 | 1.103 | 0.873 | David Bednar |
| 2026-09-04 | Walk | 3-0 | FF | 94.9 | — | — | — | — | — | — | 0.698 | Will Warren |
| 2026-09-04 | Strikeout swinging | 1-2 | CH | 87.3 | — | — | — | — | — | — | 0.000 | Max Fried |
| 2026-09-04 | Double ground ball | 1-0 | SI | 91.7 | 103.1 | 0° | 51 | LF corner | 0.454 | 0.482 | 0.410 | Max Fried |
| 2026-09-02 | Out ground ball | 0-0 | SV | 85.9 | 88.0 | 0° | 38 | Infield | 0.208 | 0.235 | 0.187 | Tony Santillan |
| 2026-09-02 | Walk | 3-2 | FF | 93.6 | — | — | — | — | — | — | 0.698 | Brandon Williamson |
| 2026-09-02 | Single line drive | 0-2 | CH | 86.6 | 98.9 | 9° | 161 | LF | 0.617 | 0.674 | 0.564 | Brandon Williamson |
| 2026-09-02 | Home Run fly ball | 2-2 | CH | 87.6 | 93.6 | 34° | 353 | LF | 0.049 | 0.168 | 0.087 | Brandon Williamson |
| 2026-09-01 | Out fly ball | 1-2 | FF | 96.8 | 87.8 | 29° | 313 | RF gap | 0.060 | 0.126 | 0.081 | Brock Burke |
| 2026-09-01 | Out line drive | 1-2 | FF | 92.4 | 96.4 | 18° | 310 | RF gap | 0.426 | 0.641 | 0.449 | Nick Lodolo |
| 2026-09-01 | Grounded Into DP ground ball | 3-2 | SI | 94.0 | 91.1 | -19° | 6 | Infield | 0.083 | 0.090 | 0.079 | Nick Lodolo |
| 2026-09-01 | Strikeout swinging | 0-2 | CU | 83.7 | — | — | — | — | — | — | 0.000 | Nick Lodolo |
| 2026-08-31 | Out line drive | 1-0 | SI | 93.4 | 75.1 | 27° | 250 | RF gap | 0.657 | 0.758 | 0.625 | Tejay Antone |
| 2026-08-31 | Single ground ball | 1-2 | FF | 97.9 | 104.0 | 5° | 137 | RF | 0.583 | 0.664 | 0.543 | Pierce Johnson |
| 2026-08-31 | Single line drive | 2-1 | FC | 86.3 | 80.5 | 26° | 281 | LF gap | 0.183 | 0.226 | 0.165 | Brady Singer |
| 2026-08-31 | Single ground ball | 0-1 | SI | 91.9 | 106.2 | 2° | 59 | LF gap | 0.520 | 0.572 | 0.474 | Brady Singer |
| 2026-08-31 | Out ground ball | 0-2 | SL | 83.0 | 99.6 | -23° | 5 | Infield | 0.090 | 0.090 | 0.081 | Brady Singer |
| 2026-08-30 | Sac Fly fly ball | 1-1 | FC | 90.9 | 91.7 | 31° | 327 | RF | — | — | 0.146 | Tyler Wells |
| 2026-08-30 | Strikeout swinging | 1-2 | FF | 91.8 | — | — | — | — | — | — | 0.000 | Casey Legumina |
| 2026-08-30 | Single line drive | 0-0 | SI | 94.4 | 103.8 | 7° | 159 | RF gap | 0.646 | 0.716 | 0.597 | Drew Rasmussen |
| 2026-08-30 | Walk | 3-2 | FC | 89.0 | — | — | — | — | — | — | 0.699 | Drew Rasmussen |
| 2026-08-30 | Reached On Error ground ball | 0-2 | FF | 95.8 | 87.5 | -3° | 34 | Infield | 0.186 | 0.215 | 0.174 | Drew Rasmussen |
| 2026-08-29 | Strikeout swinging | 1-2 | FF | 95.8 | — | — | — | — | — | — | 0.000 | Bryan Baker |
| 2026-08-29 | Strikeout swinging | 0-2 | CH | 85.1 | — | — | — | — | — | — | 0.000 | Kevin Kelly |
| 2026-08-29 | Home Run fly ball | 1-2 | FF | 92.9 | 99.6 | 26° | 351 | RF corner | 0.506 | 1.535 | 0.840 | Nick Martinez |
| 2026-08-29 | Out fly ball | 1-2 | FF | 93.3 | 93.0 | 27° | 326 | RF | 0.151 | 0.327 | 0.196 | Nick Martinez |
| 2026-08-29 | Single fly ball | 1-0 | SI | 92.2 | 69.5 | 33° | 237 | CF | 0.846 | 0.899 | 0.771 | Nick Martinez |
How the stat settles as the window lengthens. Exact values are in the table below.
The x-axis is how many previous games are counted — 1 game on the left, 100 on the right, evenly spaced rather than to scale.
Short windows jump around; longer ones flatten out. Where a line stops moving is roughly where that stat becomes trustworthy.
Choose stats & windows
How windows work
Windows count games, not days, and never include the game
shown.
Short windows are noisier than they look — a 1-game window is fewer than
four plate appearances.
Rates like BABIP and ISO aren't calculated over spans too short to mean
anything, so a stat can show fewer columns than the window selected.
— 56 of 56 metrics,
11 of 11 windows
Dimmed cells are based on thin data — read them with caution.
Stats with almost no data anywhere in the league are left out of this table entirely. Dimmed cells clear that bar but still fall short of what the models demand. Hover any cell to see how much of the league actually has it.
| stat | 1g | 2g | 3g | 5g | 7g | 10g | 15g | 20g | 30g | 50g | 100g |
|---|---|---|---|---|---|---|---|---|---|---|---|
| ab_game | 4.000 | 8.000 | 12.000 | 21.000 | 30.000 | 43.000 | 64.000 | 88.000 | 132.000 | 216.000 | 418.000 |
| air_ball_rate | · | · | · | · | · | 0.407 | 0.395 | 0.484 | 0.527 | 0.528 | 0.532 |
| appearances | 1.000 | 2.000 | 3.000 | 5.000 | 7.000 | 10.000 | 15.000 | 20.000 | 30.000 | 50.000 | 100.000 |
| ba | 0.000 | 0.000 | 0.200 | 0.278 | 0.346 | 0.270 | 0.281 | 0.329 | 0.330 | 0.309 | 0.301 |
| babip | 0.000 | 0.000 | 0.250 | 0.357 | 0.409 | 0.370 | 0.357 | 0.410 | 0.398 | 0.367 | 0.350 |
| babip_den | 3.000 | 6.000 | 8.000 | 14.000 | 22.000 | 27.000 | 42.000 | 61.000 | 88.000 | 139.000 | 263.000 |
| babip_num | 0.000 | 0.000 | 2.000 | 5.000 | 9.000 | 10.000 | 15.000 | 25.000 | 35.000 | 51.000 | 92.000 |
| barrel | 0.000 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 2.000 | 3.000 | 8.000 | 12.000 | 25.000 |
| barrel_per_ab | 0.000 | 0.125 | 0.083 | 0.048 | 0.033 | 0.023 | 0.031 | 0.034 | 0.045 | 0.037 | 0.048 |
| bat_speed | 61.900 | 65.654 | 66.475 | 65.491 | 66.572 | 66.503 | 67.629 | 68.567 | 69.069 | 69.644 | 70.038 |
| bip_per_pa | 0.750 | 0.750 | 0.667 | 0.667 | 0.733 | 0.628 | 0.672 | 0.705 | 0.689 | 0.667 | 0.665 |
| blast | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 2.000 | 3.000 | 3.000 |
| blast_per_ab | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.008 | 0.009 | 0.005 |
| chase | 3.000 | 5.000 | 5.000 | 12.000 | 19.000 | 27.000 | 53.000 | 77.000 | 109.000 | 170.000 | 308.000 |
| chase_rate | 0.300 | 0.357 | 0.278 | 0.353 | 0.373 | 0.365 | 0.421 | 0.448 | 0.422 | 0.379 | 0.343 |
| contact | 4.000 | 8.000 | 12.000 | 21.000 | 30.000 | 43.000 | 64.000 | 88.000 | 132.000 | 216.000 | 418.000 |
| estimated_ba_using_speedangle | 0.068 | 0.274 | 0.341 | 0.302 | 0.281 | 0.258 | 0.279 | 0.294 | 0.317 | 0.300 | 0.314 |
| estimated_ba_using_speedangle_sum | 0.203 | 1.642 | 2.724 | 4.227 | 6.187 | 6.964 | 11.982 | 18.222 | 28.843 | 43.213 | 87.381 |
| estimated_slg_using_speedangle | 0.209 | 0.694 | 0.679 | 0.519 | 0.441 | 0.427 | 0.458 | 0.478 | 0.508 | 0.487 | 0.515 |
| estimated_woba_using_speedangle | 0.116 | 0.404 | 0.430 | 0.351 | 0.310 | 0.292 | 0.313 | 0.328 | 0.353 | 0.337 | 0.361 |
| estimated_woba_using_speedangle_sum | 0.626 | 4.162 | 5.435 | 7.261 | 9.703 | 11.517 | 19.695 | 29.622 | 46.238 | 70.161 | 143.196 |
| ev_max | 103.000 | 103.200 | 103.567 | 104.700 | 103.314 | 99.170 | 98.227 | 99.900 | 100.653 | 99.994 | 100.009 |
| fly_ball | 1.000 | 2.000 | 2.000 | 4.000 | 6.000 | 8.000 | 9.000 | 13.000 | 23.000 | 39.000 | 74.000 |
| ground_ball | 1.000 | 3.000 | 4.000 | 7.000 | 11.000 | 13.000 | 22.000 | 26.000 | 36.000 | 55.000 | 109.000 |
| hard_hit | 1.000 | 4.000 | 6.000 | 9.000 | 14.000 | 15.000 | 22.000 | 33.000 | 51.000 | 78.000 | 154.000 |
| hh_ab | 0.250 | 0.500 | 0.500 | 0.429 | 0.467 | 0.349 | 0.344 | 0.375 | 0.386 | 0.361 | 0.368 |
| hit | 0.000 | 0.000 | 2.000 | 5.000 | 9.000 | 10.000 | 16.000 | 26.000 | 38.000 | 56.000 | 107.000 |
| hit_distance | 166.667 | 166.333 | 156.125 | 150.286 | 152.045 | 160.815 | 151.791 | 173.419 | 178.604 | 181.431 | 183.637 |
| hr | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 3.000 | 5.000 | 15.000 |
| hr_per_fb | · | · | · | · | · | · | · | · | 0.062 | 0.066 | 0.101 |
| hr_platoon | · | · | · | · | · | · | · | 2.000 | 2.000 | 4.000 | 6.000 |
| hr_rate | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.016 | 0.011 | 0.023 | 0.023 | 0.036 |
| iso | 0.000 | 0.000 | 0.000 | 0.056 | 0.038 | 0.027 | 0.088 | 0.114 | 0.148 | 0.149 | 0.185 |
| la_contact | 3.000 | 6.000 | 8.000 | 14.000 | 22.000 | 27.000 | 43.000 | 62.000 | 91.000 | 144.000 | 278.000 |
| launch_speed | 85.833 | 92.050 | 94.738 | 91.543 | 89.973 | 88.874 | 88.649 | 89.731 | 90.452 | 90.452 | 91.465 |
| launch_speed_angle_sum | 24.333 | 13.667 | 11.125 | 13.429 | 15.955 | 18.370 | 13.721 | 15.839 | 15.681 | 17.646 | 16.378 |
| launch_speed_sum | 460.100 | 851.700 | 1134.400 | 1948.900 | 3172.000 | 4041.200 | 6816.500 | 10466.600 | 15598.800 | 24977.300 | 50048.200 |
| line_drive | 0.000 | 0.000 | 1.000 | 2.000 | 3.000 | 3.000 | 8.000 | 17.000 | 25.000 | 37.000 | 74.000 |
| out_of_zone | 10.000 | 14.000 | 18.000 | 34.000 | 51.000 | 74.000 | 126.000 | 172.000 | 258.000 | 448.000 | 899.000 |
| pull | 1.000 | 3.000 | 3.000 | 6.000 | 9.000 | 11.000 | 18.000 | 27.000 | 38.000 | 59.000 | 118.000 |
| slg | 0.000 | 0.000 | 0.200 | 0.333 | 0.385 | 0.297 | 0.368 | 0.443 | 0.478 | 0.459 | 0.486 |
| slug_window_ab | 0.000 | 0.125 | 0.083 | 0.048 | 0.100 | 0.070 | 0.078 | 0.125 | 0.136 | 0.134 | 0.120 |
| square_per_ab | 0.000 | 0.250 | 0.333 | 0.381 | 0.400 | 0.349 | 0.359 | 0.398 | 0.409 | 0.403 | 0.416 |
| squared_up | 2.000 | 5.000 | 7.000 | 14.000 | 21.000 | 24.000 | 33.000 | 49.000 | 72.000 | 115.000 | 236.000 |
| strikeout | 0.000 | 1.000 | 2.000 | 4.000 | 4.000 | 10.000 | 14.000 | 18.000 | 26.000 | 41.000 | 86.000 |
| strikeout_rate | 0.000 | 0.125 | 0.167 | 0.190 | 0.133 | 0.233 | 0.219 | 0.205 | 0.197 | 0.190 | 0.206 |
| sweet_spot | 1.000 | 2.000 | 3.000 | 4.000 | 8.000 | 10.000 | 19.000 | 37.000 | 60.000 | 104.000 | 201.000 |
| sweet_spot_per_ab | 0.000 | 0.125 | 0.167 | 0.143 | 0.200 | 0.163 | 0.188 | 0.284 | 0.288 | 0.278 | 0.285 |
| tb | 0.000 | 0.000 | 2.000 | 6.000 | 10.000 | 11.000 | 21.000 | 35.000 | 55.000 | 83.000 | 173.000 |
| tb_platoon | · | · | · | · | · | · | · | 15.000 | 19.000 | 38.000 | 78.000 |
| walk | 1.000 | 1.000 | 1.000 | 1.000 | 2.000 | 3.000 | 4.000 | 4.000 | 9.000 | 23.000 | 33.000 |
| walk_platoon | · | · | · | · | · | · | · | 7.000 | 9.000 | 10.000 | 13.000 |
| walk_rate | 0.250 | 0.125 | 0.083 | 0.048 | 0.067 | 0.070 | 0.062 | 0.045 | 0.068 | 0.106 | 0.079 |
| xbh | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 1.000 | 3.000 | 7.000 | 11.000 | 17.000 | 36.000 |
| xbh_rate | 0.000 | 0.000 | 0.000 | 0.048 | 0.033 | 0.023 | 0.047 | 0.080 | 0.083 | 0.079 | 0.086 |
| z_swing_rate | · | · | · | · | · | 0.714 | 0.786 | 0.821 | 0.811 | 0.789 | 0.783 |
| zone_rate | · | · | · | · | · | · | 0.438 | 0.457 | 0.457 | 0.446 | 0.451 |