Uitwerking wonen

Terug

Wonen is de eerste sector in de allocatievolgorde, in lijn met de praktijk waarin woningbouw de sterkste aanspraak op ruimte maakt. Deze pagina beschrijft hoe de sector is uitgewerkt: de subsectoren, de opgave, de ontwikkelpakketten, waar een pakket mag landen, welk pakket wint, en wat er van een gekozen pakket op de kaart terechtkomt.

De onderdelen die wonen deelt met de andere sectoren staan op eigen pagina’s: de zeef en de restricties op Beschikbaarheid, het exploitatiesaldo op Geschiktheid en in detail op Exploitatiesaldo wonen, de prijsfunctie eronder op Hedonisch woningprijsmodel, de dichtheidszeef op Dichtheid, de stand in het basisjaar op Startstaat en de iteratie zelf op Allocatie procedure in formules.


Sector en subsectoren

De sector wonen kent vier subsectoren, het kruisproduct van woningtype en huursector (Classifications/Vastgoed/WP2xVSSH):

subsector woningtype huursector
eengezins_VrijeSector eengezins vrije sector
eengezins_SocialeHuur eengezins sociale huur
meergezins_VrijeSector meergezins vrije sector
meergezins_SocialeHuur meergezins sociale huur

De standvariabele is de woning. Een cel draagt daarnaast de pandvoetafdruk van wonen, het gekozen ontwikkelpakket (OP_rel) en de gekozen subsector (SubSector_rel). Die laatste twee schrijft het model als positie weg, met een legenda ernaast; zie Ontkoppelde bestanden.

De vier subsectoren concurreren onderling om dezelfde cel. De allocatieregio is de NVM-woningmarktregio (76 regio’s, herbouwd uit de NVM-indeling van 2011 op de gemeentegrenzen van de gekozen CBS-jaargang). Blijft er in een regio een restclaim over, dan komt die op COROP-niveau (40 regio’s) opnieuw aan bod en daarna op provincieniveau (12). Zie Overflow voor die trap. De volgorde staat in ModelParameters/SectorAllocRegio; alleen de fijnste regel per sector doet mee in vervolgsequenties, zodat verdringing zo lokaal mogelijk wordt opgelost.

Het model kiest de cel op 25 meter (CompactedAdminDomain), en ook de trede en de zeef beslissen op diezelfde cellen. Alleen de maximale woningdichtheid is een blokgrootheid op 100 meter, en dat is opzet: die is een eigenschap van de omgeving en niet van de cel. Zie Allocatie procedure in formules en Tredes.

De opgave

De regionale opgave komt uit het verkeers- en ruimtemodel Tigris XL, per LMS-subzone en per zichtjaar, en wordt naar de allocatieregio opgeteld. De levering onderscheidt vier woningtypen (koop en huur maal een- en meergezins), maar RSopen leest daarvan alleen de twee totalen eengezins en meergezins. De verdeling over vrije sector en sociale huur komt standaard uit het basisjaar: per allocatieregio wordt de waargenomen verhouding uit de eigendomsdataset als proxy gebruikt (BaseData/StartState/Verdeling_VSSH, weggeschreven als WP2xVSSH_Proxy). Een pand van een woningcorporatie telt als sociale huur, al het andere als vrije sector. De mix van de nieuwbouw is dan per constructie die van de bestaande voorraad in de regio, en het scenario heeft er geen stem in.

