Every forecast is scored against the reference rate that followed it, and against the simplest rival of all: assuming the rate will not move.
The ECB fixes at 14:15 CET. We refresh six times each working day from live market rates, so today's number already contains the move the market has made since yesterday's fix. Measured against 59 real fixes (Monday 17 August to Thursday 5 November), this is how much of the no change error is left at each refresh, averaged over the 27 currencies where the live feed matches the ECB fix.
By late morning most of tomorrow's headline is already known.
Not anchored, because the live feed and the ECB rate disagree: CNY. Those stay on the fix.
| Refresh | Error left | Cut | Live scored |
|---|---|---|---|
| 16:30 UTC, after the fix | 82% of no change | 18% less error | 90% left, 27% inside range (26) |
| 21:30 UTC | 78% of no change | 22% less error | 73% left, 31% inside range (26) |
| 05:30 UTC | 60% of no change | 40% less error | not yet |
| 07:30 UTC | 49% of no change | 51% less error | not yet |
| 09:30 UTC | 39% of no change | 61% less error | not yet |
| 11:30 UTC | 26% of no change | 74% less error | 5% left, 82% inside range (38) |
"Live scored" counts every nowcast we published since launch, scored against the fix that followed: 90 so far.
Nineteen years of daily ECB fixes for 29 currencies, every method walk forward, chosen on 2019 to 2023 and judged on the last three years. Only what beat the market's own price out of sample is in the model.
Walk forward testing: each forecast only sees reference rates published before its own date. Nothing is tuned on the period it is scored on.
Average miss is the mean absolute gap between the forecast and the reference rate that followed. The no change guess simply repeats the latest rate.
These tables score the daily model alone, from fix to fix, before any live anchoring. On daily data the market's own price is almost unbeatable, so nearly every pair ties it and only crawling currencies beat it; the 80% band is sized by a volatility model and calibrated on real recent misses. Beating no change takes an error at least 1% smaller, and up to 6% larger counts as a tie.
If the numbers get worse, they get worse here first.