Personal project. Work in progress. Not advice.

about

A model of the Dutch housing market. Built for owners.

House prices in Dutch cities move with interest rates, incomes, new building and policy. This model lets you set those conditions for a postcode area and shows the range of values they imply over ten years. It does not predict a number.

why this exists

Most property forecasts give you a number. That number is usually wrong.

Open a property report and you get a number. Your flat will be worth Y in five years. The number looks certain. It is rarely right, and the error bars are never shown.

Property does not move in smooth trends. It moves in cycles, driven by decisions that feed on each other. When mortgage rates fall, buyers can borrow more, prices rise and more buyers rush in before they are priced out. When landlords face tighter rules they sell, and homes move from renting to owning. A forecast that only extends last year's growth misses all of this.

This model does not capture those cycles either, and it says so. It does something simpler. You set the conditions with six sliders: the ECB rate, income growth, supply, gentrification, policy risk and rental scarcity. The model turns them, together with CBS figures for the postcode area, into one annual growth rate and applies that rate for ten years. The result is a smooth path with a widening band around it, not a cycle. What you can see is how much each condition moves the outcome: what a rate cut adds over ten years, or how much extra supply takes off.

The model returns scenario ranges, not point forecasts. Anyone giving you a single number for a ten-year property value is selling something.

framework

Five feedback loops, named but not yet modelled.

The thinking behind loelens comes from the study of feedback in housing markets. Five loops matter most in Dutch cities. Uitponden, landlords selling rented homes one by one as tenants leave. The construction freeze. Rental buffer collapse. Credit amplification. Herding.

None of these loops runs inside the trajectory today. In a real loop, this year's prices change next year's conditions. In the model, the growth rate is fixed once you set the sliders and does not respond to the prices it produces. Some sliders stand in for the conditions a loop would create: policy risk for uitponden, supply for the construction freeze, rental scarcity for the rental buffer and the ECB rate for credit. The model page marks which loops your settings point to, as a reading aid. Building the loops into the trajectory itself is planned.

what makes it different

Three things this model does.

Scenario ranges, not single forecastsFour presets anchor the spread: Baseline, Boom, Crisis and Policy. The chart shows the full envelope and you read the range, not a line.
Per-neighbourhood dataCBS figures per postcode area set the starting value and adjust the growth rate: the average WOZ value sets the start, the share of owner-occupied homes weights the credit term and a large share of new build adds a little. The profile also shows income, the share of residents on benefits, population and the split of rented homes. Those do not change the growth rate. Differences between postcode areas are small because the data did not support larger ones. How this was tested
Transparent about sources, assumptions and limitsEvery data feed is named with its licence, and every number in the model is marked as either taken from data or chosen. The Sources and method page lists both. Where data does not exist at postcode level, the model uses city-level figures and says so. Where an event sits outside the normal range, the model does not extrapolate. It tells you the range it is built for, and where it stops.
origin

Built by an Amsterdam property owner.

The first version was a spreadsheet with three sliders, built to answer a personal question about a single Amsterdam apartment. The current version covers Dutch cities at PC4 level, draws on seven open data sources updated between weekly and annually and returns four scenario ranges rather than a single line.

Everything on this site is open about its sources and limits. The aim is not to predict your property's price. The aim is to give you a structured way to think about the conditions under which the price could move, and by how much.

data sources

CBS, ECB, Inside Airbnb, Gemeente Amsterdam, PDOK

framework

Scenario model on open data

Persoonlijk project. Werk in uitvoering. Geen advies.

over

Een model van de Nederlandse woningmarkt. Gebouwd voor eigenaren.

Huizenprijzen in Nederlandse steden bewegen mee met de rente, inkomens, nieuwbouw en beleid. Met dit model stel je die omstandigheden in voor een postcodegebied en zie je welke bandbreedte van waarden daar over tien jaar uit volgt. Het voorspelt geen getal.

waarom dit bestaat

De meeste vastgoedprognoses geven je een getal. Dat getal klopt zelden.

Open een vastgoedrapport en je krijgt een getal. Appartement X is over vijf jaar Y waard. Het getal ziet er overtuigend uit. Het klopt echter zelden, en de foutmarges worden nooit getoond.

Vastgoed beweegt niet in vloeiende trends. Het beweegt in cycli, gedreven door beslissingen die op elkaar inwerken. Als hypotheekrentes dalen, kunnen kopers meer lenen, stijgen de prijzen en stappen meer kopers in voordat ze buiten de boot vallen. Als verhuurders strengere regels krijgen, verkopen ze, en gaan woningen van huur naar koop. Een prognose die alleen de groei van vorig jaar doortrekt, mist dat allemaal.

