Forecasting with incomplete CRM data
A usable revenue forecast while your CRM has gaps: which data you can trust, how to correct for what is missing and what to fix first.
With incomplete CRM data, you build a reliable forecast by not using the CRM as your only source. You build the base on what is correct, such as invoices and contracts, use only the CRM fields you can trust, correct for the gaps you can measure and widen your range where you know less. A perfect CRM is not a precondition for a good forecast; knowing where your CRM is wrong is.
How do you forecast revenue without a perfect CRM?
No CRM is complete. That is not a failure of the salespeople, it is the nature of the system. A CRM is built to help salespeople do their work, not to give finance a watertight revenue record. Fields that are not useful to the salesperson get filled in carelessly. Why that is structurally the case is explained in why CRM data is not the same as financial data.
So the question is not how to get a perfect CRM before you start forecasting. The question is: which parts of my CRM can I trust, which can I not, and how large are the gaps?
What gaps does almost every CRM have?
In B2B companies with EUR 2 million to 50 million in revenue, you see the same gaps again and again. Go through them for your own CRM.
- Deals that are never marked as lost. The customer no longer responds, but nobody closes the deal. It stays in the pipeline, sometimes for years.
- Close dates that mean nothing. The date was filled in once and then pushed back a month, endlessly, or it is in the past while the deal is still open.
- Empty or fictitious amounts. A deal of EUR 0, or a round EUR 10,000 entered as a placeholder.
- Revenue that never reaches the CRM. A regular customer calls and orders, and sales support enters it straight into the ERP. Extra work on a project is agreed on site. Expansions at existing customers go through the account manager without a deal.
- Duplicate deals. The same opportunity appears twice, under two salespeople or under two versions of the customer name.
- Stages that mean something different per salesperson. One moves a deal to "Quote" when they are about to write the quote, another when the customer has signed it.
How to review such a pipeline systematically is described in how do you spot an unreliable pipeline.
Step 1: measure the gaps instead of guessing them
Before you correct, you want to know how large each gap is. Four measurements give a good picture in an afternoon.
- How many open deals are older than twice your normal sales cycle? If your cycle is 60 days, count everything that has been open for more than 120 days. That part of your pipeline is largely dead.
- How many open deals have a close date in the past? That is a direct measure of how well dates are maintained.
- What share of the revenue you invoiced to new customers had a won deal beforehand? Put last year's new customers from the accounts next to the CRM. The percentage you find again is your coverage rate.
- How large is the difference between won deal value and invoiced revenue for the same customers? This shows whether deal amounts are realistic, or structurally too high or too low.
The third measurement is the most important and the one done least. It tells you how much revenue your CRM does not see.
Step 2: choose an anchor that is correct
Build the forecast from the bottom up, starting with the most reliable source.
Recurring revenue from the accounts and contracts. Maintenance, licences, subscriptions, regular buyers. This revenue is often missing or poorly recorded in the CRM, but reliably present in Xero, NetSuite, Dynamics, Exact or your billing system. Forecast it from history and contract data, as explained in forecasting from historical revenue.
Signed orders and work in progress. What has been awarded but not yet invoiced sits in the ERP or the project administration. That is near-certain revenue; only the timing is uncertain.
New deals from the CRM. This is the layer where the gaps are. This is where you correct.
Step 3: correct in the forecast, not in the CRM
You do not need to clean up the CRM first to build an honest forecast. You can apply rules in your calculation that absorb the known gaps, while you repair the CRM itself later.
- Ageing. Do not count deals that have been open for more than twice your cycle, or count them only at the historical win rate of such old deals. That rate is often so low that the difference from zero is negligible.
- Close dates in the past. In your calculation, move them to today plus the median remaining cycle time for that stage, not to the end of this month.
- Empty amounts. Fill them in your calculation with the median deal value for that segment, and flag them so you know how much of your forecast rests on such estimates.
- Duplicates. Filter by customer and product, and when in doubt keep the largest.
- What the CRM does not see. Add an item for "unrecorded revenue", based on your coverage rate from step 1.
Worked example: suppose you invoiced EUR 1,800,000 to new customers last year. Of that, you find EUR 1,200,000 back as won deals in the CRM, a coverage rate of two thirds. The rest came in by phone, through existing contacts or through partners, without a deal being created. Your weighted pipeline for new customers, after filtering out old deals, is now EUR 900,000. If that pattern repeats, expected revenue from new customers is closer to EUR 900,000 / (2/3) = EUR 1,350,000. That extra EUR 450,000 is less certain than the rest, so put it on a separate line in your forecast, with its own, wider margin.
It can also go the other way. If your deal amounts are structurally higher than what is later invoiced, because discounts come off after signing or the scope shrinks, you need to adjust the pipeline downwards instead.
Step 4: make the uncertainty visible
A forecast on incomplete data is not necessarily wrong. It is less certain. That belongs in the number. Show the forecast in layers, each with its own level of certainty:
| Layer | Source | Certainty |
|---|---|---|
| Recurring base | Invoicing, contracts | High |
| Signed, still to deliver | ERP, projects | High on amount, medium on timing |
| Corrected pipeline | CRM after corrections | Medium |
| Unrecorded revenue | Coverage rate from history | Low |
With a table like this, a board can decide better than with a single amount that looks more certain than it is. How to turn those layers into a range is covered in forecast confidence explained.
Step 5: repair the source, small and targeted
Alongside the forecast, you work on the CRM. Not with a large clean-up project that stalls after six weeks, but with a few rules that close the biggest gaps.
- A mandatory reason when marking a deal lost, so closing out is easy and yields something.
- An automatic alert for deals that stay too long in a stage, sent to the owner, not the manager.
- No close date in the past on an open deal. Most CRMs, including HubSpot, Salesforce and Pipedrive, can enforce this with a validation rule or a workflow.
- One definition per stage, written down, based on something the customer has done, not on what the salesperson intends to do.
- A monthly comparison between won deals and invoices, so the coverage rate stays visible. This is also one of the first places where revenue leaks, see revenue leakage from data problems.
Every rule you introduce improves your forecast straight away, because a correction in step 3 can get smaller.
Where this fits in the bigger picture
Forecasting with incomplete data is not the exception, it is the normal situation. If you wait for clean data, you never forecast. The complete guide to revenue forecasting explains how this approach connects to the other layers of a forecast.
Frequently asked questions
Can you forecast without a CRM?
Yes. For recurring revenue you only need invoicing and contracts. For new revenue you then use a historical average per month or quarter. That is less precise than a good pipeline, but often better than a bad one.
Do I need to clean up my CRM first?
No. Correct in your calculation for the gaps you can measure, and clean up in a targeted way in the meantime. Making a clean-up project a precondition usually means the forecast never happens.
How do I know whether my corrections are right?
Apply them to the past year, with the data from that time, and see whether the corrected forecast was closer to reality than the uncorrected one. If not, the gap is somewhere else.
Does AI help with incomplete data?
Partly. A model can find patterns in what is there and see which deals resemble dead deals. But it cannot see revenue that is not recorded anywhere. A connection between CRM and invoicing helps more there than a cleverer model.
More in this cluster
- What is revenue forecasting?Start here
- Why are sales forecasts so often wrong?
- CRM forecast vs actual revenue
- How do you build a reliable revenue forecast?
- Forecasting from CRM data
- Forecasting from historical revenue
- AI revenue forecasting explained
- AI forecasting vs traditional forecasting