Think Build Implement Repeat
London, UK +44 7367 067226
WhatsApp FOLLOW f in X
Python & Django

Finding the Same Thing Written Differently

Last updated:

Duplicates are near-universal

Every business with more than a few years of records has duplicate customers, suppliers or products. They accumulate through data entry, imports, mergers and systems that do not check.

Duplicate master records are the single most common blocker in integration and reporting projects. Validation against a master with four versions of one customer produces four different answers.

Two stages

  1. Exact matching on identifiers — registration numbers, email addresses, codes
  2. Fuzzy matching on names, addresses and other text, scored and reviewed

The first is safe to act on automatically. The second is not, and should always produce a review queue rather than a merge.

What makes fuzzy matching work

  • Normalise first — case, punctuation, common abbreviations, legal suffixes
  • Compare several fields, not one
  • Weight the fields by how distinctive they are
  • Block on something cheap first, so you are not comparing everything to everything
  • Score, then threshold, then review

Merging is the risky part

ConsiderationWhy
Which record survivesUsually the one with most history
What happens to related recordsThey must all repoint
What if it was wrongMerges are hard to reverse — keep an audit
Who approvesA person, for anything fuzzy
What about external systemsThey may hold the old identifier

Keep a record of every merge and what it combined. Undoing a wrong merge without that record is close to impossible.

Prevent recurrence

Deduplication is a one-off exercise unless the creation process is changed. A check at the point of creation — does something similar already exist? — prevents most of it.

Otherwise you will be running the same exercise again in two years.

Frequently asked questions

How accurate is fuzzy matching?

It finds most genuine duplicates and produces false positives, which is why review is required. Precision improves with more fields compared.

Should we merge automatically?

Only on exact identifier matches. Probabilistic matches need a person, because a wrong merge is expensive.

How long does deduplication take?

A few days to build, then review time proportional to how many candidates there are. Review is usually the larger part.

Can AI help?

Yes — matching things written differently is something models do well, particularly with company names and addresses.

Keep reading

Four versions of the same customer?

That is blocking your reporting and any future integration. Happy to look at the scale of it.

Book a free 30-minute call Get a project estimate WhatsApp us

Related services

What we build for problems like this one

Custom Software DevelopmentWeb DevelopmentMachine Learning