CasaCanal

Methodology

How every neighbourhood gets its score

300+ official Dutch data sources. Normalised scores. Street-level precision. No black boxes.

450K+postcodes
300+data sources
6dimensions
CBSPolitieDUORIVMNSKadasterGoogle Places

THE 1–20 SCALE

Every indicator and every dimension score uses the same 1–20 scale — normalized at country level, not city level. A transport score of 17 in Amsterdam means the same level of connectivity as a score of 17 in Utrecht, relative to the entire Netherlands.

1 — below average10 — average20 — top tier
18
Amsterdam Zuid
15
Utrecht Oost
9
Rural Groningen

NORMALIZATION

Raw data arrives in different units — crime rates, distances, percentages, counts. We apply normalization logic that fits what each indicator actually measures.

Higher = better

More is better

Higher raw value maps to a higher score. Used where abundance signals quality.

e.g. number of transit stops within 1 km
Lower = better

Less is better

Inverted scale — a lower raw value produces a higher score.

e.g. crime incidents per 1,000 residents, benefit dependency rate
Distance-based

Proximity

Closer to a facility → higher score. Reflects real-world accessibility.

e.g. nearest GP, supermarket, pharmacy
Percentage

Proportional mapping

Percentage values mapped proportionally onto the 1–20 range.

e.g. housing occupancy rate, WOZ increase rate
Percentile

Country-level percentile

Position within the full national distribution using P50 and P90 thresholds — cities like Amsterdam score in absolute terms, not relative to local demand.

e.g. transport connectivity composite, green density index

SIX DIMENSIONS

Social Life

Venues, bars, cafes and restaurants weighted by quality signals and review density

Transportation

NS train frequency, GVB/RET stops, motorway proximity and cycling infrastructure

Education

DUO school ratings, proximity to schools, weighted by CITO score performance

Green

Parks, gardens, forest areas, pet-friendly amenities and environmental quality

Health

GP, dentist, physio and hospital access weighted by proximity and density

Investment

WOZ appreciation, population growth patterns and area stability signals

HOW SCORES ARE BUILT

Each postcode goes through a deterministic pipeline — the same steps, every time, across all 470K+ postal codes.

1

Raw data ingestion

Official sources (CBS, Politie, NS, DUO, RIVM, Kadaster) are loaded and merged into a normalised feature set per PC6 postcode.

2

Per-indicator normalization

Each indicator is transformed using the logic that fits its nature: higher-is-better, lower-is-better, distance-based, percentage, or country-level percentile.

3

PCA per dimension

For each of the six dimensions, a separate PCA space is constructed. An ideal point (median/mean profile) is defined in that space.

4

Distance → rank → score

Each postcode's distance to the ideal point is computed, ranked nationally, and converted to a score using a defined curve (typically 60–99 range), with deterministic jitter applied to avoid ties.

5

Post-score alignment

Cluster and breakdown scores are reconciled for consistency. An optional Leefbarometer calibration layer can be applied as a final step.

OFFICIAL SOURCES ONLY

We don't scrape. We use the same data the Dutch government uses.

CBS
Politie
DUO
RIVM
NS
Kadaster
Google Places

Data is validated, normalised and updated regularly.

No black boxes

We're not hiding behind a black box. Each Life Score is composed of weighted indicators, and those indicators change by lifestyle profile because what matters to a family is different from what matters to a remote worker or urban explorer.

Unlike tools that show vague liveability ratings without explaining their sources, every CasaCanal score is traceable to official Dutch government data. You can compare locations fairly because the same methodology and normalisation scale is used across the Netherlands.

As we improve data quality and refine models, scores can evolve. That is intentional: updates reflect better evidence, not opaque algorithm changes.