Property Price and Sales (EU)

PRPSLS963· 559K records · 11 tables · v1.0.0 · Updated 2026-08-11
Real Estate Development Real Estate Development Dataset API
CSV JSON SQLpropertyresidentialprice-indextransactionsrentsmulti-currencyeuropetime-seriesmarket-cycles

Overview

A decade of residential property in ten European cities at transaction grain. The cities are real; everything below them is generated: 321 districts in each city's own naming idiom, 60 developers, 1,492 projects, and every price, rent, index and volume. The decade is the European one, stated generically: the cheap-money climb runs to 2021 everywhere except the one market that stays flat from 2016, then the 2022-2023 rate shock cuts prices and volume hardest in the north while the southern recovery markets keep climbing late, and a subsidised-mortgage programme visibly lifts one market's volume in late 2023. Prices are local: two euro-zone rhythms, pounds, zloty and kronor, with a US dollar column on every transaction asserted consistent against the stated generated rate. Policy appears as dated events with invented rates, and foreign-buyer share falls after each foreign-buyer duty event in the city it applies to. Transactions carry project, district, unit type, floor band, area with its unit, local and dollar prices, price per square metre, buyer profile and sale type. The city price index is the exact median price per square metre of that month's transactions, the annual summary is the exact transaction aggregate, and the build re-verifies both; the guaranteed decade shapes are stated at quarter scale because monthly medians of a lumpy price mixture legitimately wobble. Built for price-index analytics, market-cycle modelling, policy-impact studies, currency work, ETL pipelines and BI logic. The licence and disclosure sections state the provenance of the data.

Row Counts by Table

Counted from the files that ship, not estimated.

TableRows
pre_cities10
pre_districts321
pre_developers60
pre_projects1,492
pre_transactions393,404
pre_price_index1,260
pre_district_index40,446
pre_rents121,146
pre_supply_pipeline330
pre_policy_events13
pre_city_annual110

Table Relationships

One parent record and seven child tables, each joined back on the same key.

70%
Loading diagram

Schema

Every table ships with typed columns, referential integrity, and documentation.

pre_cities· Rows: 10
ColumnTypeDescription
city_codevarchar(8)City key. Primary key. The ten cities are the only real geography in the dataset.
city_namevarchar(16)The city in words.
country_codevarchar(8)ISO 3166-1 alpha-2 country code.
currencyvarchar(16)ISO 4217 currency the city trades in: EUR, GBP, PLN or SEK.
decade_patternvarchar(24)RATE_SHOCK_NORTH, LATE_CLIMB_SOUTH or FLAT_DECADE: the side of the European decade the city sits on.
area_unit_notevarchar(24)SQM everywhere; SQFT_TRADE_PRESS marks the one market whose trade press quotes square feet for prime stock, where the documented unit defect lives.
city_descriptionvarchar(136)What is generated below this city.

+1 more columns in pre_cities. The full schema ships with the download.

pre_districts· Rows: 321
ColumnTypeDescription
district_idvarchar(16)District key. Primary key. Every district is a generated name in the city idiom; one is renamed mid-series into a second id.
city_codevarchar(8)The city the district sits in.
district_namevarchar(24)Generated district name. Collisions with real district names of the ten cities are a build failure.
zone_typevarchar(16)core, inner, suburban or fringe.
land_area_km2numeric(6,2)Generated land area in square kilometres.
price_factornumeric(5,2)Price multiple of the district against the city base level.
pre_developers· Rows: 60
ColumnTypeDescription
developer_idvarchar(8)Developer key. Primary key.
developer_namevarchar(32)Generated developer name. Collisions with real European developers, housing companies and agencies are a build failure.
home_city_codevarchar(8)The city the developer is based in.
founded_yearintegerYear the developer was founded.
ownership_typevarchar(16)listed, private or state_linked.
pre_projects· Rows: 1,492
ColumnTypeDescription
project_idvarchar(8)Project key. Primary key.
district_idvarchar(16)The district the project sits in.
developer_idvarchar(8)The developer of the project.
project_namevarchar(32)Generated project name from the district name and a generic suffix.
project_typevarchar(24)apartment_block, mixed_use or terraced_houses.
total_unitsintegerUnits in the project.
completion_yearintegerYear the project completes; sales before it are presales.

+3 more columns in pre_projects. The full schema ships with the download.

