Transparent pitch-shape model (velocity, IVB, HB, extension) updated every 4s from MLB feed.
Locations
-
Locations
-
| Type | # | Velo | IVB | HB | Str% | SwStr% | CSW% | xSLGcon* | plvStuff+* | PLV+* |
|---|
* Proxy columns derived from the public feed + this model.
No data
1. Data Foundation
We ingest pitch-level Statcast from the beginning of the Statcast era (2015 season onward), then store raw pitch attributes and game/count context in `mlb_statcast_pitches_raw`.
2. Arsenal-Relative Features
For each pitcher split (`vs LHB`/`vs RHB`), we compute usage-weighted deltas from primary fastball, plus weighted separation vs the rest of the arsenal.
3. Staged Pitch Value Model
We train staged probabilities (`swing`, `contact|swing`, `in-play|contact`) and a run-value head from the same feature vector, then aggregate to pitch-type and game-level views.
4. Live Scoring
Live output updates every few seconds and uses on-the-fly arsenal deltas blended with prior usage, so early-game noise is controlled while still reacting to current shape.