Skip to main content
Detect points where the underlying data distribution changes. Canary implements this by computing the energy gradient: the rate of change of the prediction error over a sliding window. This endpoint is fully compatible with the Azure Anomaly Detector changepoint API. Both /anomalydetector/v1.0/timeseries/changepoint/detect and /anomalydetector/v1.1/timeseries/changepoint/detect are supported.
array
required
Array of data points, each with timestamp (ISO 8601) and value (number). Minimum 12 points, maximum 8640 points. Timestamps must be sorted ascending with no duplicates.
string
default:"none"
Time interval between points. One of: yearly, monthly, weekly, daily, hourly, minutely, secondly, microsecond, none.
integer
default:1
Multiplier for granularity.
integer
default:0
Seasonality period. Set to 0 for auto-detection.
number
Maximum fraction of points flagged. Must be between 0 and 0.5 (exclusive).
integer
default:95
Detection sensitivity (0-99).
integer
Detected seasonality period.
boolean[]
Whether each point is a changepoint.
number[]
Confidence score from 0.0 to 1.0 for each point.

How Changepoint Detection Works

  1. The energy gradient is computed: gradient[i] = mean(energies[i:i+k]) - mean(energies[i-k:i]) where k = max(period, 5).
  2. A point is a changepoint if its gradient exceeds the 95th percentile of all gradients.
  3. The gradient must be a local maximum (greater than or equal to both neighbors).
  4. Minimum spacing between changepoints equals the detected period.