Funderingsschade

Deze indicator geeft de geschatte funderingsschade van de bestaande woningvoorraad per cel (AdminDomain), in euro’s. Funderingsschade ontstaat doordat (vooral oudere) panden op houten palen of op staal gevoelig zijn voor droogte, paalrot en bodemdaling. De schade is grotendeels onvermijdbaar, behalve via sloop/nieuwbouw, wat funderingsschade interessant maakt voor een transformatieve ruimtelijke verkenning (issue #408).

Achtergrond en bron

De funderingsrisicokaarten zijn aangeleverd door Deltares (MK, d.d. 15-12-2025). Kenmerken (zie issue #408):

  • Risico per buurt in heel NL, voor bestaande panden met ten minste één verblijfsobject met woonfunctie, in euro.
  • Funderingsrisico zit op dit moment nog maar (zeer) beperkt in de woningprijzen.
  • De schade is niet of nauwelijks vermijdbaar, behalve via sloop/nieuwbouw; de gangbare strategie is uitstellen.
  • Herstel of sloop/nieuwbouw moet per rij/bouwblok gebeuren (rijtjeswoningen), niet per los pand.
  • Voor nieuwbouw verwijst Deltares naar de kaarten van OL (issue #342).

Er is een openbare versie op buurtniveau (funderingskosten_buurten2020.csv, buurtindeling CBS 2020, met aparte kostencomponenten voor houten palen en op staal) en een niet-openbare versie op pandniveau (buildings_pts_with_timber_shallow_costs.gpkg, scenario strong climate change).

Methode: van private kalibratie naar publieke toerekening

De verwerking volgt een vijfstaps-aanpak, ontworpen binnen dit project (issue #408). De private pandkaart wordt uitsluitend gebruikt om geaggregeerde kentallen te schatten; de feitelijke toerekening gebruikt alleen publieke inputs.

  1. Doelvariabele per pand, op de private set. De verwachte schade per pand, per funderingscomponent:
y_hout_i  = p_hout,i  * kosten_hout,i
y_staal_i = p_staal,i * kosten_staal,i
y_i       = y_hout_i + y_staal_i
  1. Relatieve risicofactoren per klasse-combinatie woningtype x bouwjaarklasse, per component, geschat op de schade per woning (y gedeeld door het aantal woningen s_i in het pand, zodat pandgrootte niet dubbel telt) en genormaliseerd op gemiddelde 1:
r_hout(t,c)  = mean(y_hout_i  / s_i | t,c) / mean(y_hout_i  / s_i)
r_staal(t,c) = mean(y_staal_i / s_i | t,c) / mean(y_staal_i / s_i)

met t het woningtype (WP5: vrijstaand, twee onder 1 kap, hoekwoning, tussenwoning, appartement) en c de bouwjaarklasse (<1940, 1940-1969, 1970-1989, >=1990). Klasse-combinaties in plaats van marginale factoren, zodat de interactie tussen bouwjaar en woningtype (bijvoorbeeld vooroorlogse rijwoningen op houten palen) wordt meegenomen.

  1. Verdeelgewichten per pand, opgebouwd uit uitsluitend publieke BAG-kenmerken:
w_hout_i  = r_hout(t_i, c_i)  * s_i
w_staal_i = r_staal(t_i, c_i) * s_i
  1. Toerekening van de openbare buurtkosten aan de panden binnen buurt b, per component:
k_i = C_b_hout * w_hout_i / som(w_hout_j) + C_b_staal * w_staal_i / som(w_staal_j)

Hierdoor tellen de pandbedragen per constructie exact op naar de openbare buurttotalen.

  1. Cap en herverdeling. Per pand geldt een cap van s_i * P99 met P99 het 99e percentiel van de private schade per woning (120.000 euro, het maximale herstelbedrag in de bron). Het boven de cap afgekapte surplus wordt binnen de buurt herverdeeld naar rato van de resterende capruimte van de overige panden; alleen wat boven de gezamenlijke buurtcap uitkomt gaat verloren en wordt als controlegrootheid gerapporteerd.

De pandbedragen worden tot slot via de toedelingsmatrix uitgesmeerd naar het 25 m-grid (per_pand/k, euro per cel).

Validatie en betrouwbaarheid

De toerekening is gevalideerd tegen zowel de openbare buurttotalen als (eenmalig, aan de kalibratiekant) de private pandenset:

  • Landelijk: som openbare buurtkosten 69,6 mld euro; daarvan is 99,6 procent aan panden toerekenbaar (0,4 procent valt in buurten zonder koppelbare woonpanden) en resteert na cap en herverdeling 66,3 mld euro (4,4 procent capverlies, volledig het wiskundig onvermijdbare deel: buurten waar de kosten boven de gezamenlijke capruimte uitkomen).
  • Scenario-check: de correlatie tussen de openbare buurtkosten en de private buurttotalen is 0,997 (verhouding 1,09); beide kaarten zijn op hetzelfde scenario gebaseerd.
  • Betrouwbaarheidsniveau: de buurttotalen zijn exact, de verdeling op 25 m-celniveau is indicatief, en op individueel pandniveau is de toedeling niet betrouwbaar. Funderingstype is pand-specifiek (bodem, bouwwijze) en wordt binnen een buurt door geen enkele publieke BAG-indeling onderscheiden; de R2 van de publieke gewichten op pandniveau is dan ook laag. Voor RS, dat op celniveau rekent, is dit acceptabel, maar pand-uitspraken moeten worden vermeden.

Reproduceerbaarheid en ontkoppeling

De niet-openbare pandkaart wordt alleen gebruikt in stap 1 en 2, voor het schatten van geaggregeerde kentallen: 24 klassekentallen per component (2 x 24) plus de percentielen en het gemiddelde van de schade per woning. Deze zijn als ontkoppeld bestand opgeslagen (funderingskosten_kentallen.mmd) en worden door het model teruggelezen zonder de private bron aan te raken.

Een reproduceerbare, publieke RS-run heeft daarmee genoeg aan: de openbare buurtkaart, de BAG en deze kentallen. De pandbedragen k_i zijn niet te herleiden tot de private brongegevens; ze volgen volledig uit publieke buurttotalen en publieke BAG-kenmerken. Dit adresseert de reverse-engineering-zorg die bij de aanlevering van de kaarten is besproken.

Twee scenario’s: herstellen of laten

Per variant bepaalt VariantParameters/VariantK/FunderingschadeWordtHersteld welke kostenpost optreedt. Beide worden via de netto contante waarde teruggerekend naar het modelstartjaar, met de discontovoet (ModelParameters/Wonen/Discontovoet = 3 %) en het jaar waarin de schade zichtbaar wordt (JaarWaarinFunderingschadeZichtbaar):

Scenario (FunderingschadeWordtHersteld) Herstelkosten Waardevermindering
Ja, herstellen NCW(Src), de schade wordt hersteld en de kosten worden geïncasseerd, ongeacht eventuele sloop in een zichtjaar 0
Nee, laten 0 NCW(min(Src, woningwaarde)), de waarde daalt, maar nooit meer dan de bestaande woningwaarde
NCW(x) = x / (1 + discontovoet) ^ (JaarWaarinFunderingschadeZichtbaar − Model_StartYear)

Doorwerking in de suitability

Funderingsschade verlaagt de verwervingskosten van de bestaande woningen in de wonen-suitability:

Verwervingskosten_woningen = max(woningwaarde − waardevermindering, 0)

Daardoor wordt het opkopen/herontwikkelen van een door funderingsschade getroffen locatie goedkoper, wat sloop/nieuwbouw in het exploitatiesaldo aantrekkelijker maakt, precies de transformatieve afweging uit issue #408.

Merk op dat het funderingsrisico dus niet in de hedonische woningprijs zelf wordt gestopt; het werkt als aftrekpost op de verwervingskosten. Dat sluit aan bij de constatering dat het risico nog nauwelijks in de marktprijzen zit.

Indicator-output

Per cel (AdminDomain) worden waardevermindering en herstelkosten apart weggeschreven, elk opgesplitst naar waar in dat zichtjaar (her)ontwikkeling heeft plaatsgevonden:

Output Betekenis
Waardevermindering Waardedaling door funderingsschade (scenario laten).
Herstelkosten Kosten van funderingsherstel (scenario herstellen).
Totaal Som van beide.

Elke post heeft WaarAllocatieHeeftPlaatsgevonden (cellen waar dit zichtjaar is gealloceerd), Resterend (overige cellen) en Totaal.

Aannames en beperkingen

  • Capverlies: 4,4 procent van de toegerekende kosten overschrijdt ook na herverdeling de gezamenlijke buurtcap en valt weg; dit is gerapporteerd in de validatie-uitvoer (Validatie, met o.a. OnvermijdbaarVerlies).
  • De waardevermindering kan nooit groter zijn dan de bestaande woningwaarde in de cel.
  • Discontering: alle bedragen zijn netto contant gemaakt naar het modelstartjaar tegen 3 %.
  • Herstelkosten worden hoe dan ook geïncasseerd, ook als de woning later gesloopt zou worden.
  • Pandniveau niet betrouwbaar: zie Validatie en betrouwbaarheid; gebruik de resultaten op cel- of hoger schaalniveau.
  • Vintage: de buurtkosten betreffen 2020, de verdeling gebruikt de BAG van het recente modeljaar. Panden gebouwd na 2020 wegen dus mee in de verdeling, maar zaten niet in de buurttotalen.
  • De private kalibratieset betreft één klimaatscenario (strong climate change); de scenario-check bevestigt dat de openbare buurtkaart daarmee spoort.
  • De eis dat herstel of sloop/nieuwbouw per rij/bouwblok gebeurt is benaderd op het niveau van de 25 m-cel, niet op het niveau van het feitelijke bouwblok.
  • Risico nog niet in marktprijzen: de funderingsschade staat los van de hedonische woningprijs; dubbeltelling met de woningwaarde is daarom beperkt.
  • Buurt-/pandniveau: de openbare kaart is op buurtniveau; de fijnmazige (pand)kaart is privaat.

Configuratie

  • Indicator: /Indicatoren/<casus>/Zichtjaren/<jaar>/Funderingsschade (cfg/main/Templates/Indicatoren.dms).
  • Schade in de suitability: cfg/main/Templates/Suitabilities/Suitability_Wonen_perOP_T.dms (container Funderingsschade).
  • Bronkaart, kentallen en toerekening: cfg/main/SourceData/Vastgoed.dms (container Funderingsschade, met per_Buurt, per_Object, per_Pand, Write_Kentallen/Kentallen, Validatie en Fit).
  • Parameters: ModelParameters/Wonen/Discontovoet, VariantParameters/VariantK/{FunderingschadeWordtHersteld, JaarWaarinFunderingschadeZichtbaar}; de cap volgt uit het kental Kentallen/P99_perWoning.