Assumptions
Everything the model believes, stated before the math. If you do not buy one of these, do not buy the output.
- Scoring runs over the prediction ledger: every dated call the system has made, with its kill conditions, against outcomes.
- Every statistic is reported with its n. Any bin under n = 30 reports UNKNOWN - small-sample calibration is noise with a label.
- Misses stay on the page. The ledger is append-only and the page shows the record, not the highlight reel.
Derivation
Brier score with its three-way decomposition into reliability, resolution and uncertainty:
The reliability diagram bins predictions into deciles and plots mean predicted against observed frequency; calibration slope and intercept come from regressing outcomes on predictions; bias is mean prediction minus observed frequency. Performance cuts run by sector, sponsor and region. Drift is measured by population-stability index on feature distributions between scoring windows:
with A_b and E_b the actual and expected shares in bin b. Every bin under n = 30 reports UNKNOWN rather than a score.
Identification strategy
Why the estimate supports the claimed meaning - and where the model refuses to claim more than the data carries.
- Calibration is identified against the ledger's own record: predictions are frozen when made (model version, input hash, timestamp), so the scored p_i is what the system actually said at the time - not a regenerated hindsight number.
- The n >= 30 rule is the small-sample guard: below it, a calibration figure would dress binomial noise up as a finding, so the bin reports UNKNOWN.
Inputs and outputs
Reads
- Prediction ledger
- Spec Section 39: frozen predictions with model version and input hash
- Outcomes
- Spec Section 40: resolutions the predictions score against
Writes
- Brier score and decomposition; reliability diagram in deciles with per-bin n
- Calibration slope and intercept; bias
- Performance by sector, sponsor and region; drift (PSI)
Calibration and gate evidence
Validation design
- The scoring code is validated on synthetic ledgers with known calibration properties before it touches the real ledger: a perfectly calibrated synthetic must score as calibrated, a systematically overconfident one must fail.
Evidence on record
- Until enough outcomes exist, calibration is UNKNOWN and the ledger says so. The real-ledger scores are not yet published in the sealed source; the n >= 30 floor is coded.
Failure modes
The ways this model declines, degrades or goes UNKNOWN - and what it prints when it does.
- Ledger bins under n = 30: UNKNOWN, printed as such.
- Missing outcomes for open predictions: they stay open in the ledger; they are not scored as correct or incorrect.
- Drift detected on a feature distribution: reported as drift, with the window and the statistic - never silently re-based.
Sensitivity
- Decile binning trades resolution against bin n; with a young ledger most bins sit under the floor and the honest answer is mostly UNKNOWN.
Iron rules
Until enough outcomes exist, calibration is UNKNOWN and the ledger says so. Misses stay on the page.
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.