Haqbil.
Work
Real Estate · Machine Learning

An ML pipeline that scores which property owners are likely to sell

Ingests 109,000+ county property records, engineers ML features, and scores every residential property 0–100 for seller intent using weak supervision and gradient boosting — delivered as a ranked weekly lead list in Power BI.

The problem

Finding the owners who are actually close to selling is mostly guesswork. The standard approach is to buy a list everyone else has already bought and work it by volume.

The signal is public. County assessor and recorder files carry ownership tenure, transfer history, assessed value, and property characteristics for every parcel in a jurisdiction — they just arrive as large, inconsistent bulk exports that nobody has the time to clean, join, and model.

There is also no ground truth to train on: no column labelling which owner will list next quarter. That makes seller intent a weak-supervision problem, not a clean classification one.

What I built

An end-to-end pipeline that turns raw county records into a ranked list of residential properties, refreshed weekly.

  • 01

    Ingestion and normalisation

    Loads 109,000+ county property records, resolves the inconsistencies between export formats, and reduces them to one clean residential parcel table with a stable key.

  • 02

    Feature engineering

    Derives the features that actually carry seller signal — length of ownership, transfer and sale history, assessed-value movement, property attributes — rather than feeding raw columns to a model.

  • 03

    Weak supervision instead of invented labels

    With no ground-truth label available, labelling functions encode the heuristics a domain expert would apply, and those combine into probabilistic labels. This was the key decision: it keeps the modelling honest about what is inferred versus observed.

  • 04

    Gradient-boosted scoring

    A gradient boosting model trained on those labels scores every residential property 0–100 for seller intent — a ranking to work top-down, not a binary yes/no the data cannot justify.

  • 05

    Delivery in Power BI

    Scores land in a Power BI report as a ranked weekly lead list, filterable by area and property attributes. The format the work actually gets done in, not a notebook.

The outcome

109K+
properties scored 0–100 for seller intent

Every residential property in the dataset — 109,000+ of them — carries a 0–100 seller-intent score, refreshed weekly and delivered as a ranked list.

The honest framing: this is a prioritisation tool, not a prediction of certainty. It changes which doors get knocked first, ordering the list by modelled signal instead of by whatever a vendor happened to sort on. Because the labels come from weak supervision, the score is a ranking instrument — and the pipeline is built so the labelling functions and the model can be revised as real outcomes come back.

ML PipelinesData & BIPython

Want to see how this was built?

Happy to walk through the system and what a similar build would take.

Book a call