A CRM data cleanup is one of those jobs that stays permanently three weeks away. It never becomes urgent, because bad data does not break anything loudly. It just makes the forecast slightly wrong, then noticeably wrong, then something nobody quotes in meetings any more.
This is the ten-day plan our assistants work on a database of around 10,000 records. The order matters more than the effort — get it wrong and you will do most of the work twice.
Why the reporting stopped being true
Nobody entered bad data on purpose. Four ordinary things happened.
People left jobs. Contact data decays at roughly 25 to 30 percent a year as titles change, companies rebrand and numbers get reassigned. That is not neglect — a database nobody maintains is not staying still, it is actively getting worse while you look at it.
Then duplicates arrived, because two people entered the same company differently and neither was wrong. Then stages stopped meaning anything, because “Proposal” came to mean both “sent yesterday” and “sent in March and never mentioned again”. Then owners went stale, and a third of the pipeline ended up assigned to somebody who left.
$12.9M
Gartner’s estimate of the average annual cost of poor data quality per organisation, across wasted effort, missed opportunities and manual correction. A ten-person firm obviously does not lose that — but the shape is identical at any size.
Gartner · data quality research
The order, and why it is not negotiable
Duplicates, then stages, then owners, then notes.
Deduplicate first because every later fix applied to a duplicate is a fix you make twice and reconcile once. Correct a stage on a record that turns out to be one of three copies and you have created a new problem: three records, one right, two confidently wrong, and no way to tell which is which in a month.
Stages before owners, because reassigning ownership of a deal that should have been closed-lost eleven months ago wastes somebody’s week. Owners before notes, because notes are the only step where knowing who owns the account changes what you write.
Any other order is more work. That is the whole argument.
The ten-day plan
One person, full days, roughly 10,000 records. This is a realistic pace, not an optimistic one — and it assumes exports and bulk edits are available to you, which for every mainstream CRM they are.
| Day | Work | Output |
|---|---|---|
| 01 | Full backup. Export everything. Agree the archive rule. | A restore point and a written definition of “archive” |
| 02–03 | Duplicate detection: exact match, then fuzzy on company and domain | Merge candidate list, reviewed not auto-merged |
| 04 | Execute merges. Survivorship rules written down first. | Single record per entity |
| 05 | Stage audit. Anything untouched past your threshold gets challenged. | Stale-deal list with a decision against each |
| 06 | Close or archive the stale ones. Nothing gets deleted. | A pipeline number you can say out loud |
| 07 | Ownership sweep. Reassign, and unassign what nobody should own. | Every active record has a living owner |
| 08 | Contact validation: bounced emails, dead numbers, missing fields | Contactability score for the database |
| 09 | Notes and next actions on everything still active | No active record without a next step and a date |
| 10 | Write the rules that stop it recurring. Book the weekly slot. | A one-page hygiene standard with a name on it |
Day one is not optional
Back up before touching anything. Merges are difficult to unwind and bulk edits are impossible to unwind, and the day you need the restore point is the day you find out you skipped it.
Review merges, never auto-merge
Fuzzy matching will confidently propose merging two genuinely different companies with similar names, and two branches of the same company that should stay separate. A human eye on the candidate list costs a day and saves a fortnight of unpicking.
Write the survivorship rules before you start: which record’s email wins, which one’s owner wins, what happens to conflicting phone numbers. Deciding that fresh on each of four hundred merges produces four hundred slightly different decisions.
Archive, never delete
The record you delete on Tuesday is the one somebody needs on Thursday. Move suspect records to an archived state excluded from reporting and active lists but still searchable. Clean numbers, history intact, and nobody has to explain to a long-standing client why they are being introduced to the company for a second time.
The stage audit is the awkward one
Day five is where people get uncomfortable, because closing stale deals makes the pipeline number go down, and the pipeline number is the one somebody is judged on.
Say it plainly at the start: the number is going to drop, and the drop is not a loss. It is a correction. The pipeline was never that size; it was that size in a spreadsheet.
Pick a threshold that matches your sales cycle — ninety days with no activity is common, thirty for transactional businesses, longer for enterprise. Then apply it without exceptions, because the exceptions are exactly the deals that created the problem. A deal that has not moved in six months is not a deal, it is a memory with a dollar value attached.
Keeping it clean afterwards
A cleanup with no new rule buys you about seven months. Then you do it again, and the second time somebody points out that you already did this, which is a fair point.
Four rules, one page, one named owner:
- Required fields at creation. Not optional, not “fill in later”. The moment of entry is the only moment anyone has the information to hand.
- Duplicate check on save. Every mainstream CRM does this. Most have it switched off because somebody found it annoying in 2021.
- Automatic staleness flag. Anything past the threshold flags itself. It should not require a human to remember.
- Fifteen minutes, weekly, one name. In a calendar. Shared ownership of data hygiene reliably produces no ownership whatsoever.
That fourth rule is the one that actually holds. The other three are configuration, which is easy. A name in a calendar is a decision, which is harder and matters more.
What you get back
A forecast somebody will defend in a meeting. Campaigns that do not send the same email to one person three times under three spellings of their name. And the end of the twenty minutes a day everyone spends deciding which of two records is the real one.
That last one compounds quietly — McKinsey put the time knowledge workers spend hunting for internal information at close to a fifth of the working week, and a database with four versions of the truth is a substantial contributor to that.
The natural follow-on is automating the hygiene itself, so staleness flags and duplicate checks stop depending on anyone remembering: that is covered in the six automations to build first. And if the reason you are cleaning the database is that renewals keep slipping, do the cleanup first — the 90-day renewal calendar only works if the phone numbers are real.
Ten days is a lot of somebody’s time, which is usually why it never starts. That is precisely the kind of work we take on — tell us the size of the database and we will tell you what it takes.
