Automatic Incident Grouping

When a data quality monitor fails, Sifflet minimizes alert fatigue and helps you focus on the root cause of a data problem. Instead of creating a new, isolated incident for every single failure, Sifflet analyzes your data lineage and existing open incidents. If Sifflet finds a relevant incident, it groups the new failure into it.

This page explains the logic behind this feature.

How It Works

When a monitor in Sifflet fails (the "New Failure"), Sifflet performs a multi-step analysis to determine if it should be grouped with an existing issue or if a new incident should be created.

  1. Look for Recent Incidents: Sifflet searches the most recent open incidents that have had a new failure within the last 7 days.
  2. Analyze Relationships: It then analyzes the new monitor failure to see if it is related to any of these recent incidents based on two key factors:
    • Semantic Match: It checks if the monitor template of the active incident is a compatible match for the monitor template of the new failure, based on their positional relationship (see Grouping Rules below). Not all failures in a lineage are related; for example, a Freshness delay often causes a Volume issue, but a Schema Change is likely unrelated to an Email Format error.
    • Data Lineage: Whether the monitors are on the same asset, or on assets connected via upstream, downstream, or sibling lineage, within a maximum lineage depth of 3 hops.
  3. AI Validation (Relevance Check): Sifflet uses an AI model to validate the potential connection, analyzing the context of both the new failure and the existing incident to confirm if they are truly related.
  4. Group or Create:
    • If Sifflet finds a strong relationship, it adds the new monitor failure to the existing incident.
    • If Sifflet finds no related incident, it creates a new incident.
Grouped failing monitors within the incident page.

Grouped failing monitors within the incident page.

Notifications when a failure is grouped

When a failure is grouped into an incident that already exists, an incident updated notification is sent to the incident's destinations instead of a new incident notification. See the Notification catalog.

Grouping Rules

Sifflet uses the following logic to determine if monitor failures are related. Grouping is heavily dependent on the monitor template of the new failure and its positional relationship to the monitors already on the existing incident:

  • Same Asset — the new failure is on the exact same asset as an existing incident's monitor.
  • Upstream Asset — upstream failures that could have caused this incident. Infrastructure failures (Volume, Freshness) are valid causes of almost any downstream failure. For SQL, only infrastructure upstream applies — a business rule failing upstream does not cause your business rule to fail.
  • Downstream Asset — downstream failures that are likely effects of this incident. This is more conservative than upstream: business and format monitors downstream are almost always independent.
  • Sibling Asset — sibling failures that are likely co-symptoms of the same root cause. Sifflet considers two assets siblings if they share a parent asset of the same type (Dataset), or if they are both root assets (i.e. neither has a parent asset). Infrastructure monitor types have the strongest sibling correlation; format validators and business logic monitors have near-zero sibling correlation.

A new monitor failure is grouped into an existing incident only if the existing incident contains a monitor of one of the compatible templates listed for the corresponding relationship (same asset, upstream, downstream, or sibling), within a maximum lineage depth of 3 hops.

