Calibration Ledger
Methodology
Append-only JSONL ledger. Every nowcast made on this site is recorded as a single line in ${data.ledger_path}. Each row contains the target name, the date the prediction was made (as_of), the date it targets (target_date), the prediction value, the realized actual (filled when available), and the model version. Once written, rows are not edited except to fill in actuals.
Backfill from rolling-origin OOS history. For nowcasts with rolling-origin calibration (Inflation 3m/6m, Wage 6m/12m, CCMI v2 12m return), the historical OOS predictions made at each past month are loaded into the ledger so the page has track record from day one. These are as-if-live — the prediction was made using only data available at that month's as_of. Every newer prediction is appended live going forward.
Why this matters. The calibration discipline of Macro Sentinel research depends on every claim being verifiable. Without a public ledger, "our nowcast is calibrated at corr +0.88" is a statement about historical OOS that any subscriber has to take on trust. With the ledger, every prediction is recorded the day it's made and graded the day the realized data lands. Drift, regime instability, and methodology gaps surface immediately — and so do well-calibrated improvements.
Known caveat — CCMI v1 12m return bias (resolved by v2). The original CCMI nowcast was built with static train-only OLS through 2022-12-31. The post-2022 OOS portion shows a systematic bias of roughly
Ledger row count by target:
Total rows in ledger: