Machine Learning Β· Real Estate Analytics

Real Estate Price Estimator &
Market Insights Dashboard

An end-to-end, production-style application combining live US market data from Zillow Research and international data from the Bank for International Settlements. Explore six countries, real neighbourhood values and trends, and estimate US property prices.

Select a market or country from the dropdowns below Β· run the full app locally or with Docker.

Markets Covered15Largest US metros
Median Metro Value$475.8KLive Zillow ZHVI
Model Accuracy85.3%100 βˆ’ MAPE (14.66%)
RΒ² Score0.919Held-out variance explained

United States

What this means

Loading…

β€”
Metricβ€”
Metricβ€”
Metricβ€”
Metricβ€”
Days to Pendingβ€”Median, latest month
For-Sale Inventoryβ€”Active listings
Median Sale Priceβ€”Closed sales

Market Health (US)

For-sale inventory and median days to pending for the selected metro.

Year-over-Year Change

Annual change for the selected market / country.

πŸ“š Market 101 β€” what these numbers mean

ZhviZillow Home Value Index β€” the typical (median) home value in an area, updated monthly.
ZoriZillow Observed Rent Index β€” the typical monthly rent in an area.
PriceThe estimated fair market value of a property, in local currency.
YoyYear over year β€” how much a value changed versus the same time last year.
MomMonth over month β€” how much a value changed versus the previous month.
Change 5YThe total change over the last five years.
IndexA house-price index. 2010 = 100, so 120 means values are 20% higher than in 2010.
YieldGross rental yield β€” annual rent divided by the property price, before costs.
RentThe median monthly rent for the area.
InventoryFor-sale inventory β€” how many homes are currently listed for sale.
Days To PendingDays to pending β€” the typical time from listing to going under contract; lower means a faster, hotter market.
Median Sale PriceThe median price of homes that actually sold (closed sales).
TemperatureMarket temperature β€” a simple Hot / Warm / Cool read on current conditions.
R2RΒ² β€” the share of price variation the model explains (1.0 is perfect).
MapeMAPE β€” the model's average percentage error. Lower is more accurate.

What it does

🌎

Live market data

Real median home values, rents and trends for the 15 largest US metros, fetched from Zillow Research and refreshed automatically.

πŸ“

Real neighborhoods

Explore actual neighbourhood home values within each market, with a committed snapshot for offline reliability.

🎯

Live valuation

Configure a property and get an instant estimate with an empirical valuation range and neighbourhood comparison.

🧠

Explainable model

XGBoost with aggregated feature importances, predicted-vs-actual parity and residual diagnostics.

🧱

Leak-free pipeline

Imputation, scaling and one-hot encoding fitted inside an sklearn pipeline β€” never on the test set.

βš™οΈ

Production ready

Joblib artifact, live-to-snapshot fallback, pytest suite and CI on every push.

Interactive preview

Rendered from real Zillow market data and the trained model at build time.

Median Home Value by Market

Latest published month across the 15 largest US metros.

10-Year Value Growth

Home values indexed to 100 ten years ago β€” the biggest metros compared.

Gross Rental Yield by Market

Annual median rent (ZORI) as a percentage of median home value (ZHVI).

International Home Price Growth

BIS nominal house price index for six countries, indexed to 100 at the window start.

What Drives Home Prices

Aggregated XGBoost gain importance (US model).

Model performance

80/20 hold-out evaluation, trained on the log1p target and scored in dollars.

EstimatorXGBRegressor
Training listings7,022
Markets / locations15 / 180
MAE$89,171
RMSE$131,178
MAPE14.66%
RΒ² score0.919
Improvement vs. median baseline74.8% lower MAE
Top price driversmarket, neighborhood, sqft, bedrooms

Tech stack & data

Python 3.12 Streamlit XGBoost scikit-learn Plotly pandas Zillow Research BIS HM Land Registry pytest Docker GitHub Actions

Market values: Zillow Research ZHVI (monthly, latest published month). Listing-level features are synthesised and calibrated to real neighbourhood medians.

Run locally
git clone https://github.com/armand-vw/Property-Price-Market-Dashboard.git
cd Property-Price-Market-Dashboard
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
streamlit run app.py
Run with Docker (self-contained, no external hosting)
docker build -t property-insights .
docker run --rm -p 8501:8501 property-insights
# fully offline (committed snapshot, no outbound calls):
docker run --rm -p 8501:8501 -e RPE_OFFLINE=1 property-insights