Three Customer Counts and a Regulatory Deadline
A retail bank is building a new customer data warehouse from nine source systems. There is no common customer identifier. Customer counts disagree badly: CRM reports 1.42 million, the billing system 1.18 million, and the web analytics platform 2.60 million. Matching keys available are national tax identifier, email address, and a normalized name-plus-date-of-birth combination; the tax identifier is present in only 61% of billing records and is legally restricted in how it may be used for matching. A regulator requires a customer population figure in nine weeks. The bank also needs full history: supervisors must be able to see what the bank believed about a customer on any past date, including corrections made later.
1. Propose how to reconcile the three counts before the regulatory deadline, including matching and survivorship rules.
Read the worked answer
First establish that the three numbers are not measuring the same thing, then decide which one the regulator is actually asking for.
Unit of analysis. Web analytics at 2.60 million is almost certainly devices or cookies, not customers; it cannot be reconciled by better matching, only by restating it as a different measure. Present it as such and exclude it from the reconciliation.
Matching. Use deterministic rules first on the tax identifier where it is permitted and consented, then on normalized email, then on name plus date of birth with a similarity threshold. The 39% missing tax identifier is the core problem: handle those records through probabilistic matching into a steward-reviewed queue with a documented threshold, rather than forcing a match. Never auto-merge on name and date of birth alone.
Survivorship. Publish an attribute-level source-of-truth matrix: billing wins on billing address, CRM on contact preference, and so on, with a recency rule for ties. Do not let a single system win every attribute.
Deadline. Report the regulated figure from the system of record the regulation names, with a documented reconciliation bridge explaining the 1.42M versus 1.18M gap (likely duplicates and orphaned billing accounts). Ship that in nine weeks; ship the resolved golden record later.
2. A business sponsor wants a single authoritative 'customer count' tile on the executive dashboard next sprint. Advise.
Read the worked answer
Say yes to the tile, no to a single unexplained number.
A count with no definition invites the executive to compare it against the CRM figure they saw last week and conclude the warehouse is wrong. The tile should carry: the measure name, the definition in one line, the source systems included, the as-of timestamp, and a known-issue note where a reconciliation is still open.
If the matching work genuinely is not done, show the golden-record count as provisional with a confidence band or an 'in reconciliation' flag rather than withholding it - executives will source the number elsewhere if the dashboard is silent, and then you have lost control of the narrative.
Also give the sponsor the decomposed view alongside it: matched, unmatched-unique, and likely-duplicate counts. That converts an argument about which number is right into a conversation about which records need stewardship, which is the work that actually closes the gap.
Finally, record the definition in a governed metric catalogue so the definition cannot drift silently between releases - version it, and show the version on the tile if it changes.
3. Twelve months after go-live, a correction is found: 4,000 customers had the wrong relationship segment for two years. How should the warehouse represent this without destroying what was previously reported?
Read the worked answer
Use bitemporal history - record both valid time (when the segment was true in the world) and processing time (when the warehouse believed it) - rather than overwriting the type-2 rows.
Concretely: insert new type-2 rows with corrected valid-from dates carrying a new processing timestamp, and close the superseded rows on processing time rather than deleting them. The old rows remain queryable, so the bank can reproduce exactly what was reported to the regulator in any prior period, and can also answer 'what was true in 2024 as we now understand it'.
Tag every corrected row with a reason code, the source of the correction, the change ticket, and who approved it. That audit trail is what makes a restatement defensible.
Then reconcile outward: identify which regulatory or management reports consumed the wrong segment and issue restatements with a covering note. Do not quietly re-run history and hope nobody compares printouts - the old report exists somewhere.
Finally, ask why the segment could be wrong for two years undetected: if there was no data-quality monitor on that field's distribution, add one, or the same class of error recurs.