Entity Resolution: Matching Property Records Across Sources
The same property, three different records
Pull data on a single property from a county assessor, the county recorder, and a third-party aggregation vendor, and you'll often get three records that don't obviously agree they're describing the same parcel. The parcel ID format differs. The owner name is formatted differently, or reflects a different point in the ownership history. The address might be standardized in one source and free-text in another. None of this means the data is wrong. It means matching these records into a single, reliable property profile, entity resolution, is real engineering work, and it's usually the part of a property-data pipeline that determines whether the whole system is trustworthy.
We've built property-data pipelines where entity resolution wasn't an edge case to handle later. It was the core problem the entire project existed to solve.
Why property records are unusually hard to match
- No universal identifier. There's no single ID that's consistent across assessor, recorder, and vendor systems the way, say, a VIN is consistent across automotive data sources. Every source has its own parcel or property identifier scheme, and mapping between them is often manual or approximate.
- Address variation. The same physical address can appear as "123 Main St Apt 4," "123 Main Street #4," or "123 Main St Unit 4" across different sources, and naive string matching treats these as different properties.
- Ownership history complicates owner-name matching. A property that's changed hands, or is held in a trust or LLC, can have owner-name fields that look completely different across sources even though they refer to the same current legal owner or the same underlying property.
- Sources update on different schedules. A property's assessor record might reflect last year's valuation while its recorder record already shows a sale that happened last month, so "matching" also has to account for which version of each source you're comparing.
Getting entity resolution wrong doesn't look like an error. It looks like two "different" properties in your data that are actually the same one, or one property that's secretly a merge of two different parcels. Both are expensive mistakes that don't announce themselves.
What a real entity-resolution approach looks like
- Normalize before matching, not during. Standardize address formatting, parcel ID formats, and owner-name conventions into one internal representation before attempting any cross-source comparison, so matching logic operates on comparable data rather than raw source formats.
- Use multiple signals, not one. A confident match usually comes from combining several weaker signals (normalized address, approximate parcel ID mapping, owner-name similarity, geographic coordinates) rather than relying on any single field being perfectly consistent.
- Score matches with confidence levels, not binary yes/no. Some matches are clear; others are probable but uncertain. Treating every match decision as an obvious yes or no throws away information that downstream systems could use to flag uncertain records for review.
- Keep source-level records linked, not merged away. Even after establishing that three records represent one property, retain the ability to trace back to each original source record, since disputes and audits eventually require showing where a value came from.
- Re-run resolution as sources update. Entity resolution isn't a one-time batch job. As assessor, recorder, and vendor data refresh on their own schedules, the matching needs to be re-evaluated, not treated as permanently settled the first time it runs.
Why this is the foundation, not a detail
Almost everything downstream of a property-data pipeline (valuation, risk assessment, outreach targeting, compliance reporting) depends on having one trustworthy profile per property. Weak entity resolution doesn't fail loudly. It produces plausible-looking data that's subtly wrong, which is far more dangerous than an obvious pipeline failure, because nobody goes looking for a problem that looks like it's working.
If matching property records across sources is a weak point in your data pipeline, book a free automation audit and we'll help you find where the gaps are.
Have a workflow like this?
We'll show you how to automate it, free audit, no obligation.