Practice — Entity Resolution & Record Linkage (6 questions)
Design Blocking for 20 Million Customer Records Permalink →
A retailer has 20 million customer records from a web shop, a loyalty programme and a call centre. Fields: first name, last name, date of birth (often missing), street address, zip code, phone and email (both often missing). Names and addresses are typed by hand, so typos, nicknames and abbreviations are common. You have about 5,000 labelled true duplicate pairs from past manual merges.
- Compute the number of pairs a naive comparison needs and explain why blocking is needed.
- Propose a multi-pass blocking plan: name the keys, say what each one is good and bad at, and say how you would add a fuzzy pass.
- State the metrics you would use to choose between plans and the numbers you would set as a budget.
- Name two ways a block can become dangerously large and what you do about them.
Share this question
Compute a Fellegi-Sunter Match Weight by Hand Permalink →
A Fellegi-Sunter model has a prior match share \lambda = 0.01 among candidate pairs and the following parameters, given for this exercise (they are not measured values):
| Field | Level | m | u |
|---|---|---|---|
| last name | exact | 0.95 | 0.01 |
| first name | nickname or initial | 0.30 | 0.04 |
| date of birth | exact | 0.80 | 0.001 |
| zip | different | 0.20 | 0.98 |
| phone | missing | - | - |
For one candidate pair: last name agrees exactly, first names are "william" and "bill", dates of birth are equal, zips differ, one phone is missing.
- Compute the total match weight in bits and the posterior match probability.
- What contribution does the missing phone make, and why?
- The surname is the rarer "ostrowski" and 0.68 percent of records have that surname. Recompute the surname contribution with a term-frequency adjustment and say what changes.
- Name one reason the posterior from (1) is likely too confident.
Share this question