Free tools Windows power users keep installed
One-click scans. No signup required.
If three months of sales are missing from a dbt output even though every run was green, the green status does not prove the data arrived or that the transformation included every expected row. dbt incremental models process the rows selected by their model logic, and source-freshness checks are separate from dbt build. The cause can only be identified by tracing the affected dates through the pipeline and locating where the data first diverges.
What a green dbt run does—and does not—tell you
A successful run shows that the selected dbt work completed without a reported failure. It is not, by itself, a reconciliation of sales against the source system, a guarantee that an upstream load delivered all expected records, or proof that a model included every historical row.
As an Amazon Associate I earn from qualifying purchases.
That distinction matters especially for incremental models. dbt Developer Hub explains: “On subsequent runs, dbt transforms only the rows in your source data that you tell it to filter for, inserting them into the target table which is the table that has already been built.” In other words, later runs rely on the model’s incremental selection logic. If that logic excludes a late-arriving or backfilled record, a run can succeed without adding it to the target.
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Clear out junk files and repair common Windows errors3Fix the driver behind crashes, sound loss and screen glitchesFreshness is another separate question. dbt’s documentation says dbt build does not run source-freshness checks. Those checks must be configured for relevant sources and included in the workflow with the failure behavior you intend. Even a passing freshness check measures configured age thresholds; it does not establish that every expected sale is present.
#1 Best Overall
Preserve evidence before rerunning the pipeline
A rerun can change the target or replace useful evidence about what happened. Before retrying or backfilling, retain the artifacts and warehouse records from the affected production runs:
run_results.jsonand freshness results, when available for the project’s dbt version and workflow.- Run logs, compiled SQL, and the SQL actually executed.
- Warehouse query history and the relevant incremental merge, update, or insert statements.
- Target-table history or other records that can show what changed during the affected runs.
dbt’s artifact documentation describes run results and freshness results; which details are available depends on the version and how the workflow was run. Keep the original files and records rather than relying on a later run to reconstruct them.
Find the first layer where sales stop matching
Define the missing interval and the sales measure
Write down the exact dates that appear to be missing and what “sales” means in this pipeline: for example, which records qualify and which field or aggregation represents the reported total. Establish the timezone and business-date rules too. A timestamp near midnight can fall on different dates under different conventions, so comparisons must use the same boundaries.
Rank #2
Compare the same dates across the pipeline
For each affected date, compare record counts and the relevant sales totals in the raw source, staging models, intermediate models, and final mart. Use the same filters and sales definition at every layer. The first layer where dates, counts, or totals diverge narrows the investigation to the upstream load or transformation between that layer and the preceding one.
Do not assume the final mart is where the problem began. If the raw source already lacks the records, investigate delivery and source history. If raw data contains them but staging does not, inspect that transformation before turning to the final model.
Inspect the incremental model at the point of divergence
When an affected model is incremental, review the compiled and executed SQL for the run—not only the current source file. In particular, trace:
- The date predicate or other filter that selects rows for later runs.
- The
is_incremental()branch and the watermark it uses, including where that watermark comes from. - How the model handles late-arriving records and updates to records already processed.
- The configured
unique_key, if any, and how the warehouse statement applies it. - The target’s existing maximum timestamp or other boundary value used by the selection logic.
A unique_key can help identify rows that should be updated, but it does not make an incomplete selection filter complete. If the model never selects an older backfilled row, key-based matching alone cannot bring that row into the run. Warehouse merge and update behavior also varies by adapter and strategy, so check the SQL and warehouse history for the project’s actual setup rather than assuming a universal outcome.
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minutePC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Check whether the source delivered the expected data
Inspect upstream load history and the raw source for the affected dates. Then check whether freshness was configured and actually run for each relevant source. A freshness result can reveal that a source is older than its configured threshold, but freshness is not a sales-completeness test: a recently updated source may still be missing records, and a successful freshness check does not validate business totals.
For that reason, compare expected date coverage, row counts, and sales totals as well as source age. Keep the distinction clear: freshness asks whether data is recent enough under the configured rule; reconciliation asks whether the expected business data is present.
Rank #4
Consider transformations, warehouse behavior, and snapshots
Transformation or warehouse write behavior
If source and upstream model data are present but the target is not correct, inspect the executed transformation and the warehouse statements that wrote to the target. Compare the selected rows with the rows inserted or updated, and review how the configured key and merge strategy behaved. The green status alone does not establish that any particular merge defect occurred; the run artifacts and warehouse records must support that finding.
Snapshot history
If snapshots are part of the pipeline, check what they observed and how often they ran. Snapshots can preserve changes to mutable sources only when those changes are observed by a snapshot run. They cannot recreate historical states that were never captured. dbt Labs also cautions that placing a snapshot in the middle of a DAG can expose downstream history to upstream modeling bugs, so a snapshot should not automatically be treated as independent proof that source history was correct.
Choose a repair only after identifying the affected range
Once the first divergence is known, decide which dates and downstream models need repair, then use the recovery procedure appropriate to the project’s adapter, incremental strategy, and warehouse. Those details are not established by a green status or by the symptom alone, so there is no universally safe backfill command or warehouse operation to prescribe here.
Best Value
Before rebuilding, preserve the evidence, verify the intended source records, and confirm how the repair will affect existing target rows. Afterward, compare the repaired dates against the same source counts and business totals used to locate the divergence. A successful repair run is useful, but the reconciliation is what verifies the missing interval is present.
Make the specific failure easier to detect next time
Choose checks that correspond to the failure mode you establish, rather than treating a generic test suite as a guarantee of completeness:
- Configure and enforce source-freshness checks for sources where data age matters.
- Test expected date coverage and, where appropriate, minimum or thresholded daily sales volume.
- Reconcile source and modeled totals for the relevant business definition.
- Review incremental filters and late-arrival handling when source backfills or delayed updates are possible.
- Retain run artifacts and warehouse query history so later incidents can be reconstructed.
- If prior states of mutable sources matter, assess whether snapshot cadence captures them at the needed intervals.
These safeguards address different failure modes. None should be presented as proof that every possible data defect will be caught; their value depends on the business rules, configuration, and workflow in which they run.
Recommended Free Tools
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




