CasaCanal

300+ datasets. One score.

Most neighbourhood tools pick a handful of indicators and call it a score. CasaCanal ingests over 300 official Dutch government datasets — demographic, economic, spatial, environmental, educational, health, transport and amenity data — and processes them into a single, transparent Life Score for every postcode in the Netherlands.

300+official datasets processed
470,000+postcodes scored
8primary source organisations
6liveability dimensions

Why data depth matters

Two postcodes in the same Amsterdam neighbourhood can score very differently on safety, school access or green space. Detecting that difference requires more than CBS averages — it requires combining dozens of indicators at PC6 (street) level, weighting them against national percentiles, and cross-referencing them across multiple official sources. That is what CasaCanal does for every one of the 470,000+ postcodes we score.

What we process

Below is a breakdown of every data category we ingest, the official Dutch source it comes from, and what it contributes to the Life Score.

Data CategoryVariables includedSourceDimension powered
Demographics & PopulationTotal residents, age distribution (0-95+ in 5-year bands), household composition (single, with/without children), marital status, population density, urbanisation degree, address densityCBS (Centraal Bureau voor de Statistiek)Social Life, Investment
Income & WealthAverage income per resident and per income recipient, median household wealth, income distribution (lowest 40% / highest 20% share), households at or below social minimum (100% / 110% / 120% thresholds)CBSInvestment, Social Life
Housing StockTotal housing stock, owner-occupied vs rental split, housing corporation share, unoccupied percentage, average WOZ value, construction year (pre-2000 / post-2000), dwelling type (apartment, terraced, corner, semi-detached, detached)CBS, KadasterInvestment
WOZ Value AppreciationMunicipality-level WOZ values 2019-2024, year-on-year increase rate, normalised appreciation score relative to national percentileKadaster (Dutch Land Registry)Investment
Safety & CrimeCrime incidents per 1,000 residents, latest reported crime count, month-on-month change percentage — mapped to PC6 level via buurt codePolitie (National Police)Safety
Education — SchoolsPrimary school CITO test scores (standardised to 0-100 scale across 4 test types: IEP, ROUTE 8, AMN, Centrale Eindtoets), number of tested students, average distance from home to school, number of schools within 3km, school type and denominationDUO (Dienst Uitvoering Onderwijs)Education
Education — Historical LiveabilityLeefbaarometer class score for every neighbourhood across 8 time points: 2002, 2008, 2012, 2014, 2016, 2018, 2020, 2022 — used as a long-run liveability signal and investment trajectory indicatorLeefbaarometer (Ministry of the Interior / BZK)Education, Investment
Public Transport — RailDistance to nearest train station (total), distance to major intercity transfer station, distance to main road entranceCBS transport data / NS (Nederlandse Spoorwegen)Transport
Public Transport — Local StopsNumber of bus stops within 0.5km, 1km and 5km; number of tram/metro stops within 0.5km, 1km and 5km; number of other PT stops within 0.5km, 1km and 5km — mode-specific, radius-banded counts for every PC6NDOV (Nationaal Databestand Openbaar Vervoer) — GVB, RET, HTM and regional operatorsTransport
Cycling InfrastructureTotal length of cycling network per municipality (km), used to weight cycling accessibility relative to postcodeCBS cycling infrastructure dataTransport
Health AccessDistance to nearest GP practice, number of GPs within 1km / 3km / 5km, availability of on-call GP service, distance to nearest pharmacy, distance to nearest hospital, hospitals within 5km / 10km / 20km, distance to nearest clinic, clinics within 5km / 10km / 20kmRIVM (Rijksinstituut voor Volksgezondheid en Milieu)Health
Green Space & NatureNumber of parks within 300m and 500m, number of gardens within 500m, number of wooded areas within 500m, distance to nearest park (metres), distance to nearest green area (metres)OpenStreetMap (OSM) geodata — parks, leisure areas, natural areasGreen Space
Amenity Density & QualityFor each of 16 amenity categories (bars, gyms, supermarkets, stores, shopping malls, restaurants/takeaway, night clubs, primary schools, secondary schools, doctors, dentists, laundromats, veterinary care, meal delivery, ATMs, museums, cinemas, theatres, libraries, swimming pools, fire stations): count within radius + average Google rating + average review count. Also: weighted counts of hospitals, pharmacies, train stations, bus stations, light rail stations, subway stations, transit stations, universities, parking, gas stations, movie theatres nearby.Google Places APISocial Life, Health, Education, Transport
Labour Market & BusinessNet labour participation rate, share of employees vs self-employed, number of business establishments by sector (agriculture, industry, trade/hospitality, transport/ICT, finance/real estate, professional services, government/education/care, culture/recreation), passenger cars per household, cars by surface area, motorcyclesCBSSocial Life, Investment
Energy ConsumptionAverage electricity consumption (total, and by dwelling type: apartment, terraced, corner, semi-detached, detached, rental, owner-occupied), average gas consumption (same breakdown), percentage of homes on district heatingCBSInvestment (used as proxy for housing quality and age)
Location Hierarchy & CoordinatesPC6 postcode to buurt (neighbourhood) to wijk (district) to gemeente (municipality) full mapping, latitude/longitude centroid for every postcodeCBS / Kadaster location registryAll (infrastructure for spatial joins)

How we turn 300+ datasets into one score

Raw data arrives in different scales, units and geographies. Crime is reported at buurt level. Schools are located at postcode. Transport stops are GPS coordinates. Google Places data is aggregated at PC4. Our pipeline resolves all of these to PC6 — the six-character postcode that represents a single street segment — so that every indicator is comparable at the finest granularity the Dutch postcode system supports.

Each indicator is then normalised to a 0-1 scale using national-level percentiles. This means Amsterdam's transport advantage over a rural Frisian postcode is preserved in the score — we do not normalise within cities or municipalities, which would hide real differences. The result is that every postcode in the Netherlands is scored against the same national benchmark.

Normalised indicators are grouped into six dimensions (Safety, Transport, Education, Green Space, Health, Investment) and weighted into a composite Life Score. The full weighting methodology and normalisation methods used for each of the 300+ variables are documented on the methodology page.

Read the full methodology →

Update frequency

Official Dutch datasets are updated on annual or quarterly cycles. CasaCanal follows these cycles.

SourceUpdate frequencyNext expected update
CBS demographics, income, housingAnnual2025 data (2026 release)
Politie crime dataAnnual2025 data (2026 release)
DUO school dataAnnual2025-2026 school year
LeefbaarometerEvery 2 years2024 class scores (est. 2025)
Kadaster WOZAnnual2025 data (2026 release)
NDOV transport stopsQuarterlyRolling
Google PlacesQuarterlyRolling
OSM green spaceQuarterlyRolling
CasaCanal does not use proprietary data, purchased lists or estimated values. Every score we publish is traceable to a publicly available Dutch government or open data source. If you have a question about a specific data point or want to understand how a score was calculated for your postcode, contact us.