commune_prices_latest
Commune asking-price snapshot
Latest sale and rental asking-price statistics per Luxembourg commune, computed from active, catalog-visible residential listings, next to labelled official reference values from the Observatoire de l'Habitat. One row per commune, including communes with no publishable sample, so absence is explicit rather than silent. Medians and quartiles are published only for cells with at least 5 listings.
Grain: one row per Luxembourg commune, latest computation. Source: ChatHome active-listing corpus (asking columns); official_* columns: Observatoire de l'Habitat — Ministère du Logement, via data.public.lu.
| Column | Type | Description |
|---|---|---|
| commune_code | string | Official 4-digit Luxembourg commune code, e.g. 0304 for Luxembourg City; joins to commune_registry.commune_code. |
| commune_slug | string | Stable ChatHome commune identifier; joins to commune_registry.commune_slug. |
| commune_name_en | string | Commune name in English. |
| canton | string | Luxembourg canton, as a lowercase key, e.g. esch. |
| computed_at | string | ISO 8601 timestamp of the computation. |
| active_listings_total | int | Active, catalog-visible residential listings observed in the commune. Null when asking statistics are withheld. |
| sale_apartment_sample | int | Listings behind the sale-apartment statistics. |
| sale_apartment_median_eur_m2 | float | Median asking price per m² for apartments for sale. Null below 5 listings. |
| sale_apartment_p25_eur_m2 | float | 25th percentile asking price per m², apartments for sale. Null below 5 listings. |
| sale_apartment_p75_eur_m2 | float | 75th percentile asking price per m², apartments for sale. Null below 5 listings. |
| sale_house_sample | int | Listings behind the sale-house statistics. |
| sale_house_median_eur_m2 | float | Median asking price per m² for houses for sale. Null below 5 listings. |
| sale_house_p25_eur_m2 | float | 25th percentile asking price per m², houses for sale. Null below 5 listings. |
| sale_house_p75_eur_m2 | float | 75th percentile asking price per m², houses for sale. Null below 5 listings. |
| rent_apartment_sample | int | Listings behind the rental-apartment statistics. |
| rent_apartment_median_eur_m2_month | float | Median asking rent per m² per month, apartments. Null below 5 listings. |
| rent_apartment_p25_eur_m2_month | float | 25th percentile asking rent per m² per month, apartments. Null below 5 listings. |
| rent_apartment_p75_eur_m2_month | float | 75th percentile asking rent per m² per month, apartments. Null below 5 listings. |
| rent_house_sample | int | Listings behind the rental-house statistics. |
| rent_house_median_eur_m2_month | float | Median asking rent per m² per month, houses. Null below 5 listings. |
| rent_house_p25_eur_m2_month | float | 25th percentile asking rent per m² per month, houses. Null below 5 listings. |
| rent_house_p75_eur_m2_month | float | 75th percentile asking rent per m² per month, houses. Null below 5 listings. |
| official_quarter | string | Quarter in which the official rolling 12-month window ends, e.g. 2026-Q2. Every official_* value in the row covers this window; it is not a quarterly figure. |
| official_buy_apartment_eur_m2 | float | Observatoire de l'Habitat mean registered sale price per m² of existing apartments (deeds recorded by the Publicité Foncière) over the rolling 12-month window named by official_quarter. Published only where the commune has at least 10 deeds. A transaction price, not an asking price — do not substitute one for the other. |
| official_rent_apartment_eur_m2_month | float | Observatoire de l'Habitat mean asking rent per m² per month for apartments, from rental adverts over the rolling 12-month window named by official_quarter. Published only where the commune has at least 30 adverts. An advertised rent, not a contracted rent. |
| official_rent_house_eur_m2_month | float | Observatoire de l'Habitat mean asking rent per m² per month for houses, from rental adverts over the rolling 12-month window named by official_quarter. Published only where the commune has at least 30 adverts. An advertised rent, not a contracted rent. |
| gross_apartment_yield_pct | float | Indicative gross yield: annualised median asking rent over median asking sale price, apartments. Null unless both medians are published. |
| asking_price_withheld | bool | True when ChatHome deliberately withholds this commune's asking statistics for data-quality reasons; every asking column is then null. The official_* columns may still be populated. |
| minimum_precise_sample | int | Listings a cell needs before its median and quartiles are published. |
| sources | string | Semicolon-separated source labels for the row. |