These are historical per-period rates and splits for team:MIL, 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 | 6377 | 91.2 | 94.5 | 99.1 |
| SI | 5314 | 90.3 | 94.0 | 98.3 |
| SL | 2653 | 83.5 | 86.3 | 91.8 |
| FC | 2573 | 86.1 | 88.9 | 92.6 |
| CH | 2358 | 82.1 | 86.7 | 90.3 |
| CU | 1842 | 77.6 | 80.3 | 84.2 |
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.