Measuring it so the number means something
Comparing raw strings understates the problem badly. Acme Corp, Acme Corporation, and ACME Corp. are three rows and one company. Normalize first, then match:
| Object | Matching key | Normalization |
|---|---|---|
| Account | Email domain of primary contacts | Strip subdomains, ignore free mail providers |
| Account | Company name | Lowercase, remove punctuation and legal suffixes |
| Contact | Email address | Lowercase, strip plus-addressing |
| Lead | Email plus company | Same rules as contact and account |
What duplicates break downstream
Account duplicates split one customer's history in half. The revenue is real, but it sits under two IDs, so account-level reporting understates the relationship, expansion planning misses the installed base, and two reps can work the same buyer without either seeing the other. Territory rules then assign the halves to different owners, which produces a compensation dispute rather than a data ticket.
Opportunity duplicates are the expensive kind because they inflate the pipeline directly. Two records for one deal count the same dollars twice, which lifts pipeline coverage without adding a single dollar of real opportunity. Coverage was already a weak signal. Duplicate-inflated coverage is a false one.
Cleaning without breaking history
Merging is destructive, so decide the survivorship rules before anyone runs a batch. Keep the record with the longest activity history rather than the most recent create date, preserve the original create date on the surviving record so cohort reporting stays intact, and re-parent open opportunities before the losing record disappears. A merge that silently drops an opportunity turns a hygiene project into a forecast miss.
Run the cleanup in waves, starting with accounts that carry open pipeline. Those records are the ones a current-quarter number depends on, and they are small enough in count that a human can review the merges rather than trusting a match score.
Prevention is the only durable fix
Deduplication without entry controls is a treadmill. The rate climbs back toward where it started because the processes that created the duplicates never changed. Put a match-on-write check in front of form submissions, require a matching key on every import, and make record search the default path for reps instead of the create button.
Clean account structure is what lets sales forecasting roll up correctly and lets forecast accuracy be attributed to the right segment. Duplicates do more than clutter a report. They move revenue into the wrong bucket and hide it there.
Frequently Asked Questions
How is duplicate record rate calculated?
Divide the number of records that match an existing record on a normalized key by the total record count, then multiply by 100. Normalize before matching by stripping punctuation and legal suffixes from company names and reducing email addresses to their domain. Raw string comparison misses most real duplicates because the same company is spelled four different ways.
Which duplicates actually cost money?
Account and opportunity duplicates. A duplicated contact wastes an email. A duplicated account splits the revenue history of one customer across two records, which breaks territory assignment, understates account value in expansion planning, and lets two reps work the same buyer. Opportunity duplicates are worse because they inflate pipeline totals directly.
Should you measure duplicate rate on the whole database?
Measure it separately by object and by segment. A global percentage across two million lead records tells you nothing actionable. Duplicate rate on named accounts, on open opportunities, and on records created in the last 90 days each point at a different broken process.
What causes duplicate records to keep appearing?
Four sources produce most of them. Form fills that create a new lead instead of matching an existing account, list imports without a matching key, integrations writing records with their own IDs, and reps creating a record rather than searching for one. Deduplication cleans the backlog. Only fixing those four entry points stops the rate from climbing back.
Put these metrics to work
ORM builds custom revenue forecast models that turn concepts like duplicate record rate into prescriptive action for your team.
Schedule a Demo