← Back to Intel

Pricing A Property In Seconds, Within 10%

Feb 2, 2026Omar Trejo8 min read

The property is in a postcode where comparable sales run thin. The listing photos are staged — wide lens, styled furniture, shot on the one clear morning of the month. The renovation that changed the property's class last year has not reached the comparables panel yet, and the satellite tile covering the street is stale because a construction site nearby keeps the revisit cadence honest only in theory. A valuation model will still return a number for that property. The question that decides whether the system is a product or a demo is whether it also knows the number is soft.

That question is the reason ML LABS was engaged by a PropTech platform to design and build their core valuation engine. The existing process depended on human appraisers visiting properties, reviewing comparables by hand, and producing a report over several days — a structural bottleneck against the volume their enterprise buyers wanted to operate at. The engine had to ingest property photos, satellite imagery, geospatial features, and market data, and return a valuation in seconds, accurate to within 10% of the actual closing price in dense metro areas for 90% of cases.

It hit that bar. What is worth writing down is the part that was hard, because it was not the part anyone expected: producing the point estimate was the straightforward half of the build, and calibrating the confidence band around it was the half that decided whether the system could run without an appraiser standing behind every answer.

Why Comparables Alone Hit A Ceiling

Valuation systems in adjacent markets had leaned on transactional comparables, and that approach hits its ceiling fast in heterogeneous urban housing stock. Two properties on the same street differ in condition, layout quality, and outlook in ways a comparables sheet does not record, so the error distribution for a transactional-only model goes fat-tailed exactly where enterprise buyers care most: high-value properties and unusual configurations. The tail is not a rounding problem. It is where the trust goes.

The fusion architecture was designed to attack that tail directly rather than to average it down. Computer vision over listing photos reads condition and finish quality. Satellite imagery reads what no comparables panel contains — proximity to construction, traffic exposure, street tree coverage. Geospatial features add walkability and amenity density. Each source carries an independent error pattern, and the ensemble weights them against the specific property's configuration instead of trusting one channel whose errors all lean the same way. Recent work on multi-source image fusion for property valuation (PLOS One, 2025) found image-derived features such as built-up index and vegetation density ranking among the top predictors of sale price, with image-enhanced ensembles measurably outperforming tabular-only baselines.

None of that helps if the inputs are dirty in ways nobody has characterized, and the measured effect of data quality on model performance (Mohammed et al., 2022) is not subtle: the damage is done upstream of the model and cannot be recovered by it. The engineering budget on a system like this goes where the data actually is, not where the architecture diagram is prettiest — which is the same lesson the data foundation an AI build stands on is made of.

How The Signals Combine

graph TD
    A["Property Photos"] --> D["Feature Extraction"]
    B["Satellite Imagery"] --> D
    C["Geospatial &<br/>Market Data"] --> D
    D --> E["Ensemble<br/>Valuation Model"]
    E --> F["Price Estimate +<br/>Confidence Interval"]
    F --> G["Enterprise API"]

    style A fill:#1a1a2e,stroke:#0f3460,color:#fff
    style B fill:#1a1a2e,stroke:#0f3460,color:#fff
    style C fill:#1a1a2e,stroke:#0f3460,color:#fff
    style D fill:#1a1a2e,stroke:#ffd700,color:#fff
    style E fill:#1a1a2e,stroke:#ffd700,color:#fff
    style F fill:#1a1a2e,stroke:#16c79a,color:#fff
    style G fill:#1a1a2e,stroke:#e94560,color:#fff

The engine was built as a production service for enterprise integration, and each stage exists because a downstream consumer needed something from it:

  • Ingestion. Photos, satellite imagery, and transactional data pulled from multiple sources into one processing queue, because the sources disagree about freshness and something has to arbitrate.
  • Feature extraction. Vision and geospatial models running in parallel, each emitting structured features rather than opinions.
  • Ensemble prediction. Visual, spatial, and transactional signals combined into a valuation with a confidence bound and feature-importance scores.
  • API layer. Valuations returned with full feature attribution, so a downstream system can audit and explain any estimate it acted on.

The Band Was The Harder Half

The failure modes worth naming are the ones that move the estimate without announcing themselves. Comparable scarcity in a postcode pushes weight onto the visual channel and exposes the model to staged or seasonally flattering photos. A renovation the comparables panel has not caught up with produces an under-valuation the photo channel is supposed to correct — but only if the agent photographed the renovation. Satellite revisit gaps leave an active construction site stale in the spatial channel. Each mode has a measurable signal: the spread between channel-specific estimates widens before the ensemble estimate becomes unreliable, which is the quantity the confidence bound was calibrated against.

