stratum atlas
Model DocsLearning
M26

Regime Detection Model

Whether the history the priors are built on still belongs to one regime - or broke at a quarter you can name.

Assumptions

Everything the model believes, stated before the math. If you do not buy one of these, do not buy the output.

  1. The unit of observation is the project-quarter; the series is the quarterly withdrawal rate over resolved projects, built from COD event dates - never ingestion or correction dates. Backdated corrections are not economic events.
  2. A statistically detected break is never a causal event. Externally documented rule dates are reported separately, and the two are never merged.
  3. Multiple testing is controlled: with m candidate boundaries the per-test alpha is 0.05 / m (Bonferroni), and the adjusted alpha is printed.
  4. A candidate boundary needs at least 8 resolved observations on each side; boundaries that fail the minimum are never tested.
  5. Weak evidence widens priors rather than silently discarding history: on no detection the operational consequence is widen, not reset.

Derivation

The series aggregates resolved projects by COD quarter: per quarter, n resolved projects and k withdrawals. Every interior quarter boundary with at least 8 observations per side is a candidate break point.

At each candidate, a two-proportion z-statistic compares the withdrawal rate before and after:

The strongest candidate (largest |z|) is a detected break only if it clears the Bonferroni-adjusted critical value:

with the normal critical value from Acklam's inversion (adequate at these alphas). A detected break prints with both sides' samples and Wilson intervals (shared with M22): pre n, k, rate interval; post n, k, rate interval. On no detection the model prints the strongest |z|, the critical value it failed, and the number of tests run - the near-miss is visible, not swallowed.

Identification strategy

Why the estimate supports the claimed meaning - and where the model refuses to claim more than the data carries.

  • Event-time construction is the identification foundation: quarters are assigned by COD date, so an ingestion backlog or a backdated correction cannot masquerade as a regime change. The series measures when things happened, not when we learned about them.
  • Bonferroni control is the honesty mechanism for scanning: testing every boundary and reporting the best would manufacture breaks from noise, so the critical value rises with the number of candidates tested - and both numbers are printed.
  • The strict separation between a statistical break and a documented rule date keeps correlation from dressing as causation: the model never says a rule caused a break; it says a break exists at a quarter and, separately, that a rule date exists on a calendar.
  • Wilson intervals on both sides keep small samples honest: a 'break' between two wide intervals reads exactly as weak as it is.

Inputs and outputs

Reads

Resolved projects by COD quarter
Project records: status (operating / withdrawn / cancelled) and COD event dates
Documented rule dates
Externally documented market or regulatory rule dates, supplied at run time; reported separately

Writes

  • The quarterly series (n, k per quarter) and candidates tested
  • Adjusted alpha after Bonferroni division
  • Detected break (quarter, z, pre/post samples with Wilson intervals) or UNKNOWN with the near-miss printed
  • Documented rule dates, kept separate
  • Operational consequence: split (on detection) or widen (on none)

Calibration and gate evidence

Validation design

  • Validated on synthetic series with planted structure: a stable synthetic series must produce no break, and a series with a planted break must detect it with pre/post samples and intervals.

Evidence on record

  • Smoke gates at seal (8 m26-specific): synthetic stable series produces no break; multiple-testing policy enforced (adjusted alpha < 0.05 across candidates); weak evidence widens, never discards; planted break detected with per-side minimums and Wilson intervals; documented rule dates kept separate (consequence 'split'); live corpus series runs and prints candidates; determinism; audit row written.

Gates at seal

  • smoke: 8 m26 gates incl. synthetic stable/break series, determinism + audit row (suite counts at seal per the build agent's seal report)
  • sealed at 07b643c6 on atlas-nl-shock-redesign

Failure modes

The ways this model declines, degrades or goes UNKNOWN - and what it prints when it does.

  • Fewer than 16 resolved observations or no valid candidate boundary: break UNKNOWN, consequence widen - history is not discarded.
  • Strongest candidate under the adjusted critical value: no break claimed, and the near-miss (|z| vs critical value, number of tests) prints.
  • Projects with malformed or missing COD dates are excluded from the series, never assigned a quarter by assumption.

Sensitivity

  • The per-side minimum (8) gates which boundaries can even be tested; on a young corpus most boundaries are untestable and the honest answer is UNKNOWN.
  • Bonferroni is conservative by design: a real but modest shift can fail the adjusted bar on a long series with many candidates - the printed near-miss is where that shows.

Iron rules

A statistically detected break is never a causal event; documented rule dates are reported separately and never merged with detected breaks.

Weak evidence widens priors rather than silently discarding history. Backdated corrections are not economic events.

Source and audit

Written from the sealed model source. Every run is recorded - model version, frozen inputs, input hash, timestamp. There is no unrecorded model execution.