top of page

Cleaning Isn't the Same as Remembering: The Case for MDM

11 minutes ago
4 min read

Many organizations don't precisely know how many customers they have. Not because nobody counted - because the same person is sitting in the system twelve times under twelve slightly different names. 

The problem everyone has and nobody names

Sales keeps a list of customers. Support keeps their own. Marketing exports one from an email tool. Someone uploads a spreadsheet from a trade show. Each list is fine on its own - until you ask how many customers you actually have.

 

 

Name

City

Phone

1

Robert Shaw

New York

555-0134

2

Rob Shaw

New York

555 0134

3

R. Shaw

NY

(555) 0134

4

Robert Shawe

New York

 555 0134

 

That's one person. Your systems count four. So you email him four times, support can't see the ticket sales raised, and every report about him is a quarter of the truth. A human reads that table instantly. The computer doesn't, because it's looking for values that are equal, and none of these are.


Cleaning a file isn't the same as fixing the problem

The usual first move is deduplication: run the file through a tool, keep one of each near-duplicate. That helps - and it's a real step in our own flow.

 

But it only cleans that file. Next month a new file arrives with Robert spelled a fifth way, and the tool has no memory of last month. It cleans the new file from scratch, and you're back where you started.

 

What's missing isn't better cleaning. It's memory. That's Master Data Management (MDM): not a fancier duplicate-finder, but a system that remembers who it has already seen, across every upload, forever.

The one idea: a permanent Identifier

 Every real-world thing - a customer, a supplier, a product - gets one ID that never changes, and every record about it is filed under that ID.

Robert Shaw becomes customer 1042. All four rows point at 1042. Next month's "Rob Shaw" is filed under 1042 too. The ID doesn't care how the name was spelled today.

 It's not clever, and that's the point. Once every record carries one, hard questions become one line of a report: how many customers? - count the IDs. Show me everything about this one - everything with that ID. Is this lead already a customer? - check whether it lands on an existing ID.

 

How data flows through it

 Tidy up inside the file first. If Robert appears three times in this one upload, we need to know before anything else - miss it and he gets three IDs on day one.

 Compare each record against what we already know. Not a search for an exact match, which would find nothing. A comparison across several fields at once, scored out of 100. Same phone, same city, very similar name - that scores high.

 Old ones keep their ID, new ones get one. A recognised record inherits the ID that thing already has. A genuinely new one gets the next ID. That's the whole decision.

 Everything is filed, nothing is thrown away. The row is stored with its ID, the file it came from, when it arrived, and the score that linked it.

 

One list of people, one list of records

 You end up with two things, and mixing them up is where the confusion starts.

Who exists - one row per real-world thing. Robert appears here exactly once, no

matter how many files he shows up in. Short, slow-growing, and the answer to "how

many do we have."

What came in - one row per record, per upload, each stamped with its ID. Robert

has many rows here. This is the answer to "show me everything we've received about

this customer, and where each piece came from."


The second one surprises people. It's tempting to think MDM squashes everything down

and throws the messy originals away. It doesn't - nothing gets deleted. The

original rows stay exactly as they arrived; you've only added a label saying which

ones belong together. So if a link turns out to be wrong, you can see what was

joined and how confident the system was. There's nothing to undo, because nothing

was destroyed.

 

The honest part

Matching is a judgement, not a fact. Two records aren't equal, they're similar, and someone has to decide how similar is similar enough. That line is a setting - ours starts at 80 out of 100.

Set it too low and you start joining people who merely look alike; two different Robert Shaws in one city become one customer, which is the expensive mistake because it's hard to spot and hard to unpick. Set it too high and you barely join anything - safe, but you've bought an MDM system and kept your duplicates.

There's no universal right answer. What we do is keep the decision visible: every link stores the score that caused it, so you can look at the borderline cases and move the line on evidence rather than a feeling.


What changes once it's running

 Questions stop being projects. "How many customers?" becomes a number you trust. Support's data and sales' data can finally sit side by side, because both carry the same ID - that join didn't exist before, there was nothing reliable to join on. New files stop creating new piles: known things attach to what you already have, and only truly new things are new. And every link keeps its source and score, so "why are these the same customer?" always has an answer.

 

If you're considering it: start with one domain - customers, or suppliers, or products, not all three. Compare on fields that actually separate people; a country or a status is the same for everybody and does no work. And expect to tune the threshold once you've seen your own borderline matches.

 

Want to know if this fits your data?

If you recognise the four-Roberts problem - counts nobody believes, systems that can't be joined, duplicates that come back every month - we'd be glad to look at your data and talk through whether this is the right fix.



 
 
 

Recent Posts

See All

Comments


bottom of page