Documentatiepakket Parametrics
Versie 0.1 · 24 augustus 2026. Machine-leesbare varianten: gebeurtenisspecificatie als API.
1 · Regelingdocumentatie — ISDE voor data-afnemers
De ISDE (Investeringssubsidie Duurzame Energie en Energiebesparing) is een first-come-first-served-regeling: aanvragen worden op volgorde van binnenkomst toegekend tot het jaarbudget per compartiment op is. De regeling loopt door tot en met 2031 met jaarlijkse herijking van bedragen en voorwaarden per Staatscourant-publicatie rond de jaarwisseling.
Compartimenten, geen één pot
Het jaarbudget is verdeeld over compartimenten. Belangrijk voor 2026: RVO publiceert
op de budgetpagina geén sub-plafonds per compartiment — het gepubliceerde plafond
is de hoofdpot (2026: € 500 mln, na mutatie; zie §6) plus een eigen potje kleinschalige
wind (€ 5 mln). Historisch (2024, 2025) waren er wél sub-plafonds die via RVO-meldingen
uitgeput raakten (isolatie okt 2024 en sep 2025, warmtepompen dec 2025) — die
sub-plafonds reconstrueren wij uit de uitputtingsmomenten en jaareindeclaims, als
kalibratie-anker (kwaliteit reconstructie) tot de Stcrt-backfill ze
vervangt.
De compartimentsindeling wijzigt per jaar; het datamodel kent daarom een
jaargebonden compartiment-registry met mapping-tabellen tussen jaren (bv.
mapping_vorig_jaar). Nieuw in 2026: het compartiment ventilatie.
Claim ≠ verleend ≠ uitbetaald
verleend — toegekend bedrag (RVO-rapportage "verstrekte subsidie").
uitbetaald — daadwerkelijk uitgekeerd (afwijkende aantallen; RVO publiceert dit alleen in het downloadbestand).
Elke API-respons benoemt expliciet welke grootheid wordt gebruikt. Dit is het soort ambiguïteit dat anders een polisdispuut veroorzaakt.
Aanvraag volgt op installatie
Particulieren vragen aan ná realisatie, met een aanvraagvenster. Gevolg: de claimflow is een vertraagde afspiegeling van de installatiemarkt, met seizoenspatroon (zomerpiek installaties → najaarspiek claims) en een stuwmeer-effect bij dreigende uitputting (zie §4, reflexiviteit).
Budget is politiek muteerbaar
Plafonds worden gewijzigd via wijzigingsregelingen en Kamerbrieven (eind 2025:
bezuiniging −€ 14,6 mln op het terrein). Een plafondwijziging midden in het jaar is
in de reeks een event (plafondmutatie), nooit een stille aanpassing.
Waargenomen voorbeeld in de seed-data: hoofdpot 2026 € 505 mln (webarchief, februari)
→ € 500 mln (live, augustus) — als anomalie gemarkeerd voor Stcrt-onderzoek.
Zusterregelingen (zelfde motor)
- SVVE — meerjarig potje 2023-2030 (€ 179,02 mln na regimewijziging per 2026; plafond per VvE vervallen), tweede pot laadinfrastructuur (€ 10 mln, 2024-2030). Stand 31-07-2026: € 120,5 mln geclaimd (67,3%).
- SCE — jaarlijkse openstellingsronde (2026: 2 maart–1 oktober, € 78 mln; toekomstbudget 2027-2029: € 50/35/35 mln). FCFS met loting bij overbelasting op één dag. Stand 23-07-2026: € 5,6 mln geclaimd (7,1%).
- SEPP — afgeronde regeling (2020-2024) met jaarlijkse uitputtingsevents; uitsluitend kalibratieset voor modelvalidatie, geen oracle.
2 · Velddefinities & codelijsten
| Veld | Definitie | Domein |
|---|---|---|
regeling | regeling-id binnen de parametrics-familie | isde | svve | sce | sepp |
jaargang | jaargang-sleutel: jaartal, of bereik bij meerjarige potjes | "2026", "2023-2030" |
compartiment | compartiment-code binnen de jaargang | zie codelijst hieronder |
peildatum | RVO's eigen peildatum van de stand (nooit de scrape-datum) | ISO-8601 datum |
bekend_op | publicatie-/waarneemmoment; bepaalt het vaststellingsmoment van events en de as-of-view | ISO-8601 datum |
geclaimd_eur | som ingediende aanvragen (goed + in behandeling), in euro | ≥ 0 |
verleend_eur | toegekend bedrag (indien gepubliceerd), in euro | ≥ 0 | null |
fractie | geclaimd / plafond_effectief(peildatum); null als het compartiment geen eigen plafond heeft | [0, ∞) | null |
kwaliteit | herkomst-vlag van de observatie | gepubliceerd_feit | reconstructie |
snapshot_ref | opslaglocatie + sha-256 (prefix) van het onbewerkte bronbewijs | pad + hash |
bron_ref | archiefeerbare bronverwijzing (URL, Stcrt-nummer, Kamerbrief) | tekst |
type (observatie) | aard van de observatie | stand | sluiting | heropening |
trigger_type (event) | triggerdefinitie die het event vaststelde | T1 | T2 | heropening | plafondmutatie | anomalie |
event_datum | publicatiedatum waarop het event objectief waarneembaar was (niet de peildatum) | ISO-8601 datum |
definitie_versie | versie van de triggerdefinities waarmee is vastgesteld | semver-achtig, bv. 2026-08-24.1 |
Codelijst compartimenten
| Code | Naam | Opmerking |
|---|---|---|
totaal | hoofdpot van de jaargang | alle compartimenten samen (excl. wind); eigen plafond = jaargangplafond |
wp | warmtepompen (incl. warmtepompgerelateerd) | som zakelijk + particulier |
zb | zonneboilers | som zakelijk + particulier |
iso | isolatiemaatregelen | RVO publiceert sub-uitsplitsing per isolatietype |
vent | ventilatie | nieuw in 2026 |
ek | elektrische kookvoorziening | € 400 per voorziening |
wn | warmtenetaansluiting | vast € 3.775 |
wind | kleinschalige wind, zakelijk | eigen potje (€ 5 mln) |
verduurzaming | SVVE adviezen/onderzoeken + maatregelen | meerjarig 2023-2030 |
laadinfra | SVVE oplaadpuntenadvies/basislaadinfrastructuur | meerjarig 2024-2030 |
ronde | SCE-openstellingsronde | alle SCE-categorieën samen |
3 · Triggerspecificatie (contractbijlage)
Definitie-versie 2026-08-24.1. Elke polis verwijst naar een
bevroren versie van deze specificatie. Machine-leesbaar:
GET /v1/parametrics/triggers/spec.
T1 — Compartiment-uitputting (kernproduct)
Dubbele voorwaarde: RVO kan sluiting publiceren vóórdat de teller 100% toont (of andersom) — de eerste van de twee telt. Dit voorkomt het dispuut "de teller stond op 98% maar het loket was dicht".
Vaststellingsmoment: de publicatiedatum van de bron, niet de peildatum. Payout-berekening kan op peildatum gebaseerd worden; leg beide vast en definieer in de polis welke telt (advies: publicatiedatum — objectief waarneembaar voor alle partijen op hetzelfde moment).
Edge cases (in de definitie afgedekt)
- Plafondverhoging na uitputting (historisch voorgekomen): het event blijft
staan; heropening is een nieuw, apart event (
heropening) gekoppeld aan het oorspronkelijke T1-event. Voor v1 adviseren we payout bij eerste uitputting; pro-rata bij heropening afraden. - Peildatum-gaten (RVO slaat een publicatie over): interpolatie is voor triggers verboden; het event valt op de eerstvolgende publicatie die de voorwaarde toont.
- Herindeling compartimenten midden in het jaar: de trigger vervalt niet; de mapping-tabel bepaalt de rechtsopvolger, vastgelegd bij polisaanvang ("compartiment zoals gedefinieerd in [Stcrt-ref], of diens rechtsopvolger volgens mapping-protocol").
- RVO corrigeert een eerder gepubliceerde stand: vaststelling gebeurt op basis van de stand zoals oorspronkelijk gepubliceerd (as-of); correcties achteraf wijzigen een vastgesteld event niet. Dit hard in de polis.
T2 — Drempel-triggers
Zelfde definitie als T1 met drempel X% ∈ {80, 90, 95}. Bouwstenen voor gestaffelde producten: getrapte payouts of vroegsignalering (premie-adjustments, aanbod-timing).
T3 — Uitputting vóór referentiedatum (de polisvorm)
"T1-event met event-datum < [D]" — wat de verzekeraar daadwerkelijk schrijft
("uitgeput vóór 1 oktober"). Puur afgeleide van T1; geen eigen bronlogica. Voor
compartimenten zonder vastgesteld event levert de API de modelkans
P(uitputting vóór D), expliciet gelabeld als kans, niet als vaststelling:
GET /v1/parametrics/isde/t3?voor_datum=2026-10-01.
Overige events
plafondmutatie— elke wijziging van het geldende plafond, als gebeurtenis.anomalie— QA-signalen (publicatiegaten, niet-monotone stands, broninconsistenties): altijd voor review, nooit zelfstandig settlerend.
Bronfalen-protocol (in elk contract)
Settlement-deliverable
Bij een T3-event levert het systeem binnen 24 uur een settlement-pakket: event-verklaring (trigger, definitie-versie, bron, snapshot-hashes, datum) en optioneel het uitkeringsbestand (koppeling met door de polishouder aangeleverde exposure-data, bv. afnameregistratie groothandel → bedrag per begunstigde).
4 · Model- & validatiedocumentatie
Modelversie isde-depletion-v1.0. Doel: per compartiment,
op elk moment, P(uitputting vóór datum D) met onzekerheidsband — het getal waar de
actuaris zijn premie op bouwt.
Methode
- Seizoensgenormaliseerde uitputtingscurve. Cumulatieve claim als fractie van het effectieve plafond vs. dagen sinds openstelling, per historische jaargang.
- Huidige-jaar-projectie. Waargenomen pad t/m nu + de verdeling van historische restpaden vanaf dezelfde fractie, geschaald op relatieve snelheid (Kalman-achtige update in v1-vorm).
- Reflexiviteit. Boven 80% versnelt de claimflow doordat het stuwmeer van aanvraaggerechtigden instort op het loket. Gemodelleerd als multiplicatieve versnelling λ, gefit op de staarten van historische uitgeputte paden (λ = mediaan van naïeve-extrapolatieduur ÷ gerealiseerde duur). Dit is het niet-triviale inzicht dat naïeve extrapolatie ("€ 40 mln/maand dus leeg in oktober") systematisch mist.
- Venster-cap. Kandidaat-data worden gecapt op het einde van het aanvraagvenster:
uitputting ná sluiting van de jaargang/ronde is onmogelijk; de fractie gecapte
kandidaten rapporteren we als
p_geen_uitputting_binnen_venster. - Klein-N-correctie. Bij minder dan 4 historische paden wordt de band expliciet verbreed (kandidaat-duur ×0,8/×1,25) en als caveat vermeld — geen pretentie van precisie die er niet is.
- Politiek-mutaties. Plafondmutaties zijn niet modelleerbaar uit de reeks; behandel als scenario-parameter (plafond ±X%) en prijs via loading. Eerlijk opschrijven.
Wat het model níet kan
Validatie — walk-forward
Per historische uitgeputte jaargang, per observatiepunt tussen 40% en 80% van het pad,
opnieuw voorspellen met alle overige paden als historie (leave-one-out). Scores:
dekking (viel de gerealiseerde datum binnen P10-P90?) en gemiddelde absolute fout van
de P50-datum in dagen. Live op te vragen:
GET /v1/parametrics/isde/validatie en
GET /v1/parametrics/sepp/validatie.
Status v0 (24-08-2026): ISDE-dekking 0,78 over 9 runs (MAE ≈ 15 dagen); SEPP-kalibratieset 0,71 over 7 runs (MAE ≈ 7 dagen). Deze cijfers zijn methodiek-validatie op deels gereconstrueerde paden; de definitieve actuaris-pitch vereist de B2/B6-backfill.
Vorm-analogie SVVE/SCE
SVVE en SCE hebben (nog) geen eigen uitgeputte historie. De forecast gebruikt de
ISDE-padenvormen als expliciet gemarkeerde vorm-analogie (veld
vormbibliotheek.eigen_historie: false + caveat). Zodra eigen historie
beschikbaar komt (SVVE-uitputting, SCE-ronde-eindes) schuift de bibliotheek automatisch mee.
5 · Operationeel handboek
Publicatiecadans
RVO actualiseert de ISDE-budgetpagina in de praktijk maandelijks (peildatum begin maand, publicatie ~1 week later). De oorspronkelijke specificatie ging uit van wekelijkse publicatie — correctie vastgelegd in het QA-rapport en de changelog. SVVE: maandelijks; SCE: ad-hoc gedurende de ronde.
Ingestie & detectie-SLA
- Scraper (
python3 -m src.parametrics.scraper [isde|svve|sce|alle]) haalt de bronpagina op met twee onafhankelijke parse-strategieën; waarden moeten matchen (dubbele parse) anders hard falen. - Structuurwijziging op de bronpagina = harde fout + handmatige review. Een oracle die stilletjes verkeerde getallen doorschuift is erger dan een oracle die een week stilstaat.
- Elke observatie archivieert de ruwe HTML-snapshot (hash in
snapshot_ref) — het juridische bewijs bij settlement. - Na elke ingestie draait de triggerengine en wordt het event-log bijgewerkt (oracle-run met run-tijdstempel en definitie-versie).
Anomalieprotocol
- Publicatiegat > 2,5× cadans → anomalie-event, geen interpolatie voor triggers.
- Niet-monotone claimstand → anomalie-event + controle op correctie-verwijzing.
- Broninconsistentie (bv. de € 20,2M/€ 20,1M-isolatievariantie in de februari-2026-publicatie) → vastleggen, bovenstaand totaling hanteren, noteren in QA.
Correctieprotocol & as-of
Correcties zijn nieuwe records met corrigeert-verwijzing — nooit
overschrijvingen. As-of-queries reconstrueren de reeks zoals bekend op datum T
(filter op bekend_op). Daarmee is elke historische stand te
reproduceren zoals die op een gegeven moment bekend was — noodzakelijk voor
controle en audit.
Vaststellingslog en audit-trail
Elke vaststelling is een record met: de toegepaste gebeurtenisdefinitie en haar
versienummer, het vaststellingsmoment (publicatiedatum) naast de peildatum van
de bron, de bronverwijzingen, de opslaglocatie en sha-256-hash van het
onbewerkte brondocument, de waargenomen waarden, en de run waarin de evaluatie
plaatsvond. De structuur en de drie controleerbare eigenschappen (as-of
reproduceerbaarheid, aantoonbaarheid tot het bewijsstuk, onveranderlijkheid)
zijn uitgewerkt in de toelichting §6;
de gebeurtenisdefinities zelf in §3 hierboven en
machine-leesbaar via /v1/parametrics/triggers/spec.
Geo-dataset
RVO publiceert verleende ISDE per postcode/buurt/wijk/gemeente als downloadbestand
(~60 MB Excel). Import-pipeline staat op de roadmap; tot die tijd levert
/v1/parametrics/isde/geo/{year} metadata en bronverwijzing — geen
verzonnen cijfers.
6 · Changelog & versiebeleid
Versiebeleid
- Triggerdefinities en model krijgen onafhankelijke versienummers
(
definitie_versie,model_version). - Elk event draagt de definitie-versie waarmee het is vastgesteld; polissen verwijzen naar een bevroren versie.
- Wijzigingen aan definities zijn altijd additioneel zichtbaar in de changelog
hieronder en in
GET /v1/parametrics/triggers/spec.
Changelog
| Datum | Onderdeel | Wijziging |
|---|---|---|
| 2026-08-24 | triggerdefinities 2026-08-24.1 | Eerste vastgelegde versie: T1, T2, T3, heropening, plafondmutatie, anomalie + bronfalen-protocol. |
| 2026-08-24 | model isde-depletion-v1.0 | Eerste release: curve-fit, snelheidsgeschaalde restpaden, reflexiviteit λ, venster-cap, klein-N-verbreding, walk-forward. |
| 2026-08-24 | reeks ISDE | Seed-backfill: 26 gepubliceerde feiten (live RVO-pagina + 6 Wayback-snapshots, alle met snapshot-hashes) + 191 reconstructie-ankers. SEPP/SVVE/SCE-configs en eerste standen. |
| 2026-08-24 | paden | Canonieke paden /v1/parametrics/*; het oudere specificatiepad /v1/oracles/isde/* werkt als alias. Publicatiecadans vastgesteld op maandelijks (eerder aangenomen: wekelijks). |
| 2026-08-24 | anomalie | Hoofdpot 2026: € 505 mln (webarchief februari) vs. € 500 mln (live augustus) — geregistreerd als plafondmutatie-anomalie; onderzoek in de Staatscourant lopend. |
Lopende verbetertrajecten
De herkomststatus per observatie (gepubliceerd_feit dan wel
reconstructie) is in elke levering zichtbaar. De volgende trajecten
verhogen het aandeel letterlijk overgenomen feiten verder:
- Volledige extractie van het webarchief, ter vervanging van de afgeleide kalibratie-ankers.
- Staatscourant-referenties voor de compartimentsplafonds 2024/2025 en de plafondmutatie 2026.
- Extractie van jaarrapportages voor de historie van claim- versus verleende bedragen.
- Import van de geografische dataset (verleende bedragen per postcode, buurt, wijk en gemeente).
- Definitieve kalibratieset voor de SEPP-regeling.