What does a forecasting model actually need from history?
Closed outcomes with dates, amounts, and the path each deal took to get there. Everything else is optional, and most teams overestimate how much they need.The minimum viable history is a set of closed won and closed lost opportunities with a create date, a close date, a final amount, and enough stage detail to know how the deal progressed. From that you can derive conversion rates by stage, cycle length by segment, and the shape of how deals convert over time.
The last item is the one that surprises people. Time-to-close behaves as a distribution rather than an average. Grouped properly, deals show a curve of closing probability that can stretch anywhere from one week out to 80 weeks, with most of the expectation concentrated before week 12 and very few groups carrying meaningful probability past a year. Recovering that curve requires create dates and close dates on losses, which is exactly the data teams throw away when they delete or mass-close old deals.
Notice what is absent from the requirement list. Activity logs, notes, contact roles, and enriched firmographics all help with segmentation and none of them are load-bearing for a first model. If your backfill project is stalled on reconstructing call logs from 2023, it is scoped wrong.
Which gaps can you backfill and which are gone?
Anything with an authoritative external source can be recovered. Anything that existed only as a rep's judgment at a moment in time cannot. That line determines the entire scope of the project.| Gap | Recoverable from | Confidence |
|---|---|---|
| Closed won amount | Billing system, signed contract, invoice | High |
| Contract start and end dates | Contract or subscription record | High |
| Close date on won deals | Contract signature date | High |
| Account segment or size | Enrichment vendor, current firmographics | Medium |
| Owner at time of close | Territory records, HR start dates | Medium |
| Stage progression dates | Field history tracking, audit log | Medium |
| Loss reason | Rep memory, deal notes | Low |
| Amount on lost deals | Quote or proposal records | Low |
| Competitor on old deals | Nothing reliable | None |
| Forecast category at a past date | Snapshot tables if they exist | None without snapshots |
Account segment looks recoverable and is subtly not. Enriching a 2023 deal with 2026 employee counts assigns that deal to the segment the company is in now, which is the wrong segment for a company that grew. Every conversion rate you compute by segment then carries that distortion. Backfill segment only where you can source it as of the deal date, or accept the limitation and note it.
Loss reason is where teams do the most damage. Asking a manager to reconstruct loss reasons for 400 old deals produces a distribution that reflects what that manager believes about losses, not what happened. That data then trains a model or informs a strategy, and it is fiction. Leave the field blank.
How do you reconstruct stage history that was never tracked?
Look in three places before concluding it is gone: field history tracking, audit logs, and stage timestamp fields. Most CRMs retain more than the reporting layer exposes.Field history tracking is the first stop. If stage was among the tracked fields, every transition exists with a timestamp, and it can be extracted through the API even when the standard report builder makes it awkward. Retention windows vary, so check how far back yours goes before planning the extract.
Custom stage timestamp fields are the second. Many implementations set a date field when a deal enters a given stage. These are often forgotten, unreported, and completely intact.
The audit log is the third. Slower to query and less structured, and it holds edits that field history missed.
What none of these recover is history from before tracking was enabled. That boundary is hard, and pretending otherwise is how a backfill project produces confidently wrong data. Find the date tracking started, write it down, and treat it as the beginning of your usable history.
How far back does the backfill need to go?
Two years of clean history beats five years where the first three are reconstructed. Length matters less than comparability.The reason is seasonality. Most B2B SaaS businesses run stronger in the second and fourth quarters than in the first and third, and the third month of any quarter outperforms the first two. Capturing that pattern reliably takes at least two full cycles, which sets the practical floor.
Above that floor, more history helps only if the business it describes still resembles the business you have. A company that changed its pricing model, moved upmarket, or restructured its sales motion has a break in its history at that point, and data from before the break can degrade a model rather than improve it.
For context on timing, a fully trained model built on a company's historical sales performance typically comes together in four to six weeks once the data is available. The backfill is usually the longer part of that timeline, which is an argument for scoping it tightly rather than exhaustively.
What do you do when the history is genuinely unrecoverable?
Draw the boundary, declare it, and start capturing correctly today. Teams lose more time debating a gap they cannot close than they would spend building on what they have.Record the boundary date in the documentation and in the analysis itself. Every report built on this data carries a note stating the window. This prevents the recurring conversation where somebody asks why the trend starts in 2024.
Then fix capture going forward, since the same gap will reappear next year otherwise. Enable field history tracking on stage, close date, amount, and owner. Build a snapshot table that writes opportunity state weekly, which gives you forecast-category history that no CRM retains natively and which is the single most useful thing you can start collecting today.
Meanwhile, build the forecast anyway. Waiting for complete history is the most common reason a team never gets a working model. Approaches for building from a thin base are covered in how to forecast revenue, and they work.
Does backfilled data hurt forecast accuracy?
Yes, when the backfill invents a pattern that never existed. This is the risk that justifies every restriction above.Filling missing amounts with a segment average is the classic error. Deal size variance collapses, the model learns that deals cluster tightly around a mean, and it then underestimates the spread on exactly the large deals where being wrong is expensive. The data looks more complete and predicts worse.
The same failure appears with imputed close dates, assigned loss reasons, and back-applied segments. Each one substitutes an assumption for an observation, and a model cannot tell the difference.
The principle worth holding onto is that inconsistency does more damage than incompleteness. Every revenue team believes its data is uniquely bad and that this explains the misses. It usually does not. Messy data with stable meaning produces workable predictions, because the bias is consistent and can be corrected for. Backfilling with estimates breaks that stability, since the estimated records follow different rules than the observed ones.
Leave the gap visible. A model handles a missing value far better than it handles a plausible fabrication, and the honest window is what gives forecast accuracy something real to stand on. The same reasoning applies when computing win rate across periods with uneven data capture.
Frequently Asked Questions
How much CRM history does a forecasting model need?
Enough closed deals to describe your conversion behavior across a full seasonal cycle, which for most B2B SaaS teams means two years of closed won and closed lost records with stage, date, and amount intact. Volume matters more than calendar length for high-velocity motions.
Can you reconstruct stage history that was never tracked?
Partially. Field history tracking, audit logs, and stage timestamp fields often hold more than teams expect. What cannot be recovered is stage history from before tracking was enabled, and no reconstruction method can invent it honestly.
Is it worth backfilling amounts on old closed deals?
Only from an authoritative source such as billing or the signed contract. Estimating historical amounts from averages teaches a model your assumptions rather than your business, which is worse than leaving the record out of the training set.
What do you do when history is genuinely unrecoverable?
Mark the boundary date explicitly, exclude everything before it from analysis, and start capturing correctly from today. A clean two-year window beats a five-year window where the first three years are reconstructed guesses.
Does backfilled data hurt forecast accuracy?
Yes when the backfill introduces a pattern that never existed. Filling missing amounts with the segment average makes deal size look artificially consistent, and a model trained on that data will underestimate variance in exactly the deals where variance costs the most.
See how ORM turns these insights into action
ORM builds custom revenue forecast models for B2B SaaS companies. Not dashboards. Prescriptive analytics that tell you what to do next.
Schedule a Demo