Module 15 of 52 · Modelling and statistics

Master data and entity resolution

30 min 5 outcomes Linkage walk-through + ordering challenge 6 sources cited

By the end of this module you will be able to:

  • Define master data against transactional and reference data
  • Explain why entity resolution is hard without shared identifiers
  • Describe probabilistic record linkage at the Fellegi-Sunter level of intuition
  • Define golden record and survivorship, and say who owns the rules
  • Name Splink as the worked public-sector implementation

From duplicate records to one golden record through one gate

Standardise, block, compare and score end at a gate with two routes, and the grey band is the second one, so a pipeline drawn with only the automatic route has to set a threshold that either merges two people or leaves one person split in two.

Entity resolution is standardise, block, compare and score, then a gate with two routes: link the confident matches and send the grey band to a person who rejoins the same link step. A pipeline with only the automatic route merges the wrong people quietly.

From duplicate records to one golden record through one gate A gated chain. Down the left, five numbered cards: Source records, Standardise, Block, Compare, Score, joined by arrows labelled records as captured, one value per field, candidate pairs, agreement pattern. An arrow labelled match weight carries the score into a red-tinted decision diamond asking whether the match weight is above the threshold. Two routes leave it. Above threshold runs down into a Link card and on, by an arrow labelled one surviving record, into the emphasised Golden record card. In the grey band runs right and down into a Human review card, whose route is sent back to link, rejoining the Link step from below. A red-accent note above the gate explains the grey band. ENTITY RESOLUTION · ONE CHAIN, ONE GATE, TWO ROUTES Source recordsone person, three systems1 Standardisecase, spacing, addresses2 Blockcompare plausible pairs only3 Comparefield by field agreement4 Scoreweights sum to one number5 records as captured one value per field candidate pairs agreement pattern WHY THE GATE HAS TWO ROUTESThe grey band is a design choiceSet the threshold too low and you merge two people.Set it too high and one person stays split in two.The band between is what a person is paid to judge. GATEMatch weightabove threshold? MATCHEDLinkone id for the pair GREY BANDHuman reviewa person decides OUTPUTGolden recordone identity, sources kept match weight above threshold in the grey band sent back to link one surviving record

Survivorship: which source wins each field, and why

Each field is won separately, under its own rule, system of record, most complete, most recently updated or highest trust tier, so the merge is only defensible if the rule and the value it beat are stored beside the survivor.

A golden record is assembled field by field, and each field needs a stated survivorship rule: system of record, most complete, most recently updated, or highest trust tier. Record the rule and the value it beat, or the merge cannot be defended later.

Survivorship: which source wins each field, and why A panel board. A grey key column names four fields: Legal name, Postal address, Contact number, Consent state. Three source cards sit beside it, CRM, Billing and Support, each holding a different value for the same four fields. A red tint marks the value that wins in each source. Four arrows run down into the emphasised Golden record card below, each labelled with the rule that chose the winner: most complete, highest trust tier, system of record, and most recently updated. The golden record lists the surviving value and the source that won it. A legend explains the tint, and a red-accent note reads that an unexplained golden record is a liability. SURVIVORSHIP · WHICH SOURCE WINS EACH FIELD, AND WHY FIELDLegal namePostal addressContact numberConsent state CRMfull legal formfull postal addressmobile, last yearaudit trail held BILLINGname on the invoicebilling site onlylandline onlynot captured SUPPORTname as spokenno address heldmobile, this weeknoted in a ticket most complete highest trust tier system of record most recently updated GOLDEN RECORDLegal namename on the invoicewon by BillingPostal addressfull postal addresswon by CRMContact numbermobile, this weekwon by SupportConsent stateaudit trail heldwon by CRM Red tint marks the value that won its field and the record it survived into. An unexplained golden record is a liabilityStore the rule and the losing value beside every field that survived.

Three systems, three customer counts, and a board meeting that cannot start.