pre_transactions· Rows: 393,404
ColumnTypeDescription
transaction_idvarchar(16)Transaction key. Primary key. A few pairs are exact double-posts, on purpose.
project_idvarchar(8)The project the unit belongs to.
district_idvarchar(16)The district of the project, denormalised.
city_codevarchar(8)The city, denormalised.
year_monthvarchar(16)Month of the transaction, 2016-01 to 2026-06. Import as text: spreadsheets convert values like 2021-05 to dates.
unit_typevarchar(16)STUDIO, 1BR, 2BR, 3BR or 4BR_PLUS.
floor_bandvarchar(16)LOW, MID, HIGH or PENTHOUSE.

+9 more columns in pre_transactions. The full schema ships with the download.

pre_price_index· Rows: 1,260
ColumnTypeDescription
index_idvarchar(8)Index row key. Primary key.
city_codevarchar(8)The city the index measures.
year_monthvarchar(16)Month of the index. Import as text.
median_psm_localnumeric(10,2)The exact median price per square metre of the month transactions, in the city currency. Re-verified by the build.
currencyvarchar(16)ISO 4217 currency code.
transaction_countintegerTransactions behind the median that month.
yoy_change_pctnumeric(5,1)Change against the same month one year earlier, in percent. Empty in the first year.

+1 more columns in pre_price_index. The full schema ships with the download.

pre_district_index· Rows: 40,446
ColumnTypeDescription
district_index_idvarchar(16)District index key. Primary key.
district_idvarchar(16)The district the index measures.
year_monthvarchar(16)Month of the index. Import as text.
index_psm_localnumeric(10,2)Modelled price per square metre for the district, in the city currency.
currencyvarchar(16)ISO 4217 currency code.
pre_rents· Rows: 121,146
ColumnTypeDescription
rent_idvarchar(16)Rent row key. Primary key.
district_idvarchar(16)The district the rent measures.
year_monthvarchar(16)Month of the rent. One city is deliberately missing two months. Import as text.
bedroom_typevarchar(16)1BR, 2BR or 3BR.
median_monthly_rent_localintegerMedian monthly rent in the city currency.
currencyvarchar(16)ISO 4217 currency code.
gross_yield_pctnumeric(5,2)Gross rental yield in percent, higher in the southern markets.

+1 more columns in pre_rents. The full schema ships with the download.

pre_supply_pipeline· Rows: 330
ColumnTypeDescription
supply_idvarchar(8)Supply row key. Primary key.
city_codevarchar(8)The city.
yearintegerCompletion year.
segmentvarchar(16)mass_market, mid_tier or luxury.
units_completingintegerUnits completing that year in the segment.
pre_policy_events· Rows: 13
ColumnTypeDescription
event_idvarchar(8)Event key. Primary key.
city_codevarchar(8)The city the measure applies to.
year_monthvarchar(16)Month the measure took effect. Import as text.
event_typevarchar(24)The measure class: buyer_stamp_duty, rent_control, lending_rule, tax_incentive or subsidy.
event_descriptionvarchar(96)The measure in generic words with an invented rate.
rate_change_pctintegerThe invented rate change in percentage points. Empty when the measure is not a rate.
pre_city_annual· Rows: 110
ColumnTypeDescription
annual_idvarchar(8)Annual row key. Primary key.
city_codevarchar(8)The city.
yearintegerCalendar year.
transaction_countintegerThe exact transaction count for the year. Re-verified by the build.
median_psm_localnumeric(10,2)The exact median price per square metre for the year, in the city currency.
currencyvarchar(16)ISO 4217 currency code.
median_psm_usdnumeric(9,2)The same median converted to US dollars at the stated invented fixed rate.

+1 more columns in pre_city_annual. The full schema ships with the download.

Sample Data

A snapshot of real rows from the dataset (values are fully synthetic).

transaction_idproject_idcity_codeyear_monthunit_typefloor_bandarea_valuearea_unitprice_localcurrencyprice_usd
TX000001PJ0100LON2016-011BRLOW53.5SQM331681GBP419849
TX000002PJ0029LON2016-014BR_PLUSLOW193.8SQM3131071GBP3963381
TX000003PJ0048LON2016-01STUDIOMID39.9SQM404650GBP512215

Version History

v1.0.02026-08-11First release. Ten cities on the European decade, 393,404 transactions in four local currencies plus a dollar column, exact monthly price indices, district indices, rents with yields, supply pipeline and policy events, 2016-01 to 2026-06.