Live Stuff+ Proxy

Transparent pitch-shape model (velocity, IVB, HB, extension) updated every 4s from MLB feed.

No data

Rolling Stuff+ by Pitch

Movement

RiseDropGloveSideArmSide

VS LHB

Locations

-

VS RHB

Locations

-

Pitch Type Metrics

Type#VeloIVBHBStr%SwStr%CSW%xSLGcon*plvStuff+*PLV+*

* Proxy columns derived from the public feed + this model.

STACKED+ vs Start Outcomes

No data

STACKED+ vs ERA

STACKED+ vs K

STACKED+ vs CSW%

STACKED+ vs FIP

Methodology

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.