In this section
Part of Celiq's semantic layer platform. Connect your warehouse, model your data once, query it everywhere.
Anomaly Detection
Find genuinely unusual data points in any metric — not just big percentage changes, but statistically significant deviations from the expected seasonal pattern.
Ask Orion to detect anomalies
Orion detects anomaly intent automatically. Try questions like:
- "Are there any anomalies in orders this month?"
- "What's unusual about revenue in the last 90 days?"
- "Did anything unexpected happen with conversions?"
- "Find anomalies in daily active users"
Orion responds with:
- A list of anomaly cards (date, actual vs expected, % difference, z-score)
- Severity label (high / medium)
- Plain-English explanation of why each point is unusual
- Or a green "no anomalies" confirmation if everything looks normal
How it works
Celiq uses Prophet residual z-score detection:
- Fit a Prophet model to the full history (removes weekly + seasonal patterns)
- Calculate residuals = actual − expected
- Flag any point where
|z-score| > sensitivity threshold
This means a normally-low Monday won't get flagged as an anomaly just because it's lower than Tuesday — the model already knows Mondays are lower.
Orion Pulse integration
The Orion Pulse (SpotIQ) scanner that generates proactive alerts uses the same ML detection when the ML service is available:
- ML available: Uses Prophet residuals, only surfaces anomalies in the last 7 days
- ML unavailable: Falls back to rule-based detection (≥15% week-on-week change)
This eliminates false positives from weekend patterns and normal seasonal variation.
Sensitivity settings
| Sensitivity | z-score threshold | Use case |
|---|---|---|
| Sensitive (2.0) | Flags more points | Explore what's unusual |
| Normal (2.5) | Default | Balanced alerting |
| Strict (3.0) | Only clear outliers | Low-noise production alerts |
Orion uses 2.5 by default. Orion Pulse also uses 2.5.
Anomaly severity
| Severity | z-score |
|---|---|
| Medium | 2.5 – 3.5 |
| High | > 3.5 |
Limitations
- Needs at least 14 data points; returns empty result with fewer
- Best with daily-grain data over 30–90 day windows
- Very sparse or highly irregular metrics may produce noisy results