Fuzzy matching identifies records that describe the same company or person even when the stored values differ. Exact matching fails on real CRM data because humans type company names inconsistently, and every list import, form fill, and manual entry introduces a new variant of a name already in the database.
Why exact matching misses so much
A single company arrives in a CRM under many spellings. Legal suffixes get added or dropped, punctuation varies, and abbreviations get expanded. An exact-match duplicate check sees each variation as a new account and creates one.
- Acme Corp, Acme Corporation, and Acme Corp. - Northwind Traders and Northwind - IBM and International Business Machines
None of these match on a character-for-character comparison, and all of them are one account. The result is a duplicate record rate that a standard duplicate report never surfaces, along with split pipeline that makes each fragment of the account look smaller than it is.
How similarity scoring works
Fuzzy matching normalizes both values, then measures the distance between them. Normalization does most of the work: lowercase the string, strip punctuation, and remove legal suffixes such as inc, llc, gmbh, and ltd. After that step, many pairs match exactly and never need scoring.
For the remainder, an edit-distance or token-based algorithm returns a similarity score between zero and one. Token approaches handle word reordering well, which matters for names entered as "Trading Northwind" or with a division appended.
Set two thresholds, not one
One threshold forces a bad tradeoff. Set it high and duplicates survive. Set it low and distinct subsidiaries get merged into a single account, which destroys the territory split and the contract history.
| Score band | Action | Typical outcome |
|---|---|---|
| Domain match, any name score | Auto-merge | Safest single signal in B2B |
| 0.95 and above | Auto-merge | Formatting differences only |
| 0.80 to 0.94 | Review queue | Real duplicates mixed with subsidiaries |
| Below 0.80 | No action | Common words drive the score |
Require a second signal
Name similarity alone produces the merges you regret. Pair it with corporate domain, billing city, or a shared parent account before allowing anything automatic. The pattern that catches most false positives is a high name score with different domains, which usually means separate legal entities inside one corporate family.
The same logic drives lead to account matching, where an inbound lead has to attach to an existing account before routing runs. Getting the match right there prevents the duplicate from being created in the first place, which is cheaper than merging it later and keeps account-level pipeline whole for pipeline coverage reporting.
Frequently Asked Questions
What is fuzzy matching in a CRM?
It is matching that tolerates difference. Instead of requiring two values to be identical, the system scores how similar they are and treats anything above a threshold as the same entity. Acme Corp and Acme Corporation score high enough to match, while an exact-match query treats them as unrelated companies.
What similarity threshold should you use for account matching?
Use two thresholds rather than one. Set a high bar for automatic merges, around 95 percent similarity plus a matching corporate domain, and a lower bar around 80 percent that routes candidates to a review queue. Everything below the lower bar stays separate. A single threshold forces a choice between missed duplicates and bad merges.
Why does fuzzy matching create false positives?
Because similar names often belong to genuinely different entities. Regional subsidiaries, franchises, and companies sharing a common word all score high on name similarity. Requiring a second signal, usually corporate domain or billing address, removes most of these before they reach a merge.
Should you match on company name or email domain?
Domain first, name second. Domains are short, stable, and near-unique, so they resolve most records with no similarity scoring at all. Reserve fuzzy name matching for the records that have no usable domain, which is typically list uploads, event scans, and contacts using personal email addresses.
Put these metrics to work
ORM builds custom revenue forecast models that turn concepts like fuzzy matching for crm records into prescriptive action for your team.
Schedule a Demo