Backfilling: Why Your History Can Mislead a Live Model

By Adam Montgomery
-
September 2026
Magnifying glass illustration
The hidden risk in your history
Backfilling
The most common way a model looks great in testing and quietly underperforms in production, and how Churney keeps it out of your predictions.

What backfilling is

Data arrives with event timestamps that belong to an earlier period: your database has changed its own history. The past you see today is not the past your systems saw back then.

01 · Additions
New rows inserted with old timestamps: late-arriving payments, delayed logs.
02 · Deletions
Rows removed after the fact: refunds, fraud reversals, GDPR erasure.
03 · Mutations
Existing rows updated: a plan upgrade, a corrected value.
04 · Combinations
Any mix of the three, happening together.

Why it's a risk

The core problem is temporal leakage. A model trained on today's record learns from a version of the past more complete than any real-time system could have seen at those moments.

The trap
It looks better on history than it is live.
Today's recordwhat the model trains onLive at the timewhat it saw in productionlast sync · todayinserted later, stamped with old datesearliernowpresent in today's recordmissing when the model ran live

How Churney prevents it

It rarely looks like a mistake: payments settle late, refunds post over the weekend, updates land in a nightly batch. We plan for it in three ways.

Detect
We compare successive snapshots of your data to measure how much the record changes after the fact, and exactly when.
Time-shift
Where history settles uniformly, we let the model stand in the past, using only the data available at prediction time.
Align
We match our sync and prediction schedule to your update cadence, and widen safety margins to capture late data.
Want to know what your data does?
Talk to your Churney team

Optimize your customer acquisition for maximum Lifetime Value

Your data warehouse has incredible value. Our causal AI helps unlock it.