Markdown Editor

Master Data Management Design Template (MDM Hub, Match and Merge)

MDM styles (registry, consolidation, coexistence, centralised), golden record, CRUD matrix, match/merge sizing, survivorship, stewardship, KPIs

АрхітектураПовнийDAMA-DMBOK2 Revised (2024), Reference and Master Data knowledge areamasterdatamanagementdesign

Як використовувати: Use it when several systems hold the same customer, product or supplier records and you are designing a hub to reconcile them. Fill the domain scope, implementation style decision and system of record matrix first, then match rules and survivorship. The main pitfall is going live without sizing the steward review queue, so the hub becomes another inconsistent copy.

Перегляд

Master Data Management Design: [Domain] at [Organisation]

Solution design for a master data management (MDM) hub: domains and scope, the implementation style (registry, consolidation, coexistence or centralised), the master data model and golden record, the system of record matrix, match and merge, survivorship, stewardship workflow, hierarchies and reference data, quality KPIs, distribution, security and privacy, governance and rollout. The structure is aligned with the Reference and Master Data knowledge area of DAMA-DMBOK 2nd Edition Revised (2024). Replace every [bracketed] value and every row marked Example. Worked examples follow a customer domain for a retailer with four source systems.

Document control

FieldValue
Document ID[MDM-001]
Master data domain(s)[Customer / Product / Supplier / Location / Employee]
Implementation style[Registry / Consolidation / Coexistence / Centralised]
MDM product or build[Product name and version / Custom build]
Version[0.1]
Status[Draft / In review / Approved / Superseded]
Owner[@mdm-architect]
Data owner (business)[@domain-data-owner]
Approvers/reviewers[@chief-data-officer], [@enterprise-architect], [@dpo], [@source-system-owners]
Last updatedYYYY-MM-DD
Classification[Internal / Confidential]

Approvals

RoleNameDecisionDate
Business data owner[@name][Approve / Approve with conditions / Reject]YYYY-MM-DD
Enterprise architecture[@name][Decision]YYYY-MM-DD
Data protection officer[@name][Decision]YYYY-MM-DD
Source system owners[@names][Decision]YYYY-MM-DD

Revision history

VersionDateAuthorChange summary
0.1YYYY-MM-DD[@name]First draft
1.0YYYY-MM-DD[@name]Example: Approved for customer domain, consolidation style
1.1YYYY-MM-DD[@name]Example: Moved to coexistence; CRM writes back golden attributes

Contents

1. Scope, domains and drivers

1.1 Drivers

IDDriverCurrent impactTarget
MDR-001 (Example)The same customer exists in POS loyalty, e-commerce and CRM with different identifiersMarketing sends duplicate mail; 8 % estimated duplicate rateOne customer identifier across channels; duplicate rate below 1 %
MDR-002 (Example)Consent preferences differ between systemsComplaints and regulatory riskConsent held once and distributed within 15 minutes
MDR-003 (Example)Finance cannot report revenue per customer groupManual spreadsheet mapping each quarterCustomer hierarchy maintained in the hub
[MDR-NNN][Driver][Impact][Target]

1.2 Domain scope

EntityMastered attributesNot mastered (left in sources)Consuming processes
Customer (person) (Example)Name, date of birth, email, phone, postal address, consent flags, loyalty tierOrder history, payment tokens, web behaviourMarketing, service, loyalty, finance reporting
Customer (organisation) (Example)Legal name, registration number, VAT number, addresses, parentCredit limit (owned by ERP)B2B sales, invoicing
[Entity][Attributes][Attributes][Processes]

Reference data (code lists such as country, currency, customer segment) is in scope in section 8 because the golden record depends on it.

2. Implementation style

2.1 Style comparison

StyleHow it worksGolden record storedWrite-back to sourcesTypical useOrganisational impact
RegistryHub holds identifiers and match links only; attributes stay in sources and are assembled at read timeNo (virtual)NoFast cross-reference, read-only analyticsLow
ConsolidationHub copies source records, matches and merges them into a golden record for downstream readingYesNoAnalytics and reporting on a single viewLow to medium
CoexistenceGolden record built as in consolidation and published back so sources align; several systems still create recordsYesYesOperational alignment while keeping existing entry pointsMedium to high
Centralised (transactional)Records are created and maintained in the hub and distributed to sources, which stop creating themYes, authoritativeHub is the sourceStrong control, regulated dataHigh

2.2 Decision

CriterionWeightRegistryConsolidationCoexistenceCentralised
Meets MDR-001 (single identifier) (Example)54455
Meets MDR-002 (consent distributed) (Example)51255
Source change effort (Example)35531
Time to first value (Example)35432
Weighted total (Example)55576859

