Arm scoreboard — the prequential decision log
Every lab grab is scored exactly once, against the
predictions each arm published at the grab’s sample hour, before the result
was known, and written to an immutable log (first write wins). This table
reads only that log — it never pairs grabs against the stored series.
Cost prices a missed exceedance at 3× a false alarm (5× on the
Seine and Marne, where the cities want the rare high days caught); the
lowest-cost arm on a site’s own record is the one the gate serves.
Grabs taken before any earlier result from the same site was known
(cold start: the site showed “held”) are left out, as the gate
leaves them out. The Dashboard model arm is the customer dashboard’s
own served model, joined over HTTP; it enters the record from its first live
hour and is scored on the same footing. It is not the same as Site refit,
which is the engine’s own sensor-only per-site fit. Shadow arms
(pathway, xgb_clf, seine_pooled, pooled_fleet) are scored here but never
served; they are never the green cell, and a ▲ marks a row where a
shadow arm beats every served arm.
Loading the decision log…
Concentration nowcast
Central estimate with the calibrated 50% and 90% bands
(coverage verified per region on walk-forward replay; see the promotion
record for the site's own numbers).
Red strip along the top = advisory engaged.
Blue bars hanging from the top = local hourly rain (right axis).
Dots/triangles = lab grabs (green under the limit, red = exceedance).
The bold green line is what the site served; the thin dotted lines are
every arm's own estimate
(prior only,
prior + sensor,
site refit,
dashboard model, and the shadows
pathway and
xgb_clf, drawn at the level their
probability implies, seine_pooled
on the Seine and Marne, and pooled_fleet),
and the strip along the bottom
shows which arm the gate served hour by hour, in the same colors.
Regulatory quantity — 30-day geometric mean
10^(mean of the served log10 estimate) over the
trailing 30 days (green; published only with ≥50% window coverage), the
60-day window (grey dotted), and the geometric mean of the lab grabs known
in the same 30-day window where ≥4 exist (blue steps). Criteria are
written on this windowed quantity, not on single samples; the dotted red
line is the site's action limit.
Model internals — exceedance probability
The probability series that drives the TRUE/FALSE
advisory. The raise threshold is chosen prequentially per arm and gate
region (lowest decision cost on the record so far, missed exceedances
priced at 3× a false alarm), re-chosen only when a grab is scored,
and published per site as thresholds_json. The Seine and Marne
are the exception: a miss is priced at 5× a false alarm and every arm
raises at the matching fixed threshold, 1/(1+5) ≈ 0.17. Clear = the
larger of raise − 0.10 and half the raise; red band = alarm engaged. Shown for model auditing; operations reads the tiles and the
concentration chart above.