How the price model works
What the model learned from, how accurate it is, and where it falls short — no statistics background needed.
The current model at a glance
How accurate is it?
About half of all estimates land within — of the real asking price.
The other half miss by more, and a few miss by a lot — mostly very large, expensive or unusual flats, where there are only a handful of similar examples to learn from. Averaged over every estimate, the miss is about —.
That's when the flat's district or postal code is known. Given only the city, the model can't tell a pricey neighbourhood from a cheap one, so half of estimates land within — instead. Picking a district on the demo page helps.
How these numbers are measured: a test copy of the model learns from most of the listings and is graded on the rest, which it has never seen. The live model is then retrained on all of them.
How the model is picked
There are many ways to build a price predictor. Every week, several different kinds are trained on the same listings and tested the same way, and the one that estimates prices best from just the city, size and rooms is used.
It only switches to a different kind when the new one is clearly better, so the estimates don't jump around because of small, random differences from one week to the next.
What it looks at — and what it can't see
Uses
- City
- Neighbourhood (district, quarter, postcode area)
- Living area in m²
- Number of rooms
- Floor
- Energy efficiency class
Can't see
- Condition or renovation
- Year built
- Balcony, lift, garden, parking
- View, light, noise
- Photos and description
So two flats that look identical on paper get the same estimate, even if one is freshly renovated and the other needs a new kitchen.
Where the data comes from
Apartments listed for sale on immowelt.de, collected automatically from the public search results a couple of times a week.
The model predicts the asking price — what the seller advertises — not what the flat actually sells for. Final sale prices are often lower.
The listings are whatever happened to be online when they were collected, not a careful sample of the whole market, and the smaller cities have far fewer examples than Berlin.
What it's for
This is a portfolio project that shows a complete machine learning system working end to end: collecting data, storing it, training a model, and serving it live on the web.
It is not a property valuation. Please don't use it to decide what to buy, sell, offer or borrow.
For developers
A regression model predicting the log of the
asking price, chosen at each retrain by cross-validation from several model
types.
Model version —.
Raw metrics as JSON at /model ·
full technical write-up in
MODEL_CARD.md ·
API docs.