Skip to content
Datauntangler

No card required. The browser demo is free to use.

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 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 groups matched rows into a single cluster using a union-find structure, so the whole group is resolved as one entity rather than as a set of pairs. Each cluster carries its strongest match reason, so you know whether it was held together by an email address or by a name similarity score.

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.

03 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.

04 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.
05 What it costs

Plans for when the file is bigger than the demo

Yearly billing is two months free. There is no free plan, and no card is needed to use the browser demo above.

Yearly billing is two months free.

Switch to yearly and two months are free.

Analyst

One ops person or analyst with files to clean.

$49$59/mo

Billed $590 a year Billed monthly

  • 50,000 rows a month
  • Files up to 25MB
  • 1 seat
  • Fuzzy matching and entity resolution
  • Reviewable diff and audit log export
  • 3 saved cleaning recipes
  • Email support

Team

Recommended

A RevOps or marketing ops team sharing the work.

$166$199/mo

Billed $1,990 a year Billed monthly

  • 250,000 rows a month
  • Files up to 100MB
  • 5 seats
  • Everything in Analyst
  • Unlimited saved recipes
  • Scheduled recurring cleans
  • CRM connectors (Salesforce, HubSpot)
  • Priority email support

Business

A data team cleaning for several departments.

$499$599/mo

Billed $5,990 a year Billed monthly

  • 1,500,000 rows a month
  • Files up to 500MB
  • 20 seats
  • Everything in Team
  • API access
  • Roles and permissions
  • Priority email support

Enterprise

A head of data who needs it defensible across the company.

Talk to sales

Custom terms, invoicing and PO

  • Unlimited rows and custom file sizes
  • Unlimited seats
  • Everything in Business
  • SSO (SAML / Okta)
  • Custom data retention
  • DPA on request
  • Named support contact
  • Invoicing and PO
  • Named onboarding

A row is one data line in a file you process, not counting the header. The browser demo is free to use and is not a plan: it reads CSV and TSV files up to 5MB on your own machine.

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