Calibrating that bound correctly was harder than producing the point estimate, and it stayed harder for the whole build. Standard prediction intervals from tree ensembles run over-confident in dense neighborhoods and under-confident in sparse ones — which is precisely inverted from the property the routing logic needs. Research on spatially weighted conformal prediction for automated valuation models (Hjort et al., 2023) documents exactly this: direct conformal prediction on housing data produces coverage that is oversized in some regions and undersized in others, and only spatially weighted calibration restores consistent coverage. Residuals were calibrated on local neighborhoods rather than a global pool, and claimed confidence was treated as a number to be validated against held-out closings rather than believed.

Confidence is what the buyer purchases. The point estimate is what they talk about.

What The Engine Delivered

The system hit its accuracy target: valuations within 10% of the actual closing price in dense metro areas for 90% of cases, returned in seconds rather than days. That combination is what made the product viable for high-volume enterprise buyers, who needed the speed and would not trade reliability for it.

"We needed a valuation engine that could price properties within 10% of closing price in dense markets, in seconds instead of days. Omar built it. That system became the reason investors took us seriously." — Founder / CEO, PropTech company

The 90% is a commercial number before it is a statistical one, and the confidence band is what converts it. Enterprise buyers were willing to consume a probabilistic valuation, but only if the system told them where it was confident and where it was not. Properties outside the high-confidence band route to a slower workflow with a human appraiser; the rest pass through automated. That routing is what makes the accuracy target mean anything — the buyer is buying the confident slice, and the system earns more trust by admitting the boundary of that slice than it would by claiming a wider one.

Where The Model Regime Changes

The bar was achievable because three properties of the data environment did most of the work, and each one is a boundary condition rather than a feature. Dense metros have high transaction velocity, so the comparables panel is recent and the model retrains against a current distribution. Listing photos were uniformly available and curated by the source platform, so the vision step had a clean input distribution. Satellite revisit cadence was stable enough that spatial features tracked the ground.

Weaken any of the three and the error widens — which is why suburban and rural expansion was treated as a separate model regime rather than a bigger training set. Retraining the urban model on broader data and watching accuracy drift is the tempting move and the wrong one, because the drift arrives as a slow degradation rather than an alarm. Detecting dataset shift before it costs you (NeurIPS, 2019) is a monitoring discipline, not a modeling one: the shift shows up in the input distribution long before it shows up in a closing price you can check against. The same instinct is what separates pilots that survive production from pilots that do not.

First Steps

  1. Start in the densest market you have. Prove accuracy against actual closing prices where the comparables panel is thickest, before anyone opens a conversation about expansion.
  2. Verify each channel earns its place. A new data source must reduce error independently, not add correlated noise the ensemble then has to unlearn — and validating the data before the model (MLSys, 2019) is what makes that test possible at all.
  3. Calibrate the band locally, then check its coverage. Validate the interval against held-out closings inside each neighborhood, not against a national pool. The number the routing logic relies on has to be the number that survives that test.

Sequence The Build Around Confidence

The architecture that earns the commercial outcome treats accuracy and calibration as two problems with two test harnesses: one for point-estimate error against closing prices, one for interval coverage against the same ground truth. Every new data source, model change, and geography expansion passes through both gates or it does not ship. Skip the second harness and the failure is quiet — a headline accuracy number that still routes the wrong properties to human appraisers and the wrong properties to automation, until the operational economics collapse with the model apparently fine.

Go back to the property in the thin postcode with the staged photographs. A demo returns a confident number for it. A product returns a number and a band wide enough to send it to a human — and that is a design decision, made at build time, in the confidence layer nobody demos. Taking one workflow that far — ingestion, calibration, routing, and the operational plumbing that holds them together — is what a production workflow build is for, and it includes its first 30 days of Operate, run by the person who built it, because the first month in production is when the calibration meets the properties the training data never saw. Why the alternative fails is documented well enough that nobody needs to relive it: most AI projects fail on exactly this seam, between a model that works and a system that can be trusted.

References

  1. Deng, L. Real estate valuation with multi-source image fusion and enhanced machine learning pipeline. PLOS One, 2025.
  2. Hjort, A., Hermansen, G. H., Pensar, J., & Williams, J. P. Uncertainty quantification in automated valuation models with spatially weighted conformal prediction. arXiv preprint, 2023.
  3. Mohammed, S., Budach, L., Feuerpfeil, M., Ihde, N., Nathansen, A., Noack, N., Patzlaff, H., Naumann, F., & Harmouch, H. The Effects of Data Quality on Machine Learning Performance. arXiv, 2022.
  4. Rabanser, S., Günnemann, S., & Lipton, Z. Failing Loudly: An Empirical Study of Methods for Detecting Dataset Shift. NeurIPS, 2019.
  5. Breck, E., et al. Data Validation for Machine Learning. MLSys, 2019.
NEXTTO PRODUCTION

Could this work for you?

Two minutes. Find out where you stand.

Fixed scope · written plan · Design and Build: full refund until you accept