Eras and rule-regime breaks
Baseball changes its own rules, and a metric fitted across a break measures two different games. These are the breaks this project declares, what each one invalidates, and which seasons may therefore be pooled. A model that crosses a break without saying so is not a longer-run model — it is a wrong one.
What changed, and when
Each row is a rule or measurement change this project declares as a break. A break is a statement about COMPARABILITY, not about quality: it says which seasons may be pooled, and nothing about whether the baseball got better.
| Season | What changed | What it invalidates |
|---|---|---|
| Unavailable. | ||
One timeline, three kinds of boundary
A comparison across seasons can fail three different ways, and they are different facts: baseball changed its rules, the analysis covers one season, or the source covers a window. The timeline draws all three so an incompatible comparison is visibly incompatible before it is attempted.
Timeline loading…
Rule-regime breaks
Marks on the line. Declared by the era contract above; a metric pooled across one measures two different games.
Analytical generation
The solid marker: player ratings are fitted on 2025 only. Earlier captured seasons carry no ratings — an analytical boundary, not a baseball one.
Source window
The shaded band: the seasons this corpus holds as admitted captures. Outside it, seasons are absent — not sparse, absent.
What this means for pooling
Every model in this project declares the seasons it was fitted on and the regime those seasons belong to. Where a model pools across a break, it says so and states why the pooled quantity is still meaningful. Where it cannot, the model is fitted per regime instead.
The 2026 automated ball-strike regime is a declared coordinate break for any pitch-level metric. No pitch-level metric is published, and the seam that would consume one validates the regime in both directions before admitting a single row — see Pitch data.