The weighted total is the sum of weight multiplied by score. Coexistence: 5 x 5 + 5 x 5 + 3 x 3 + 3 x 3 = 68. Centralised: 25 + 25 + 3 + 6 = 59. Consolidation: 20 + 10 + 15 + 12 = 57. Registry: 20 + 5 + 15 + 15 = 55. Add criteria for cost, product fit and regulatory control before deciding; recompute every total when a score or weight changes.

Example decision: coexistence for the customer domain, starting as consolidation in phase 1 (read-only golden record) and adding write-back in phase 2. Record the decision as an ADR in the Architecture Decision Log (architecture/architecture-decision-log).

3. Master data model and golden record

3.1 Entities

The Example hub model uses a party pattern: one golden party with addresses, contacts, consents and relationships, and one cross-reference row per contributing source record.

3.2 Golden record attributes

AttributeTypeMastered fromSurvivorship ruleQuality ruleClassification
master_id (Example)String (opaque, generated)HubNever changes; merged records keep a pointer to the survivorUnique, not nullInternal
given_name, family_name (Example)StringCRM, e-commerce, POS loyaltySRV-001Not null, no digitsPersonal
email (Example)StringE-commerce, CRMSRV-002Valid syntax, verified flagPersonal
postal_address (Example)Structured addressCRM, e-commerceSRV-003Validated against address referencePersonal
consent_marketing_email (Example)Boolean plus timestamp and channelConsent serviceSRV-004Timestamp requiredPersonal, consent
loyalty_tier (Example)Code (reference data)POS loyaltySource of record onlyCode in listInternal
[Attribute][Type][Sources][Rule ID][Rule][Class]

Keep attribute definitions in the Data Dictionary (architecture/data-dictionary) and link each attribute here to its dictionary entry. Store, for every golden attribute, the contributing source, the source timestamp and the rule that selected it, so that any value can be explained to an auditor or a data subject.

3.3 Identifier policy

  • Generate the master identifier in the hub; never derive it from personal data.
  • When two golden records merge, keep the survivor's identifier and keep the retired identifier as an alias pointing to the survivor, so downstream systems that stored it can still resolve it.
  • When a merge is reversed (unmerge), restore both identifiers and publish correction events (section 10).

4. Sources and system of record

Source systemOwnerRecordsCustomer personCustomer organisationConsentIntegrationLatency
CRM (Example)@crm-owner3.5 millionC R UC R URChange events and APINear real time
E-commerce (Example)@ecom-lead5.0 millionC R UNoneC R UCDCNear real time
POS loyalty (Example)@retail-ops2.8 millionC R UNoneRNightly file, then CDC in phase 2Daily
ERP (Example)@erp-owner0.7 millionRC R UNoneBatch APIDaily
MDM hub (Example)@mdm-architectGolden recordsR U (golden)R U (golden)RPublishes events and APIUnder 15 minutes
[System][@owner][Count][CRUD][CRUD][CRUD][Method][Latency]

The Example sources hold 3.5 + 5.0 + 2.8 + 0.7 = 12.0 million source records. Section 5.4 sizes matching from this total.

5. Match and merge

5.1 Standardisation before matching

  1. Normalise case, whitespace and diacritics in names.
  2. Parse and validate addresses against the address reference service.
  3. Normalise phone numbers to international format.
  4. Lower-case email addresses and remove known alias patterns only where the provider documents them.
  5. Keep the original value alongside the standardised one.

5.2 Blocking and match rules

IDTypeBlocking keyComparisonOutcome
MR-001 (Example)DeterministicVerified emailExact email and same family nameAuto-merge
MR-002 (Example)DeterministicPhone (international)Exact phone and date of birthAuto-merge
MR-003 (Example)ProbabilisticPostcode plus first 3 letters of family nameWeighted score on name, address, birth date, phoneBy threshold (5.3)
MR-004 (Example)OrganisationVAT or registration numberExact identifierAuto-merge
[MR-NNN][Type][Key][Comparison][Outcome]

5.3 Thresholds

Score bandDecisionOwner
0.92 and above (Example)Auto-mergeSystem
0.75 to below 0.92 (Example)Steward review taskData steward
Below 0.75 (Example)No matchSystem

Measure precision (merged pairs that are true duplicates) and recall (true duplicates found) on a labelled sample of at least [2,000] pairs per country. False merges are usually more harmful than missed matches: they mix two people's personal data. Set the auto-merge threshold for precision first.

5.4 Workload sizing (Example)

