All detectors

E-detector

An e-detector is a sequential change detector whose false-alarm behavior is guaranteed by theorem rather than calibrated against a model: while the monitored stream stays in control, its average run length to a false alarm is at least the target you set — no Gaussian assumption, no independence assumption on your metric, and no penalty for checking it continuously.

PAGE

Also known as: Shiryaev–Roberts e-detector

In ValidAnytime it is the fast half of the page tier. The engine converts your metric into conformal coverage indicators — model-free by construction — and the e-detector accumulates betting evidence on them, paging when the evidence crosses the level set by your run-length target.

The rule, exactly

miss_t = 1{ y_t falls outside the conformal interval }
e_t = a betting e-value against “miss rate ≤ α”
log M_t = logaddexp(0, log M_{t−1}) + log e_t        (M_0 = 0)
page when M_t ≥ ARL target

M_t is the Shiryaev–Roberts statistic: a running sum of restarted e-processes, one for every possible changepoint, so evidence is collected against all onsets at once. The cloud default targets an average run length of 2,000 in-control points.

Live playground — synthetic data, labeled as such; runs entirely in your browser

0 pages on the 80 calm points · catches the break 28 points after onset.

synthetic break · point 81first page · point 108point 1synthetic data — seeded noise, uncadenced pointspoint 160page level = log(2000)log evidence (SR statistic)

Synthetic standard-normal noise (seeded, 160 uncadenced points — points, not minutes), with a labeled break at point 81 when one is enabled. The detector code running here is the same TypeScript implementation the /try bake-off runs, parity-tested against the cloud suite.

PAGE

What is — and is not — guaranteed

Its guarantee is anytime-valid and distribution-free on your metric: while the true miss rate stays at or below its null level, the expected time to a false page is at least the ARL target — at every look simultaneously, by Ville's inequality, not by simulation.

It is not the fastest detector on abrupt steps: accumulating honest evidence costs lag, and a conformal calibrator can partially absorb a pure step — which is exactly why the suite pairs it with fast, unbudgeted classical warnings rather than shipping it alone.

Page tier: e-process alarms delivered inside a stated false-alarm budget that holds no matter how often you look. See how it scores in the benchmark.

When it wins

  • You need alarms you can act on: an e-detector page arrives inside a stated run-length budget, so silence is informative and a fire is news — not noise to triage.
  • The data is ugly: heavy tails, autocorrelation, unknown distributions — the conformal miss stream is binary and assumption-light, so the guarantee survives textures that break every classical chart's calibration.
  • Monitoring is continuous: the guarantee holds at every look simultaneously, so dashboards, crons, and agents can check as often as they like without eroding it.

Where it costs you

  • Honestly, it does not lie — it lags. On a large abrupt step, CUSUM or a static threshold typically fires several points sooner; the e-detector pays for its guarantee in detection lag, a trade we state on every chart rather than hide.
  • A pure step can be partially absorbed by the adaptive conformal calibrator before enough evidence accumulates — the step-blindness concession — which the warning tier covers.
  • The stated budget is about false alarms, not catch speed: if you need the earliest possible hint and can tolerate noise, that is what the warning tier is for.

Where it comes from

The underlying statistic dates to A. N. Shiryaev (1961–63) and S. W. Roberts (1966), whose procedures remain the benchmarks of classical quickest-change detection. The modern e-detector reformulates them with e-values, making the false-alarm control anytime-valid and assumption-light (the e-detectors framework of Shin, Ramdas and Rinaldo). ValidAnytime runs the Shiryaev–Roberts form on conformal coverage indicators; this playground runs the same TypeScript port of the production path that powers /try, golden-tested against the cloud engine.

Questions engineers ask

Run it on your own history — free, in your browser.

The /try bake-off replays your metric history through this detector and the rest of the suite side by side — false alarms and catch lag, honestly graded, nothing uploaded.