Skip to content

Sustained Shift

YAML type: sustain | Category: Adaptive

Detects run-length deviations that stay above/below baseline for multiple days.

Description

Sustain requires the series to remain away from a rolling baseline for at least minDurationDays. Cooldown reduces re-firing.

How it works

Sustained Shift illustration

Sustain tracks how long values stay above or below a rolling baseline by at least deviationPercent. Only when that run reaches minDurationDays does it emit an anomaly; coolDownDays then reduces immediate re-firing.

Use it when the business cares about persistent shifts, not one-day blips. Baseline method (median or mean) changes how robust the reference level is.

Setup

Tune deviationPercent, baselineDays, and coolDownDays to match how long a real shift lasts.

Configure detectors on the data view Analysis tab or in YAML. Validate with Data Preview before enabling production schedules.

Settings

Parameter Default Description
baselineDays 30 Rolling baseline window
minDurationDays 4 Minimum sustained duration
deviationPercent 25 Required % deviation from baseline
mode both Direction -- see Allowed values
coolDownDays 7 Suppress re-fire after an alert
baselineMethod median Baseline statistic -- see Allowed values

Allowed values

mode

Value Meaning
above Flag increases / values above the comparison (or high side of a band)
below Flag decreases / values below the comparison (or low side of a band)
both Flag either direction

baselineMethod

Value Meaning
median (default) Rolling baseline is the median of the prior baselineDays
mean Rolling baseline is the mean of the prior baselineDays

Shared series filters

Most detectors also accept optional series filters in params:

Parameter Purpose
maxGapAmount Skip series when gap amount is too high (null = no limit). Catalog create-default is often 5.
minValue Skip series whose average value is below this (null = no limit). Catalog create-default is often 1000.
maxValue Skip series whose average value is above this (optional; omit/null = no limit)
useSpecialDates When true, suppress anomalies that overlap special dates

When a filter skips a series, Data Preview shows the reason.

Configuration example

analysis:
  detectors:
    - type: sustain
      params:
        baselineDays: 30
        minDurationDays: 4
        deviationPercent: 25.0
        mode: both
        coolDownDays: 7
        baselineMethod: median

Using the detector

Prefer over Spike when the business cares about persistent shifts.

Use cases

  • Prolonged conversion drops
  • Multi-day outages reflected in KPIs
  • Post-change performance regressions