Anomaly Examples¶
Triaging anomalies in real scenarios
Four real-world scenarios that show how anomalies are triaged in production: a table reloaded every night, a false alarm from an AI Managed check, a pipeline change that breaks a table, and a rule the business allows to bend. Each one follows the anomaly from the Scan that finds it to the decision that closes it.
The Sample Data tables follow the Source Records view: one row per record, with only the failing cells highlighted.
The situation: Your stg_orders staging table is truncated and reloaded from the source system every night, and it has no incremental field or last-modified date. The same 127 bad rows come back on every load. Without duplicate handling, every nightly Scan opens 127 new anomalies, and the team acknowledges the same issues over and over.
What Qualytics reports
On the first night, the Scan opens one Record anomaly per failing row. On the next night, the rows are the same and so are their values, so each new Record anomaly has the same fingerprint as one already open.
How to triage
- In the Scan's Anomaly Options, turn on Archive Duplicate Anomalies. From the next Scan on, a new anomaly that matches an open one is archived as Duplicate right away, so the open list keeps only the first 127.
- Turn on Reactivate Recurring Anomalies too. When a row the team already archived as Resolved comes back, the original anomaly reopens with its history, tags, and assignees, instead of a new one starting from nothing.
- Keep the Maximum Record Anomalies per Check high enough for the rows you want to see one by one. Above the limit, each check's failures are reported as one Shape anomaly, which has no fingerprint on this table and is never marked Duplicate.
The result: The open list holds each real issue once. Nightly Scans add a new anomaly only for a row that is new or changed.
See Scan Settings for where the options are.
The situation: Profile created an AI Managed Max Value check on discount_pct in your orders table, because every discount it saw was at most 30. During a seasonal sale, discounts of 45 are expected, and the Scan flags them.
Sample Data
| order_id | campaign | discount_pct |
|---|---|---|
| 8812 | spring-sale | 45 |
| 8813 | none | 10 |
| 8814 | spring-sale | 45 |
What Qualytics reports
Two Record anomalies, one per order, each with the AI badge, because the only failed check is AI Managed.
How to triage
- Open the anomaly and read the source record: the campaign explains the value.
- Archive both anomalies as Invalid, with a comment naming the campaign. Invalid tells Qualytics the check raised a false alarm, so it trusts the check less.
- If the higher limit is now the rule, edit the check's maximum. The check becomes an Authored check that Profile no longer changes. See AI Managed Checks Introduction.
The result: The decision is on record, and the check either learns from it or is replaced by the rule the business actually follows.
The situation: An upstream release renames total_amount to order_total in your orders table. An Expected Schema check on the table declares total_amount.
What Qualytics reports
One Shape anomaly from the Expected Schema check, reading The required field [total_amount] is not present. It has no source records, because the problem is the table's structure, not a row. A check that tests the table as a whole is rated High when it fails, so the anomaly sorts near the top of the list.
How to triage
- Assign the anomaly to the pipeline's owner, or rely on the default assignee set on the check.
- Create a Jira ticket from the anomaly, so the fix is tracked in the team's backlog. The ticket comes already filled in with the anomaly's details.
- Acknowledge the anomaly, so the team sees it is being handled.
- With Anomaly status sync on and the ticket's done status mapped to Resolved, closing the ticket after the fix archives the anomaly as Resolved on its own, once every linked ticket agrees.
The result: The break is fixed in the team's own tool, and the anomaly's Timeline shows the whole story, including the ticket.
See Anomaly Tickets.
The situation: A Not Null check on email in your contacts table, at 100% coverage, flags every contact without an email. Marketing agrees that a few missing emails are acceptable, as long as at least 95% of contacts have one.
Sample Data
| contact_id | name | |
|---|---|---|
| 7004 | Leo Park | NULL |
| 7005 | Ivy Costa | ivy@example.com |
| 7019 | Mia Rossi | NULL |
What Qualytics reports
One Record anomaly per contact with no email, or, above the Maximum Record Anomalies per Check, one Shape anomaly for the whole check.
How to triage
- Archive the existing anomalies as Discarded, with a comment that the business accepts the gap.
- Change the check's coverage to 95%. From then on, the check fails only when fewer than 95% of contacts have an email, and it reports that as one Shape anomaly, such as
email has no value in 14 of 200 asserted records.
The result: The anomaly list shows a missing email only when it becomes a real problem for the business.
See Shape Anomalies.
See Also¶
-
Best Practices
Guidelines for keeping the anomaly list short, trusted, and acted on.
-
Permissions
The team permission and user role behind every anomaly action.
-
How It Works
How a Scan creates anomalies, AI Managed and Authored checks, the lifecycle, duplicates, and notifications.
-
Record Anomalies
Anomalies that flag one row: when they are created, how rows are grouped, and examples.
-
Shape Anomalies
Anomalies about many rows or the whole dataset: what creates them, what they count, and examples.
-
AI Managed and Authored
How anomalies from AI Managed and Authored checks differ, the AI badge, and how triage tunes AI Managed checks.
-
Impact
How the Low to Critical impact level is decided from the failed checks, and when it updates.
-
Status
The lifecycle of an anomaly, from Active and Acknowledged to the archived statuses.
-
Assignees
How the Assignees field works, who can be assigned, and when assignees are notified.
-
Fingerprints
How Qualytics recognizes a newly detected anomaly as a duplicate of one it already found.
-
Anomaly Views
The four screens that show anomalies: how to reach each one, what it shows, and what you can do there.
-
Description
The business-friendly explanation of the data quality issue behind an anomaly.
-
Source Records
The rows behind an anomaly, how to read them, and how masked values are protected.
-
Tickets
Linked Jira and ServiceNow tickets: sync modes, what reaches the ticket, and status sync.
-
Timeline
The record of every change to an anomaly, and how comments and mentions work.