interactive playground

Shape a metric, then watch detection happen.

Dial in a series that looks like one of yours, turn the detector's real knobs, and see the corridor of normal, what gets flagged, and whether an alert would fire. The math is the actual detectkit detector, ported to run entirely on this page — nothing is sent anywhere.

metric expected range flagged anomaly injected (missed) alert fires hover to see the window a point is judged by · scroll to zoom, drag to pan, double-click to reset
hover a point to inspect its window & verdict
caught
false alarms
flagged pts
flag rate
MCC
your metric
detector
alerting

An alert fires only when this many grid-adjacent flagged points form a run — so a single noisy blip never pages anyone. Each qualifying run is one alert, marked with a ▼ on the chart.

// effective config

// the same windowed statistics that run in production — current point excluded from its own window, NaN gaps skipped, seasonality & recency applied per point
// detection runs only in the effective zone (past warm-up, dimmed on the left); caught = injected incidents a flag landed on · flag rate = share of judged points flagged · MCC = correlation of flags with the truth · the alert needs consecutive_anomalies grid-adjacent flags

Get started for real Read the detectors guide