Methodology
TallinnMeter.com is a statistics service, not a listings site. We show no individual listings and store no personal data; the pages carry only aggregates by district, property type and street.
Sources
Our own daily sweep of Estonia’s largest property portals — for sale and rent, the whole market (private sellers and agencies). Only property characteristics are taken: floor area, price, rooms, floor, year built, address down to the building. Contacts, listing texts and photos are neither read nor stored.
The 2020–2026 archive (the “dynamics” chart) comes from an earlier collection: sale only, private sellers only, no floor area. The archive therefore shows the median asking price per listing rather than €/m², and is labelled “listings”.
What we count
Almost every figure on the site is a median. The median is the “typical” value: half of the listings are dearer, half cheaper. Unlike an average, it is not moved by a few very expensive or very cheap offers, so it reflects the price level more honestly.
The main metric is the median asking price per square metre (€/m²) over active and booked listings. The price is the last one seen; price changes are kept as history. It is the seller’s asking price, not a transaction price.
Listings are counted, not unique properties: one apartment can be listed on several portals and by several agents. De-duplication is the next stage.
Small cells
Fewer than 3 listings — no median is shown (it would reveal the price of one specific home). 3 to 9 — shown with an “≈” mark and muted. 10 or more — normal display. The listing count sits next to every median.
Removal and days on market
The daily sweep reads each portal’s full result list. A listing missing from two complete sweeps at least a day apart is treated as removed; the removal date is the first sweep without it. A sweep cut short by an error removes nothing.
Days on market run from first appearance to removal; the median includes only listings that both appeared and disappeared while we were watching. “Gone in 30 days” is counted the same way — observed removals only.
Yield
Gross yield = median rent €/m² × 12 / median sale €/m² for the same district and property type. Before taxes, vacancy, repairs and utilities.
Breakdowns
Rooms, floor area (bands as in the Land Board transaction statistics: 10–29, 30–41, 41–55, 55–70, 70–250 m²), construction period, new build vs resale (from portal flags), seller (only where the portal explicitly marks a private seller), energy class, building material, heating, building height. A listing without the attribute is left out of that breakdown.
Year built, energy class and storeys come from the listing; where the portal lacks them, from the national Building Register (Ehitisregister, open e-ehitus API) by the building address: the building is found by coordinate or by “street, house”, and among several structures the residential one is taken. Material (panel, brick, stone/block, monolithic concrete, wood) and heating come from the register only. Mismatches are possible where one address holds several residential buildings.
Transactions and the asking-vs-deal gap
Actual apartment deal prices come from the Estonian Land Board transaction statistics (Maa-amet, report “Transactions with residential apartments”): by district and municipality, quarterly since 2003, in the same floor-area bands. The Board shows a median only for 5 or more deals; such cells are empty here. Updated monthly — the data is corrected retroactively.
Gap = median asking price of current apartment sale listings / median deal price of the latest full quarter − 1. It compares “now” with “last quarter”, not the same apartment: it shows how far asking prices sit from the market, not how much sellers concede in negotiation.
Affordability
Wage — median monthly gross wage from Statistics Estonia: Tallinn and its districts use the Tallinn figure, municipalities and towns of Harju the county-wide one (municipal statistics are by employer location and understate commuter suburbs). “Years of wage” = median apartment price / (12 × median wage). “Wages per m²” = median €/m² / median wage.
Mortgage payment — annuity: 85 % of the median apartment price over 30 years at Euribor 6M (last month’s average, ECB) + 2 percentage points margin. Insurance, fees and the cost of the down payment are excluded. Compared with the median apartment rent in the same district.
What is missing
Cross-portal de-duplication. Individual listings, apartment addresses and contacts — by design.
Updates
Collection and recalculation run once a night; the data date is shown at the bottom of every page.
Open data
All aggregates are available as files: /data/tallinnmeter.json (regions × deal × type, market movement) and /data/live.csv. Licence CC BY 4.0 — a link to TallinnMeter.com is required.
Boundaries
District and municipality outlines — OpenStreetMap (ODbL), matched by EHAK codes.