About the data
This page covers every dataset behind Expat Living Italy’s data tools — the ISTAT-derived comune-level demographics map and profile pages, the BES (Benessere Equo e Sostenibile) province comparison, and residential purchase/rent prices from Agenzia delle Entrate’s OMI (Osservatorio del Mercato Immobiliare), used in the cost vs. quality of life tool. Our editorial commitment is that every number is traceable to a source and a date — provenance is a feature, not a footnote. Data as of 2026-08-09.
Sources
Sources · data as of 2026-08-09
- Foreign residents by citizenshipISTAT, extracted 2026-08-09 — Residents holding foreign citizenship, by comune and nationality.
- Residents by country-of-birth groupISTAT, extracted 2026-08-09 — Broad country-of-birth group (Italy / other EU / non-EU), not per-nationality — see methodology page.
- New foreign registrations from abroadISTAT, extracted 2026-08-09 — New residency registrations from abroad, by comune. Not nationality-specific.
- Population change (2019–2025)ISTAT, extracted 2026-08-09 — Total resident population % change, 2019–2025 (shorter than 10 years — see methodology).
- Median age and indice di vecchiaia (2019)ISTAT, extracted 2026-08-09 — From ISTAT's intercensal population reconstruction, 2019 (its last year) — not current-year.
- Median age (2019)ISTAT, extracted 2026-08-09 — Median age, from ISTAT's intercensal population reconstruction, 2019 (its last year) — not current-year.
- Indice di vecchiaia (2019)ISTAT, extracted 2026-08-09 — Population aged 65+ per 100 aged 0-14, from ISTAT's intercensal population reconstruction, 2019. Comuni with nobody aged 0-14 are omitted (the ratio is undefined), not shown as zero.
- Change in foreign share (2019–2025)ISTAT, extracted 2026-08-09 — Percentage-point change in tracked-nationality foreign share, 2019–2025 (shorter than 5/10 years — see methodology).
- Citizenship acquisitions (2024)ISTAT, extracted 2026-08-09 — Foreigners who acquired Italian citizenship, by province (province-level, not comune).
- BES (Benessere Equo e Sostenibile) dei territoriISTAT, extracted 2026-08-09 — BesT 2025 edition (reference year 2024). All 67 published indicators, province level (15 flagged as a curated expat-relevant default view). Percentile ranks are polarity-aware: a higher percentile always means better, regardless of whether the underlying indicator's direction is 'higher is better' or 'lower is better'.
- Well-being (BES) — map layerISTAT, extracted 2026-08-19 — BesT 2025 edition (reference year 2024). Percentile rank among the 106 provinces with data for the selected indicator, polarity-aware — a higher percentile always means better, whichever direction the underlying indicator runs. Raw values, in each indicator's own units, are on the indicator explorer.
- National IRPEF brackets (2026)Legge di Bilancio 2026 (L. 199/2025), amending TUIR art. 11, extracted 2026-08-24 — The statutory IRPEF rate schedule: 23% to EUR 28,000, 33% to EUR 50,000, 43% above. Hand-encoded from the legislation, not scraped. Used to compute IMPOSTA LORDA — tax before credits — never tax payable: detrazioni are not modelled, so any figure derived from it overstates what someone actually pays. Verified 2026-08-25 against TUIR art. 11 as amended by L. 199/2025 — see data/tax/irpef-national-2026.json's verificationNotes.
- Residential property prices (OMI, 2025H2)Agenzia delle Entrate — Osservatorio del Mercato Immobiliare (OMI), extracted 2026-09-12 — Transaction-range midpoints (Compr_min/Compr_max, Loc_min/Loc_max) for "Abitazioni civili" in "NORMALE" condition, averaged across OMI zones to comune level, then population-weighted (ISTAT resident population) to province level. OMI semester 2025H2.
- Property purchase price by province (2025H2)Agenzia delle Entrate — Osservatorio del Mercato Immobiliare (OMI), extracted 2026-09-12 — Residential purchase price, €/m², population-weighted from comune to province across the comuni OMI covers. Transaction-range midpoints for "Abitazioni civili" in normal condition, OMI semester 2025H2. Provinces absent from the OMI file are absent here, never zero-filled.
- Property rent by province (2025H2)Agenzia delle Entrate — Osservatorio del Mercato Immobiliare (OMI), extracted 2026-09-12 — Residential rent, €/m² per month, population-weighted from comune to province across the comuni OMI covers. Transaction-range midpoints for "Abitazioni civili" in normal condition, OMI semester 2025H2. Provinces absent from the OMI file are absent here, never zero-filled.
- Years of rent to equal the purchase price by province (2025H2)Agenzia delle Entrate — Osservatorio del Mercato Immobiliare (OMI), extracted 2026-09-12 — Purchase €/m² divided by twelve months' rent per m², population-weighted from comune to province across the comuni OMI covers. A ratio between two published OMI prices, not a yield or a payback period: it ignores purchase taxes, IMU, maintenance, financing and vacancy. OMI semester 2025H2. At province grain this is the ratio of the two population-weighted means, not the average of the comuni's own ratios — the two are not the same number, and this one answers "what does the average square metre in this province cost to buy versus rent". Provinces without both a purchase and a rent figure are absent, never estimated.
- Property purchase price by comune (2025H2)Agenzia delle Entrate — Osservatorio del Mercato Immobiliare (OMI), extracted 2026-09-12 — Residential purchase price, €/m², averaged across that comune's own OMI zones. Transaction-range midpoints for "Abitazioni civili" in normal condition, OMI semester 2025H2. Comuni absent from the OMI file are absent here, never zero-filled.
- Property rent by comune (2025H2)Agenzia delle Entrate — Osservatorio del Mercato Immobiliare (OMI), extracted 2026-09-12 — Residential rent, €/m² per month, averaged across that comune's own OMI zones. Transaction-range midpoints for "Abitazioni civili" in normal condition, OMI semester 2025H2. Comuni absent from the OMI file are absent here, never zero-filled.
- Premium for refurbished housing by comune (2025H2)Agenzia delle Entrate — Osservatorio del Mercato Immobiliare (OMI), extracted 2026-09-12 — Mean price of "Abitazioni civili" graded OTTIMO divided by the same comune's NORMALE price, OMI semester 2025H2. 1.3 means excellent-condition housing costs a third more than ordinary housing in that town. Grades are paired within each OMI micro-zone and then averaged, so the comparison is like-for-like rather than across different parts of town. This is the gap between two market prices, NOT the cost of renovating. Comuni where OMI grades no OTTIMO zone are absent, never assumed to be 1.0. SCADENTE is not used: OMI records it for 63 comuni against 2,304 for OTTIMO, too few to publish as national coverage.
- Detached house purchase price by comune (2025H2)Agenzia delle Entrate — Osservatorio del Mercato Immobiliare (OMI), extracted 2026-09-12 — Purchase price of "Ville e Villini" (OMI's detached-house category) in normal condition, €/m², averaged across a comune's own OMI micro-zones. Every other price layer here describes Abitazioni civili — apartments — so this is a different product, not a variant. Comuni where OMI prices no detached housing are absent, never filled in with the apartment figure. OMI semester 2025H2.
- House vs apartment price by comune (2025H2)Agenzia delle Entrate — Osservatorio del Mercato Immobiliare (OMI), extracted 2026-09-12 — Detached-house €/m² divided by apartment €/m², paired WITHIN each OMI micro-zone and then averaged — comparing a comune's two means would compare different parts of town, since the categories are not surveyed in the same zones. 1.14 means a house costs 14% more per square metre than a flat in the same zone. Below 1 means the reverse, which is the case in 450 comuni. Comuni without both figures in a shared zone are absent. OMI semester 2025H2.
- Years of rent to equal the purchase price by comune (2025H2)Agenzia delle Entrate — Osservatorio del Mercato Immobiliare (OMI), extracted 2026-09-12 — Purchase €/m² divided by twelve months' rent per m², averaged across that comune's own OMI zones. A ratio between two published OMI prices, not a yield or a payback period: it ignores purchase taxes, IMU, maintenance, financing and vacancy. OMI semester 2025H2. Comuni without both a purchase and a rent figure are absent, never estimated.
- Regional IRPEF surcharge (addizionale regionale)MEF — Dipartimento delle Finanze, extracted 2026-09-14 — Regional IRPEF surcharge, scraped live from MEF's per-region rate lookup for tax year 2026. status: draft — see docs/data-sources.md §4.2.
- IMU rate on non-primary, non-category-D buildings (altri fabbricati)MEF — Dipartimento delle Finanze, Portale del Federalismo Fiscale, extracted 2026-09-14 — IMU, 2025 tax year, parsed from each comune's mandatory structured 'Prospetto aliquote IMU' PDF (no bulk rate file exists for IMU — see docs/data-sources.md §4.2). status: draft.
- IMU rate on a luxury (cat. A/1, A/8, A/9) primary residenceMEF — Dipartimento delle Finanze, Portale del Federalismo Fiscale, extracted 2026-09-14 — IMU, 2025 tax year, parsed from each comune's mandatory structured 'Prospetto aliquote IMU' PDF (no bulk rate file exists for IMU — see docs/data-sources.md §4.2). status: draft.
- Municipal IRPEF surcharge (addizionale comunale)MEF — Dipartimento delle Finanze, extracted 2026-09-14 — Municipal IRPEF surcharge, 2025 tax year, from MEF's annual bulk export. status: draft — see docs/data-sources.md §4.2. Covers comuni with a flat rate or a 3-bracket rate matching the current national IRPEF schedule only; comuni with a non-conforming bracket count or no rate shown are absent.
- 7% pensioner regime — qualifying comuniExpat Living Italy — rule applied to ISTAT population, extracted 2026-09-17 — Comuni admitted by the 7% pensioner regime. Routes covered: Anywhere in eight southern regions (2,424 comuni); The 2016–17 Central Italy seismic crater (133 comuni); Comuni affected by the 6 April 2009 L'Aquila earthquake (56 comuni). The population threshold is 30,000 residents. Derived by applying the rule to the resident population in this site's comune spine — not a hand-maintained list — so a comune crossing the threshold leaves on the next run. Shaded by population. Personal eligibility depends on criteria no map can check.
- 7% pensioner regime — population share by provinceExpat Living Italy — rule applied to ISTAT population, extracted 2026-09-17 — Share of each province's ISTAT resident population living in a comune that qualifies for the 7% pensioner regime (see the regime-7-percent-pensioners layer for which comuni and by which route). Computed by summing the population of qualifying comuni within each province and dividing by the province's total population, from this site's comune spine — not a second measurement, a rollup of the comune-grain layer to the grain BES Salute publishes at, so the two can sit on the same page. A province with no qualifying comuni shows a real 0%, not a missing value.
- Population, by NUTS 3 region (2023)Eurostat, extracted 2026-09-17 — Total resident population per NUTS 3 region (province-equivalent), Eurostat's own demo_r_pjanaggr3 dataset, 2023 — the newest year whose only gap is the UK (absent since 2020; its last real value predates this file's vintage), not a further reporting-lag gap on top of that. Albania is present for every one of its 12 NUTS 3 units. Boundaries: github.com/eurostat/Nuts2json, 2021 typology.
- Life expectancy at birth, by NUTS 2 region (2023)Eurostat, extracted 2026-09-17 — Life expectancy at birth (age Y_LT1, both sexes) per NUTS 2 region (roughly region-equivalent), Eurostat's own demo_r_mlifexp dataset, 2023 — chosen for the best numeric coverage of any year in 2019-2024 after 2019 itself, which is seven years stale. Boundaries: github.com/eurostat/Nuts2json, 2021 typology.
- GDP per capita, by NUTS 3 region (2021)Eurostat, extracted 2026-09-17 — GDP per inhabitant in current-price euros (not purchasing-power-adjusted — a PPS-per-capita figure would rank differently, since a euro buys more in Albania than in Ireland), per NUTS 3 region (province-equivalent), Eurostat's own nama_10r_3gdp dataset, 2021 — the newest year with full NUTS 3 coverage identical to 2019 (2022 loses all of Norway; 2023-2024 lose Norway AND Albania too). Boundaries: github.com/eurostat/Nuts2json, 2021 typology. A handful of regions (Ireland's IE053 and IE061, small German districts) are genuine multinational-tax-accounting outliers, not local prosperity — the map's colour scale excludes them from setting its range without excluding them from the map (see components/EuropeMapExplorer.tsx's computeDomain()).
- Unemployment rate, by NUTS 2 region (2025)Eurostat, extracted 2026-09-17 — Unemployment rate (ages 15-74, both sexes, all education levels) per NUTS 2 region (roughly region-equivalent), Eurostat's own lfst_r_lfu3rt dataset, 2025 — the newest year available, unlike this map's other layers: unemployment's only coverage gap (the UK, plus three small perennially-unreported regions) opened in 2020 and hasn't widened since, so there's no recency/coverage tradeoff to weigh here. Boundaries: github.com/eurostat/Nuts2json, 2021 typology. A handful of regions with genuinely extreme unemployment (Spain's Ceuta and Melilla, both above 24%) sit far enough above the rest of Europe's distribution that the map's colour scale saturates them at its darkest step rather than let two outliers compress everyone else's real variation — their exact figures still show on click.
- At-risk-of-poverty rate, by NUTS 2 region (2022)Eurostat, extracted 2026-09-17 — Share of population with disposable income below 60% of the national median, per NUTS 2 region (roughly region-equivalent), Eurostat's own ilc_li41 dataset (2022) — the specific NUTS 2 member of the ilc_* family this map's build spec flagged as needing a series picked first; ilc_li02 is the related national-only cross-tab, not used here. Chosen year: coverage for this dataset RISES then falls over time (unlike this map's other layers), and 2022 is both the highest-coverage year and the last one with Albania. Boundaries: github.com/eurostat/Nuts2json, 2021 typology.
- Housing cost overburden rate, by NUTS 2 region (2022)Eurostat, extracted 2026-09-17 — Share of population living in a household where total housing costs exceed 40% of disposable income, per NUTS 2 region (roughly region-equivalent), Eurostat's own ilc_lvho07_r dataset (2022) — found by searching Eurostat's own dataset catalogue for "housing cost overburden", not by guessing at ilc_lvho07* code variants (several guesses 404'd). This dataset's own series only starts in 2021; 2021 and 2022 have identical coverage, so the newer of the two was used at no coverage cost. Boundaries: github.com/eurostat/Nuts2json, 2021 typology.
- Intentional homicide rate, by NUTS 3 region (2021)OECD, extracted 2026-09-17 — Intentional homicides per 100,000 population, per NUTS 3 region (province-equivalent), OECD's own Regional Statistics database (DSD_REG_SOC@DF_SAFETY, MEASURE=HOMIC), 2021 — the newest year with complete coverage for this map's focus countries before a later reporting-lag drop. Boundaries: github.com/eurostat/Nuts2json, 2021 typology, reused from scripts/etl/eurostat.py rather than re-fetched — OECD's own REF_AREA codes are the same NUTS codes Eurostat uses for EU/EFTA countries (confirmed: all 107 Italian NUTS 3 codes match exactly).
- Active physicians per 1,000 population, by NUTS 2 region (2023)OECD, extracted 2026-09-17 — Active physicians per 1,000 population, per NUTS 2 region (region-equivalent), OECD's own Regional Statistics database (DSD_REG_HEALTH@DF_CARE, MEASURE=DOC, UNIT_MEASURE=10P3HB), 2023 — the newest year with stable coverage across Italy and this map's other 'Italy vs elsewhere' focus countries (Spain, France, Portugal, Greece) before Italy drops out entirely in 2024. Boundaries: github.com/eurostat/Nuts2json, 2021 typology, reused from scripts/etl/eurostat.py rather than re-fetched — confirmed again for this dataflow: all 21 Italian NUTS 2 codes match exactly. A capital-region concentration is visible in the shipped values (Athens, Prague and Bucharest's regions are the top three) — physicians typically register at the hospital or clinic they practise at, which clusters in capitals, regardless of where their patients actually live; a known feature of this kind of registration data, not a data error.
- Vehicle theft rate, by NUTS 3 region (2023)OECD, extracted 2026-09-17 — Vehicle thefts per 100,000 population, per NUTS 3 region (province-equivalent), OECD's own Regional Statistics database (DSD_REG_SOC@DF_SAFETY, MEASURE=VEH_THEFT — the same dataflow as intentional homicide rate, a second real measure from its shared table), 2023 — the newest year before a 2024 reporting-lag drop. A genuinely long-tailed rate, the same shape as homicide: this map's existing IQR-fence colour scale (computeDomain(), applied to every non-'count' unit) handles it without new code.
- Foreign-born population share, by NUTS 2 region (2019)OECD, extracted 2026-09-17 — Foreign-born population as a share of the working-age (15-64) population, per NUTS 2 region, OECD's Regional Statistics database (DSD_REG_MIGRANT@DF_MIGR_STOCK, MEASURE=POP, ORIGIN=FB, UNIT_MEASURE=PT_POP_SUB), 2019 — the newest year before the series stops entirely in 2020. Distinct from every Italy-map citizenship/residency layer here: those count foreign CITIZENS registered in Italy specifically; this counts people born abroad, OECD-wide, the survey-based definition rather than a population-registry one.
- Old-age dependency ratio, by NUTS 3 region (2022)OECD, extracted 2026-09-17 — People aged 65+ as a percentage of the working-age (15-64) population, per NUTS 3 region (province-equivalent), OECD's Regional Statistics database (DSD_REG_DEMO@DF_DEPEND, MEASURE=DEPEND_RATIO, AGE=Y_GE65, UNIT_MEASURE=PT_POP_Y15T64), 2022 — the newest year before a 2023 coverage drop, and the finest grain of any layer in this batch (NUTS 3, matching homicide and vehicle theft rather than the NUTS 2 layers). A structurally different signal from every existing age layer: the Italy map's median-age and indice-di-vecchiaia layers describe a comune's age profile directly; this describes the working-age population's support burden, the figure that actually predicts strain on local services.
- Rooms per person, by NUTS 2 region (2021)OECD, extracted 2026-09-17 — Average number of rooms per person in the housing stock, per NUTS 2 region, OECD's Regional Statistics database (DSD_REG_SOC@DF_HOUSING, MEASURE=ROOMS, UNIT_MEASURE=RO_PS), 2021 — the newest year before a real coverage drop (not gradual reporting lag). A housing-space signal distinct from every OMI price layer on the Italy map and from Eurostat's cost-based housing-overburden layer here: this is about physical space per resident, not price.
- Disposable household income per capita, by NUTS 2 region (2021)OECD, extracted 2026-09-17 — Net disposable household income per capita, purchasing-power-parity-adjusted US dollars, per NUTS 2 region, OECD's Regional Statistics database (DSD_REG_ECO@DF_INC, MEASURE=B6N, PRICES=V, UNIT_MEASURE=USD_PPP_PS), 2021 — the newest year before a real coverage drop. Deliberately not GDP per capita: GDP is production-based and can be skewed by corporate activity concentrated in a region (this map's own GDP layer documents Ireland's and Luxembourg's tax-accounting outliers for exactly this reason); disposable income is what households actually have after taxes and transfers, the more relevant figure for 'what does a euro/dollar of income here actually buy a resident.'
- Tertiary education attainment, by NUTS 2 region (2024)OECD, extracted 2026-09-17 — Share of the population aged 25-64 whose highest completed education is tertiary (ISCED 2011 levels 5-8), per NUTS 2 region, OECD's Regional Statistics database (DSD_REG_EDU@DF_ATTAIN, MEASURE=NEAC_SHARE_EA, STATISTICAL_OPERATION=MEAN), 2024 — stable coverage 2022-2024, the newest year in that window.
Datasets held
- 7% pensioner regime (2019) — count, 2,535 comuni. download JSON
- Active physicians per 1,000 population, by NUTS 2 region (2023) (2023) — per_1000, 198 NUTS 2 regions. download JSON
- At-risk-of-poverty rate, by NUTS 2 region (2022) (2022) — percent, 257 NUTS 2 regions. download JSON
- Change in foreign share (2019–2025) (2025) — pct_point_change, 7,893 comuni. download JSON
- Citizenship acquisitions (2024) (2024) — count, 100 province. download JSON
- Detached house purchase price by comune (2025H2) (2025) — eur_per_m2, 6,333 comuni. download JSON
- Disposable household income per capita, by NUTS 2 region (2021) (2021) — usd_ppp_per_capita, 205 NUTS 2 regions. download JSON
- Foreign residents by citizenship (2025) — count, 7,472 comuni. download JSON
- Foreign-born population share, by NUTS 2 region (2019) (2019) — percent, 176 NUTS 2 regions. download JSON
- GDP per capita, by NUTS 3 region (2021) (2021) — eur_per_capita, 1,264 NUTS 3 regions. download JSON
- House vs apartment price by comune (2025H2) (2025) — multiple, 6,064 comuni. download JSON
- Housing cost overburden rate, by NUTS 2 region (2022) (2022) — percent, 211 NUTS 2 regions. download JSON
- Indice di vecchiaia (2019) (2019) — index, 7,892 comuni. download JSON
- Intentional homicide rate, by NUTS 3 region (2021) (2021) — per_100k, 1,363 NUTS 3 regions. download JSON
- Life expectancy at birth, by NUTS 2 region (2023) (2023) — years, 284 NUTS 2 regions. download JSON
- Median age (2019) (2019) — years, 7,893 comuni. download JSON
- Median age and indice di vecchiaia (2019) (2019) — years_and_ratio, 7,893 comuni. download JSON
- New foreign registrations from abroad (2025) — count, 7,894 comuni. download JSON
- Old-age dependency ratio, by NUTS 3 region (2022) (2022) — percent, 1,403 NUTS 3 regions. download JSON
- Population change (2019–2025) (2025) — pct_change, 7,893 comuni. download JSON
- Population living in a comune eligible for the 7% pensioner regime (2019) — percent, 110 province. download JSON
- Population, by NUTS 3 region (2023) (2023) — count, 1,347 NUTS 3 regions. download JSON
- Premium for refurbished housing by comune (2025H2) (2025) — multiple, 2,131 comuni. download JSON
- Property purchase price by comune (2025H2) (2025) — eur_per_m2, 7,596 comuni. download JSON
- Property purchase price by province (2025H2) (2025) — eur_per_m2, 110 province. download JSON
- Property rent by comune (2025H2) (2025) — eur_per_m2_month, 7,099 comuni. download JSON
- Property rent by province (2025H2) (2025) — eur_per_m2_month, 110 province. download JSON
- Residents by country-of-birth group (2024) — count, 7,894 comuni. download JSON
- Rooms per person, by NUTS 2 region (2021) (2021) — rooms_per_person, 208 NUTS 2 regions. download JSON
- Tertiary education attainment, by NUTS 2 region (2024) (2024) — percent, 211 NUTS 2 regions. download JSON
- Unemployment rate, by NUTS 2 region (2025) (2025) — percent, 280 NUTS 2 regions. download JSON
- Vehicle theft rate, by NUTS 3 region (2023) (2023) — per_100k, 1,259 NUTS 3 regions. download JSON
- Well-being (BES) (2024) — percentile, 106 province. download JSON
- Years of rent to equal the purchase price by comune (2025H2) (2025) — years, 7,099 comuni. download JSON
- Years of rent to equal the purchase price by province (2025H2) (2025) — years, 110 province. download JSON
- comuni.json — the comune spine. centroids GeoJSON.
- BES (Benessere Equo e Sostenibile) territorial well-being — a curated 15-indicator subset, 107 province. indicators.json, provinces.json, values.json.
- OMI residential prices — purchase and rent €/m², population-weighted to province, 106 of 107 provinces. provinces.json.
How current each dataset is
Two different questions, and the answers often disagree. Describes is the period the data covers — the one that decides whether a number is any use to you. Last checked is when we went and got it. A dataset fetched this month can describe 2018, and one of ours does.
| Dataset | Describes | Last checked | Status |
|---|
Foreign-born population share, by NUTS 2 region (2019) OECD | 2019 | 2026-09-17 | Stale |
Indice di vecchiaia (2019) ISTAT | 2019 | 2026-08-09 | Frozen upstream |
Median age (2019) ISTAT | 2019 | 2026-08-09 | Frozen upstream |
Median age and indice di vecchiaia (2019) ISTAT | 2019 | 2026-08-09 | Frozen upstream |
Disposable household income per capita, by NUTS 2 region (2021) OECD | 2021 | 2026-09-17 | Stale |
GDP per capita, by NUTS 3 region (2021) Eurostat | 2021 | 2026-09-17 | Stale |
Intentional homicide rate, by NUTS 3 region (2021) OECD | 2021 | 2026-09-17 | Stale |
Rooms per person, by NUTS 2 region (2021) OECD | 2021 | 2026-09-17 | Stale |
At-risk-of-poverty rate, by NUTS 2 region (2022) Eurostat | 2022 | 2026-09-17 | Stale |
Housing cost overburden rate, by NUTS 2 region (2022) Eurostat | 2022 | 2026-09-17 | Stale |
Old-age dependency ratio, by NUTS 3 region (2022) OECD | 2022 | 2026-09-17 | Stale |
Active physicians per 1,000 population, by NUTS 2 region (2023) OECD | 2023 | 2026-09-17 | Stale |
Life expectancy at birth, by NUTS 2 region (2023) Eurostat | 2023 | 2026-09-17 | Stale |
Population, by NUTS 3 region (2023) Eurostat | 2023 | 2026-09-17 | Stale |
Vehicle theft rate, by NUTS 3 region (2023) OECD | 2023 | 2026-09-17 | Stale |
Citizenship acquisitions (2024) ISTAT | 2024 | 2026-08-09 | Ageing |
Residents by country-of-birth group ISTAT | 2024 | 2026-08-09 | Ageing |
Tertiary education attainment, by NUTS 2 region (2024) OECD | 2024 | 2026-09-17 | Ageing |
Well-being (BES) — map layer ISTAT | 2024 | 2026-08-19 | Ageing |
BES (Benessere Equo e Sostenibile) dei territori ISTAT | 2025 | 2026-08-09 | Current |
Change in foreign share (2019–2025) ISTAT | 2025 | 2026-08-09 | Current |
Detached house purchase price by comune (2025H2) Agenzia delle Entrate — Osservatorio del Mercato Immobiliare (OMI) | 2025 H2 | 2026-09-12 | Current |
Foreign residents by citizenship ISTAT | 2025 | 2026-08-09 | Current |
House vs apartment price by comune (2025H2) Agenzia delle Entrate — Osservatorio del Mercato Immobiliare (OMI) | 2025 H2 | 2026-09-12 | Current |
IMU rate on a luxury (cat. A/1, A/8, A/9) primary residence MEF — Dipartimento delle Finanze, Portale del Federalismo Fiscale | 2025 | 2026-09-14 | Current |
IMU rate on non-primary, non-category-D buildings (altri fabbricati) MEF — Dipartimento delle Finanze, Portale del Federalismo Fiscale | 2025 | 2026-09-14 | Current |
Municipal IRPEF surcharge (addizionale comunale) MEF — Dipartimento delle Finanze | 2025 | 2026-09-14 | Ageing |
New foreign registrations from abroad ISTAT | 2025 | 2026-08-09 | Current |
Population change (2019–2025) ISTAT | 2025 | 2026-08-09 | Current |
Premium for refurbished housing by comune (2025H2) Agenzia delle Entrate — Osservatorio del Mercato Immobiliare (OMI) | 2025 H2 | 2026-09-12 | Current |
Property purchase price by comune (2025H2) Agenzia delle Entrate — Osservatorio del Mercato Immobiliare (OMI) | 2025 H2 | 2026-09-12 | Current |
Property purchase price by province (2025H2) Agenzia delle Entrate — Osservatorio del Mercato Immobiliare (OMI) | 2025 H2 | 2026-09-12 | Current |
Property rent by comune (2025H2) Agenzia delle Entrate — Osservatorio del Mercato Immobiliare (OMI) | 2025 H2 | 2026-09-12 | Current |
Property rent by province (2025H2) Agenzia delle Entrate — Osservatorio del Mercato Immobiliare (OMI) | 2025 H2 | 2026-09-12 | Current |
Residential property prices (OMI, 2025H2) Agenzia delle Entrate — Osservatorio del Mercato Immobiliare (OMI) | 2025 H2 | 2026-09-12 | Current |
Unemployment rate, by NUTS 2 region (2025) Eurostat | 2025 | 2026-09-17 | Current |
Years of rent to equal the purchase price by comune (2025H2) Agenzia delle Entrate — Osservatorio del Mercato Immobiliare (OMI) | 2025 H2 | 2026-09-12 | Current |
Years of rent to equal the purchase price by province (2025H2) Agenzia delle Entrate — Osservatorio del Mercato Immobiliare (OMI) | 2025 H2 | 2026-09-12 | Current |
7% pensioner regime — population share by province Expat Living Italy — rule applied to ISTAT population | checked 2026-08-23 | 2026-09-17 | Current |
7% pensioner regime — qualifying comuni Expat Living Italy — rule applied to ISTAT population | checked 2026-08-23 | 2026-09-17 | Current |
National IRPEF brackets (2026) Legge di Bilancio 2026 (L. 199/2025), amending TUIR art. 11 | 2026 | 2026-08-24 | Current |
Regional IRPEF surcharge (addizionale regionale) MEF — Dipartimento delle Finanze | 2026 | 2026-09-14 | Current |
Why some of these can’t be refreshed
- 2019 — ISTAT's intercensal reconstruction — a one-off historical release, with no comune-level successor
Method & caveats
Population floor
Per-capita shares are meaningless in very small comuni — four foreign residents in a village of sixty is not a finding. We apply a default population floor of 1,000 residents to rankings, and the map lets you move it with a slider to see how the picture changes.
Citizenship vs. country of birth
ISTAT publishes residents by citizenship at comune level broken down by specific nationality — that’s the map and the per-nationality tables on this site. It does not publish comune-level population by specific country of birth: that cut is only available in three broad groups (Italy / other EU / non-EU), almost certainly statistical disclosure control — a comune-by-200-country cross-tab would produce disclosive near-zero cells for most small comuni. We show that broad-group breakdown on every comune page, but it isn’t comparable per-nationality to the citizenship figures: a comune’s number of Americans by citizenship can’t be checked against its number of people born in the United States, because the latter isn’t published.
Comune-code reconciliation
Comune codes change over time as comuni merge (fusioni). ISTAT does not publish a flat, per-comune successor mapping for these mergers, so a merged comune’s historical values simply won’t join to a current comune id — the year in question is quietly absent from that comune’s trend rather than shown as a wrong number.
Slugs
Each comune has a stable URL slug, persisted across rebuilds so links from the newsletter and elsewhere never break.
BES: a curated subset, and percentile ranks
ISTAT’s BesT publishes 67 territorial well-being indicators; the BES comparison tool shows a curated 15 of them, picked for relevance to someone weighing where to live rather than comprehensive coverage. Its percentile ranks are polarity-aware: a higher percentile always means “better”, whether the underlying indicator’s own direction is higher- is-better (e.g. life expectancy) or lower-is-better (e.g. hospital waiting times) — so ranks are comparable across indicators without having to remember each one’s polarity.
OMI: two grains, and sixteen towns with no price
The cost side of the cost vs. quality of life tool comes from Agenzia delle Entrate’s OMI, for “Abitazioni civili” in normal condition. It is published twice a year and about nine months in arrears: the file describing the second half of 2025 was issued in September 2026. Agenzia Entrate’s bulk download needs a Fisconline/Entratel login, so this is the one dataset here that can’t refresh itself on a schedule — it is fetched by hand, and the freshness panel above shows how far behind it currently is.
Prices exist at two grains and they are different measurements, kept separate rather than blended: the comune figure is an unweighted mean across that comune’s own OMI micro-zones, and the province figure is a population-weighted mean across the comuni OMI covers in it (not the capoluogo alone). A comune OMI didn’t survey is absent from both, never filled in with a zero or a provincial average.
A third figure is derived rather than published: dividing the purchase price by twelve months’ rent gives how many years of rent equal the purchase price, which is the buy-or-rent comparison neither price answers alone. It is not a yield or a payback period — it ignores purchase taxes, IMU, maintenance, financing and the months a property sits empty, all of which push the real number up. It exists for 7,091 comuni, the ones with both a purchase and a rent figure; the rest are absent from it rather than estimated.
Sixteen comuni are absent for a different reason: OMI records a price of zero for every zone in them, meaning there is no market to survey. Fifteen are in the belt destroyed by the 2016 Central Italy earthquake — Amatrice, Accumoli, Arquata del Tronto, Norcia, Cascia, Preci among them — and the sixteenth is Gibellina, destroyed in the 1968 Belice earthquake. Reading those zeros as prices would list the most devastated towns in Italy as its cheapest, so they are excluded and named here instead.
← Back to data sources