Skip to content
DataUntangler

Entity resolution for customer and company records

Entity resolution is deciding which records refer to the same real thing. One person can appear four times across a CRM export, an event list and a billing file. DataUntangler clusters those rows, names the reason they matched, and asks you to confirm before merging.

In-browser your file never leaves your computer

Every row proposed to you before it is applied

CSV log of what you approved and rejected

Clean a file
01 Try it on this page

Load a messy sample and watch it work

The same engine described below, running on your own machine. Nothing is uploaded and nothing is applied until you approve it.

1. Load a file

Your file is read on your own machine. Nothing is uploaded, so nothing can leak.

Or start from a messy sample

Status

Loading the sample file.

File: CRM contact export

Rows

--

Columns

--

Changes

--

Duplicate rows

--

Date formats

--

Blank or invalid emails

--

Load a file to see the diff

Drop a CSV or pick one of the messy samples. Every proposed change appears here as a line you approve or reject.

02 About entity resolution

Resolution is a clustering problem, not a comparison

Comparing two rows is easy. The difficulty is that matches are transitive and inconsistent: row 1 matches row 2 on email, row 2 matches row 3 on name and company, and row 1 and row 3 look nothing alike.

DataUntangler builds each cluster around one anchor row, the record it proposes to keep, and a row joins only when it matches that anchor by a rule it can name. That is how the CRM, event and billing rows below became one person: two matched the anchor on email and on name and company. It is also why a loose chain (A shares an address with B, B shares a first name with C) never turns a whole file into one group.

Choosing the survivor

When rows merge, something has to be kept. The default here is the most complete row, measured by how many fields are filled, with ties broken by file order. That row is shown as the one to keep and the others are shown as merging into it.

You can reject any cluster, which keeps every row as it was. Nothing is deleted from your original file in any case: you download a new file, and the rows you merged away are listed in the audit log with the row they merged into.

Doing it without a pipeline

A production entity resolution system is a real project: blocking strategy, model tuning, a golden record store, an operations plan. It is the right answer when resolution has to happen continuously across systems.

It is the wrong amount of work for a one-off file that needs to go into a new CRM on Friday. That is the case this tool is built for. The pairwise scoring underneath it is fuzzy matching, the version aimed at an account and contact export is CRM data cleansing, and the data cleaning tool runs all of it in the browser. A supplier file headed for a new ERP is the same problem on the payables side, covered under vendor master data cleansing.

One customer across three sources, from a real run

We merged a CRM export, an event list and a billing file into one eleven row CSV and ran the engine on it. Margaret Chen appeared three times. The CRM row and the event row (Maggie Chen, email in capitals with a trailing space) share an email address. The billing row has a personal Gmail address but the same name and company as the CRM row. No pair of rows explains the whole person, yet the engine returned all three as one cluster.

It also stayed out of three places a careless tool walks into. James Porter at Porter Law Office and James Porter at Summit Financial are two people, so they were not proposed. Sarah and Sara Lindqvist at Pinecrest Medical Group were proposed as a close match and flagged for a look, because the emails differ. Every cluster from that run is in the table below, and the matching rules behind them are on the data deduplication tools page.

Entity resolution software compared by category

Most entity resolution software is sold as part of a master data management program, and it is priced and staffed like one. That is the right purchase when records have to stay resolved across live systems every day. It is a heavy purchase when the job is one file, one migration or one quarterly list. Compare the categories on what you actually need this month.

MDM and enterprise matching platform Matching library or API CRM duplicate rules DataUntangler
Joins chains of matches into one entity Yes Yes, if you build it Usually pair by pair Yes, one cluster per entity
Shows why rows matched Yes, in a steward queue Scores only The rule that fired A plain reason per cluster
Works across sources with no shared ID Yes Yes No, one system only Yes, on any CSV or XLSX
Who runs it A data team An engineer A CRM admin The analyst who owns the file
Time to first result Weeks to months Days of code Minutes per rule Minutes, in the browser
Best for Continuous resolution across systems A product that resolves records itself Duplicates that never leave the CRM A migration, import or list that must be defended

Category level comparison, not a review of any one vendor. Check each shortlisted product against the rows that matter to you.

Who buys entity resolution for a file

The people who pay for this are the ones holding the merged file when somebody asks why a customer disappeared: a RevOps lead consolidating two CRMs after an acquisition, a finance analyst joining a billing system to the CRM before a revenue review, or an ops manager loading three event lists into one marketing platform. They need the entities resolved this week and a record of every merge.