A utility runs three systems that hold people. The billing platform holds account holders. The field service system holds site contacts. The contact centre holds everyone who has ever telephoned. Asked how many customers the business serves, the three systems return 1.9 million, 2.4 million and 3.1 million. Each answer is correct within its own system. None of them answers the question that was asked.

The gap is not arithmetic. It is that no system records the same person under the same identifier, so nobody can say whether Ms A Okafor at Flat 3 in the billing system is the same human being as Amina Okafor at 3 Marsh Court in the service system. Until that question has a defensible answer, every count, every spend total, every retention figure and every contact attempt is wrong in a way no dashboard reveals.

Nobody has miscounted. Each system is internally consistent. So why do the three numbers disagree, and which one should the board believe?

Most organisations discover this problem from the outside, in the form of a disagreement they cannot settle. Two directors quote different customer numbers. A regulator asks how many people were affected by an incident and the answer depends on which extract you run. A person asks to be erased and the erasure lands in one system while five copies of them carry on receiving post. Behind each of those is the same missing capability: the organisation cannot say which records describe the same real thing.

Before you can resolve entities you have to know which data is describing an entity at all. Master data, transaction data and reference data behave differently and fail differently, and treating all three the same is how the argument starts.

15.1 Master, transactional and reference data

is the small set of business entities that many systems must refer to consistently: customers, patients, suppliers, products, sites, assets, employees. It is the noun layer of the organisation. It changes slowly, it is referenced everywhere, and when two systems disagree about it every report built on either one becomes suspect.

Transactional data records events. A payment, a meter read, a hospital admission, an order line. Each row is a thing that happened at a time, and almost every row points at one or more master data entities. Transactional data is high volume, append-heavy and rarely disputed on its own. It becomes disputed when the entity it points at turns out to be ambiguous, because then the aggregate is ambiguous too.

is the controlled list of permitted values used to classify the other two: country codes, currency codes, tariff types, meter point classifications, diagnosis codes. Reference data has a publisher, a version and a change announcement. It looks trivial until two systems hold different vintages of the same list, at which point every join between them is quietly wrong in a way that produces plausible numbers rather than obvious errors.

The practical test is what breaks when the value changes. Change a transaction and you have corrected one event. Change a reference code and you have reclassified a population. Change a master data record and you have changed who the organisation thinks it is dealing with, which is why master data changes need an owner, an audit trail and a rule about who is allowed to make them.

There is a definitional step that comes before any of this, and skipping it is what makes the later work impossible. The word customer has to mean one thing. Is a customer a person, a household, a legal entity, a billing account or a supply point? An energy retailer that treats the customer as a supply point will report two customers for a couple who hold gas and electricity separately. One that treats the customer as a person will report one. Neither is wrong, but only one of them can be the answer the board is given, and the choice has consequences for consent, for arrears handling and for how a complaint is traced. The entity definition is a governance artefact, and it should be written down and approved before anyone builds a matching pipeline to enforce it.

Common misconception

Master data management is just deduplication with a nicer name.

Deduplication removes obvious repeats inside one system. Master data management is a standing capability: an agreed definition of each entity, a named owner, rules for which source may assert which attribute, a way to merge and, crucially, a way to unmerge when a merge turns out to be wrong. A one-off cleanse leaves you with a tidy database that starts diverging again the following morning, because the systems that created the duplicates are still running.

Master data only holds together if you can tell when two records mean the same entity. That turns out to be a statistical problem rather than a lookup, because the identifier that would have made it a lookup does not exist.

15.2 Why entity resolution is hard without shared identifiers

is the work of deciding which records, within or across datasets, describe the same real thing. Inside a single well-designed database this is not a problem: a settles it by construction. The problem appears at the seams, where systems were built at different times by different teams for different purposes and none of them was asked to share a key.

Public bodies almost never get a shared identifier. There is no single citizen number that runs across justice, health, education and welfare, and the deliberate absence of one is a privacy design choice rather than an oversight. Commercial organisations are not much better off: a customer acquired through an acquisition, a broker, a marketplace and a shop front arrives four times with four internal identifiers and no way to reconcile them.

