Flag bill-blowup patterns before they merge
Enter the changed dbt model name. dbtGuard analyzes the diff, resolves downstream models, and flags the patterns most likely to spike your BigQuery bill.
Model materialization changed from incremental to table. Every pipeline run will now scan the entire table instead of only recent rows. This is the most common cause of 10–100× BigQuery bill spikes.
If you need to add columns, use materialized='incremental' with a schema migration. Only switch to table if a one-time full rebuild is intentional, then switch back.
The {% if is_incremental() %} WHERE clause that restricted scans to recent partitions was present in the base branch but removed in this PR. BigQuery will now scan all partitions on every run, which can multiply cost by 10–100×.
Restore the incremental WHERE guard with a date lookback window. If you need to backfill historical data, run dbt run --full-refresh once, then restore the filter.
A new JOIN on my-bq-project.raw.discounts was added in this PR. If this is a large table without a filter on the ON or WHERE clause, BigQuery will scan the full table on every run even if only a few rows match.
Add a partition filter or selective WHERE clause on my-bq-project.raw.discounts. If it is a small lookup table (≤1 GB), this pattern is low risk.
4 downstream model(s) — rpt_customer_ltv, rpt_daily_revenue, rpt_cohort_analysis, fct_orders — collectively hold 30.0 GB and will inherit the upstream change's full-scan cost on every pipeline run.
Check that each downstream incremental model has its own lookback filter. If any are table materializations they will re-scan from scratch every run.