The Outlier Lab

Entity Resolution

Resolving accounts, people, devices, payment instruments and addresses into entities: deterministic and probabilistic matching, blocking, thresholds, households, and avoiding false rings from shared infrastructure.

Core components

Identity vs relationship

The most important design decision is to keep two questions apart:

  • Entity resolution: are these two records the same thing? (The same person, the same device, the same bank account.)
  • Linkage: are these two entities related? (Two people share a device, two accounts pay out to the same bank account.)

ER produces nodes, and linkage produces edges. If you collapse relationships into identity ("they share a device, so they're the same customer"), you can't tell a household from a controller, and every downstream feature inherits the error. Store both, with types and confidence, and let Graph Analytics and Entity Link Analysis reason about the edges.

Diagram: Records: sign-ups, KYC, logins, bank links, payouts, receipts, Normalize and standardize, Blocking: candidate pairs, Score pairs: deterministic and probabilistic, Threshold, Same entity, Clerical review, Different entities, Cluster into entity IDs, Graph: entities plus typed relationship edges

What you're resolving

EntityTypical recordsStrong keys (after normalization)Fuzzy attributesGotchas
Person or identityApplications, KYC results, profilesVerified government ID number (hashed), document numberName, date of birth, address, phone, emailTwins, Jr./Sr., data-entry errors, name changes, Synthetic Identity Fraud (one ID number with many names, or one name with many ID numbers)
HouseholdShared address, shared instruments, joint accountsJoint account membershipAddress, surname, shared devicesA household is its own entity type, separate from the people in it. Shared resources are expected.
DeviceDevice and app-instance IDs, fingerprints, attestation resultsHardware-backed or platform-held identifiers, where availableFingerprint componentsResets and OS updates change IDs; families share devices; Device Farms and Emulators manufacture many "devices." See Device Fingerprinting.
CardCard-on-file records, wallet tokensProcessor or network card fingerprintBIN, expiry, nameNetwork tokens differ by wallet and merchant, so one card can appear as many. See Payment Instrument Signals.
Bank accountFunding links, payout destinationsRouting plus account number, normalizedAccount holder namePooled "for benefit of" accounts at fintechs put many customers behind one routing and account number. See Bank Account Ownership Verification.
Payout destinationBank, debit card for push payments, wallet email, gift card delivery email, crypto addressThe destination identifierHolder nameMoney has to land somewhere, so this is one of the most valuable entity types. See Payout Destination Intelligence.
AddressShipping, billing, KYCUSPS-standardized address with unitFree-text variantsMissing unit numbers, dorms, military bases, care homes, commercial mail receiving agencies, freight forwarders. See Address Risk Signals.
Email and phoneContact recordsNormalized valueNoneProvider-specific aliasing conventions, recycled phone numbers, VoIP. See Email Risk Signals, Phone Risk Signals.
Receipt or documentUploaded receipts, statements, ID imagesStore + transaction ID + date + total; image hashLayout, metadataReprints and duplicates, edited copies. See Receipt and Document Image Forensics.
Merchant, seller or counterpartyMerchant descriptors, seller accounts, P2P payeesMerchant ID, seller tax IDDescriptor textDescriptor variants for one merchant; one person operating several seller accounts

Deterministic matching

Exact matches on normalized keys: same verified bank account, same card fingerprint, same device identifier, same government ID number.

  • Strengths: fast, explainable, and high precision with strong, verified keys. It runs comfortably in real time.
  • Weaknesses: brittle. Typos, formatting differences and partial data break it, and adversaries vary attributes on purpose. A deterministic-only system under-merges exactly the records you most need merged.
  • Normalization is most of the work: casing, whitespace, punctuation, address standardization, phone formatting to a single standard, removing known placeholder values. Keep the raw value too, for investigations.

Probabilistic matching

The Fellegi-Sunter model (1969) is still the workhorse. For each compared field:

  • m = probability the field agrees when the records are a true match (less than 1, because data has errors and people change phones)
  • u = probability the field agrees by chance when they don't match (roughly how common the value is)
  • Agreement weight = log₂(m/u); disagreement weight = log₂((1 − m)/(1 − u))
  • Sum the weights across fields. Above an upper threshold, link. Below a lower threshold, don't. In between goes to clerical review.

Parameters can be estimated without labels using expectation-maximization, which matters because labeled match/non-match pairs are scarce. Open-source implementations make this practical at scale. The UK Ministry of Justice's Splink, for example, reports linking a million records on a laptop in about a minute and use on more than 100 million records (see Open Source Tools for Fraud Teams).

Supervised and embedding approaches (a classifier on pair features, learned representations for names and addresses) can beat Fellegi-Sunter when you have good labels, but they're harder to explain. For fraud, explainability matters: an analyst has to be able to say why two accounts were treated as one controller.

Blocking

