Real example
The broken source.
The cascading damage.
When raw_orders drops 40% of rows, which models break first? And how do you know what to fix?
raw_orders — Rows Dropped 47%
Detected 2026-06-07 at 15:10:00 UTC
Event
Row count anomaly detected in source table. Expected ~2,800 rows, found 1,400.
Risk
4 downstream models affected: stg_orders, fct_revenue_realtime, dashboard_realtime_metrics, customer_metrics_view
Root Table
raw.raw_ordersAffected Assets
- stg_orders — Rebuilds on partial source data
- fct_revenue_realtime — Missing order records will show undercount
- dashboard_realtime_metrics — Real-time charts display incomplete totals
- customer_metrics_view — Customer LTV and retention metrics affected
Evidence
Row Count Baseline: 2,800 rows (learned from 30-day history)
Current Count: 1,400 rows (47% drop)
NULL Rate: Unchanged at 0.2%
Freshness: Updated 4 minutes ago (within expected window)
Hypothesis
The ingestion job completed successfully, but the upstream data source is missing orders. Check: (1) Did the orders API experience an outage? (2) Are you filtering orders by date, and did the time window shift? (3) Was a recent ETL change applied?
Action
- Verify raw data in source system (check API/database directly)
- Compare last successful ingestion timestamp and row count
- Review recent changes to raw_orders dbt model or upstream ETL
- If source is actually correct, pause downstream models until decision is made
- Once root cause is fixed, manually re-run stg_orders and downstream models
RCA Path
- 1. Source anomaly detected — raw_orders row count (1,400) vs. baseline (2,800)
- 2. Lineage traced — Found 4 downstream dependencies
- 3. Impact assessed — All 4 models will produce incorrect results
- 4. Grouped into single incident — Prevents alert fatigue from 4 separate Slack messages
- 5. RCA hypothesis generated — Ingestion success but upstream data loss suspected