TL;DR
- Duplicate rate per object shows how much of each CRM object is duplicated.
- New duplicates per week or month show whether your sources still create them.
- A high share of rejected matches can mean a duplicate search is too loose.
- No universal healthy duplicate rate exists, so compare with your own earlier numbers.
- Dedupely shows the number of matches and records each duplicate search finds, and logs every merge.
After a cleanup, someone usually asks whether the CRM is clean now. It's a fair question, and a hard one to answer with a feeling.
Keeping a CRM clean is ongoing work. Forms, imports and integrations keep adding records, and some of them will be duplicates. What you can measure is how many duplicates you have, where new ones come from and how quickly they're handled.
In this post, you'll see which metrics show your CRM getting cleaner, what each one tells you and when to look. The numbers work for a cleanup project, for a regular audit and for a report to leadership.
Decide what you're measuring first
Every metric in this post depends on what your team counts as a duplicate. That's case by case: what one team considers a duplicate, another may not.
Two contacts with the same name at the same company are one person for some teams and two for others. Write your definition down per object, and keep it fixed between measurements. If the definition changes, the numbers before and after aren't comparable.
Metrics for how many duplicates you have
Duplicate rate per object
The duplicate rate is the share of an object's records that are extra records in a duplicate set. Measure it separately for contacts, companies, leads and deals, since each one duplicates for different reasons.
Our guide on how to find out how many duplicates your CRM has walks through the calculation with an example. Once you have a first number, it becomes your baseline.
Duplicates per search
A single rate hides what kind of duplicates you have. Break it down by the searches that found them: exact email matches, name and company matches, matches on a company's core domain.
The obvious duplicates, like exact matches on email or domain, should fall first. If they don't, the cleanup hasn't covered the basics yet.
Records missing the field that identifies them
A contact without an email or a company without a domain is hard to match. Count those records per object. A rising number means future duplicates will be harder to find, even if today's rate looks fine.
Metrics for where duplicates come from
New duplicates per period
Count the duplicates created since your last check, per week or per month. This is the metric that tells you whether the sources are under control.
A falling backlog with a steady flow of new duplicates means you're cleaning faster than the CRM fills up. It doesn't mean the problem is solved.
New duplicates by source
Group new duplicates by creation date, record source or the integration that created them. A cluster on one day often points to an import. A steady trickle can point to a form or a sync.
Each source with a recurring pattern is a candidate for automatic merging, if you're certain of the matches. Sources that spike after a change need an extra check.
Metrics for how duplicates are handled
Merges per period
Count the merges made in each period, by object. Next to new duplicates, it shows whether the backlog is shrinking.
Keep a record of every merge with the original values. It's how you answer "what happened to this record?" months later.
Rejected matches
A rejected match is one you're certain isn't a duplicate, like two branches of the same company. Reject it once, and it stops coming back.
Track the share of reviewed matches rejected in each search. A high share can mean the criteria are too loose. A low share says little if most matches are unreviewed. Before automating, review a representative sample, check for false matches and test the resulting records.
Sets waiting for review
Unclear matches belong in review before anyone merges them. Count how many sets are waiting and how long the oldest has been there. A review list that only grows often means nobody owns it.
Risky matches held back
Some matches are risky by nature, such as very large sets or records with placeholder data like test@test.com. Count how many are held back. A sudden jump can point to a new source filling fields with example values.
Signals from the people who use the CRM
Numbers from the data tell you how many duplicates exist. Your team tells you what they cost.
- Reports that count the same customer twice.
- Disputes between reps over who owns an account.
- Contacts who receive the same email more than once.
- A CRM bill that grows with duplicate records.
The main consequence behind all of these is lost trust in the CRM. When reps stop believing the data, they keep their own lists, and those lists create more duplicates.
CRM duplicate metrics at a glance
| Metric | What it tells you | When to look |
|---|---|---|
| Duplicate rate per object | How much of each object is duplicated | Before a cleanup, then at every audit |
| Duplicates per search | Which kinds of duplicates remain | During a cleanup |
| Records missing the identifying field | How hard future duplicates will be to find | At every audit |
| New duplicates per period | Whether sources still create duplicates | Weekly or monthly |
| New duplicates by source | Which form, import or sync to fix | Weekly or monthly, and after a new integration |
| Merges per period | Whether the backlog is shrinking | Weekly or monthly |
| Rejected matches | Whether a search is too loose | When you change a search |
| Sets waiting for review | Whether unclear matches have an owner | Weekly |
| Risky matches held back | Whether placeholder data is coming in | At every audit |
How often you check depends on how many records arrive. Our post on how often to deduplicate your CRM covers choosing a cadence.
How to read the numbers
There's no universal healthy duplicate rate to compare against. The useful comparison is your own number over time, object by object.
Read the metrics together. A falling duplicate rate with steady new duplicates means the cleanup works, but a source still needs fixing. A rising share of rejected matches after a search change often means the new criteria are too loose.
When you report to leadership, a few numbers are enough: the rate before and after, merges made and new duplicates per month. Our guide to making the case for a CRM cleanup shows how to turn them into an argument.
How Dedupely helps you measure a clean CRM
Every duplicate search in Dedupely shows the number of matches and the number of records in those matches. Every merge is recorded in a history you can filter by object and date, and rejected and excluded matches stay in their own lists. With a duplicate report every week by default, you have the numbers for duplicates found, merges made and matches rejected.
Measure the trend over time
A clean CRM is one where duplicates are found, merged and kept from coming back at a pace your team controls. One number can't show that. A handful of metrics can: the rate per object, new duplicates by source, merges, rejected matches and what waits in review.
Measure them against your own earlier numbers, with a definition of a duplicate that stays the same. Over time, the trend shows whether the cleanup worked and whether your sources are under control.
Frequently asked questions
How do you calculate the duplicate rate in a CRM?
Count the extra records in each duplicate set, which is the records in the set minus the one that survives. Add them up for one object and divide by that object's total records. Measure each object separately, since contacts, companies, leads and deals duplicate for different reasons.
What metrics show CRM CRM accuracy?
For duplicates, track the duplicate rate per object, new duplicates per period and by source, merges made, rejected matches and sets waiting for review. Records missing the field that identifies them, like email or domain, show how hard future duplicates will be to find. Team signals like double-counted reports complete the picture.
Which CRM CRM accuracy metrics should you report to leadership?
Report a few numbers that show change over time: the duplicate rate before and after a cleanup, merges made and new duplicates per month. Add the sources that create the most new duplicates, since those point to the next fix. Keep the definition of a duplicate the same between reports.
How often should you measure CRM duplicates?
It depends on how many records arrive: teams with steady sources like forms or integrations check new duplicates weekly or monthly. Measure the duplicate rate before a cleanup, after it and at every audit. Add a check after a new integration or a large import, since both can change the numbers quickly.