The fields that remain are all imperfect in specific ways.

  • Names vary lawfully. Marriage, transliteration, initials, double-barrelled surnames, cultural ordering of given and family names, and the simple fact that call handlers type what they hear.
  • Addresses vary structurally. Flat 3, 12 Marsh Court and 12A Marsh Court may be the same door or two different ones. Building names come and go. Postcodes are re-sectored.
  • Dates of birth are entered wrongly. Day and month are transposed, and default values such as the first of January cluster suspiciously.
  • Contact details are shared and reused. A household shares a landline. A carer uses one email address for four people. A mobile number is recycled by the network after a year.

So the honest position is that any decision about whether two records are the same is uncertain, and the only defensible thing to do with an uncertain decision is to attach a number to it and state the threshold at which you act. That is what makes this a statistics problem rather than a data cleansing chore.

Uniqueness describes the degree to which there is no duplication in records.

The Government Data Quality Framework - Data quality dimensions

Uniqueness is one of the six dimensions the framework names, alongside completeness, consistency, timeliness, validity and accuracy. It is the dimension that entity resolution exists to serve, and it is the only one you cannot measure without first deciding which records are duplicates. A uniqueness figure quoted without a stated matching method is an opinion.

Comparing every record with every other record is arithmetically impossible at any real scale, so the chain is built to throw away the comparisons that cannot matter before the expensive comparison starts.

15.3 The resolution chain

Linkage pipelines converge on five steps, and the reason is arithmetic rather than fashion. Two datasets of one million records each generate a million million candidate pairs. No amount of hardware makes that comparison sensible, so the chain is built to discard almost all of it cheaply and to spend real effort only on the small remainder that could plausibly match.

  1. Standardise. Bring every field to one representation before anything is compared. Upper-case and trim names, expand or strip titles, parse addresses into components, normalise postcodes, convert dates to one format, strip punctuation from telephone numbers. Standardisation is unglamorous and it removes more spurious mismatches than any clever algorithm later in the chain.
  2. Block. Only compare pairs that agree on something cheap and reasonably discriminating: the same postcode district, the same year of birth, the same first three letters of the surname. Blocking is the step that makes the problem tractable. It is also the step that silently loses true matches, because a pair that disagrees on the blocking field is never compared at all. Serious implementations use several blocking rules in combination so that a record has more than one chance to meet its twin.
  3. Compare. For each surviving candidate pair, score each field on a small scale rather than as a simple equal or not equal. Exact match, near match by edit distance or phonetic code, same value in transposed positions, both missing, one missing, clear disagreement.
  4. Score. Combine the field-level comparisons into one number for the pair, weighting each field by how much its agreement or disagreement actually tells you.
  5. Decide. Compare the score with a threshold. Above it, link. Below it, leave separate. In between, send to a human.

Blocking deserves more attention than it usually gets, because it is the only step whose errors are invisible. A pair that blocking never generated cannot be scored, cannot appear in the review queue and will never show up in a precision measurement, since precision only ever looks at the pairs the model did consider. The way to see the damage is to measure recall against a labelled sample, or at minimum to run a second blocking pass on a deliberately different field and count how many new true pairs it surfaces. If a second pass on year of birth finds matches that the postcode pass missed, that is a direct estimate of what a single-rule design would have thrown away.

Notice that the chain has three outcomes, not two. The middle band is not a failure of the method; it is the method being honest about the pairs where the evidence genuinely does not settle the question.

Common misconception

If we tune the algorithm well enough we can eliminate the manual review queue.

You can shrink it, and you should. You cannot remove it, because some pairs are genuinely undecidable from the fields available: twins at the same address with similar names, a parent and child sharing a forename and a residence, a person who moved into the flat a previous customer left. Removing the review queue does not remove the uncertainty. It just hides the uncertainty inside an automatic decision that nobody sees and nobody can appeal.

