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.
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.
2. Review every change
Nothing approved yet.
Nothing is applied to your file until you approve it, and your original file is never modified.
Proposed changes
Original Proposed
Duplicate clusters
Merge or keep both
Want this on every file, and on bigger ones?
The free try is one file of your own. The Analyst plan cleans as many files as you need, up to 25MB and about 100,000 rows each, for $59 a month or $348 a year.
3. Take the result
The cleaned CSV contains only the changes you approved. The log lists every change, approved or not.
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.
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.
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 matchingPairs 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.
Questions about entity resolution
Is entity resolution the same as deduplication?
Can it resolve companies as well as people?
How does entity resolution software decide two records match?
Can it resolve records that share no ID?
Do I need a master data management platform for entity resolution?
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-serveOne person with files to clean, as many as they like.
$29$59/mo
Billed $348 a year Billed 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)
- 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.
Related pages
- Fuzzy Matching Tool for Names and Companies
- Data Deduplication Tools for CSV and Excel
- CRM Data Cleansing Before Import or Migration
- Data Quality Tools and Software Compared
- Data Cleaning Software for CSV and Excel Files
- Data Hygiene for Contact Lists and CRM Records
- Excel Data Cleaning Tool Without Formulas
- Data Cleaning Services vs Doing It In House
- Address Standardization and Cleansing Software
- Salesforce Deduplication and Data Cleaning Tool
- HubSpot Deduplication to Merge Duplicate Contacts
- Zoho CRM Deduplication to Merge Duplicate Contacts
- Pipedrive Duplicate Contacts Deduplication Tool
- NetSuite CSV Import With Clean and Deduped Files
- Data Scrubbing Software and Tools for CSV Files
- Mailchimp Duplicate Contacts Across Audiences
- Constant Contact Duplicate Contacts and Emails
- Klaviyo Duplicate Profiles and Merge Profiles
- ActiveCampaign Duplicate Contacts and Merge Contacts
- QuickBooks Online Merge Vendors and Customers From One List
- Merge Customers in QuickBooks Desktop and Merge Vendors
- Salesforce Merge Accounts in Bulk from One Reviewed List
- Salesforce Merge Contacts and Merge Leads From One Reviewed List
- HubSpot Merge Contacts and Companies From a Reviewed List
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.