The Analyst plan runs unlimited files of up to 25MB each, and Enterprise puts several people on one invoice with a DPA. See pricing, or run the demo above on your own export first. Nothing leaves your browser in the demo.

03 Read it off a real file

Entity clusters from a real engine run on three merged sources

Rows Kept Held together by Confidence Needs a look
2, 3 and 4 Margaret Chen, Harborline Logistics Inc. (CRM) Same email on 2 and 3, same name and company on 2 and 4 Likely Yes, emails and first names differ
5 and 6 David Okafor, Okafor Builders LLC (CRM) Same name and company, different email Likely Yes, emails differ
7 and 8 Sarah Lindqvist, Pinecrest Medical Group (CRM) Close name and company match Likely Yes, emails differ
9 and 10 Not proposed Same name at two different companies None Kept as two people

Row numbers count the header as row 1. The kept row is the most complete one, with ties broken by file order. Acme Corp and Acme Corporation in the person name column with different emails were also left apart.

04 When the pass is done by hand

Three ways a resolution pass leaves the job half done

Resolution done row by row looks finished long before it is. These are the failures that survive it.

Fuzzy matching

Pairs are matched, but never joined

Row 2 matches row 9, row 9 matches row 40, and nobody joins the three. One person leaves the pass as two records instead of one.

The survivor is chosen by position

Keeping the first row keeps whatever the export happened to sort to the top, which is rarely the row with the phone number in it.

The merge cannot be explained afterwards

Two customers became one and the fields that differed are gone. There is nothing to show the account owner who asks what happened to theirs.

What resolving it properly looks like

Matches are joined into one cluster, the most complete row is proposed as the survivor, and every field that differed is kept in the log.

05 Before you run it

Questions about entity resolution

Is entity resolution the same as deduplication?
Deduplication usually means removing repeated rows in one file. Entity resolution is the broader problem of deciding which records describe the same entity, including across sources and with no shared identifier.
Can it resolve companies as well as people?
Yes. Company names are normalized for legal suffixes and punctuation before they are compared, so Acme Corp, Acme Corporation and Acme Corp. cluster together.
How does entity resolution software decide two records match?
It compares several fields at once and weighs them. Here an identical email is the strongest signal, then the same normalized name and company, then a scored close match on name and company. Matches are chained into one cluster, and each cluster names the signal that held it together so you can judge it.
Can it resolve records that share no ID?
Yes. Most cross source files have no shared key, which is why the matching runs on email, name and company instead. In our test file a billing row with a personal email joined the CRM record through name and company alone, while a person with the same name at another firm stayed separate.
Do I need a master data management platform for entity resolution?
Only if records must stay resolved across live systems every day. For a migration, an acquisition merge or a quarterly list, resolving the export and importing a reviewed file is faster and cheaper. You keep an audit log of every merge, which is the part an MDM rollout is usually bought to provide.
06 What it costs

Plans for when the file is bigger than the demo

Yearly billing saves 50 percent. There is no free plan, and no card is needed to use the browser demo above.

Yearly billing saves 50 percent, half the monthly price.

Switch to yearly and save 50 percent.

Analyst

Self-serve

One person with files to clean, as many as they like.

$29$59/mo

Billed $348 a year Billed monthly

Buy Analyst, yearly Buy Analyst, monthly
  • Unlimited files
  • Files up to 25MB, about 100,000 rows
  • Exact and fuzzy duplicate detection
  • Dates, numbers, currencies, encoding and casing fixed
  • Every change reviewable before you download
  • Cleaned CSV and a change log, both downloadable
  • Runs in your browser: files never leave your machine
  • Email support

Enterprise

Several people on one invoice, a DPA on request, priced per seat.

$49$98/seat/mo

Billed $588 a seat a year, from 2 seats ($1,176) Billed monthly per seat, from 2 seats ($196)

Buy Enterprise, yearly Buy Enterprise, monthly
  • Everything in Analyst
  • Several people on one invoice
  • DPA on request
  • Invoicing and purchase orders
  • A named contact for support

Payment is by card through our payment provider, monthly or yearly, and you can cancel from your account at any time. The free try is one file of your own, up to 5MB, in the browser demo. Already paid? Sign in.

Clean the file, and be able to show what you changed

Try the demo on your own CSV first. It runs in your browser, it costs nothing, and no card is required.

No card required. Your file never leaves your computer.

Clean a file