The scoring step is where the statistics live. The intuition behind it is older than any of the software that implements it, and it is worth holding in words before it is held in code.

15.4 Probabilistic linkage and the Fellegi-Sunter intuition

turns the pattern of agreement across several fields into a probability that the pair refers to the same entity. The framework that underpins almost every implementation was set out by Ivan Fellegi and Alan Sunter in 1969, and the intuition is simpler than the algebra.

For each comparison field, ask two questions. First, if these two records really are the same person, how often would this field agree? Call that the match probability. It is below one because data is dirty: people move, names are mistyped, dates of birth are entered wrongly. Second, if these two records are different people drawn at random, how often would this field agree anyway? Call that the chance probability. It is above zero because coincidence exists, and for some fields it is not small at all.

The weight that a field contributes is the ratio between those two numbers. A field where agreement is likely for a true pair and unlikely by chance carries a great deal of evidence. A field where agreement happens all the time by chance carries almost none. Agreement on a rare surname is powerful. Agreement on a common forename is nearly worthless. Agreement on gender in a two-value field is worth so little that including it can be actively misleading, because a long run of weak agreements can accumulate into a score that looks like evidence and is not.

Disagreement carries evidence in the other direction, and it is weighted the same way. Two records that disagree on date of birth are pushed apart hard, because true pairs rarely disagree there. Two records that disagree on telephone number are pushed apart only gently, because people change numbers all the time. This is why beats deterministic rules: a rule says a field matches or it does not, whereas a weight says how much that fact should move your belief.

Adding the weights across all the compared fields gives the match weight for the pair, which converts to a probability. The parameters themselves are usually not hand-set. They are estimated from the data using expectation-maximisation, an iterative procedure that alternates between guessing which pairs are matches and re-estimating the field probabilities from those guesses until the estimates stop moving.

The score is a statistical output. Where you cut it is not, and confusing the two is the most common governance failure in this whole area.

15.5 The threshold is a business decision

Once every candidate pair has a score, someone has to say how high the score must be before the pair is linked automatically. That choice is a trade between two errors that are not equally costly, and the relative cost depends entirely on what the linked data is used for.

A false match joins two different people into one record. In a marketing list that means one wasted mailing. In a clinical or a criminal justice context it can mean one person carrying another person's history, which is a harm that may take years to surface and is very hard to undo. A missed match leaves one person as two records. In research it biases every count downward. In service delivery it means the vulnerable customer flag sits on the record nobody is looking at.

So the threshold belongs to whoever owns the consequence, not to whoever wrote the pipeline. A who can describe what a wrong link does to a person is the right person to set it, and the setting should be written down alongside the reason. The middle band that goes to human review is the same decision in a different form: it says which range of evidence is worth a person's time.

Two operational consequences follow. The linkage output should record the score and the version of the model that produced it, so a link can be explained later. And merges must be reversible, because the review that overturns a link may arrive months after the link was made, quite possibly as a complaint from the person the link was about.

One further complication surfaces as soon as you move from pairs to people. Linkage produces pairwise decisions, but an entity is a group. Record A links to record B, and record B links to record C, yet A and C may score below the threshold against each other. Treating the links as a graph and taking the connected components resolves that, but it also means a single weak link can chain two otherwise unrelated groups into one large cluster. Implementations guard against this by requiring a minimum density inside a cluster before accepting it, or by breaking the weakest links until the clusters are plausible, and by capping cluster size so that a runaway group is flagged for review rather than merged. A cluster containing four hundred people is not a very popular customer; it is a blocking or scoring defect announcing itself.

Deciding that five records are one person is only half the job. Something still has to decide which of the five conflicting addresses the organisation will actually use.

15.6 Golden records and survivorship

