OPS-26-I5Real Estate Data

Platforma market intelligence dla proptech B2B

11 portali nieruchomości w 6 krajach UE, 800k aktywnych listings monitorowanych daily, cross-portal dedup, AVM. Platforma SaaS.

faster deal sourcing
Sektor
Proptech SaaS · 5M+ ARR
Powierzchnie
Browser · 11 portali · Canonical schema · AVM
Czas pracy
11 miesięcy production
Opublikowano
2025-12-08

Wyzwanie

Proptech SaaS klient (powstał 2022, $5M ARR) obsługiwał real estate investment funds w 6 krajach europejskich (PL, DE, AT, ES, IT, PT). Każdy fund klient płacił im $2-15k/mies za "market intelligence" — daily listings, comparable sales analytics, deal alerts, AVM dla underwriting.

Stan w 2024: scrape platform zbudowany przez wcześniejszy team, używał Apify pod spodem, koszt operacyjny $25k/mies, coverage tylko 3 kraje (PL, DE, AT). Próba expansion do południowej Europy (Idealista portal) padła trzykrotnie — anti-bot blocked ich konfigurację po 2-3 tygodniach każdorazowo.

Klienci sygnalizowali growing dissatisfaction: data lag był 24-48h (vs konkurenci 2-4h), deduplication accuracy niska (klienci raportowali duplikaty w ich dashboards), AVM coverage tylko 60% potential addresses.

Podejście

Przejęliśmy istniejącą infrastructure z mandatem: expansion do 6 krajów, reduce data lag <2h, achieve 95%+ dedup accuracy, push AVM coverage do 95%.

Critical decisions: rebuild scrape layer od podstaw na Playwright (Apify dominuje na Polish market ale ma anti-bot weakness na harder UE targetach), per-portal parser z parser_version tagging, canonical schema layer separating raw extraction od normalization, dedicated photo-hash + geocoded-address deduplication service.

Architektonicznie: Temporal jako orchestrator (orchestrate 11 portali z różnymi schedule'ami — Otodom every 30 min, Idealista every 2h ze względu na anti-bot tolerance), Playwright pool w Kubernetes (Hetzner dla cost efficiency), PostgreSQL z partitioning per portal per month, ClickHouse dla time-series price tracking, AVM model w Python (hedonic regression z geo features).

AVM expansion approach: training data z scraped historical listings (3+ lat retrospective) plus public land registry data (gdzie dostępne — KRN dla Polski, Grundbuch dla DE), enrichment przez geocoded amenities (POI density, transport access, schools z OpenStreetMap), model retrain quarterly per market.

Wynik

Coverage expanded do 11 portali w 6 krajach: Otodom + Domiporta (PL), ImmoScout24 + Immowelt (DE), willhaben + Immobilienscout24.at (AT), Idealista + Fotocasa (ES), Immobiliare.it + Casa.it (IT), Idealista.pt (PT). Każdy z dedicated parser plus drift detection.

Data lag: avg 47 minut (vs 24-48h baseline), P95 92 minut. To pozwoliło client positioning jako "real-time market intelligence" — nowa tier pricing z premium klientami.

Deduplication accuracy: 96.4% mierzone przez manual sampling 1000 records monthly. False positive rate (different properties zlinkowane jako same) <1%. Confidence scoring umożliwia downstream applications make trust-aware decisions.

AVM coverage: 94.2% addresses z confidence interval <15%. Top 3 lending klientów zaczęło używać AVM in their underwriting decision flow.

Cost overall: $18k/mies operacyjnie (zmniejszone z $25k baseline), 4-osobowy team przejęty (technical lead + 3 engineers), retainer maintenance dla expansion. Klient revenue wzrosło 2.4× w 11 miesiącach od projekt completion thanks to deal sourcing acceleration umożliwiona przez platform expansion.

Stack

TemporalPlaywrightKubernetes (Hetzner)PostgreSQLClickHousePython AVM modelBright Data residentialOpenStreetMapCustom dedup service

Wskaźniki

  • 11Portals integrated
  • 6Countries covered
  • 800k+Active listings monitored
  • 47 minData lag (avg)
  • 96.4%Dedup accuracy
  • 94.2%AVM coverage
  • Deal sourcing speedup
Podobny problem w Twojej firmie?

Każdy projekt jest inny, ale wzorce się powtarzają.

Jeśli rozpoznajesz fragmenty tego case study u siebie — napisz. Zwykle widzimy w pierwszym callu, czy to skala godzin tygodniowo, czy infrastruktura na miesiące.