Methods
How the machine decides
The whole product rests on one question. Given what this series normally does, how unlikely is today's value? Here is exactly how that gets answered, including the parts that are arguable.
The baseline
Each series is compared against its own history, never against another series. Two kinds of comparison are used.
Series with a real weekly rhythm, such as permit applications and emergency dispatches, are compared against the same weekday over the previous twenty-six weeks. A Sunday is measured against Sundays. Without this, every Monday would look like a crisis.
Everything else is compared against the same time of year across every year on record, using a window of ten days either side of the calendar date. A river in February is measured against Februaries. While the archive is still young and a series has too few matching days, it falls back to a plain sixty-day trailing window, and the page says which window was used.
Median, not mean
The baseline is a median, and its spread is the median absolute deviation rather than a standard deviation. This matters more than it sounds. A single past spike inflates a standard deviation, and an inflated standard deviation blinds the detector to the next spike. The median absolute deviation cannot be moved by one bad day, which is the property you want in an instrument meant to notice bad days.
Scaled by the usual constant of 1.4826, the median absolute deviation estimates the standard deviation of a normal distribution, so the robust z printed on each page is comparable to an ordinary z.
Surprisal in bits
Surprisal is the negative base-two logarithm of the probability of a value at least this far from the median. Ten bits means roughly a one in a thousand day. Bits are used instead of p-values because bits stay readable when the numbers get large, and because they add up in a way people can reason about.
The probability itself is empirical wherever the baseline has something to say: the share of comparable days at least this far from the median, with the usual plus-one correction so the estimate can never claim more certainty than the sample size supports. When today falls outside everything in the baseline the empirical estimate is pinned at its floor and would understate the event, so the calculation falls back to a parametric tail. It uses a Laplace distribution rather than a normal, because real measurement series have fatter tails than a normal admits, and it takes the more conservative of the two answers. Surprisal is capped at forty bits, past which the number says more about a tiny dispersion estimate than about the world.
The correction that most projects skip
The machine tests every series it watches, every day. Test enough things and a one in a thousand day turns up routinely. Quoting a p-value as though only one test had been run is the single most common way a project like this becomes a slot machine.
So every page prints the honest version. It states how many series were tested and how often a day this unusual should turn up by chance alone once you account for testing all of them. When that interval is short, the page says so plainly and calls it a quiet day.
The screens
These are the guards against confident nonsense, and they matter more than the statistics.
- Staleness. A feed that stopped updating looks exactly like a dramatic collapse to zero. Every series declares how long it may go without a fresh observation. Past that it is excluded and listed on the status page, not published as news.
- Evidence floor. A series whose baseline median sits below a declared floor cannot produce a finding. This is what stops "two of a thing that usually happens zero times" from becoming a headline.
- Minimum history. A series needs at least thirty observations before it may say anything, and enough comparable days to build a baseline at all.
- Zero runs. Three consecutive zeros against a non-zero baseline are treated as an outage rather than a collapse.
- Frozen feeds. Six consecutive identical non-zero values are treated as a stuck source.
- Category cooldown. Weather is always a little unusual somewhere. No category may take the headline more than once in five days. A demoted finding still appears in the runners-up, so nothing is hidden.
The writing
The headline and the one sentence beneath it are written by a language model. That is the only generative step in the machine, and it is fenced in. The model receives the computed record and nothing else. It has no access to the internet and no context that would let it guess at a cause. It is instructed never to state one. Its draft is then checked: any causal language and it is discarded, and every number it produced must match a number it was given or the draft is discarded. When a draft fails, or the monthly model budget is exhausted, the machine writes the sentence itself from a template and labels it. Every page says which happened.
What this cannot tell you
An unusual number is not a story. It is a reason to go look. The machine measures departures from a series' own history and stops there. It does not know about the road closure, the software migration at the county, the reporting-standard change, or the holiday that is not in its calendar. Several of the sources it reads are provisional and subject to revision. Treat every finding as a lead, not a fact about the world.