Where the course ends up
Sessions 1 through 5 gave you a defensible way to decide that two records describe the same person, and a defensible way to score that decision. Neither one tells you what to do next: which value survives when three records disagree, where the merged truth should physically live, which of the tools claiming to do this are actually production-ready, and where the line sits between resolving your own customers and quietly re-identifying someone who never consented to it.
★ What you walk out with tonight. Survivorship rules you can defend in a design review, the four architectures a master data hub can take and which one fits Meridian, an honest map of which open-source ER tools you can actually adopt in 2026 and which licence will bite you later, and the discipline to write down a linkage you will not build even though the data lets you.
LiveMaster data has no Fellegi-Sunter, and that is worth saying out loud4 min▶
Session 3 rested on a named 1969 theory with a proof behind it. Tonight does not have that luxury, and pretending otherwise would be dishonest to you.
There is no peer-reviewed MDM theory paper comparable to Fellegi-Sunter. Master data management is documented by analyst and vendor frameworks plus the DAMA-DMBOK practitioner standard, not by a formal academic literature. "Golden record" is industry-common vocabulary with no traceable originating citation. "Survivorship rules" is vendor-consensus terminology, not an academically canonical result. That does not make either one useless - they are genuinely useful, load-bearing concepts in every real MDM programme - it means you should teach them as practitioner knowledge, not dress them up as something they are not.
The honest framing for the rest of tonight: everything in Part 1 is what practitioners actually do and why it works, sourced to where it actually comes from.
Self-studyWhy the course puts this session last on purpose3 min▶
It would be easy to teach master data first, since "merge the duplicates into one record" sounds like the whole job. It is not, because survivorship rules and architecture choices are meaningless until you already trust which records are duplicates - which is everything sessions 1 through 5 built. Master data is the last mile precisely because it is downstream of every earlier decision, and a golden record built on a bad match is worse than no golden record at all.
Golden records, survivorship, and where the hub should sit
9 min liveOnce a cluster of records is agreed to be one person, something has to decide what that person's record actually says. That is survivorship, and then something has to decide where the answer lives relative to the source systems. That is the architecture choice.
The rules practitioners actually apply, and why each earns its place, not because a theorem says so but because the failure mode without it is obvious once named:
| Survivorship rule | Picks | Fails when |
|---|---|---|
| Most-recent | The newest updated value | A stale system happened to be touched last by an unrelated edit |
| Most-complete | Whichever record has the field filled in | Two records both have it filled in, and disagree |
| Source-priority | A ranked "system of truth" per field, e.g. HR owns legal name | The ranking was set once and nobody revisits it as systems change |
| Most-trusted-system | A system with better data-entry discipline, e.g. a billing system over a lead-capture form | Trust was never actually measured, only assumed |
LiveThe four implementation styles, and where the hub sits6 min▶
Once you know what a golden record should say, you still have to decide where it lives relative to the systems that fed it. Four styles cover essentially every real MDM programme.
These four - Registry, Consolidation, Coexistence, Centralized (Transaction) - are attributed to Gartner consistently across five independent vendor sources, but no primary Gartner note could be fetched for this course; the source is paywalled. Present them as an analyst framework you will recognise in vendor pitches, never as an academic citation.
| Style | Where authority sits | Fits Meridian when |
|---|---|---|
| Registry | Hub holds only cross-reference and index data; sources keep the actual data | You need "which systems know this person" without moving any data |
| Consolidation | Hub matches and merges into golden records, usually one-way, for analytics | Reporting and dashboards need one clean view; sources keep operating independently |
| Coexistence | Golden records held centrally AND synced back bidirectionally | Sources should benefit from the cleaned-up data, not just feed it |
| Centralized / Transactional | The hub IS the system of record; sources have no independent authority | You are willing to retire the old systems' authority entirely |
Self-studyWhere DAMA-DMBOK fits, and its own honesty note4 min▶
The DAMA-DMBOK, second edition, is the closest thing this discipline has to a standard textbook, and it deliberately combines Reference Data and Master Data into a single knowledge area rather than treating them separately. It defines reference data as data that helps classify or categorize other data - country codes, status codes, product categories - which master data then draws on.
The DMBOK text itself is a paid publication and was not fetched for this course. The chapter structure described here is secondary-sourced, from summaries and practitioner citations of the book rather than the primary text. Treat it as a reliable pointer to go read, not a verbatim quote.
What you can adopt, and what will bite you in six months
7 min liveLicence and maintenance status decide whether a team can actually use a tool, not just whether it works in a demo. Both are checked here as of 2026, not assumed.
| Tool | Approach | Licence | 2026 status |
|---|---|---|---|
| Splink (UK Ministry of Justice) | Fellegi-Sunter with EM estimation, DuckDB/Spark/Postgres backends | MIT | Actively maintained, Splink 4 current, won a UK Civil Service Award in 2025 |
| dedupe (Gregg and Eder) | Active learning, a human labels pairs y/n/u | MIT | Maintenance currency could not be confirmed - copyright notice seen only through 2022 |
Python Record Linkage Toolkit (recordlinkage, de Bruin) | Indexing, comparison, classifiers including an ECM estimator | BSD-3 | Maintained intermittently |
| Zingg | Active-learning MDM on Spark | AGPL-3.0 | Actively maintained, v0.6.0 April 2026 |
| Febrl (Christen and Churches, ANU) | Early linkage toolkit | n/a | Not maintained; matters now for its synthetic benchmarks |
LiveSplink is the recommendation, and here is exactly why4 min▶
Splink is the tool this course would actually point a team at. It implements the same Fellegi-Sunter model session 3 taught, estimates the m and u probabilities with expectation-maximisation instead of guessing them, and runs on DuckDB, Spark or Postgres depending on scale. It is MIT licensed with no strings attached, actively maintained by a government team with a public track record, and it won a UK Civil Service Award for Innovation in 2025. Everything the bench on this page has been simulating in the browser, Splink does at real scale.
Self-studyThe licence point that kills an adoption six months in5 min▶
Zingg is AGPL-3.0. That is copyleft with real commercial implications, not a permissive licence like the other four tools here. AGPL's network clause means that if you run a modified version of Zingg as a service, even internally across a company boundary, you can be obligated to make your modifications available under the same licence. A team that adopts Zingg without a legal review, builds proprietary matching logic on top of it, and only reads the licence when a customer contract asks about it, is the exact six-months-later failure this course wants you to see coming instead.
dedupe's flag is different in kind: nothing about its MIT licence is a problem, but its most recently observed copyright notice only goes through 2022, and current maintenance could not be confirmed for this course. An unmaintained MIT tool is a smaller risk than a maintained AGPL one, but it is still a risk you should check yourself before depending on it.
Febrl is worth knowing for a different reason entirely: it is not maintained as software, but its synthetic benchmark datasets are still the reference point the field cites - Febrl1 (1,000 records, 500 pairs), Febrl3 (5,000 records), and Febrl4 (10,000 records, split into subsets 4a and 4b). The DBLP-ACM and Amazon-Google benchmarks, from the Magellan and deepmatcher research line, are used the same way; both are secondary references here, useful for finding real benchmark data rather than as tools to run.
What earns this session its title
6 min liveEverything so far has assumed you should link the records you can link. This part is about the boundary: a technique for linking data without exposing it, the attack that technique has to be honest about, and the legal weight that the act of linking carries on its own, separate from whatever you do with the result.
LivePrivacy-preserving record linkage, and its honest limits6 min▶
Schnell, Bachteler and Reiher, BMC Medical Informatics and Decision Making 9:41, 2009, DOI 10.1186/1472-6947-9-41, is the primary, verified source for privacy-preserving record linkage with Bloom filters. Each field's q-grams get encoded into a bit array using cryptographic hashes, and similarity between two records is computed as Dice similarity on the bit vectors, without either party ever holding the other's plaintext. Reported match quality is comparable to matching on unencrypted identifiers, which is exactly why it is used in real cross-agency health linkage, where the whole point is that no single party should see identifiable data from the other side.
The honest second half: this technique has a real, actively studied attack surface. Frequency-based cryptanalysis exploits the fact that bigram and value frequencies leak through the bit patterns themselves - an attacker holding population name-frequency tables (common surnames appear often, rare ones appear rarely) can start re-identifying the frequent values from the pattern alone, even without breaking any hash.
The attack citation - Kuzu, Kantarcioglu, Durham and Malin, PETS 2011 - is secondary here, not independently fetched for this course. Composite or hardened Bloom filters are a proposed defence against it. The honest summary to carry forward: PPRL is deployed in real cross-agency health linkage, and it has an actively studied attack surface at the same time. Neither fact cancels the other.
LiveWhy linking is itself a legal act, not just a technical one5 min▶
The refusal this session is named for is not about Bloom filters, it is about a simpler fact: linking two previously separate datasets can turn data that was not reasonably identifiable on its own into identifiable personal data, and the act of linking is itself a new processing operation that needs its own lawful basis. A company that legitimately holds two datasets, each individually harmless, can create something legally sensitive purely by joining them - and Meridian's whole project is joining datasets.
No GDPR clause names "record linkage" directly. This is a reasoned application of the identifiability and purpose-limitation principles already in the regulation, corroborated through a cohort-linkage scoping review rather than a single named article. Recital 71, on automated profiling, is adjacent to this idea but not identical to it, and should not be cited as if it were the source. PDPA-specific analysis was not researched for this course - say that plainly rather than guessing at how Singapore's regime would treat the same act.
What this means in practice for Meridian: the fact that a support system and two CRMs can be joined does not settle whether they should be, for a given purpose. A resolved customer view built to fix billing is a different processing decision from the same resolved view built to score creditworthiness or infer health status from purchase history, even though the underlying match is identical. The purpose the linkage serves is the thing that needs its own lawful basis, not just the technical act of matching.
Write survivorship rules, choose an architecture, then write a refusal
★ 18 min · everyone buildsNo widget tonight - the tool is a blank page and the discipline from five sessions of measurement.
Pick three conflicting Meridian fields you can imagine across CRM-A, CRM-B and the support system - email, company, or phone are good choices. For each one, write down which survivorship rule you would apply (most-recent, most-complete, source-priority, most-trusted-system) and which source wins under that rule.
For each of the three fields, write one sentence on why that rule and not one of the other three. If two fields ended up using the same rule for different reasons, notice that and write the real reason down instead of reusing the first answer.
Pick one of the four implementation styles - Registry, Consolidation, Coexistence, Centralized - for Meridian's customer master. Justify it against what you know of Meridian's situation: multiple live source systems, a need for both accurate golden records and analytics, and no stated appetite yet to retire the old CRMs.
Name one thing your chosen style would make harder that a different style would make easier, and say whether that tradeoff is acceptable for Meridian specifically, not in the abstract.
Now write a refusal. Describe one linkage Meridian's resolved customer master could technically support - something the matched, clustered, golden-recorded data would make trivial to compute - and that the company should not build. State the reason in terms of purpose, not capability: not "we could get it wrong" but "this was never the purpose the data was linked for."
Read your refusal back and check it does not secretly say "this is technically hard" or "this might cause bad PR" instead of a purpose-limitation argument. If it does, rewrite it until the reason is about what the linkage was for, not about what might happen if someone found out.
A good refusal reads like a decision a data steward made on purpose, not like a risk the legal team vetoed after the fact. Aim for that tone: this is the boundary we chose, here is exactly why, and here is what we will do with the data instead.
Taking this further on your own data
25 min- Take the labelled set you built for session 1's homework. Write a one-page survivorship policy for it: one rule per field, with the real reason stated, not just the rule name.
- Install Splink and run its Fellegi-Sunter estimation over your labelled pairs. Compare its estimated m and u probabilities against whatever you guessed by hand in session 3.
- Write your own linkage refusal for your own company's data, following the same test tonight's build-along used: state it in terms of purpose, not capability, and check it is not secretly a technical-difficulty or PR argument in disguise.
- If your company operates anywhere GDPR applies, find out who currently owns the lawful-basis decision for any new data linkage project, and confirm that person actually knows a resolution project is planned.
Three questions
Splink and Zingg are both open-source entity resolution tools. What is the practical difference in their licences?
Splink is MIT licensed with no strings attached. Zingg is AGPL-3.0, whose network clause can obligate you to release modifications if you run a modified version as a service, even internally. A team that skips this check at adoption time discovers it later, usually when a customer contract asks about licensing.
What is the honest status of "golden record", "survivorship rules" and the four Registry/Consolidation/Coexistence/Centralized implementation styles?
Master data management has no academic canon comparable to Fellegi-Sunter. That does not make the vocabulary useless - it is exactly what every real MDM programme uses - but it does mean presenting it honestly as analyst and practitioner consensus rather than dressing it up as academically proven.
Why does linking two previously separate, individually harmless datasets need its own lawful basis under GDPR, even if each dataset was collected properly?
No GDPR clause names "record linkage" directly - this is a reasoned application of the identifiability and purpose-limitation principles, not a single named article, and Recital 71 on profiling is adjacent but not identical. The point stands regardless: two harmless-looking datasets can become sensitive purely by being joined, and the joining is a processing decision that needs its own justification, tied to the purpose it serves.
What this session teaches, and where it came from
Every fact on this page, and its verification tier, is recorded in the course's source map.
Session 6 cheat sheet · pin this
There is no session 7. What comes next is Splink against your own labelled set: install it, feed it the pairs you have been scoring by hand across six sessions, and let expectation-maximisation estimate the weights you have been reasoning about all along. The bench on these pages was built to teach the ideas at a scale you could hold in your head. Your own data is the scale that actually matters.