← All nodes
Data Quality

Duplicate Grouping

Groups rows that share their match keys — exactly, or fuzzily — and keeps one survivor per group: the most complete row, the longest, or the first.

When to use it

Use it to merge duplicate records such as three accounts sharing an EIN, when Deduplicate by Key's exact match misses "12-3456789" vs "123456789" or you want the best-filled row kept rather than the first.

In a pipeline

Settings

SettingTypeRequiredDefault or hint
Match keysselectYesPick at least one column
Matchselect—exact
Similarity (0–1)number—0.85
Keepselect—most-complete
Max comparisonsnumber—5000000

Example

Three accounts, one EIN

  • Match keys=EIN
  • Match=Exact (ignoring case, spaces and punctuation)
  • Keep=Most complete row (fewest blanks)
Accounts
AccountEINPhone
Acme Inc12-3456789—
ACME Incorporated12-3456789555-0100
Acme123456789—
Beta LLC98-7654321555-0199
One row per group
AccountEINPhone
ACME Incorporated12-3456789555-0100
Beta LLC98-7654321555-0199

Worth knowing

  • Each survivor carries its group number in the hidden __group_id column; the note says how many groups were merged and how many rows were removed.
  • Pick Levenshtein, Jaro-Winkler or Soundex under Match to group near-identical keys; the same Max comparisons safety limit as Fuzzy Match applies.
  • Rows whose keys are all blank are never grouped with each other.
  • Ties between equally complete rows go to the earliest one.

Others in Data Quality