Core-X Solutions
← WritingCRM6 min read

Five CRM data quality checks worth running before you buy another tool

Most CRM problems are not solved by a better CRM. They are solved by finding out how much of the data in the current one is wrong — which takes an afternoon.

Core-X Solutions

When a CRM stops being trusted, the instinct is to replace it or bolt something onto it. Migration projects and enrichment tools both get sold into this moment.

Both can be right. Neither should be decided before you know how bad the data actually is — and finding that out takes an afternoon, not a project.

Here are five checks. They need nothing but exports and a spreadsheet.

Check one: duplicate rate

Export all contacts. Count distinct email addresses. Divide by total records.

What you are looking for: anything above about 5% duplicates is affecting your reporting materially. Above 15%, every per-contact number you produce is wrong, including conversion rates and campaign performance.

The subtler version: count distinct email domains against distinct company records. If you have four hundred contacts at ninety domains but three hundred company records, your account structure is fragmented, which breaks account-level reporting even when contacts look fine.

Check two: source completeness

Take the last five hundred leads. Count how many have a non-empty source or campaign field.

What you are looking for: anything below 90% means attribution is guesswork. And check the distribution, not just the fill rate — if 60% say "Website" or "Other", the field is technically populated and practically useless.

Then check the opportunity. Source completeness on contacts often looks fine while opportunities are almost entirely empty, because the opportunity is a new object that never inherited the field. That gap is invisible in a contact-level check and it is the single most common attribution break we find.

Check three: ownership and orphans

Count records with no owner, and records owned by someone who has left.

What you are looking for: orphaned records are invisible work. Nobody is following up, they do not appear in anyone's pipeline, and they quietly depress your conversion rate because they sit in the denominator forever.

This check frequently surfaces the cheapest revenue available to a business: a few hundred legitimate leads that nobody has contacted because their owner left eighteen months ago.

Check four: staleness

Group open opportunities by last activity date. Count how many have had no activity in 60, 90 and 180 days.

What you are looking for: if a meaningful share of open pipeline has been untouched for three months, your forecast is fiction. Those deals are not open; they are unresolved. The number matters because leadership is making decisions against a pipeline figure that includes them.

Stale pipeline is a reporting problem masquerading as a sales problem, and it is worth separating the two before anyone changes the sales process.

Check five: field discipline

Pick the five fields your reports depend on. For each, count distinct values.

What you are looking for: free-text where there should be a picklist. If "Industry" has 340 distinct values across 900 records, nobody can segment by industry, and any report that tries is silently dropping most of the data into a long tail.

Also count how many of your fields are used at all. A CRM with 200 custom fields and 30 in active use is carrying maintenance cost and confusing every new user, and it is a strong signal that previous cleanup attempts added rather than removed.

What to do with the results

The value is that they change the decision.

High duplicates, good everything else — you have a deduplication job, not a migration. Fix matching rules and merge. Days of work.

Good contact data, empty opportunity sources — you have a field mapping problem. Hours of work, and it unblocks all attribution reporting.

Orphans and staleness dominate — this is process, not tooling. New software will inherit the same behaviour on day one.

All five bad — now a migration is worth considering, because you are rebuilding the structure anyway and carrying the mess across is the expensive mistake.

The point

None of these checks require a project, a tool or a consultant. They require an export and an afternoon.

What they buy you is the ability to walk into the next conversation about CRM spend knowing which of the four situations above you are actually in. That single fact usually saves more money than anything you would have bought.

And if you do end up migrating: run these checks again after the migration. Carrying dirty data into a clean system is the most common way a six-figure project ends up delivering the same reporting problems in nicer packaging.

Common questions

How do I audit CRM data quality?
Export your contacts and opportunities and run five checks: duplicate rate, source completeness on both contacts and opportunities, orphaned or unowned records, staleness of open pipeline, and field discipline on the fields your reports depend on. It takes an afternoon.
What is an acceptable duplicate rate in a CRM?
Below about 5% is manageable. Above 15%, every per-contact metric you produce is materially wrong, including conversion rates and campaign performance, because the denominator is inflated.
Should I migrate CRM or clean the data first?
Clean first, or you carry the same problems into a more expensive system. Migration is only the right first move when structure itself is the problem and you are rebuilding it anyway.
Why do my opportunities have no lead source?
Because an opportunity is usually a new object that does not inherit the contact source unless field mapping was configured. Contact-level checks look healthy while opportunity-level attribution is empty, which is the most common break we find.
  • CRM
  • Data quality
  • Reporting
  • Revenue operations

Have a messy system?

That is usually where we can help.

Tell us what is not working, what is still manual, or what you cannot currently see clearly. If it is not something we should take on, we will tell you that too.

hello@core-x.solutions