Monitor TemplateSame AssetUpstream AssetDownstream AssetSibling Asset
VolumeRow Duplicate, Freshness, Freshness (Update Timestamp), Duplicates, Unique, Referential IntegrityVolume, Freshness, Freshness (Update Timestamp), Row DuplicateVolume, Freshness, Freshness (Update Timestamp), Row DuplicateVolume, Freshness, Freshness (Update Timestamp)
Row DuplicateVolume, Metric, Custom Metrics, Correlated Metrics, Duplicates, Row Duplicate, UniqueVolume, Row Duplicate, DuplicatesRow Duplicate, Duplicates, UniqueRow Duplicate, Duplicates
FreshnessVolume, Freshness, Freshness (Update Timestamp)Volume, Freshness, Freshness (Update Timestamp)Freshness, Freshness (Update Timestamp), VolumeVolume, Freshness, Freshness (Update Timestamp)
Freshness (Update Timestamp)Volume, Freshness, Freshness (Update Timestamp)Volume, Freshness, Freshness (Update Timestamp)Freshness, Freshness (Update Timestamp), VolumeVolume, Freshness, Freshness (Update Timestamp)
Schema ChangeDuplicates, Unique, Nulls, Referential IntegritySchema ChangeSchema Change, Nulls, Referential Integrity—
MetricVolume, Row Duplicate, Freshness, Freshness (Update Timestamp), Metric, Custom Metrics, Correlated Metrics, Distribution Changes, Nulls, Value Range, SQL, Conditional MonitoringVolume, Freshness, Freshness (Update Timestamp), Metric, Correlated MetricsMetric, Correlated Metrics, Distribution Changes, Custom MetricsMetric
Custom MetricsVolume, Row Duplicate, Freshness, Freshness (Update Timestamp), Metric, Custom Metrics, Correlated Metrics, Distribution Changes, Nulls, Value Range, SQL, Conditional MonitoringVolume, Freshness, Freshness (Update Timestamp), Metric, Custom Metrics, Correlated MetricsMetric, Custom Metrics, Correlated Metrics, Distribution Changes—
Correlated MetricsVolume, Row Duplicate, Freshness, Freshness (Update Timestamp), Metric, Custom Metrics, Correlated Metrics, Distribution Changes, Nulls, Value Range, SQL, Conditional MonitoringVolume, Freshness, Freshness (Update Timestamp), Metric, Custom Metrics, Correlated MetricsMetric, Custom Metrics, Correlated Metrics, Distribution Changes—
Distribution ChangesVolume, Row Duplicate, Freshness, Freshness (Update Timestamp), Metric, Custom Metrics, Correlated Metrics, Distribution Changes, Nulls, Value Range, SQL, Conditional MonitoringVolume, Distribution ChangesDistribution Changes, Metric, Custom Metrics, Correlated MetricsDistribution Changes
DuplicatesVolume, Metric, Custom Metrics, Correlated Metrics, Duplicates, Row Duplicate, UniqueVolume, Row Duplicate, Duplicates, UniqueDuplicates, Unique, Row DuplicateDuplicates, Row Duplicate, Unique
UniqueVolume, Metric, Custom Metrics, Correlated Metrics, Duplicates, Row Duplicate, UniqueVolume, Row Duplicate, Duplicates, UniqueDuplicates, Unique, Row DuplicateDuplicates, Unique, Row Duplicate
NullsNulls, Schema Change, Metric, Custom Metrics, Correlated Metrics, Distribution Changes, Referential Integrity, SQL, Conditional MonitoringSchema Change, Nulls, Referential IntegrityNulls, Schema Change, Referential IntegrityNulls
Value List ValidationValue List Validation, Distribution Changes, Matches Regex, SQL, Conditional MonitoringValue List ValidationValue List Validation, Distribution ChangesValue List Validation
Value RangeValue Range, Distribution Changes, Metric, Custom Metrics, Correlated Metrics, SQL, Conditional MonitoringVolume, Freshness, Value Range, Distribution ChangesValue Range, Distribution Changes, MetricValue Range, Distribution Changes
Referential IntegrityVolume, Schema Change, Duplicates, Unique, Nulls, SQL, Conditional MonitoringVolume, Schema Change, Referential Integrity, NullsReferential Integrity, NullsReferential Integrity
Is an EmailIs an Email, Matches Regex, SQL, Conditional MonitoringIs an Email, Matches RegexIs an EmailIs an Email
Is a Phone NumberIs a Phone Number, Matches Regex, SQL, Conditional MonitoringIs a Phone Number, Matches RegexIs a Phone NumberIs a Phone Number
UUIDUUID, Matches Regex, SQL, Conditional MonitoringUUID, Matches RegexUUIDUUID
Matches RegexValue List Validation, Is an Email, Is a Phone Number, UUID, SQL, Conditional MonitoringIs an Email, Is a Phone Number, UUID, Matches Regex, Value List ValidationMatches RegexMatches Regex
SQLAll templates (SQL is a custom catch-all for business-specific logic)Volume, Freshness, Freshness (Update Timestamp)SQL—

AI-Generated Incident Descriptions

When incidents are automatically grouped or a new monitor is linked to an existing incident, Sifflet uses AI to generate a clear, human-readable description of the incident. This description summarizes the failures and provides context, helping you quickly understand the issue.


Did this page help you?