From our identity model

Why a listing ID cannot identify a property.

A portal ID answers which advertisement the portal published. It does not tell you whether a new ID is the same home relisted, whether two agencies share one property, or whether two near-identical units are actually different. We use four identities so those decisions stay explicit and reversible.

How we model identity

The four IDs we keep separate.

01

Source listing ID

The advertisement inside one source namespace

02

Offer identity

The commercial state asserted by that listing

03

Match association

Evidence, confidence and a reversible decision

04

Property entity

The likely physical asset shared by its offers

01

Give the listing, offer, property, and match separate IDs

We use a source-scoped listing ID for the exact advertisement, an offer ID for the commercial offer, a property ID for the likely physical asset, and an association ID for the decision that links an offer to a property. The fourth ID matters: confidence and evidence belong to the match, not to either record it connects.

A price edit should not change the property ID. A portal republishing an advertisement under a new ID may change the source listing ID without creating a new home. Keeping those events separate prevents overwritten history and lets us undo a bad match without deleting the observations behind it.

02

Use signals that do not fail in the same way

We start with deterministic relationships and exact structured references. Then we compare normalized address, coordinate precision, unit number, floor, typed area, bedrooms, and property category. Agreement across several independent facts is stronger than a large pile of correlated text features.

Descriptions, agent details, and perceptual image similarity are supporting evidence only. Agencies reuse copy, developments reuse renders, portals round map pins, and adjacent units share layouts. A model that treats those as independent votes becomes confidently wrong in exactly the densest inventory.

03

Keep conflicting source claims after the match

Two genuine offers for one property can disagree on price, area, availability, or amenities. We group the assertions but do not flatten them into an unexplained winner. A preferred value keeps the source, observed time, transformation, competing values, and selection rule behind it.

When new evidence contradicts a match, we can split the association and recompute the property view without destroying either source history. That is the practical difference between canonicalization and destructive deduplication.

04

Measure false merges before celebrating fewer rows

A falling row count is not proof that identity resolution improved. We review precision and false-merge rate alongside duplicate reduction, then sample automatic matches, review-band candidates, large clusters, and dense developments where similar units coexist.

The acceptance invariant is simple: every canonical property resolves to at least one source offer; every offer resolves to its original observation; and every match can be explained and reversed. If any of those links is missing, the identity layer is not ready to trust.

  • Sample the largest and fastest-growing property clusters.
  • Review matches built mostly from text or shared media.
  • Confirm split and rematch operations preserve observation history.
  • Track precision by market and source pair, not only globally.

Identity map

What each ID represents—and when it changes.

IdentifierRepresentsChanges when
source_listing_idOne source advertisementThe source republishes under a new ID
offer_idOne commercial offerThe offer is replaced, not merely edited
property_idThe likely physical assetEvidence shows it was the wrong entity
association_idOffer-to-property decisionConfidence or supporting evidence changes

Identity health

Four checks that catch destructive identity mistakes.

01

Traceability

Every property resolves back to at least one source offer

02

Reversibility

A mistaken association can be split without losing observations

03

Calibration

Confidence bands behave consistently on reviewed samples

04

Orphan rate

Offers and entities without a valid relationship stay visible