← Back

Methodology

How we know this

Borgo Data exists to be honest, so the data has to be checkable. This page lays out exactly where every figure comes from, how current it is, and what it can’t tell you. Nothing here is our opinion of a town — it’s public data, named and dated, so you (or your lawyer) can verify any of it.

Last reviewed: June 2026

What we promise — and what we don’t

Where each figure comes from

Population & demographics

Resident counts, median age, age structure, foreign-resident numbers and nationalities, year-on-year change, and long-range population projections.

Licence
ISTAT open data (CC-BY) — Italy's national statistics institute.
Refreshed
Per ISTAT's release cycle (annual for most series); we re-pull periodically.
Known limits
Official statistics lag the present by months to a year or two. Long-range projections are published only for comuni over ~5,000 residents, so smaller villages show none.

Services, distances & surroundings

Distance to supermarket, pharmacy, doctor, school, station, beach and the like; leisure facilities; and the surroundings layer (river, forest, coast, mountain… / industry, busy road, railway…).

Licence
OpenStreetMap via the Overpass API (ODbL) — the open, crowd-mapped map of the world.
Refreshed
Cached and refreshed on a rolling basis (services monthly; the slow-changing surroundings layer every ~90 days).
Known limits
OpenStreetMap is volunteer-mapped, so coverage is uneven, especially in rural areas. “Not nearby” means “not mapped within range” — which isn't always the same as “not there.” Surroundings are reported as present within a distance band, not a surveyed metre count.

1€ / cheap-house scheme status

Whether a town appears to run a house scheme, any deadline seen, and a quote from the page we found it on.

Licence
Read from the comune's own official website.
Refreshed
Re-checked periodically against the municipal site.
Known limits
Detected automatically from public pages, so it can miss or misread. Schemes carry conditions (renovation duties, deposits, deadlines) that change — always confirm directly with the comune. We link the municipal page so you can.

Civic vitality signals (from the comune’s own website)

Softer indicators of how ‘alive’ a town’s administration is, read from the same municipal pages we already visit: how recently the site’s official notice board (Albo Pretorio) and news were updated, roughly how many dated notices appeared in the last year, whether residents can do things online (PagoPA, SPID, an online desk), whether there’s an active events/festival life, and whether the town keeps an English-language or tourism section.

Licence
Read from the comune’s own official website; no extra data collected beyond the pages we already fetch.
Refreshed
Updated whenever we re-crawl the municipal site.
Known limits
These are soft, supporting signals — not a verdict. Some comuni outsource their web presence to a shared regional portal, so a thin or dated site does not always mean a sleepy town. We use them only as a small nudge to the fit score (they can raise it a little, never lower it), and a town we haven’t re-crawled yet simply carries none of them rather than being marked down.

Climate & comfort

Typical temperatures and comfort indicators.

Licence
Open-Meteo (open data).
Refreshed
From long-run climate normals; stable.
Known limits
A general guide to the local climate, not a forecast.

Earthquake history

Recent seismic events near the town.

Licence
INGV — Italy's national institute of geophysics and volcanology (open data).
Refreshed
Periodic.
Known limits
History and proximity of recorded events, not a hazard rating or prediction.

Recovery-fund (PNRR) projects

EU recovery-fund projects tied to the comune, and approximate amounts.

Licence
OpenPNRR by Openpolis (ODbL) and Italia Domani (CC-BY 4.0).
Refreshed
Periodic.
Known limits
Project-to-comune attribution and amounts are as published; multi-comune projects are split evenly as a documented approximation.

Town photos

A single representative photo where one is openly licensed.

Licence
Wikimedia Commons (primary) or Openverse, shown with author and licence; never scraped.
Refreshed
Periodic.
Known limits
Availability varies; many small towns have no openly-licensed photo, so none is shown.

How the fit scores are calculated

The “who this town suits” scores aren’t opinions — they’re a transparent weighted average of the factual factors we have for a town. Here’s the whole method, with nothing hidden.

1. Each factor is scored 0–1

Every factor is turned into a 0–1 value from the raw data. Distances reward being close: a service within about 1 km scores 1.0, fading to 0 by about 5 km. “More is better” factors (e.g. facilities) rise toward 1.0 as they reach a sensible target. Data-backed factors like climate comfort, hazard safety, clean air and car-free viability already arrive on a 0–1 scale.

2. Each audience weights the factors it cares about

Every audience has a fixed set of weights (0–1) saying how much each factor matters to them. For example, a retiree weights:

healthcare 1.0 · climate 0.9 · cost of living 0.9 · quiet/low-density 0.8 · safety 0.8 · daily shopping 0.7 · air & water 0.7 · hazard safety 0.7 · car-free 0.6 · culture 0.5 · transport 0.5 · community 0.3

A family, by contrast, leads with schools 1.0, safety 0.9 and healthcare 0.9. Weights live in a config file, so they’re tunable without code.

3. The score is a weighted average — of known factors only

We combine the factor scores the town actually has data for, each pulled by its weight, and scale to 0–10:

raw = ( Σ value × weight ) / ( Σ weight ) × 10

A factor with no data is excludedfrom both the top and bottom of that fraction — never scored 0. Guessing a missing factor as bad would be exactly the dishonesty this project avoids.

4. Thin data is pulled toward neutral (confidence shrinkage)

A “10/10” built from one or two factors is noise, not signal. So we measure coverage— how many of an audience’s cared-about factors had data — and pull the raw score toward the neutral midpoint (5) in proportion to how little data backs it:

coverage = factors with data / factors the audience cares about
score = 5 + ( raw − 5 ) × coverage

