All detectors

EWMA chart

An EWMA control chart tracks an exponentially weighted moving average of a metric and fires when that smoothed value leaves its control limits — which makes it the classical chart of choice for small, persistent shifts that individual-point rules never see. Each new point gets weight λ and history decays geometrically, so the chart has one interpretable knob: how long its memory is.

WARN

Also known as: exponentially weighted moving average control chart

In ValidAnytime, the EWMA chart runs in the warning tier: early and smooth, with false-warning calibration that is model-based (independent Gaussian data) rather than guaranteed — the budgeted page belongs to the e-process tier.

The rule, exactly

z_t = (x_t − μ̂) / σ̂        μ̂, σ̂ frozen after the first 30 points
E_t = λ·z_t + (1 − λ)·E_{t−1}        E_0 = 0
σ_E(t) = √( λ/(2−λ) · (1 − (1−λ)^{2t}) )
warn when |E_t| > L·σ_E(t), on the crossing

λ is the memory knob (small λ = long memory = sensitive to small shifts); L sets the limit width. The cloud suite runs λ = 0.2 with L = 3 and exact time-varying limits, and warns on the crossing only — no re-warn until the statistic re-enters its limits.

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

0 warnings on the 80 calm points · catches the break 1 point after onset.

calibrates on points 1–30synthetic break · point 81first warning · point 81point 1synthetic data — seeded noise, uncadenced pointspoint 160±L·σ_E(t)EWMA of z

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.

WARN

What is — and is not — guaranteed

Its calibration is a model-based promise: with independent Gaussian z-scores, L = 3 limits put the in-control false-warning rate near the familiar 3σ textbook figure.

That promise is not anytime-valid and not distribution-free: autocorrelation is the EWMA chart's known blind spot — the smoothed statistic inherits the data's serial dependence, and the false-warning rate on realistic textures can exceed nominal by orders of magnitude, measured openly in our benchmark.

Warning tier: classical control charts — sensitive and fast, but calibrated against a model rather than a guarantee, so warnings arrive unbudgeted. See how it scores in the benchmark.

When it wins

  • The shift is small and persistent: exponential weighting pools evidence across points, catching drifts of a fraction of a sigma that no single-point rule can see.
  • Noise is spiky: one outlier only moves the average by λ·z, so the chart shrugs off isolated glitches that fire a static threshold.
  • You want one knob: λ maps directly to "how many recent points matter", which makes tuning explainable to a reviewer.

When it lies

  • The data is autocorrelated: the EWMA statistic smooths *and* correlates, so its nominal limits are quietly wrong on exactly the wandering, seasonal metrics production systems emit.
  • The shift is a large, abrupt step: smoothing that protects against noise also dilutes a jump, so a Shewhart-style rule or CUSUM often catches big steps a few points sooner.
  • The chart is already outside its limits when the real incident begins: it warns on the crossing only, so a statistic parked out-of-bounds pages once and then goes silent.

Where it comes from

The EWMA control chart was introduced by S. W. Roberts in 1959 in Technometrics (“Control chart tests based on geometric moving averages”) and remains, with CUSUM, one of the two workhorse memory charts of statistical process control. The version here — exact time-varying limits, frozen training window — is the warning-tier chart the ValidAnytime cloud suite ships; the playground runs a line-for-line TypeScript port of it, golden-tested against the cloud implementation's own outputs.

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.