Advanced
Open
Pro
A dbt Model Silently Redefines 'Active Customer' — How Do You Catch It Faster?
Three weeks after a dbt pull request merged, someone in Finance
notices that "active customers" on the executive dashboard has been
meaningfully lower than expected since the merge. Investigation shows
an analytics engineer's PR narrowed the definition of is_active in
dim_customers (from "ordered in the last 90 days" to "ordered in the
last 60 days") as an incidental side effect of an unrelated refactor,
and it passed code review and every existing dbt test.
- Explain why the existing dbt tests described in the case study (not_null, unique, accepted_values, relationships, row-count reconciliation) did not and could not have caught this.
- Propose the specific tests or process changes that would have caught it, and say at which layer/stage each one operates.
- Given the ownership model in the case study, whose responsibility was this gap, and what does that imply about the PR review process going forward?
Share this question