Comparing every record with every other grows quadratically: 10 million records means about 50 trillion pairs. Blocking compares only records that share a blocking key: same normalized last name and birth year, same postcode, same bank account, same device.

  • Use several blocking passes (an OR of rules) so a true match that differs on one key is still caught by another. Each pass trades speed for recall.
  • Watch block sizes. Common values create enormous blocks: a carrier's shared IP pool, a default "N/A" phone, a test device, a freight forwarder's address. Cap block sizes and keep an exclusion list of known shared or junk values.
  • Real-time ER is blocking by index. At sign-up, bank link or payout-destination change, look up candidates by strong keys, score them, and attach the record to an existing entity or create a new one, within your latency budget (Real-Time Decisioning Architecture).

Thresholds by use case

One threshold doesn't fit every consumer of ER. Set them by the cost of being wrong:

UseError that hurts mostThreshold posture
Merge identities for KYC or customer recordsFalse merge (wrong person's data combined)Very high precision; clerical review for the middle band
Entity-level velocity and exposure capsUnder-merge (a controller gets many limits)Moderate; combine with relationship edges
Deny-list enforcement (Negative Lists and Deny Lists)False merge (a good customer blocked)Very high precision; prefer step-up or review to hard deny on weaker matches
Investigation leadsMissed leadLower precision is fine; a human reviews
Model featuresBoth, via label noiseUse match scores as features alongside binary merges

Clustering and the chaining problem

Pairwise matches become entities by clustering. The naive method, connected components, is transitive: if A matches B and B matches C, then A, B and C are one entity even if A and C share nothing. A few weak links can chain thousands of records into one giant component.

Mitigations:

  • Don't chain on weak evidence. Shared IPs and behavioral similarity are relationship edges, never identity merges.
  • Require cluster coherence, for example a minimum average pairwise score inside the cluster, or a rule that every member matches at least two others.
  • Cap component size for identity entities, and route oversized components to review.
  • Break weak bridges. A single edge connecting two dense groups is often a shared-infrastructure artifact.
  • Monitor the size distribution. A sudden jump in the largest cluster usually means a new shared value (a vendor's proxy, a new carrier pool) slipped past the exclusion list.

Shared infrastructure that causes over-merging

Source of false linksWhy it happensTreatment
Mobile carrier IP pools, corporate and campus networks, VPNs and privacy relaysMany unrelated people share egress IPsIP is never an identity key. Use it only as a time-windowed relationship edge. See IP Reputation and Proxy Detection.
Family and shared devices; kiosks; resold phonesLegitimate multi-user devicesCombine device with login behavior; household entity type
Apartment buildings without unit numbers, dorms, bases, care homes, sheltersAddress standardization drops units, or many residents share one addressAddress type as an attribute; don't merge people on address alone
Commercial mail receiving agencies and freight forwardersMany customers, one addressFlag address type. These are also fraud hubs, so treat address type as a risk attribute and never as an identity key.
Joint, family and business bank accounts and cardsLegitimate shared instrumentsJoint-account metadata; household entity
Pooled bank accounts at payment and fintech providersOne routing/account number for many end usersUse virtual or sub-account identifiers; exclude pooled accounts from identity keys
Recycled phone numbers and reassigned emailsContact points change handsTime-bound edges; carrier reassignment data where available
Placeholder and default values"N/A", test values, data-entry defaultsExclusion list; data quality monitors (Fraud Data Architecture)
Common namesHigh uTerm-frequency adjustment

Over-merging also has a fairness cost. Shared addresses and devices concentrate in multi-family housing, lower-income areas and immigrant communities, so false rings can produce discriminatory outcomes. Review cluster-driven actions for disparate impact (Privacy and Data Use in Fraud Prevention).

Under-merging from varied attributes

Controllers deliberately vary names, emails, devices and addresses so records don't match. The answer is to rely on evidence that's expensive to vary, while keeping identity thresholds where they are:

  • Value endpoints. Funding sources, payout destinations, cards and crypto addresses. Money has to land somewhere (Payout Destination Intelligence).
  • Artifacts. Reused documents, receipts and images.
  • Behavior and timing. Similar navigation, creation windows and transaction patterns, as supporting evidence on edges (Behavioral Biometrics, Session Behavior Anomalies).
  • Graph structure. Many accounts converging on few exits is a farm signature even when every account looks distinct (Graph Analytics).

FINRA's 2022 notice on small-cap IPO fraud lists exactly this kind of central-control evidence across nominee brokerage accounts: similar opening dates, shared referral sources or contacts, the same bank information or IP addresses, and near-identical funding amounts.

Temporal correctness and provenance

  • Entity IDs change. Merges and splits happen as evidence arrives. Keep the history of which record belonged to which entity, and when.
  • Point-in-time features. Training features must use entity membership as of the event time. Otherwise a merge discovered later leaks the label into the feature.
  • Edge provenance. Record which fields, rule or model version, and timestamp produced each match or link.
  • Edge expiry. IP and session edges should age out in hours or days. Bank account and identity edges persist.
  • Splits are features too. An entity that keeps getting split by clerical review is telling you a blocking key or exclusion list is wrong.

Industry lens

IndustryKey entitiesTypical legitimate overlapWhat ER enables
Brokerage and InvestingVerified persons, joint/custodial/trust accounts, funding and withdrawal bank accounts, ACATS counterpartiesMany accounts per person by designCentral-control detection for nominee accounts; ACATS Transfer Fraud linkage; Ramp-and-Dump via Account Takeover cluster views
Cashback, Coupons and RewardsDevices, receipts, payout emails and accounts, householdsFamilies sharing shopping and devicesReceipt Fraud (Cashback) duplicates across accounts; Referral Abuse rings; Multi-Accounting
Online MarketplacesBuyers and sellers across roles, shipping addresses, payout accountsBuyers who become sellersBuyer-seller collusion; Triangulation Fraud; seller re-registration after bans
Neobanks and Consumer FintechPersons, external bank links, payees, cardsJoint accounts, shared family fundingMoney Mules (many senders converging on one receiver); Synthetic Identity Fraud; Bust-Out Fraud clusters
Payments and P2PSenders, receivers, instrumentsRoommates and families paying each otherScam and mule receiver networks; Authorized Push Payment (APP) Scams payee risk
Retail and EcommerceGuest checkouts, cards, shipping addresses, loyalty accountsGifting; shared addressesRepeat Refund and Return Fraud across identities; reshipper patterns

How to build it

StageWhat it looks likeNext step
1. Account-levelEvery control keys on account IDNormalize strong keys; build deterministic links on bank account, card fingerprint, device
2. Deterministic entitiesNightly batch clusters on strong keys; exclusion listAdd probabilistic person matching; clerical review queue
3. ProbabilisticFellegi-Sunter or supervised scoring; multi-pass blocking; thresholds by use caseReal-time incremental resolution at key decision points
4. Real-time and temporalEntity IDs served at decision time; point-in-time history; edge provenance and expiryEntity-level velocity, exposure and deny lists
5. NetworkedER feeds a typed graph; cluster features in models; investigation views; consortium matching on hashed identifiers (Consortium and Data Sharing)Continuous evaluation, fairness review

Ownership typically sits with fraud data engineering and data science, with investigations as the main source of labels (confirmed same-controller and confirmed household decisions) and privacy and legal reviewing what may be matched and retained.

Artifacts and templates

ER specification (one per entity type)

FieldExample
Entity type and purposePerson: identity merges for KYC and entity-level limits
Source recordsApplications, KYC results, profile updates
Normalization rulesName casing and punctuation; USPS address standardization; phone to one format
Strong keysVerified ID number (hashed); document number
Comparison fields and methodName (fuzzy, term-frequency adjusted), DOB, address, phone, email
Blocking passesLast name + birth year; postcode + DOB; phone; email
ThresholdsUpper (merge), lower (non-match), clerical band
Clustering ruleCoherence requirement; maximum component size
ExclusionsPlaceholder values; pooled accounts; known shared addresses
Edge expiryNot applicable for identity; IP edges 24–72 hours (illustrative)
Evaluation set and ownerLabeled pairs from investigations; quarterly review

Monthly ER health review

  • Precision and recall on the labeled pair set, by entity type
  • Ten largest clusters reviewed by a human
  • New high-frequency values added to the exclusion list
  • Clerical review volume and agreement rate
  • Merge and split counts, with reasons
  • Cluster-driven actions reviewed for disparate impact
  • Downstream lift: entity-level vs account-level rule precision

Metrics

MetricWhy
Merge precision and recall on labeled pairsCore accuracy
Cluster size distribution; largest componentsEarly warning of chaining
Clerical review volume and reviewer agreementThreshold placement; cost
Split rate after mergeOver-merging
False-ring rate: clusters closed by investigators as legitimate households or shared infrastructureReal-world cost of over-merging
Coverage: share of records with an entity ID at decision timeReal-time readiness
Resolution latency at decision pointsFit for the latency budget
Downstream lift on entity-level controlsWhether ER is paying for itself

Pitfalls

  • Merging records on a relationship, such as a shared device or IP, as if it proved identity.
  • Transitive closure on weak links, which produces giant components and false rings.
  • Using one threshold for every use. Deny lists need far more precision than investigation leads.
  • Ignoring pooled and shared infrastructure. One fintech's pooled account or one carrier's IP pool can link half your customer base.
  • Keeping no temporal history. Features leak future merges into training data, and decisions can't be reconstructed.
  • Having no labels. Without investigator-confirmed pairs you can't measure precision, so you can't tune.
  • Relying on deterministic-only matching, which is precise on clean data and blind to the adversaries who vary attributes on purpose.
  • Acting on clusters without review. Bulk enforcement on a cluster without a human checking the largest and weakest links is how false rings become customer harm (Playbook - Fraud Ring Investigation Members).

Sources and further reading