Back to case studies
PropTechCase StudyAI / Python

How We Built a Property Recommendation Engine for a Real Estate Portal

Personalized real estate alerts without GPUs, training phases, or heavy AI infrastructure. Built using statistical learning, time decay, and Gaussian ranking.

By Enzo García, Senior Engineer at weKnow Inc. — December 19, 2025 — Updated March 2026

Gaussian distribution of property prices — from fixer-uppers to luxury real estate — used in AI recommendation engine ranking

What is a Property Recommendation Engine?

A property recommendation engine is a system that automatically matches real estate portal users with listings based on their browsing behavior, price sensitivity, and location preferences — without requiring explicit ratings or saved searches. It learns from implicit signals (clicks, visit frequency, recency) to surface personalized listings in real time.

In PropTech web development, “AI” is often synonymous with massive neural networks, expensive GPUs, and weeks of model training. For most real estate portals, that approach is overkill — and unaffordable. At weKnow Inc., we applied our Right-Sized Engineering philosophy to build a high-performance property recommendation engine for a U.S. real estate client. The goal: solve the “Cold Start” problem and deliver personalized real estate alerts from day one, without heavy infrastructure. We built a Two-Stage Content-Based Filtering System — the same architectural strategy behind Spotify's Discover Weekly and Netflix — using lightweight statistical learning, deployable on standard CPUs.

0
GPUs required
14d
Behavioral half-life
20%
Price tolerance (σ)
Diagram: user clickstream → weighted centroid → personalized real estate search results

1. Real Estate Search Optimization: Signal Processing with Time Decay

Objective: Transform raw browsing history into a quantifiable per-user Interest Score — the foundation of personalized real estate alerts.

Instead of asking users to rate properties, we use an Implicit Feedback model: interest is inferred from click frequency and recency. This is the same approach used by Reddit's Hot Algorithm and HackerNews ranking — no user action required beyond normal browsing.

Mathematical Formula

For each property p and user u, we calculate the Interest Score Su,p:

Signal processing formula: S(u,p) = log10(1 + Freq) × (1/2)^(Δt/H)
  • Log₁₀(1 + Freq) — logarithmic smoothing: Prevents a power user who clicks 100 times from distorting the model. The difference between 1 and 10 visits is significant; between 50 and 60 is marginal.
  • Exponential Decay (14-day half-life): The value of any interaction is reduced by 50% every 14 days, ensuring the real estate search optimization engine reflects what users want now, not six months ago.

The “What Have You Done Lately?” Rule

A user who browsed luxury condos last year but is now clicking $200k starter homes will have their recommendation profile fully re-weighted within two weeks — no manual update needed. This adaptive decay is critical for real estate portals where user intent shifts faster than most product categories.

2. Personalized Property Alerts: Centroid Vectorization

Objective: Compress a user's entire browsing history into a single “User Vector” — a compact behavioral fingerprint used to generate personalized property alerts.

Traditional Collaborative Filtering requires massive User-Item matrices — impractical for a real estate portal with high property turnover. Instead, we use Feature Weighted Averaging to calculate each user's “Center of Gravity” across price, location, and property type preferences.

The Target Price Ptarget is derived using a score-weighted mean — not a simple arithmetic average, which would over-weight outlier interactions:

Scatter plot: Interest Score vs Property Price with Weighted Price Centroid for personalized real estate recommendations
  • Dynamic Centroid: If a user viewed a $5M home once a year ago (low score) and ten $200k homes yesterday (high score), the centroid sits at $200k — reflecting actual current intent.
  • Intent Classification: Weighted counters automatically segment users into behavioral clusters — Buyer, Renter, or Hybrid — without any explicit survey or onboarding form.

3. Dynamic Property Ranking with Gaussian Density Functions

Objective: Score and rank new and unseen inventory (the Cold Start problem) probabilistically — without binary filters that exclude near-matches.

A standard SQL WHERE price = X filter either shows a property or doesn't. Our dynamic property ranking algorithm uses OpenSearch's Function Score Query with a Gaussian Decay Function — the same probabilistic scoring technique used by Amazon, Uber, and Tinder — to rank candidates by proximity to the user's preference centroid.

The Gaussian Decay Function

A bell curve is applied centered on Ptarget with a 20% price tolerance (σ):

P_target formula: weighted mean of property prices scaled by user interaction score

Ranking Score by Price Deviation

  • Exact match (0% deviation) Score 1.0
  • 10% more expensive Score ~0.9
  • 50% more expensive Score ~0.1

This “fuzzy” ranking allows new inventory to surface immediately — solving the Cold Start problem — while still prioritizing the most relevant matches. The system mimics how human property search actually works: close enough is often good enough.

Technology Stack: AI for Real Estate Portals Without Heavy Infrastructure

Every component maps to a proven industry-standard pattern — deployed without GPUs, training pipelines, or data science teams.

ComponentTechnology / AlgorithmIndustry Equivalent
Data IngestionBatch Processing, Implicit FeedbackGoogle Analytics, Mixpanel
Feature EngineeringLogarithmic Smoothing, Exponential DecayReddit Hot Algorithm, HackerNews
User ProfilingWeighted Centroids (Vector Space)Stitch Fix, Pinterest
Search & RankingOpenSearch (Lucene), Gaussian Function ScoreAmazon, Uber, Tinder

This is Statistical Learning — the basis of Machine Learning — without the infrastructure overhead. The engine learns from user behavior, generalizes preferences into a profile, and predicts what each user wants from inventory they've never seen.

Why a Nearshore AI Development Team from Latin America?

Projects like this require engineers who are fluent in statistics, search infrastructure (OpenSearch/Elasticsearch), and backend Python — and who can collaborate in real time with U.S. product and engineering teams. weKnow's nearshore AI development team in Latin America operates in U.S. time zones, communicates in English, and has delivered complex data systems for PropTech, energy sector, and logistics clients since 2009.

  • ✓ Senior-only engineers — no juniors billed as seniors
  • ✓ U.S. time zone alignment (CST/EST/PST overlap)
  • ✓ 15+ years building data-intensive web systems
  • ✓ Transparent, white-box implementations — no black-box AI you can't explain to stakeholders

FAQs

A property recommendation engine for real estate portals is a system that automatically ranks and surfaces listings for each user based on their browsing behavior — without requiring them to set explicit filters. It uses signals like click frequency, recency, and price range to build a dynamic behavioral profile and match users to relevant inventory in real time. Unlike rigid rule-based filters, a recommendation engine adapts as user intent changes.

EG

Enzo García

Senior Engineer, weKnow Inc. — Specializes in search infrastructure, recommendation systems, and Python-based data pipelines for PropTech and enterprise clients.

About weKnow →

Building a Real Estate Portal or PropTech Product?

Our nearshore AI development team in Latin America specializes in recommendation systems, search optimization, and data-driven web applications — working in your time zone, from day one.

Talk to our team