These are historical per-period rates and splits for team:ATH, not a prediction and not an edge claim. descriptive_only: true.
as of 2025-09-28| Pitch type | N pitches | P10 mph | P50 mph | P90 mph |
|---|---|---|---|---|
| FF | 8366 | 90.6 | 93.8 | 97.9 |
| SL | 3580 | 78.8 | 84.8 | 88.7 |
| ST | 2967 | 77.9 | 82.5 | 86.0 |
| SI | 2924 | 90.4 | 93.9 | 96.5 |
| FC | 2515 | 86.6 | 90.2 | 93.7 |
| CH | 2444 | 78.7 | 83.5 | 89.3 |
sample floor
An entity earns a descriptive card only after clearing a minimum-sample floor, so rates are not read off tiny samples. The floor for this pack is 30 real MLB franchises; AL/NL All-Star-Game placeholder codes excluded from the 32 raw team codes in the pull. team = PITCHING team, derived as home_team when inning_topbot=='Top' else away_team (defense is whichever side is not currently batting). no per-pitch swing/miss field in this pull (no `description` column; `type` merges called+swinging+foul into one S bucket, `des` only fires on PA-ending pitches) -- outcome mix (ball/strike/in-play) substitutes. Entities below the floor are deliberately left off -- we do not print rates we cannot stand behind.