A is the consolidated record an organisation agrees to treat as the version of an entity, assembled from the duplicates that resolution has matched together. Survivorship is the set of rules that decides, field by field, which source value wins. Several systems hold different values for the same handful of fields, and one named rule per field decides which value survives into the golden record and which is retained only as history.

Survivorship rules are chosen per field, not per source, and the common ones are:

  • System of record. One named system is authoritative for this field by policy. The billing platform owns the legal name because that is the name on the contract.
  • Most recently updated. The freshest value wins. Sensible for a mobile number, dangerous for a legal name, because recency is not the same as correctness.
  • Most complete. The value with the most populated sub-components wins. Useful for addresses, where one source has the flat number and another does not.
  • Highest trust tier. Sources are ranked by how they were captured. A value verified against an external register outranks one typed into a web form.
  • Most restrictive. Reserved for consent and marketing preference. If any source records an objection, the objection survives.

That last rule is different in kind from the others. Applying most recently updated to a consent flag will eventually resurrect a withdrawn consent from a stale system, and the person on the receiving end will experience that as being ignored. Consent state should be treated as one-way: an objection propagates into the golden record and never falls out of it because another source is quiet.

The golden record must also keep its own history. Recording which source supplied each surviving value, and when, is what makes the record explainable. An organisation that cannot say why the golden record holds the address it holds has not built an authority. It has built one more version of the customer with better branding.

Common misconception

Once the golden record exists, the source systems can be switched off.

In a few consolidation programmes that is the goal, but in most estates the source systems keep operating because they run the business processes that generate the data. The golden record is a consolidated view maintained alongside them, and it needs a continuous flow of updates back and forth. Treating it as a one-time migration is how organisations end up with a golden record that was accurate on the day it was built and has been drifting ever since.

A set of survivorship rules still has to run somewhere, and the choice of where decides how disruptive the programme is and how quickly the source systems drift away from the agreed version again.

15.7 Where the golden record lives

Implementations of master data management sit on a spectrum, and the position you choose is mostly a statement about how much you are willing to change the systems that already exist.

  • Registry. The hub stores only the matched identifiers and the cross-references between systems. Values stay where they are and are assembled on demand. Cheap and unintrusive, and it changes nothing about the source systems, but it gives you a read-only view and no enforcement.
  • Consolidation. Source values are copied into the hub, matched and survived into golden records there. Reporting and analytics read the hub. The sources are untouched and carry on diverging, so the hub is a point-in-time consolidation refreshed on a schedule.
  • Coexistence. As consolidation, but the golden values are published back to the source systems, so the estate converges over time. This is where most organisations land, and it is the first style that requires the source system owners to agree to accept a value they did not create.
  • Centralised authoring. The hub is the place where master data is created and edited, and the sources subscribe. It gives the strongest guarantee and demands the most change, because a business process that used to create a customer in the billing system now has to create one somewhere else.

The technical differences between these are smaller than they look. The real difference is political: each step along the spectrum takes a decision that a source system owner used to make and moves it somewhere central. That is why master data programmes fail on governance far more often than on matching accuracy, and why the operating model question of who may create, amend and merge an entity should be settled before a tool is selected.

The method above is not theoretical. A UK government department published a working implementation of it, and that implementation is now the reference point for how this work is done in the open.

15.8 Splink: the public-sector worked example

Splink is an open-source Python package built by analysts at the Ministry of Justice. Its own documentation describes it as a package for probabilistic record linkage, or entity resolution, that lets you deduplicate and link records from datasets without unique identifiers, and states that its core linkage algorithm is based on the Fellegi-Sunter model of record linkage with customisations to improve accuracy.

It matters for three reasons beyond the code. First, it is a government department publishing its statistical method rather than describing it, which means the weighting and the thresholds can be inspected and argued with. Second, it originated in a real constraint that most organisations share: the Ministry of Justice operates several administrative justice systems with no consistent person identifier running between them, and the Data First programme needed to follow individuals through those systems for research. Third, GOV.UK reports that the department has used it on record linkage problems of up to around fifteen million records with a runtime of less than an hour. That is a stated ceiling rather than a typical job, but it puts the technique inside the reach of an ordinary analytics team rather than a specialist vendor engagement.