StepCalculationResult
Comparisons without blocking12,000,000 x 11,999,999 / 2about 7.2 x 10^13 pairs (infeasible)
Blocks at an average of 20 records each12,000,000 / 20600,000 blocks
Comparisons per block20 x 19 / 2190
Comparisons with blocking600,000 x 190114,000,000 pairs
Records in the review band (0.5 %)12,000,000 x 0.00560,000 review tasks
Steward capacity (5 stewards x 120 tasks per day)5 x 120600 tasks per day
Initial backlog duration60,000 / 600100 working days

Consequence: a 100-day backlog is longer than the phase 1 timeline. Raise the auto-merge band only if the labelled sample still shows precision of at least [99.5 %], add temporary stewards for the initial load, or prioritise review tasks for active customers (purchase in the last 12 months) first. Ongoing daily volume is much smaller: size it from new records per day multiplied by the review-band rate.

6. Survivorship

IDAttributeRule typeRuleTie-break
SRV-001 (Example)NamesSource priority with recencyCRM over e-commerce over POS loyalty, unless the lower-priority value is newer by more than 180 days and verifiedSteward review
SRV-002 (Example)EmailValidated winsVerified email (confirmed link) wins; otherwise most recentMost recent
SRV-003 (Example)Postal addressValidated and recentAddress validated by reference service and most recently used for deliverySource priority
SRV-004 (Example)ConsentMost recent eventLatest consent event from any channel, with timestamp and channel retainedNever merged by priority
SRV-005 (Example)Any attributeSteward overrideSteward value locked until a newer verified source value arrivesSteward
[SRV-NNN][Attribute][Type][Rule][Tie-break]

7. Stewardship workflow

Task typeCreated byService level (Example)Escalation
Potential match reviewMR-003 band 0.75 to 0.925 working daysData owner after 10 days
Quality exceptionQuality rules in section 93 working daysDomain lead
Hierarchy change requestBusiness user request10 working daysData owner
Unmerge requestSteward or customer complaint1 working dayDPO when personal data was mixed
Data subject requestPrivacy teamWithin the legal deadline, internal target 10 daysDPO
[Task][Source][SLA][Escalation]

Log every steward decision with the user, time, before and after values and reason. Use the log to retrain or adjust match rules each quarter.

8. Hierarchies and reference data

8.1 Hierarchies

IDHierarchyLevelsSource of truthChange approvalEffective dating
HIE-001 (Example)Corporate customer familyUltimate parent, parent, legal entityHub, enriched from a business registerData ownerValid from and valid to
HIE-002 (Example)Customer segmentSegment, sub-segmentHubMarketing data ownerMonthly versions
[HIE-NNN][Name][Levels][Source][Approver][Dating]

8.2 Reference data

Code listStandard or ownerVersion controlDistribution
Country (Example)ISO 3166-1 alpha-2Updated when the maintenance agency publishes changesPublished to all sources
Currency (Example)ISO 4217As abovePublished to all sources
Customer segment (Example)MarketingVersioned in the hubEvent on change
[Code list][Standard or owner][Control][Distribution]

9. Data quality KPIs

IDKPIDefinitionTarget (Example)Frequency
KPI-001 (Example)Duplicate rateEstimated true duplicates among golden records, from a monthly sampleBelow 1 %Monthly
KPI-002 (Example)False merge rate (detected)Unmerges divided by merges in the period; validate quarterly against a labelled sample, because unmerges show only the false merges someone noticedBelow 0.1 %Monthly
KPI-003 (Example)Completeness of mandatory attributesGolden records with all mandatory attributes populated98 %Weekly
KPI-004 (Example)Address validityAddresses that pass reference validation95 %Weekly
KPI-005 (Example)Steward backlog ageOpen tasks older than the service levelBelow 5 %Weekly
KPI-006 (Example)Distribution latencyTime from golden record change to receipt by subscribers (p95)Under 15 minutesDaily
[KPI-NNN][KPI][Definition][Target][Frequency]

10. Distribution and integration

IDChannelConsumersContentContract
DST-001 (Example)Change events (created, updated, merged, unmerged)CRM, e-commerce, marketingGolden record plus retired identifiers on mergeAsyncAPI 3.1.0 document
DST-002 (Example)Lookup API by master or source keyService desk, webGolden record and cross-referenceOpenAPI document
DST-003 (Example)Daily snapshot to the data platformAnalyticsGolden records, cross-reference, hierarchyData contract (ai-data/data-contract)
[DST-NNN][Channel][Consumers][Content][Contract]

Require every subscriber to handle merge and unmerge events: on merge, replace the retired identifier with the survivor; on unmerge, split the local data or flag it for review. Interface details belong in the Integration Design (architecture/integration-design).

