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; the lowest-cost arm on a site’s own record is the one the gate serves. The field arm is the customer dashboard’s own regression, joined over HTTP; it enters the record from its first live hour and is scored on the same footing.
Loading the decision log…
About this feed
Every number is produced by a model that, at prediction time, used only information available at that moment. Arms compete per site under a gate: the one with the lowest decision cost (a missed exceedance priced at 3× a false alarm) on the site's own scored record serves, once the site has enough decisions; otherwise the region's record decides, and below that the site serves calibration. A new site holds its alarm until its first lab result. When a sensor is dark, service continues on site calibration with honestly widened uncertainty, and a standing alarm is held rather than cleared. Every grab's scoring is written once to an immutable decisions log (first write wins) with each arm's prediction as published at the sample hour; the scoreboard above reads only that log. Model provenance rides each row as model_version, the serving arm as served_arm. This page reads the nowcast_* tables and nothing else; the raw sensor store is upstream of a read-only boundary and cannot be affected by anything on this page.