Splink also ships the diagnostics that make a linkage defensible: charts of the estimated match weights per field, comparisons of the model against labelled data, and cluster views that show which records ended up joined into one entity. Those outputs are the evidence you present when someone challenges a link, and their absence is what makes a hand-rolled matching script hard to defend.

Loading interactive component...
15.9 Check your understanding

A local authority holds council tax accounts, a housing repairs system and a benefits caseload. None shares a person identifier. An analyst proposes joining them on surname and postcode using an exact match. What is the most important weakness of that approach?

In a linkage model, agreement on the surname 'Zawadzki' contributes a much larger weight than agreement on the forename 'John'. Which statement best explains why?

A survivorship rule set uses 'most recently updated' for every field, including the marketing consent flag. A customer withdrew consent in the web portal in March. In June a legacy system that never received the withdrawal writes a routine record update carrying its old consent value. What happens, and what should the rule have been?

Loading interactive component...

Core distinctions

  • Master data is the entity layer that many systems must agree about; transaction data records events that point at those entities; reference data is the controlled list used to classify both. Master data changes need an owner and an audit trail because they change who the organisation thinks it is dealing with.
  • Entity resolution is hard because the shared identifier that would make it a lookup usually does not exist, and every remaining field varies lawfully: names change, addresses are written differently, dates of birth are mistyped, contact details are shared.
  • The Fellegi-Sunter intuition weights each field by how often it would agree for a true pair relative to how often it would agree by chance. Agreement on a rare surname is powerful evidence; agreement on a common forename is nearly worthless.
  • The score is statistics but the threshold is governance. It trades the cost of a false match, which puts one person's history on another, against the cost of a missed match, which leaves a person as two records. It belongs to whoever owns the consequence, and merges must be reversible.
  • A golden record is assembled by per-field survivorship rules: system of record, most recent, most complete, highest trust tier, and most restrictive for consent. Record which source supplied each surviving value, or the golden record cannot be explained.
  • Splink, the Ministry of Justice open-source library, is the public-sector worked implementation of probabilistic record linkage and publishes the diagnostics that make a link defensible.

Standards and sources cited in this module

  1. Splink documentation (Ministry of Justice Analytical Services)

    Introduction and the Fellegi-Sunter model

    The open-source implementation used across UK government for probabilistic record linkage without unique identifiers. Documents blocking, comparison levels, parameter estimation and the diagnostic charts that make a link defensible.

  2. Splink: MoJ's open source library for probabilistic record linkage at scale (GOV.UK)

    Joined up data in government: the future of data linking methods

    The departmental account of why the library was built, the Data First research need behind it, and the scale it has been run at inside government.

  3. The Government Data Quality Framework (UK Government)

    Data quality dimensions

    Defines uniqueness and the five other dimensions. Uniqueness is the dimension entity resolution exists to serve, and it cannot be measured without a stated matching method.

  4. DAMA-DMBOK, Second Edition (DAMA International)

    Reference and Master Data Management

    The body-of-knowledge treatment of master data management as a standing capability: entity definitions, ownership, source authority and consolidation, rather than a one-off cleansing exercise.

  5. UK GDPR, Article 5, principles relating to processing of personal data (legislation.gov.uk)

    Article 5(1)(d), accuracy

    The primary text of the accuracy principle. It requires reasonable steps and rectification without delay, and it names no mechanism, so the review route and the reversible merge have to be justified as the way a linkage pipeline meets that duty.

  6. Guide to the UK GDPR (Information Commissioner's Office)

    Accuracy principle and the right to rectification

    The regulator's practical reading of accuracy and rectification for UK organisations, which is where to look for what a reasonable step is expected to involve once a wrong link has been reported.

Module 15 of 52 · Modelling and statistics