r/data • u/donewitheverything26 • 1d ago
QUESTION how do you handle joining a source that shares no key with anything you already have?
Partner sends us a monthly export. Different customer ID scheme to ours, no mapping table, no docs, and whoever built it on their side left last year.
Right now I fuzzy match on lower(trim(email)) plus surname and eyeball a sample before it goes anywhere. It works well enough that nobody's complained, which is not the same as it being right. I have no idea what my false match rate is.
The part that bothers me is that a bad join doesn't announce itself. A wrong customer count looks identical to a right one.
So what do people actually do here. Do you block on something cheap first to cut the comparison space, compute a score and hold back anything under a threshold, or just accept a fuzzy match and monitor downstream? And if you threshold, where did the number come from?