Ook dit model vangt die cycli niet, en het zegt dat ook. Het doet iets eenvoudigers. Je stelt de omstandigheden in met zes schuiven: de ECB-rente, inkomensgroei, aanbod, gentrificatie, beleidsrisico en krapte op de huurmarkt. Het model maakt daar, samen met CBS-cijfers voor het postcodegebied, één groeicijfer per jaar van en past dat tien jaar lang toe. De uitkomst is een vloeiend pad met een band die steeds breder wordt, geen cyclus. Wat je wel ziet, is hoeveel elke omstandigheid de uitkomst verschuift: wat een renteverlaging over tien jaar toevoegt, of hoeveel extra aanbod eraf haalt.

Het model geeft scenario-bandbreedtes, geen puntprognoses. Iemand die je één getal geeft voor een tienjarige vastgoedwaarde, verkoopt iets.

raamwerk

Vijf feedbackloops, benoemd maar nog niet doorgerekend.

Het denken achter loelens komt uit het onderzoek naar terugkoppeling op de woningmarkt. In Nederlandse steden doen vijf feedbackloops er het meest toe. Uitponden, waarbij verhuurders hun woningen een voor een verkopen als huurders vertrekken. De bouwstop. Het opdrogen van de huurmarkt. Kredietversterking. Kuddegedrag.

Geen van deze feedbackloops zit vandaag in het prijspad. In een echte feedbackloop veranderen de prijzen van dit jaar de omstandigheden van volgend jaar. In het model ligt het groeicijfer vast zodra je de schuiven instelt, en het reageert niet op de prijzen die eruit volgen. Sommige schuiven staan voor de omstandigheden die een feedbackloop zou opleveren: beleidsrisico voor uitponden, aanbod voor de bouwstop, krapte op de huurmarkt voor het opdrogen van de huurmarkt en de ECB-rente voor krediet. De modelpagina laat zien naar welke feedbackloops je instellingen wijzen, als hulp bij het lezen. Het plan is om de feedbackloops later in het prijspad zelf op te nemen.

wat het anders maakt

Drie dingen die dit model doet.

Scenario-bandbreedtes, geen enkele voorspellingVier voorinstellingen verankeren de spreiding: Basis, Hoogconjunctuur, Crisis en Beleid. De grafiek toont de volledige envelop en je leest de bandbreedte, niet een lijn.
Data per buurtCijfers van CBS per postcodegebied, het gebied van de eerste vier cijfers van de postcode, bepalen de startwaarde en stellen het groeicijfer bij: de gemiddelde WOZ-waarde bepaalt de start, het aandeel koopwoningen weegt mee in de kredietterm en veel nieuwbouw telt een beetje op. Het profiel toont ook het inkomen, het aandeel bewoners met een uitkering, de bevolking en de verdeling van huurwoningen. Die veranderen het groeicijfer niet. De verschillen tussen postcodegebieden zijn klein omdat de data geen grotere ondersteunde. Hoe dit is getoetst
Transparant over bronnen, aannames en grenzenElke databron staat er met licentie bij, en van elk getal in het model staat vermeld of het uit data komt of gekozen is. De pagina Bronnen en methode noemt ze allebei. Waar geen cijfers per postcode bestaan, gebruikt het model cijfers voor de hele stad en zegt dat ook. Gebeurtenissen buiten het gewone patroon trekt het model niet door. Het vertelt waarvoor het gemaakt is en waar het ophoudt.
ontstaansgeschiedenis

Gebouwd door een Amsterdamse woningeigenaar.

De eerste versie was een spreadsheet met drie schuiven, gemaakt om een persoonlijke vraag over één Amsterdams appartement te beantwoorden. De huidige versie dekt Nederlandse steden per postcodegebied van vier cijfers, gebruikt zeven open databronnen die tussen wekelijks en jaarlijks worden bijgewerkt en geeft vier scenariobandbreedtes in plaats van één lijn.

Alles op deze site is open over de bronnen en grenzen. Het doel is niet de prijs van je woning te voorspellen. Het doel is je een gestructureerde manier te geven om na te denken over de omstandigheden waaronder de prijs zou kunnen bewegen, en hoeveel.

databronnen

CBS, ECB, Inside Airbnb, Gemeente Amsterdam, PDOK

raamwerk

Scenariomodel op open data