11. Security and privacy

TopicDesign (Example)
AccessStewards see only their countries; search results limited and logged
Privileged actionsMerge, unmerge and bulk updates need a steward role and are logged with reason
EncryptionAt rest with customer-managed keys; TLS in transit
Data minimisationOnly attributes needed by two or more processes are mastered (section 1.2)
ErasureAn erasure request deletes or anonymises the golden record and publishes an erasure event that every subscriber must honour within [30] days
Lawful basis and recordsProcessing recorded in the record of processing activities (compliance/gdpr-ropa); DPIA in compliance/dpia
ResidencyGolden records stored in the region of the customer's country; see compliance/data-residency-sovereignty-assessment
ThreatsMass export, insider browsing, false merges that disclose data to the wrong person; analysed in security/privacy-threat-model

12. Governance and RACI

ActivityData ownerData stewardMDM architectSource system ownerDPO
Define mastered attributesARCCC
Approve match and survivorship rulesARRCC
Review match tasksIR, AIII
Approve hierarchy changesARIII
Change integration contractsCIARI
Handle data subject requestsARIRC
Report quality KPIsARCII

Run a monthly data governance meeting for the domain with the KPI report, open escalations and rule change requests. Record rule changes with a version number and an effective date.

13. Non-functional requirements and sizing

IDRequirementTarget (Example)Derivation
MNF-001Golden record count after initial loadAbout 9.6 million12.0 million source records with an estimated 20 % overlap: 12.0 x 0.8 = 9.6 million
MNF-002Initial match run durationUnder 8 hours114 million comparisons in 8 hours is 114,000,000 / 28,800 = about 3,958 comparisons per second
MNF-003Steady-state updates50,000 per day, peak 20 per secondSource change rates from section 4
MNF-004Lookup API latencyp95 under 200 msService desk screen budget
MNF-005Availability99.9 % for lookup APIOperational dependency in coexistence
MNF-006RecoveryRPO 15 minutes, RTO 4 hoursResilience tier 2
[MNF-NNN][Requirement][Target][Derivation]

Record cross-cutting targets in the NFR Catalogue (requirements/nfr-catalogue).

14. Rollout, migration and risks

14.1 Phases

PhaseScopeExit criteria
1. Consolidation (Example)Load CRM, e-commerce and POS loyalty; golden record read-only to analyticsPrecision at least 99.5 % on labelled sample; backlog plan approved
2. Coexistence (Example)Publish golden attributes and consent back to CRM and e-commerceAll subscribers pass merge and unmerge tests
3. Organisation customers (Example)Add ERP and the corporate hierarchyFinance confirms revenue by customer family
[Phase][Scope][Criteria]

The initial load follows the Data Migration Strategy (architecture/data-migration-strategy); reconcile counts per source with the Data Migration Reconciliation Report (project/data-migration-reconciliation).

14.2 Risks

IDRiskLikelihoodImpactResponseOwner
RSK-001 (Example)False merges expose one customer's data to anotherMediumHighPrecision-first thresholds, unmerge in 1 day@data-steward-lead
RSK-002 (Example)Source owners keep creating duplicatesHighMediumSearch-before-create API in phase 2@mdm-architect
RSK-003 (Example)Steward backlog never clearsMediumMediumSection 5.4 actions, KPI-005@data-owner
[RSK-NNN][Risk][L / M / H][L / M / H][Response][@owner]

15. Glossary and references

TermMeaning
Golden recordBest available single version of a master entity, assembled from sources
Cross-referenceLink from a golden record to each source record that contributed
BlockingGrouping records by a key so that only records in the same group are compared
SurvivorshipRules that choose which source value becomes the golden value
StewardPerson who resolves data issues and match decisions for a domain
UnmergeReversal of a merge that combined records of different real-world entities
Reference dataControlled code lists used to classify other data

References: DAMA-DMBOK 2nd Edition Revised (DAMA International, 2024), Reference and Master Data and Data Quality knowledge areas (names only); ISO 3166-1 and ISO 4217 code lists; AsyncAPI Specification 3.1.0 (asyncapi.com, January 2026); [MDM product documentation, version]; [Internal data governance policy].

Standard and licence note

Structure aligned with the Reference and Master Data knowledge area of DAMA-DMBOK 2nd Edition Revised (DAMA International, 2024); only the knowledge area names are used and no text, figures or definitions from the book are reproduced. The four implementation styles are described in original wording from common industry practice. This template is original text written for this collection. Check the current official editions and your MDM product documentation before use. DAMA-DMBOK is a trademark of DAMA International; this template is not affiliated with or endorsed by it. Template licence: MIT.

Схожі шаблони