How we compare an asking price to our estimate
We sometimes show whether an asking price sits above or below what our model expects for a home like that one. This page explains how that is worked out, and every case where we say nothing at all.
Method version: fair-price-2026.4Published: August 14, 2026Updated: October 10, 2026
The method in short
- What is compared
- Asking price vs our estimate
- Where the estimate comes from
- Asking prices in adverts on ChatHome
- Never scored by
- A model that saw this listing's price
- Homes we compare
- Apartments and houses for sale, apartments to rent
- When we speak
- Only past the model's own error
What this number is, and what it is not
We estimate what a home like this one would be advertised for in Luxembourg. Then we compare that estimate with the price on the listing.
It is not a valuation. Nobody from ChatHome has visited the home, seen its condition or checked its papers. It is not a judgement of the agency or the seller either. An asking price can sit above our estimate for many honest reasons, including features nobody wrote down.
- It is a comparison, not an appraisal.
- We never call a price good, bad, fair or unfair.
- For a real valuation you need a professional who visits the home.
Where the estimate comes from
One model makes the estimate. It learns from asking prices in the adverts on ChatHome, for homes in Luxembourg. It never learns from sale prices.
For each home it reads facts: kind of home, living area, rooms, year built, energy class, features such as a balcony or a garden, where the home is, and the travel time to Luxembourg City and to the nearest work centre. A fact the advert does not state stays empty.
The model estimates a price per square metre and multiplies it by the living area. The answer is a range, not a single number.
The estimate covers Luxembourg only. Homes across the border are not used to train the model and get no estimate.
The rule that stops it being circular
If a model learns a listing's asking price and is then asked whether that price is right, it mostly agrees with itself. It would be repeating prices, not judging them.
So a listing is never compared with a model that learned from it. There are two allowed ways to make the estimate we compare against:
- A home the model has met: the adverts are split into five parts, and each home is priced by a model trained on the other four. Adverts that look like the same home always stay in the same part, so one cannot give away the price of the other.
- A home the model has never met: it is priced by the full model, which cannot have learned from an advert it never saw.
When we say nothing at all
Silence is the normal outcome, not a failure. We show no comparison when the evidence cannot carry one:
- The listing states no price, no living area, or no kind of property.
- The plot is so large that the price mostly buys land, not the building.
- The price per square metre is outside anything plausible for Luxembourg. That is a data error, not a bargain.
- The model is unsure about this home, usually because the advert states very little. An unusually wide range means we do not know the home well enough to judge it.
- The model's error for this kind of home is too large to support a public statement.
- Our estimate is more than a few weeks old. The market moves; a stored answer does not.
- The rental is a room in a shared home. A room has its own kind of price, so it cannot be compared with an estimate made for whole homes.
- The model gives no estimate for this kind of home. Today that is a house to rent, a plot of land and commercial property.
How big a difference has to be before we speak
Every estimate is a range built to hold about half of homes like this one. So about half of all listings fall outside their range. Being outside it proves nothing on its own.
We add a second, much stricter test. We measure the model's error on homes it did not learn from, and take the miss it goes beyond only about one time in ten. A smaller difference says more about the model than about the price. We call it inconclusive and show only the range.
That figure is measured for each kind of home, because we are not equally accurate on all of them. So one kind of home may have to differ more from our estimate than another before we say anything.
Nobody types that figure by hand. It comes with the model and is stored with each listing's estimate. The note beside the comparison on a listing shows the figure used for that home. The table further down shows the current figures.
What we still cannot do
We would rather publish our limits than let you discover them.
- We learn from asking prices, not from what homes sold for. A sale price can differ from the asking price.
- Real sale prices appear only in a separate “sale-level” figure, for apartments for sale in some communes. It uses the official average sale price over twelve months from the Observatoire de l'Habitat. That figure does not exist for houses or for rentals.
- Condition is known only when the advert says the home was recently renovated or needs renovation. Otherwise a renovated home and one needing work can look the same to the model.
- The model reads facts, not the pictures or the wording of the advert. A quality that is not captured as a fact is missed.
The figures in use now
For each kind of home, this is the gap an asking price must pass before we say it sits above or below our estimate. The page reads these figures from listings the current model has priced.
| Kind of home | Gap needed |
|---|---|
| Apartments for sale | 26.7% |
| Houses for sale | 43.3% |
| Houses to rent | 44% |
Help us make this better
This method is published so it can be argued with. If you work in Luxembourg property and think a rule here is wrong, or that we are missing something the market obviously prices, we want to hear it. That kind of correction is how this improves.
Email us about the methodThink a specific number is wrong?
Use the report control on the listing itself. That tells us which home you mean and what looks wrong, and it reaches the same people. Every report is read.