Een walkability score beantwoordt één vraag: hoeveel van het dagelijks leven ligt binnen loopafstand van deze voordeur? Boodschappen, een apotheek, een school, een park, ergens eten. Dat wordt samengeperst tot één getal op een schaal van 0 tot 100, en daarom hebben woningplatforms, verhuissites en AI-assistenten het allemaal overgenomen.
Het getal is makkelijk te tonen en de moeite waard om goed te doen, want twee adressen in dezelfde stad kunnen in totaal verschillende buurten liggen. Deze gids loopt de methode langs en past die daarna toe op echte data. We hebben een walkability index berekend voor 40 adressen in 20 Europese steden met de MapAtlas POI API, en de resultaten laten zien waarom de score bij een adres hoort en niet bij een stad.
Wat een walkability score meet
Een walkability score is een nabijheidsmaat. Hij telt de alledaagse bestemmingen die te voet bereikbaar zijn vanaf één coördinaat en weegt ze op hoe essentieel ze zijn en hoe ver ze liggen.
Uit die definitie volgen drie dingen, en alle drie zijn het vermelden waard overal waar je het getal publiceert.
Het is een eigenschap van een adres, niet van een stad. Twee woningen op drie kilometer afstand verschillen routinematig 30 punten of meer, en dat kunnen we nu met data laten zien in plaats van beweren.
Het meet aanwezigheid, niet kwaliteit. De score weet dat er een supermarkt op 300 meter ligt. Hij weet niet of die supermarkt goed gevuld is, duur is of op zondag dicht is.
Het meet afstand, niet moeite. Een vlakke kilometer en een kilometer bergop tellen allebei als een kilometer. Hoogteverschil, oversteken en trottoirkwaliteit vallen volledig buiten de berekening.
Dat zijn de grenzen van wat één getal kan dragen, geen gebreken in de methode.
Hoe je een walkability score berekent
Elke implementatie komt neer op dezelfde drie stappen.
Stap 1: zet het adres om naar een coördinaat
Begin met geocoderen van het adres naar een latitude en longitude. De precisie van die match bepaalt het plafond voor alles wat erna komt. Een match op dakniveau legt de oorsprong op het gebouw zelf, terwijl een match op postcodeniveau een paar honderd meter verderop kan landen, en dat verandert op loopschaal het antwoord.
Gebruik het precisieveld als je geocoder dat teruggeeft, en label elke score die grover is dan straatniveau als benadering.
Stap 2: verzamel wat er binnen het loopgebied ligt
Bepaal vervolgens wat als loopafstand telt. Er zijn twee opties, en de keuze doet meer dan het lijkt.
Een straal pakt alles binnen 1 km van het coördinaat. Dat is snel, goedkoop en reproduceerbaar, maar negeert het stratennetwerk volledig. Een winkel op 400 meter aan de overkant van een rivier zonder brug telt nog steeds mee alsof hij naast de deur zit.
Een isochroon pakt alles binnen de polygoon die echt bereikbaar is in 15 minuten lopen over bestaande paden. Dat kost meer per request, en in ruil daarvoor gaat het correct om met rivieren, spoorlijnen, snelwegen en doodlopende straten.
De index hieronder gebruikt een straal van 1 km, want een gepubliceerde benchmark moet reproduceerbaar zijn voor iedereen die hem wil natrekken. Gebruik voor een live functie bij een advertentie de isochroon.
Stap 3: scoor elke categorie op een curve en weeg daarna
Zet tot slot de tellingen om in een score. Ruwe tellingen werken hier niet: een buurt met 40 restaurants is niet vier keer zo loopbaar als een met 10, en de eerste supermarkt telt veel zwaarder dan de twintigste. Elke categorie wordt daarom gescoord op een curve met afnemende meeropbrengst.
// One category, scored 0..1. `target` is the count that earns full marks.
const componentScore = (count, target) =>
Math.min(1, Math.log(1 + count) / Math.log(1 + target));
// Weighted sum across categories gives the headline 0..100 number.
const score = components.reduce(
(total, c) => total + componentScore(counts[c.key], c.target) * c.weight,
0,
);
De logaritme doet het werk. Van nul naar één supermarkt gaan verschuift de componentscore flink, terwijl van 30 naar 31 nauwelijks meetelt, en zo ervaren mensen een buurt ongeveer ook.
Daarna worden de gewichten toegepast. Dit zijn de onze, met de redenering erachter:
| Component | Gewicht | Waarom |
|---|---|---|
| Boodschappen | 25 | De vaakst gelopen rit in elk huishouden |
| Eten en drinken | 15 | Cafés, restaurants en bars, een redelijke proxy voor straatleven |
| Dagelijkse zaken | 15 | Apotheek, bank, postpunt |
| Scholen en onderwijs | 15 | Doorslaggevend voor gezinnen, irrelevant voor andere kopers |
| Groen | 15 | Parken, speeltuinen, tuinen |
| Zorg | 15 | Huisarts, tandarts, kliniek binnen loopafstand |
Gewichten zijn een afweging en geen feit, dus we publiceren de onze zodat je ze kunt controleren en bijstellen. Een gezinsplatform verhoogt misschien het gewicht van scholen, en een studentenverhuursite juist dat van vervoer en eten. Gepubliceerde gewichten zijn wat het getal reproduceerbaar maakt binnen andermans product.
Wat telt als een goede score
Een score is makkelijker te gebruiken als je hem tegen bandbreedtes leest. Deze bandbreedtes zijn gekalibreerd op de Europese steekproef hieronder, dus een getal midden in het bereik beschrijft een echte Europese buurt.
| Score | Wat het in de praktijk betekent |
|---|---|
| 90 tot 100 | Vrijwel alles is loopbaar en een auto is optioneel. Typisch voor Europese stadscentra en dichte binnenwijken. |
| 70 tot 89 | De meeste weekboodschappen zijn te voet te doen, terwijl een grote inkoop of een specialistafspraak nog vervoer vraagt. |
| 50 tot 69 | Boodschappen zijn meestal bereikbaar, maar de keuze is mager en scholen of zorg kunnen buiten bereik liggen. |
| Onder 50 | Het meeste dagelijkse ligt buiten loopafstand. |
Houd er rekening mee dat de bandbreedtes het aanbod aan voorzieningen rond een adres beschrijven, niet de ervaring van het lopen ernaartoe.
De MapAtlas Walk Index: 20 Europese steden
We draaiden de methode op twee adressen in elk van 20 Europese steden: het centrale plein en een buitenwijk op ongeveer 5 tot 8 km. Alle tellingen kwamen uit de MapAtlas POI API binnen een straal van 1 km, vastgelegd op 28 juli 2026.
Het gat tussen de twee stippen doet er veel meer toe dan de ranglijst. Centrumadressen scoorden gemiddeld 94, buitenwijkadressen in dezelfde steden gemiddeld 73. De blauwe stippen kleven tegen het plafond omdat Europese stadscentra bijna per definitie dicht zijn, dus het zijn de groene stippen die de echte variatie dragen.
| Stad | Centrumadres | Buitenwijkadres | Verschil |
|---|---|---|---|
| Barcelona | 100 | 98 | 2 |
| Madrid | 100 | 85 | 15 |
| Paris | 100 | 75 | 25 |
| Brussels | 99 | 71 | 28 |
| Athens | 98 | 91 | 7 |
| Prague | 98 | 78 | 20 |
| Budapest | 98 | 64 | 34 |
| Lisbon | 97 | 83 | 14 |
| Dublin | 96 | 73 | 23 |
| Vienna | 95 | 63 | 32 |
| Milan | 94 | 68 | 26 |
| Stockholm | 94 | 70 | 24 |
| Amsterdam | 93 | 73 | 20 |
| Rome | 93 | 40 | 53 |
| Zurich | 93 | 70 | 23 |
| Munich | 93 | 69 | 24 |
| Copenhagen | 92 | 65 | 27 |
| Berlin | 88 | 69 | 19 |
| Hamburg | 85 | 73 | 12 |
| Warsaw | 82 | 84 | -2 |
Drie bevindingen springen eruit.
Rome heeft de grootste interne spreiding in de steekproef, 53 punten. Piazza Venezia scoort 93, terwijl Ponte Mammolo, nog steeds ruim binnen de stad, 40 scoort. Binnen 1 km van dat buitencoördinaat vond de API 4 supermarkten, 19 horecazaken en 6 groenplekken, tegen 85, 1129 en 149 in het centrum.
Warschau is de enige stad waar het buitenadres wint. Ursynów scoort 84 tegen de 82 van de oude binnenstad, omdat Ursynów een geplande woonwijk is met supermarkten, scholen, klinieken en parken die er vanaf de tekentafel in zaten. Een historisch centrum en een goede plek om je week te draaien zijn niet hetzelfde.
Barcelona en Athene zakken nauwelijks weg, met 2 en 7 punten. Aaneengesloten middelhoge dichtheid draagt het voorzieningenaanbod in beide steden ver voorbij de toeristische kern.
Waarom het stadsgemiddelde het verkeerde getal is
Eén stad uit elkaar halen laat het mechanisme helder zien.
Elke component zakt tegelijk. Boodschappen gaan van 93 naar 34, eten van 96 naar 41 en scholen van 93 naar 39. Dit is niet één ontbrekende categorie die een verder vergelijkbare buurt omlaag trekt, het is een ander soort plek.
Kijk wat er gebeurt als een platform beide adressen labelt als "Rome, walkability 93". De koper die de buitenwijkwoning bezichtigt komt aan met het centrum in gedachten, en de bezichtiging corrigeert de advertentie. De score berekenen vanuit het eigen coördinaat van elke woning voorkomt dat gat, en geeft de koper reden om de rest van de pagina te vertrouwen.
Wat de score niet vertelt
Vier grenzen zijn het waard om naast het getal te publiceren.
Aanwezigheid is geen kwaliteit. Zes restaurants binnen 1 km scoren gelijk of ze nu uitstekend of belabberd zijn, want de score meet beschikbaarheid en verder niets.
Vlak en steil scoren identiek. Hoogteverschil is onzichtbaar voor een nabijheidsberekening, dus in steden als Lissabon of Zürich leest de score optimistisch.
Datadekking verschilt per land. Onze dataset rapporteert OV-knooppunten maar scoort ze niet, omdat de tagdichtheid op halteniveau te veel verschilt tussen landen om eerlijk te vergelijken. Zürich laat zien waarom: de query gaf één enkel OV-knooppunt binnen 1 km van Paradeplatz, en dat is een tagartefact en geen feit over Zwitserse trams. Dat meescoren had een zelfverzekerd fout getal opgeleverd, dus we lieten het weg en legden uit waarom.
Een momentopname is geen trend. Deze cijfers komen van 28 juli 2026, en voorzieningen openen en sluiten, dus publiceer de datum naast elke score die je berekent.
Zo voeg je een walkability score toe aan een woningadvertentie
Kopers stellen buurtvragen voordat ze woningvragen stellen. Een advertentie die die vragen op de pagina beantwoordt houdt de bezoeker vast, in plaats van hem naar een zoekmachine te sturen voor het antwoord.
De implementatie komt neer op vier stappen.
- Geocodeer het adres van de advertentie één keer, bij ingest, en sla het coördinaat op samen met de matchprecisie. Geocodeer niet bij elke paginaweergave.
- Vraag het loopgebied op voor dat coördinaat: een voetgangersisochroon van 15 minuten, en daarna de voorzieningentellingen daarbinnen.
- Pas je gewichten toe en cache het resultaat. Buurten veranderen over maanden en niet over dagen, dus maandelijks of per kwartaal verversen is genoeg.
- Toon het getal en het bewijs. Laat de score zien, de uitsplitsing per component en de plekken met naam erachter.
Die laatste stap levert nog iets op. AI-zoekmachines kunnen een blok citeren dat echte plekken met naam noemt als iemand vraagt wat er rond een adres ligt, en een kaal getal geeft ze niets om te citeren. Het blok markeren met gestructureerde data maakt het bovendien machineleesbaar:
{
"@context": "https://schema.org",
"@type": "Residence",
"address": {
"@type": "PostalAddress",
"streetAddress": "Via dei Fori Imperiali 1",
"addressLocality": "Rome",
"addressCountry": "IT"
},
"additionalProperty": {
"@type": "PropertyValue",
"name": "Walkability score",
"value": 93,
"maxValue": 100,
"measurementTechnique": "Weighted amenity density within a 15 minute walking isochrone",
"valueReference": "Computed 2026-07-28"
},
"amenityFeature": [
{ "@type": "LocationFeatureSpecification", "name": "Supermarkets within a 15 minute walk", "value": 12 },
{ "@type": "LocationFeatureSpecification", "name": "Primary schools within a 15 minute walk", "value": 4 }
]
}
Twee velden dragen daar de herkomst. measurementTechnique zegt hoe het getal tot stand kwam, en de rekendatum reist mee met de waarde, zodat een answer engine beide kan herhalen zonder slagen om de arm.
Waar deze scores worden gebruikt
Er zijn drie plekken, ruwweg op volgorde van commerciële waarde. Woningadvertenties, waar de score de buurtvraag direct op de pagina beantwoordt. Verhuis- en huurzoekdiensten, waar gebruikers eerst op leefstijl filteren en pas daarna op gebouw. En AI-assistenten, die steeds vaker "is dit een loopbare buurt?" beantwoorden zonder iemand naar een advertentie te sturen.
Die derde verandert het snelst. Een gedateerde score, gepubliceerd met de methode en de plekken met naam erachter, geeft een answer engine iets concreets om te citeren.
Voor de onderliggende data geeft de GeoEnrich API voorzieningentellingen en plekken met naam rond een coördinaat terug in één call, en de Isochrone API levert het loopgebied waarbinnen die tellingen worden gemeten. Houd de scoringsgewichten in je eigen product, waar ze kunnen weerspiegelen wat jouw publiek belangrijk vindt.
Samenvatting
Een walkability score is een gewogen telling van alledaagse bestemmingen rond één coördinaat, met afname naar afstand. Geocodeer het adres, verzamel wat binnen het loopgebied ligt, scoor daarna elke categorie op een curve en pas je gewichten toe.
Bereken hem per adres en niet per stad. Onze steekproef van 20 steden kwam gemiddeld op 94 in het centrum tegen 73 in de buitenwijk, met een spreiding van 53 punten binnen Rome alleen al.
Publiceer daarna de methode bij het getal: de gewichten, het loopgebied, de meetdatum, en de dingen die de score bewust niet meet.
Veelgestelde vragen
Wat is een walkability score?
Een walkability score is een getal, meestal op een schaal van 0 tot 100, dat samenvat hoeveel van het dagelijks leven binnen loopafstand van een specifiek adres ligt. Je berekent het door de alledaagse bestemmingen rond dat adres te tellen, supermarkten, scholen, zorg, parken, cafés, winkels, en die vervolgens te wegen op hoe essentieel ze zijn en hoe ver ze liggen. Een hoge score betekent dat de meeste weekboodschappen te voet kunnen. Het is een eigenschap van een adres, niet van een stad.
Hoe wordt een walkability score berekend?
In drie stappen. Geocodeer eerst het adres naar een coördinaat. Verzamel daarna de points of interest binnen het loopgebied, meestal een straal van 1 km of een isochroon van 15 minuten lopen. Scoor tot slot elke voorzieningscategorie op een curve met afnemende meeropbrengst, zodat de eerste supermarkt veel zwaarder telt dan de twintigste, en combineer de categoriescores met vaste gewichten. De MapAtlas Walk Index uit dit artikel scoort zes componenten met een logaritmische curve en publiceert de gewichten, zodat het resultaat reproduceerbaar is.
Wat is een goede walkability score?
Als ruwe richtlijn op een schaal van 0 tot 100: boven 90 is vrijwel alles loopbaar en is een auto optioneel, 70 tot 90 betekent dat de meeste boodschappen te voet kunnen maar sommige ritten vervoer vragen, 50 tot 70 betekent dat je regelmatig een auto of het OV nodig hebt, en onder 50 ligt het meeste dagelijkse buiten loopafstand. In onze steekproef van 20 Europese steden scoorden centrumadressen gemiddeld 94 en buitenwijkadressen in dezelfde steden gemiddeld 73.
Kun je een walkability score per adres krijgen in plaats van per stad?
Ja, en het getal op adresniveau is het enige dat het publiceren waard is. Stadsgemiddelden verbergen enorme interne verschillen. In onze steekproef scoorde Rome 93 op Piazza Venezia en 40 op Ponte Mammolo, een gat van 53 punten binnen één stad. Elke score bij een woningadvertentie hoort berekend te zijn vanuit het eigen coördinaat van die woning, niet overgeërfd van de stad.
Wat zegt een walkability score niet?
Hij meet wat er in de buurt ligt, niet hoe de wandeling is. Hoogteverschil, kwaliteit van het trottoir, veiligheid bij oversteken, verlichting, geluid, weer, en of de voorzieningen echt goed zijn vallen allemaal buiten het getal. Een steile heuvel en een vlakke straat met dezelfde winkels scoren gelijk. Behandel de score als shortlistfilter en de kaart eronder als het echte bewijs.
Hoe voeg je een walkability score toe aan een woningadvertentie?
Geocodeer het adres van de advertentie, vraag de voorzieningentellingen binnen het loopgebied op, pas je eigen gewichten toe en toon zowel het getal als de onderliggende plekken, zodat een bezoeker het kan controleren. De uitsplitsing per component publiceren, en die markeren met gestructureerde data, maakt het blok bovendien citeerbaar voor AI-zoekmachines, die buurtvragen steeds vaker direct beantwoorden in plaats van de gebruiker naar de advertentie te sturen.