Full coverage leaves the score untouched; thin coverage drags it toward neutral. And below a hard floor — fewer than 2 real factors— we show no number at all, because there isn’t enough to say anything honest. Each town page shows the coverage and lets you expand any audience to see the exact factors, values and weights that produced its score.

A low score means a poorer fit for that group’s needs — not that it’s a bad town. The weights are our editorial judgement of what each group tends to need; the factor values are data.

What 0%, 50% and 100% mean for each factor

The 0–1 factor scores in step 1 aren’t arbitrary — each has a fixed rule. Here’s what full marks, half marks and zero mean for the main factors:

Factor100%50%0%
Daily shopping (supermarket)within 1 kmabout 3 km5 km or more
Healthcare (nearest of GP / pharmacy / hospital)GP within 2 km (or pharmacy 1 km, hospital 5 km)GP about 6 kmGP 10 km+ (and others far)
Schoolswithin 1 kmabout 4.5 km8 km or more
Public transport (train)station within 2 kmabout 6 km10 km or more
Airport accesswithin 40 kmabout 80 km120 km or more
Nature / coast (beach)within 5 kmabout 22 km40 km or more
Dining & social (restaurants + cafés ≤5 km)20 or moreabout 10none mapped
Quiet / low densityunder 2,000 people≈10–50k → 0.4over 50,000 → 0.2 (never 0)
Population trendgrowing +5% or moreabout −10%shrinking −25%+ → 0.1
Climate, air, hazard-safety, car-freeideal (mild / clean / safe / walkable)middlingharsh / polluted / exposed

Distance factors fade linearly between the two thresholds. A few factors have a floor (e.g. a large town still scores 0.2 for “quiet,” not 0) so they’re never treated as absolute zeros. Data-backed factors (climate, air, hazard safety, car-free) arrive already scored 0–1 by their own models.

Every audience’s weights

The full weight vector for each audience, exactly as the scorer uses it. Higher = matters more to that group. Anything not listed isn’t counted for that audience.

Retiree / Pensioner Calm, affordable retirement.

Healthcare access 1.0Climate comfort 0.9Cost of living 0.9Quiet / low density 0.8Safety 0.8Daily shopping 0.7Air & water quality 0.7Hazard safety 0.7Car-free viability 0.6Culture & events 0.5Public transport 0.5Community vitality 0.3

Remote worker / Digital nomad Works online; needs connectivity.

Broadband 1.0Public transport 0.8Airport access 0.8Dining & social 0.7Culture & events 0.7Cost of living 0.7Existing expats 0.6Car-free viability 0.6Community vitality 0.5Healthcare access 0.5

Family with children Schools and safety first.

Schools 1.0Safety 0.9Healthcare access 0.9Community vitality 0.8Hazard safety 0.8Daily shopping 0.7Air & water quality 0.7Nature / coast 0.6Public transport 0.6Culture & events 0.6Population trend 0.6

Student Transport, affordability, social life.

Public transport 1.0Cost of living 0.9Dining & social 0.8Culture & events 0.8Broadband 0.8Car-free viability 0.8Community vitality 0.5Airport access 0.5

Expat / International mover Community and ease of integration.

Existing expats 1.0Healthcare access 0.7Broadband 0.7Public transport 0.6Dining & social 0.6Culture & events 0.6Cost of living 0.6Safety 0.6Religion fit 0.5

Seasonal / project worker Here for a season or a project.

Seasonal work 1.0Jobs & economy 0.8Public transport 0.8Cost of living 0.8Daily shopping 0.6Broadband 0.5

Property investor Value/yield; cares about trajectory.

Population trend 1.0Regeneration funding 0.9Public transport 0.7Jobs & economy 0.7Heritage & tourism 0.6Broadband 0.6Hazard safety 0.6Air & water quality 0.4

Culture & lifestyle seeker Art, events, festivals, things to do.

Culture & events 1.0Heritage & tourism 0.9Dining & social 0.8Public transport 0.6Community vitality 0.5Existing expats 0.4

A worked example: Albugnano for a retiree

A real town and the live retiree weights, end to end. Albugnano has data for 9 of the retiree’s 12 factors.

FactorValueWeightValue × weightFrom
Healthcare access0.821.00.820doctor 3.4 km, pharmacy 3.2 km
Quiet / low density1.000.80.800population 525
Hazard safety1.000.70.7000 quakes / 20 yrs
Air & water quality0.870.70.609PM2.5 9.2 µg/m³
Climate comfort0.550.90.495mean 12.0 °C
Daily shopping0.680.70.476supermarket 2.3 km
Public transport0.280.50.140train 7.8 km
Car-free viability0.200.60.120car essential
Community vitality0.220.30.0664 births vs 12 deaths
Totals (factors with data)6.24.226

No data for: Cost of living, Safety, Culture & events— excluded, not scored 0.

raw = ( 4.226 / 6.2 ) × 10 = 6.8
coverage = 9 / 12 = 0.75
score = 5 + ( 6.8 − 5 ) × 0.75 = 6.4 / 10

The raw 6.8 is pulled down to 6.4because a quarter of the retiree’s factors had no data — the score stays honest about how much it rests on. This is exactly the breakdown you can open under “who this town suits” on the Albugnano page.

Check it yourself

Because every figure is public and dated, you can verify any of it: each town page names its sources, and the links above go straight to them. The data pipeline is code working from these open sources, so the numbers are in principle re-derivable from scratch — “don’t take our word for it” is the point. If you ever find a figure that looks wrong, it usually means the underlying public source needs updating (and on OpenStreetMap, anyone — including you — can fix it).

Borgo Data provides information, not professional advice. For a specific purchase, confirm the details that matter with the comune and a qualified Italian lawyer.