Een variant kan daar een beleidsaandeel voor in de plaats zetten, per woningtype in VariantK/SocialeHuurAandeelInGroei_eengezins en VariantK/SocialeHuurAandeelInGroei_meergezins (#690). De claim sociale huur is dan de voorraad sociale huur van het basisjaar plus dat aandeel maal de groei van het woningtype, en de vrije sector krijgt de rest. Groeit het woningtype in een regio niet, dan krimpen beide sectoren naar rato van de voorraad, net als zonder beleidsaandeel. Het aandeel geldt voor elke regio op elk allocatieniveau en verandert ook het landelijke aantal sociale huurwoningen, dus het is een keuze van de variant en geen technische instelling. Een leeg veld laat de verdeling naar het basisjaar staan.

De claim is een voorraaddoel en geen toevoeging: de restclaim in een iteratie is de claim voor de regio min de stand op dat moment. Daardoor komt gesloopte voorraad vanzelf als restclaim terug en wordt ze elders in de regio herbouwd.

De claimreeks houdt op bij het laatste jaar dat de levering geeft. In ModelParameters/Advanced/FromWhichDoWeKeepTIGRISconstant staat vanaf welk jaar de claim constant blijft; latere zichtjaren lezen die laatste jaargang. Er wordt dus niet geëxtrapoleerd. In de toepassing Toepassing NL2120 ligt die grens op 2060 terwijl het model tot 2120 doorrekent: vanaf 2070 verandert de opgave niet meer en verplaatst het model alleen nog wat er door sloop of oplegging vrijvalt.

Ontwikkelpakketten

Kenmerkend voor wonen is dat de opgave wordt toegewezen in vooraf gedefinieerde pakketten. Een ontwikkelpakket is een gestileerd woonmilieu ter grootte van een hectare, gebaseerd op kentallen en expertoordelen over plausibele stedenbouwkundige samenstellingen: woningdichtheid, vloeroppervlak per woning, bouwlagen, pandvoetafdruk en de verdeling van het terrein over uitgeefbaar en openbaar, verhard, groen en water.

De denkbeeldige ontwikkelaar kiest per cel uit de pakketten die bij zijn subsector horen; binnen een pakket is het woningtype homogeen. Het keuzepalet is op elke locatie hetzelfde, maar niet elk pakket mag overal landen en niet elk pakket levert overal hetzelfde saldo op.

De pakketten staan in VariantParameters/Ontwikkelpakketten/NettoBuurt. De brontabel is een blok tekstregels van 28 velden per pakket; OPTabel_T parseert dat blok en leidt er alle afgeleide kolommen, controles en deelverzamelingen uit af.

Wat een pakket vastlegt

De 28 kolommen, gegroepeerd naar wat ze regelen. Dit is de invoerkant: alles hieronder is een ontwerpkeuze die per pakket wordt ingetikt.

kolom betekenis
name naam van het pakket, tevens de sleutel voor de kaartkleur
WP2_name_short eengezins (EG) of meergezins (MG)
VSSH_name_short vrije sector (VS) of sociale huur (SH)
Woonoppervlakte_woning gebruiksoppervlak per woning in m2
Aant_kamers gemiddeld aantal kamers per woning
Weging_NatNiv weging van de nationale ligging in de prijs, proxy voor Randstad en daarbuiten
Weging_NatOV weging van de nationale OV-bereikbaarheid, proxy voor de grotere steden
Weging_Amenities weging van de nabijheid van voorzieningen
FloorSpaceIndex bruto vloeroppervlak van alle gebouwen gedeeld door de terreinoppervlakte
GroundSpaceIndex pandvoetafdruk gedeeld door de terreinoppervlakte
WP4_name woningtype: rijtjeswoning, twee onder een kap, vrijstaand of appartement
InUitgeefbaarExPandFootprint: verhard, groen, water inrichting van het uitgeefbare deel buiten de gebouwvoetafdruk
InOpenbaar: verhard, groen, water inrichting van het openbare deel
boom, gras, struik (uitgeefbaar en openbaar) verdeling van het groen over de drie vegetatietypen
FractieUitgeefbaar0 welk deel van het terrein uitgeefbaar wordt gemaakt; null valt terug op ModelParameters/Wonen/DefaultFractieUitgeefbaar
TuinDoel0 beoogde private buitenruimte per woning in m2; null betekent dat de kolom hierboven geldt
Inrichtingstype_name hoe groen en water zijn ingericht, Stedelijk of Natuurinclusief, als naam uit Classifications/Grondgebruik/InrichtingstypeK; het type kiest de coëfficiënten van de koolstof- en de NDVI-indicator en bepaalt of groen en water in de hedonische groenwaardering meetellen
Toepassingsgebied_ref waar het pakket mag landen: Overal, Laag_NL, Hoog_NL, BebouwdGebiedMetRand (de stedelijke zone: het bebouwde gebied van de grotere kernen met een rand eromheen) of BuitenBebouwdGebiedMetRand (alles daarbuiten); daarbuiten zeeft de zeef het pakket weg
BouwwijzeToegestaan welke bouwwijzen het pakket mag aannemen, als lijst van namen

Twee kolommen vragen om toelichting. De private buitenruimte kan als doeltuin worden ingevoerd in plaats van als fractie uitgeefbaar, zodat de ontwerpkeuze in de tabel staat en niet de rekenuitkomst; het model leidt de fractie uitgeefbaar dan uit de doeltuin af. En de bouwwijze is een lijst en geen vaste waarde, zodat het pakket zegt wat het toelaat en de plek bepaalt wat het wordt.

De drie wegingen vermenigvuldigen de locatietermen van de prijsfunctie: de nabijheid van voorzieningen, de reistijd naar een concentratie van 500.000 inwoners en de reistijd naar een OV-knooppunt. Een weging boven een maakt een pakket gevoeliger voor de ligging, een weging onder een minder gevoelig. De prijs wordt daarna gecorrigeerd met het gemiddelde van die verschuiving over de beschikbare cellen, zodat het gemiddelde prijsniveau van het pakket gelijk blijft en de weging alleen bepaalt waar het pakket relatief goed of slecht scoort. Zo sorteren de pakketten zich over de ruimte zonder harde grens.

Wat het model daaruit afleidt

afgeleide hoe
Bouwlagen FSI gedeeld door GSI
Vormfactor gebruiksoppervlak per m2 bruto vloeroppervlak: 0,76 voor eengezins, 0,78 voor meergezins en 0,65 voor meergezins zodra het pakket hoogbouw is
BVOPerWoning woonoppervlakte gedeeld door de vormfactor
IsHoogbouw bouwlagen maal bouwlaaghoogte (2,6 m) boven de hoogbouwgrens (15 m)
Dichtheid FSI maal 10.000 gedeeld door het bvo per woning, in woningen per hectare
FractieUitgeefbaar waar een doeltuin is opgegeven: GSI plus FSI maal doeltuin gedeeld door bvo per woning; anders de ingevoerde kolom
Tuin bvo per woning maal (fractie uitgeefbaar min GSI) gedeeld door FSI
Bouwwijze/Toegestaan de lijst uitgepakt naar een vlag per bouwwijze
IsAanvulling of het pakket uit het aanvullingsblok van de variant komt; volgt uit het rijnummer, want de eigen rijen van een variant staan altijd achter de default-rijen

Op die afleiding staan controles, en dat is geen luxe. Het woningtype faalt hard bij een typefout, want zonder die controle zou het pakket stil een lege bouwkostenkaart krijgen en zonder foutmelding uit de keuze vallen. De fracties verhard, groen, water en bruin moeten samen de buitenruimte vullen. En bij een eengezinspakket moet de uitgeefbare fractie strikt groter zijn dan de GSI, zodat elke grondgebonden woning private buitenruimte heeft (#618): de perceelsterm in de nieuwbouwprijs is geschat op het perceel inclusief de voetafdruk, en een eengezinswoning zonder tuin zou daar alleen haar voetafdruk inbrengen. Bij een appartement mag de fractie gelijk zijn aan de GSI, want de prijsfunctie kent daar geen perceelsterm.

De sets per variant

De pakkettentabel bestaat uit een default-set en variant-specifieke aanvullingen. Default_src.dms draagt de reguliere pakketten, PerVariant_src.dms de aanvullende rijen, en VariantK/OP_Aanvulling noemt per variant welk blok achter de default wordt gevoegd. Een variant zonder aanvulling gebruikt exact de default. Variantvreemde pakketten zitten daarmee niet in de set en hoeven niet per cel te worden weggezeefd.

Twee dingen hangen aan de aanvulling zonder dat de pakkettabel er een kolom voor nodig heeft. Een variant kan met VariantK/BuitenPlanAlleenAanvulling de default-pakketten tot de plancapaciteit beperken, zodat buiten de plannen alleen de pakketten uit de aanvulling landen. En een blok kan een eigen controle meebrengen, die Bronblokcontroles in PerVariant_src.dms aan het blok koppelt; die controle draait alleen mee bij de variantdata van een variant die dat blok gebruikt.

Dat heeft een praktisch gevolg: de standbestanden dragen het gekozen pakket als positie, dus de rijnummers verschuiven bij een andere set. Daarom schrijft de allocatie een legenda naast de tif en weigert het inlezen een stand waarvan de legenda niet bij de lopende set past.

In de toepassing Toepassing NL2120 gaat het om 28 reguliere pakketten, aangevuld met 12 rijen in elk van de twee varianten met natuurlijke maatregelen; de tweede van die varianten draagt dezelfde pakketten, met een strook openbare ruimte bij de tuinen getrokken. Die aantallen en die variantnamen horen bij het project en niet bij de methode.

De reguliere pakketten van NL2120

Ter illustratie de 28 reguliere pakketten, met de ingevoerde FSI, GSI en uitgeefbare fractie en de daaruit afgeleide bouwlagen, dichtheid en kavel. De kavel is het uitgeefbare deel per woning, inclusief de voetafdruk; bij een appartement is het het aandeel van de woning in het perceel van het complex. Dit is de set van Toepassing NL2120 en geen eigenschap van het model; een andere toepassing tikt een andere tabel in.

pakket type huursector m2 per woning FSI GSI bouwlagen woningen per ha fractie uitgeefbaar kavel per woning, m2
SuperStedelijkMGVS MG vrije sector 75 2,80 0,40 7,0 242,7 0,50 21
HoogStedelijkMGVS MG vrije sector 85 1,50 0,30 5,0 137,6 0,50 36
StedelijkerMGVS MG vrije sector 90 0,90 0,30 3,0 78,0 0,50 64
StedelijkMGVS MG vrije sector 95 0,75 0,25 3,0 61,6 0,50 81
LaagStedelijkMGVS MG vrije sector 100 0,60 0,30 2,0 46,8 0,50 107
LagerStedelijkMGVS MG vrije sector 105 0,50 0,25 2,0 37,1 0,50 135
DorpsMGVS MG vrije sector 105 0,40 0,20 2,0 29,7 0,50 168
StedelijkerEGVS EG vrije sector 115 1,00 0,40 2,5 66,1 0,50 76
StedelijkEGVS EG vrije sector 125 0,88 0,35 2,5 53,5 0,50 93
LaagStedelijkEGVS EG vrije sector 140 0,63 0,25 2,5 34,2 0,50 146
LagerStedelijkEGVS EG vrije sector 150 0,50 0,20 2,5 25,3 0,50 197
DorpsLandelijkEGVS EG vrije sector 160 0,38 0,15 2,5 18,1 0,55 305
DorpsLandLaagEGVS EG vrije sector 200 0,20 0,10 2,0 7,6 0,55 724
TinyHousesEGVS EG vrije sector 25 0,05 0,05 1,0 15,2 0,50 329
TinyHousesLaagEGVS EG vrije sector 25 0,03 0,03 1,0 9,1 0,50 548
SuperStedelijkMGSH MG sociale huur 65 2,80 0,40 7,0 280,0 0,50 18
HoogStedelijkMGSH MG sociale huur 75 1,50 0,30 5,0 156,0 0,50 32
StedelijkerMGSH MG sociale huur 80 0,90 0,30 3,0 87,8 0,50 57
StedelijkMGSH MG sociale huur 85 0,75 0,25 3,0 68,8 0,50 73
LaagStedelijkMGSH MG sociale huur 90 0,60 0,30 2,0 52,0 0,50 96
LagerStedelijkMGSH MG sociale huur 95 0,50 0,25 2,0 41,1 0,50 122
DorpsMGSH MG sociale huur 95 0,40 0,20 2,0 32,8 0,50 152
StedelijkerEGSH EG sociale huur 100 1,00 0,40 2,5 76,0 0,50 66
StedelijkEGSH EG sociale huur 105 0,88 0,35 2,5 63,7 0,50 78
LaagStedelijkEGSH EG sociale huur 115 0,63 0,25 2,5 41,6 0,50 120
LagerStedelijkEGSH EG sociale huur 120 0,50 0,20 2,5 31,7 0,50 158
DorpsLandelijkEGSH EG sociale huur 130 0,38 0,15 2,5 22,2 0,55 248
StedelijkVrijstaandEGVS EG vrije sector 205 0,28 0,13 2,2 10,4 0,55 530

Alleen de superstedelijke pakketten halen de hoogbouwgrens; de rest blijft eronder, ook de vijflaagse. Per subsector zijn er vijf tot negen pakketten beschikbaar: negen voor eengezins vrije sector, zeven voor beide meergezinssubsectoren en vijf voor eengezins sociale huur. In die toepassing staan de twee tinyhouse-pakketten in alle varianten uit (TinyHousesToegestaan), dus die landen nergens; dat is een variantinstelling en geen eigenschap van de pakketten.

De uitgeefbare fractie en de inrichting van de openbare ruimte en de tuin zijn in deze set gemeten in 92 buurten die van 2011 tot en met 2021 zijn gebouwd, op het woonterrein van de BBG 2022, met de kadastrale percelen van december 2023 en de BGT van augustus 2026 (#858). De vrijstaande en de twee-onder-een-kappakketten hebben een uitgeefbare fractie van 0,55. De rij- en de appartementspakketten houden de standaard van 0,50 uit ModelParameters/Wonen/DefaultFractieUitgeefbaar: voor rij is 0,50 gemeten, en voor appartementen gaf de meting geen eenduidige richting, omdat het perceel van een complex in de ene buurt alleen het gebouw is en in de andere ook de binnentuin en het parkeren. Het openbare deel is per woningtype ingericht zoals gemeten:

woningtype verhard groen water
appartement 0,63 0,25 0,12
rijtjeswoning 0,67 0,30 0,03
twee-onder-een-kap 0,57 0,34 0,09
vrijstaand 0,37 0,56 0,07

In de tuin is alleen het water te meten, want de BGT karteert een tuin bijna geheel als erf; het water staat er op 0,01, en verhard en groen houden de verhouding uit het expertoordeel. De uitgeefbare fractie verandert de dichtheid niet, want die is FSI gedeeld door het vloeroppervlak per woning, maar wel de kavel en de verdeling van de cel over tuin en openbare ruimte, en daarmee de verharding, het groen en het water van de cel. Een doeltuin is voor deze set geen bruikbare route: met de gemeten tuin per woningtype komt de uitgeefbare fractie bij de dichte pakketten op of boven een uit, zodat er geen openbare ruimte overblijft.

De drie wegingen lopen in deze set als een ladder op de naam van het pakket: 1,5 voor de superstedelijke pakketten, 1,2 voor de stedelijke en het stedelijke vrijstaande pakket, 1,0 voor de laagstedelijke, 0,8 voor de dorpse en 0,6 voor DorpsLandLaagEGVS en de tiny houses; bij sociale huur de helft. Die ladder is een ontwerpkeuze en geen schatting (#847).

Vrijstaand kent twee pakketten die de gebouwde vrijstaande woning volgen, elk in een eigen gebied, zodat ze nergens met elkaar concurreren (#847). StedelijkVrijstaandEGVS heeft het mediane woonoppervlak van de vrijstaande nieuwbouw in stedelijke gemeenten en buurten, 205 m2, met een kavel van rond 530 m2, en landt alleen in de stedelijke zone: het bebouwde gebied van de kernen vanaf ModelParameters/Wonen/StedelijkVrijstaandEGVS_MinimumInwonersKern inwoners, met een rand van ModelParameters/Wonen/StedelijkVrijstaandEGVS_UrbanContourBuffer eromheen. Die rand vangt de stadsuitbreiding: de gebouwde vrijstaande kavel is tot een paar honderd meter buiten de begrenzing nog die van binnen de begrenzing en groeit pas verder weg. DorpsLandLaagEGVS landt alleen buiten die zone, ook binnen de bebouwde kom van kleinere kernen, waar de gebouwde kavel groter is; het heeft het woonoppervlak van de vrijstaande nieuwbouw buiten de stedelijke gemeenten, 200 m2, met een kavel van rond 720 m2. Zonder die tweedeling zou het dichtere stedelijke pakket ook buiten de stad het hoogste saldo halen, en het ruimere dorpse pakket in de stad.

De aanvullende pakketten van een variant met natuurlijke maatregelen hebben een ontworpen en geen gemeten inrichting. Ze zijn ruimer opgezet en dragen veel groen of water: een kleine verharde fractie in zowel het uitgeefbare als het openbare deel. Ze dragen een toepassingsgebied, hoog of laag Nederland, omdat de keuze tussen groen en blauw een bodem- en grondwatervraag is; zie de paragraaf over hoge en lage gronden op Beschikbaarheid.

Waar de pakketkenmerken verder in doorwerken

Een pakket is niet alleen een dichtheid. Wat erin staat bepaalt mede:

Dat is de reden dat de pakketten zo gedetailleerd zijn uitgewerkt: de gesimuleerde nieuwbouw moet een breed palet aan effectberekeningen kunnen dragen.

Waar een pakket mag landen

De beschikbaarheid wordt in twee lagen bepaald. De zeef per subsector doet wat voor alle sectoren geldt: restrictiekaarten, evident benut terrein, plancapaciteit, sloopbescherming en de cellen waar het model een ander landgebruik oplegt. Die staat op Beschikbaarheid.

Daarbovenop kent wonen als enige sector een tweede zeef, per ontwikkelpakket (Templates/Beschikbaarheden/Zeef_Wonen_perOP_T). Een pakket valt op een cel af zodra een van deze toetsen aanslaat:

toets wat hij doet
hoogbouw in mooi en zeer mooi landschap een hoogbouwpakket valt af waar de belevingskaart hoog of zeer hoog scoort, tenzij de variant het toestaat
tiny houses en superstedelijk twee pakketfamilies die per variant in hun geheel aan of uit kunnen
maximale woningdichtheid de dichtheid van het pakket moet onder de lokale maximumdichtheid blijven, zie Dichtheid
dichtheid in mooi en zeer mooi landschap een lagere maximumdichtheid waar de belevingskaart hoog of zeer hoog scoort
minimale dichtheidstoename op een cel die al woningen draagt moet het pakket de dichtheid met meer dan de drempel verhogen, per cel van 25 meter; op onbebouwde grond geldt de toets niet
minimaal exploitatiesaldo een pakket met een saldo onder MinimumExploitatieSaldo valt af
toepassingsgebied een pakket voor hoog of laag Nederland of voor het bestaande bebouwde gebied met een rand valt buiten dat gebied af
variantset in een variant met natuurlijke maatregelen mogen de reguliere pakketten alleen binnen plancapaciteit voor wonen landen
bouwwijze geen van de bouwwijzen die het pakket toelaat voldoet aan wat de plek eist, zie Beschikbaarheid

De dichtheidstoetsen zijn samen de scherpste. Ze bepalen in de praktijk welke dichtheid waar terechtkomt, meer dan het exploitatiesaldo dat doet; die redenering staat uitgeschreven onder Wat het kental niet kan op Exploitatiesaldo wonen.

Welk pakket wint

Per cel en per subsector berekent het model het exploitatiesaldo van elk pakket dat daar mag landen, en kiest het pakket met het hoogste saldo; binnen eengezins geldt daarbij een quotum per woningtype. Dat saldo is de opbrengst van de nieuwbouw min de bouwkosten, de bijkomende kosten, de winst en risico, de grondproductiekosten, de bodemdalingkosten, de piekbuibergingkosten, de verwervingskosten van het bestaande vastgoed en de grond, en de sloopkosten van dat vastgoed. De opbouw van die posten staat op Exploitatiesaldo wonen.

Twee dingen zijn daarbij eigen aan wonen.

De allocatie corrigeert de opbrengsten per zichtjaar voor de natuur en het water die er aan het begin van dat zichtjaar liggen (#637). De groentermen zitten multiplicatief in de hedonische prijs, dus de correctie gaat alleen over de opbrengsten en niet over het saldo als geheel. In het eerste zichtjaar is de opslag nul.

Cellen zonder saldo blijven ongedefinieerd en doen niet mee. De uitzondering is de zone van nieuw land in het IJmeer, waar brondata per definitie ontbreekt: die cellen krijgen het mediane saldo van de bebouwde buurzone als proxy, met een deterministische tie-break die de gelijkstand tussen die cellen breekt (#598).

De vier subsectoren strijden vervolgens om dezelfde cel op de hoogte van hun geschiktheid, nadat de trede de grofmazige volgorde al heeft bepaald; zie Tredes. Voor wonen is dat de kale geschiktheid; de plancapaciteitsprioriteit die werken bij die keuze optelt kent wonen niet. Twee regels sturen daarvoor al de rangorde binnen een subsector: het quotum per woningtype binnen eengezins en de koppeling van de sociale huur aan de vrije sector, beide hieronder.

Het quotum per woningtype binnen eengezins

Zonder bijsturing kiest elke cel het pakket met het hoogste saldo, en binnen eengezins is dat bijna overal een rijpakket. Een vrijstaand pakket levert per hectare minder saldo, wint daardoor alleen waar grond heel goedkoop is, en dan in de hele regio tegelijk. Daarom verdeelt het model de eengezinsclaim van elke regio over drie woningtypegroepen: rij, twee-onder-een-kap en vrijstaand (#847). Dat gebeurt op elk allocatieniveau van wonen. Zou het quotum alleen op het fijnste niveau gelden, dan koos de restclaim die naar COROP en provincie overloopt het type weer vrij, en dat wordt bijna altijd rij.

Het aandeel van een groep in een regio is wat daar in de basisperiode is gebouwd: de woningen in een eengezinspand in de BAG-stand van het recentste jaar, geteld naar het bouwjaar van het pand (BaseData/StartState/WoningtypeEengezins). Splitsing en transformatie in oudere panden tellen dus niet mee. De telling staat er per indeling uit de allocatietabel, zodat elk niveau het aandeel van zijn eigen regio’s leest. Een regio waar in de basisperiode te weinig eengezinswoningen zijn gebouwd krijgt het landelijke aandeel. De basisperiode, die drempel en de groepen staan in ModelParameters/Wonen/WoningtypeEengezins.

Sociale huur bouwt geen vrijstaande woningen. Het vrijstaande deel wordt daarom genomen over de eengezinsclaim van vrije sector en sociale huur samen en komt geheel bij de vrije sector, ook in een pakkettenset die een vrijstaand pakket voor sociale huur kent. De twee andere groepen verdelen wat er van elke subsector over is naar hun onderlinge aandeel.

Elke groep krijgt binnen de subsector een eigen zaaglijn, over alleen de pakketten van haar type en op dezelfde manier als de subsector zonder quotum: eerst de trede, daarbinnen het saldo. Binnen een iteratie kiezen de groepen na elkaar, de dichtste eerst, en een groep kiest alleen uit de cellen die de groepen ervoor hebben laten liggen. Die volgorde is die van het saldo per hectare, waarin de cel zonder quotum ook naar rij zou gaan. Tussen de subsectoren beslist daarna het saldo van het pakket van de groep die de cel kiest, zoals voor elke subsector.

Wat een groep in een regio niet kwijt kan omdat er geen geschikte cellen meer zijn, schuift niet door naar een andere groep in die regio. Het gaat met de restclaim naar het volgende allocatieniveau, waar het gebouwde aandeel van die grovere indeling de verdeling opnieuw bepaalt. Meergezins kent alleen appartementen en heeft geen quotum.

Het quotum stuurt op de uitkomst en niet op de oorzaak. In de BAG volgt het type van de nieuwbouw vooral het karakter van de omgeving, en een typekeuze op dat karakter haalt de gebouwde mix pas als ook de plek van de eengezinsnieuwbouw klopt; zie de aansluitende trede op Tredes.

Het controleharnas zet per zichtjaar de verdeling van de modelnieuwbouw naast het gebouwde aandeel, per regio van de fijnste indeling en landelijk (Diagnose/Wonen/WoningtypeEengezins). Het telt de modelnieuwbouw zonder de vervanging van de bestaande voorraad, want die volgt de typemix van de voorraad en niet het quotum; zie de vervangingsstroom. De gewogen afwijking is de regel woningtype_eengezins_afwijking in de controletabel.

De sociale huur volgt de vrije sector

De vier subsectoren alloceren elk met een eigen zaaglijn op hun eigen restclaim. De sociale huur heeft het lagere saldo en zou daardoor, binnen de regio en als overloop op COROP- en provincieniveau, op de goedkoopste grond landen, los van waar de vrije sector van dezelfde claim bouwt. Daarom krijgt een cel in de rangorde van de sociale huur een bonus naar het aantal woningen dat de vrije sector in dit zichtjaar al binnen ModelParameters/Wonen/SocialeHuur/Straal heeft gekregen: voluit vanaf ModelParameters/Wonen/SocialeHuur/Referentie woningen, naar rato daaronder (#528). Een groot nieuwbouwgebied trekt zo zwaarder dan een los cluster. Een nabijheid van ja of nee werkt niet, want bijna elke cel heeft wel ergens vrije-sectornieuwbouw in de buurt, en dan kiest de sociale huur binnen de nabije cellen weer de goedkoopste grond.

De bonus werkt op de rang van het saldo binnen een trede en niet op het saldo zelf, omdat het saldo negatief kan zijn: met ModelParameters/Wonen/SocialeHuur/Bonus op een verdubbelt de rangscore van een cel met de volle nabijheid. De telling wordt per iteratie bijgewerkt, dus de sociale huur volgt de vrije sector een iteratie later, op elk allocatieniveau en ook binnen de zaaglijnen van het quotum. De score voor de keuze tussen de subsectoren en de beschikbaarheid blijven die van de sociale huur zelf, zodat de vrije sector een betwiste cel wint. Het resultaat is een gemengde buurt en geen gemengde cel. Op een bonus van nul alloceren de twee sectoren los van elkaar.

Van keuze naar stand

Wint een subsector de cel, dan legt het gekozen pakket vast wat erop komt te staan:

De allocatie is celexclusief: een cel draagt een hoofdfunctie. Wint wonen een cel waar werkgelegenheid stond, dan verdwijnt die, met een uitzondering. De verzorgende werksubsectoren blijven staan wanneer wonen de cel overneemt, want een supermarkt of school in een woonwijk hoort daar juist. Een woonontwikkelpakket brengt bovendien zelf een beetje verzorgende werkgelegenheid mee, ter hoogte van de woningdichtheid maal de waargenomen verhouding banen per woning. Beide mechanismen staan beschreven op Uitwerking werken.

Sloop en herbouw

Woningen verdwijnen op drie manieren, en het model houdt ze uit elkaar:

Omdat de claim een voorraaddoel per regio is, komt gesloopte voorraad als restclaim terug en wordt ze binnen dezelfde regio herbouwd, of via de overflow in een grovere regio. De kosten van de opgelegde sloop staan in Uitkoop en sloopkosten, de aantallen in Sloop en nieuwbouw van woningen.

Bij herontwikkeling door wonen is niet de cel de eenheid van aankoop maar het kadastrale perceel. Wie een pand koopt om te slopen, koopt het perceel met de tuin, het erf of het groen eromheen. Daarom worden de verwervings- en sloopkosten van alle panden op een perceel gelijk verdeeld over de cellen van dat perceel, zodat een tuincel kost wat het huis kost (#861). Zonder die uitsmering hangen de kosten alleen aan de cellen met een pand, is een cel met een tuin of een stuk openbare ruimte in een woongebied voor niets te koop, en herontwikkelt het model losse tuincellen en open plekken in plaats van hele kavels. Een cel hoort bij het perceel waarin haar midden ligt; een cel zonder perceel, zoals buitenwater en een deel van de wegen, houdt haar eigen kosten. Het totaal per kostenpost blijft gelijk. De percelen komen uit de BRK Kadastrale Kaart (SourceData/Vastgoed/BRK), de uitsmering staat in BaseData/Suitabilities/Wonen/Opstalkosten. Het exploitatiesaldo en de indicator Grondexploitatie rekenen met het perceel; de stand, de sloop en de andere indicatoren blijven per cel tellen wat er werkelijk staat. De opbouw van de kostenposten, ook de opslagen die met de panden over het perceel meegaan, staat op Exploitatiesaldo wonen.

Naast die stromen loopt de vervanging: woningen die worden gesloopt en op dezelfde plek in hetzelfde type en aantal terugkomen. Die verandert de voorraad niet en valt daarom buiten de allocatie; het model boekt haar apart, zie de vervangingsstroom.

Wat de sector oplevert

Per zichtjaar en per casus schrijft het model onder meer weg: de woningstand per subsector, de pandvoetafdruk van wonen, het gekozen ontwikkelpakket per cel met zijn legenda, en de gekozen subsector. Die kaarten voeden de Landgebruikskaart en het merendeel van de indicatoren; zie Effectmodules en indicatoren. De kosten van wat er gebouwd wordt staan in Kosten woningbouw, de waarde ervan in Woningwaarde nieuwbouw.

Aannames en beperkingen

De belangrijkste keuzes die bij een uitkomst van deze sector horen te worden genoemd.

Het keuzepalet is landsdekkend gelijk. Elke ontwikkelaar kiest overal uit dezelfde pakketten; wat verschilt is welk pakket daar is toegestaan en welk saldo het oplevert. Er zit geen regionale bouwcultuur in.

De pakketten zijn grotendeels expertoordeel. FSI, GSI, woninggrootte en de verdeling van het groen over boom, gras en struik komen uit kentallen en expertoordelen, niet uit een steekproef van gerealiseerde plannen; in de reguliere set van NL2120 zijn alleen de vrijstaande pakketten, de uitgeefbare fractie en de inrichting van openbare ruimte en tuin aan gerealiseerde nieuwbouw gemeten. De pakketten zijn intern consistent gemaakt en niet als geheel gekalibreerd: de dichtste rijpakketten van die set liggen ruim boven de dichtheid van de rijbuurten die van 2011 tot en met 2021 zijn gebouwd.

De verhouding tussen huur en koop is standaard die van het basisjaar. Zonder beleidsaandeel volgt de verdeling van de opgave over vrije sector en sociale huur per regio de waargenomen verhouding in de voorraad. Een variant kan een aandeel sociale huur in de groei opgeven, maar dat geldt dan voor elke regio en elk zichtjaar gelijk; een aandeel per regio of een pad in de tijd kent het model niet.

De keuze tussen pakketten hangt zwakker aan het saldo dan de opzet suggereert. Opbrengsten en bouwkosten zijn allebei recht evenredig met de FSI, terwijl de marge per vierkante meter maar beperkt varieert; binnen een subsector is bovendien elk meergezinspakket een appartement. Wat de gerealiseerde dichtheid feitelijk stuurt is de dichtheidszeef. Zie Geschiktheid en Dichtheid.

De sociale huur wordt met een koopprijs beprijsd. De hedonische functie is geschat op koopwoningtransacties; voor sociale huur is dat een proxy. Zie Hedonisch woningprijsmodel.