Production ML System

FairRent ML

Shipped

ML system using 30+ European economic indicators to predict fair rental prices in the Greek market. 99.89% model accuracy running on €35/month infrastructure.

Real Performance Metrics

99.89%
Model Accuracy
R² on 18-month validation set
€35/month
Hosting Cost
Total Azure infrastructure
50-100
Usage
Property assessments per week
30+
Data Sources
EU economic indicators

The Problem We're Solving

Before: Greek Rental Pricing Reality

  • Pricing based on "my cousin rents for €600, so I'll charge €650"
  • No objective data to support negotiations
  • Market operates on vibes and neighborhood gossip
  • €2B market with zero data-driven tools

After: Data-Driven Fairness Scoring

  • 0-100 fairness scores based on economic fundamentals
  • GDP per capita (45.6% feature importance) drives predictions
  • Real-time updates as economic conditions change
  • Transparent ML - no black box magic

Technical Implementation

Economic Data Pipeline

Shipped

Daily ingestion of Eurostat and ECB data with automated cleaning and normalization

Random Forest Model

Shipped

Optimized for Greek market with 11 most important features from 30+ indicators

Real-time API

Shipped

Sub-200ms response times for rental price scoring and fairness assessment

Cost Optimization

Shipped

SQLite handles workload efficiently - no expensive databases needed

Technology Stack

Python 3.12
Core ML pipeline and data processing
scikit-learn
RandomForestRegressor with StandardScaler
Flask
Lightweight API with 4 endpoints
SQLite
50MB of historical data, 30-second queries
Azure Container Apps
€35/month, 1-5 replicas, auto-scaling
eurostat library
Daily EU API data fetching

How People Actually Use It

Example 1: "Is This Rent Fair?"

Input: €750/month, 65m², Exarchia, Athens, decent quality
Output: FairRent Score 78/100
Model says: "Good value based on current economic conditions"

Result: Price is below what the model predicts given unemployment rates, GDP data, and local factors. User feedback: "Helped me negotiate with confidence"

Example 2: "Investment Analysis"

Scenario: Comparing 3 properties in different Athens neighborhoods
Results: Scores of 45, 67, and 89 for similar-sized apartments
Insight: High score = good value, low score = potentially overpriced

Result: User bought the high-scoring property, rental yield exceeded expectations by 12%.

Current Status & Next Steps

What's Working Now

  • • Daily EU API data pipeline running reliably
  • • Model trains in ~30 seconds, predicts in <200ms
  • • API handles concurrent requests without breaking
  • • Most accurate for Athens metro area
  • • Users report it helps in rental negotiations

Experiments in Progress

  • • Testing XGBoost and ensemble methods
  • • Regional adjustment factors for tourist areas
  • • Seasonal pricing pattern detection
  • • Integration with Bank of Greece data
  • • Simple web interface for non-technical users

An Experiment That Became Useful

FairRent started as a weekend experiment: "Can we bring objectivity to Greek rental pricing?" It became a production system solving real problems for real people.