Bronnen · methode · nauwkeurigheid
Over ABdenktmee.nl
Over ABdenktmee.nl
01
Wat is dit?
ABdenktmee.nl toont de dynamische stroomprijs per uur voor vandaag en morgen, maakt een verwachting voor de dagen daarna en helpt je verbruik te verschuiven: de goedkoopste uren, een laadplanner voor de auto, een plan voor een thuisbatterij en een rekentool die laat zien wat aanpassingen aan je woning met je energierekening doen. Het is een onafhankelijk project zonder binding met een leverancier, zonder account, zonder cookies en zonder tracking. Alles wat je instelt blijft in je eigen browser; alleen een kenteken dat je zelf opzoekt gaat naar de RDW, en wie meldingen aanzet laat het adres achter waarop zijn browser die ontvangt.
Waar we voor staan
We bouwen niet in de eerste plaats een website die energieprijzen voorspelt. We bouwen een systeem dat je helpt betere beslissingen over je energiegebruik te nemen, op basis van voorspellingen.
De kwaliteit meten we daarom op twee niveaus: hoe nauwkeurig zijn de prijsvoorspellingen, en hoe vaak leiden ze tot een goede beslissing? Beide staan op Voorspelling getoetst, ook als ze tegenvallen.
Het systeem moet aantoonbaar leren van zijn fouten. Elke afwijking wordt ontleed, met onderscheid tussen wat vooraf bekend was, wat pas achteraf bekend werd en wat werkelijk niet te voorzien was. Kwam een fout voort uit iets dat vooraf bekend was, dan onderzoeken we of het in het model hoort. Een nieuw onderdeel wordt eerst nagespeeld op het verleden en gaat alleen aan als het de voorspelling duurzaam beter maakt.
Onzekerheid hoort zichtbaar te zijn. Hoe onzekerder een verwachting, hoe terughoudender het advies. Dat geldt het sterkst voor de laadplanner: een fout van een paar cent op een wasbeurt kost niets, een fout van 20 cent per kWh op 50 kWh laden kost een tientje. Je moet daarom niet alleen zien wat we verwachten, maar ook hoe zeker dat is.
Het doel is geen model dat achteraf goede verklaringen geeft, maar een model dat door zijn fouten aantoonbaar beter wordt en zijn onzekerheid meeneemt in wat het je adviseert.
02
Bronnen
- EnergyZero API – uurprijzen stroom en dagprijs gas (EPEX day-ahead, excl. btw)
- EnergyZero publieke API – kwartierprijzen stroom van gisteren, vandaag en morgen, voor de dagpagina's en de EV-laadplanner
- Energy-Charts (Fraunhofer ISE) – aandeel hernieuwbare stroom per kwartier met stoplicht, voor de groene uren, en de marktprijs in de buurlanden (CC BY 4.0)
- EPEX SPOT – de day-ahead veiling waar de prijzen vandaan komen
- ENTSO-E Transparency – officiële publicatie van day-ahead prijzen (ter controle)
- Open-Meteo – wind op 100 m, zoninstraling en temperatuur (CC BY 4.0)
- Open-Meteo Historical Weather – gemeten zoninstraling van het afgelopen jaar, voor het batterij-plan (CC BY 4.0)
- OpenEV Data – accugrootte en laadvermogen per elektrische auto, voor de EV-laadplanner (CDLA-Permissive-2.0), aangevuld met een eigen lijst
- RDW open data – merk, model, WLTP-verbruik en actieradius bij een kenteken, voor de EV-laadplanner (CC0)
- Netbeheerkosten 2026 (Keuze.nl) – richtwaarden voor de vaste netbeheerkosten per type aansluiting, voor de rekentool
- BAG via PDOK (Kadaster) – bouwjaar en woonoppervlak bij postcode en huisnummer, voor de rekentool (CC0)
- Milieu Centraal – kentallen voor verbruik van apparaten, warm water, isolatie en stoken, als vertrekpunt voor de richtwaarden in de rekentool
- Belastingdienst – tarieven energiebelasting per jaar
- Lucide – iconen (ISC-licentie)
De EnergyZero-API is een openbaar bereikbare, maar niet officieel gedocumenteerde bron. De prijzen komen overeen met de EPEX day-ahead veiling (biedzone Nederland) en zijn exclusief btw. Het weer van Open-Meteo valt onder CC BY 4.0 en wordt gebruikt voor twee punten: de Noordzee (52.6, 3.8) voor wind op 100 m en De Bilt (52.1, 5.18) voor zon en temperatuur.
Energiebelasting (excl. btw)
| Jaar | Stroom €/kWh | Gas €/m³ | Status |
|---|---|---|---|
| 2023 | 0,12599 | 0,48980 | Belastingdienst |
| 2024 | 0,10880 | 0,58301 | Belastingdienst |
| 2025 | 0,10154 | 0,57816 | Belastingdienst |
| 2026 | 0,09161 | 0,60066 | Belastingdienst |
| 2027 | 0,08802 | 0,61628 | voorstel |
Tarieven tot en met 2026 volgen de tabellen van de Belastingdienst; latere jaren komen uit het Belastingplan zoals dat op Prinsjesdag is voorgesteld. Dat moet nog door de Tweede en Eerste Kamer en wordt bijgewerkt zodra de definitieve tabel gepubliceerd is. Prijzen worden altijd gerekend met het tarief van het jaar van levering.
03
Datapijplijn
| Stap | Bron | Frequentie | Bereik |
|---|---|---|---|
| Uurprijzen stroom & gas | EnergyZero (EPEX) | ieder uur | gisteren, vandaag, morgen |
| Weer | Open-Meteo | elke 3 uur | 92 dagen terug, 8 vooruit |
| Model trainen & voorspellen | eigen regressie | ieder uur | 168 uur vooruit |
| Stand van de voorspelling bewaren | eigen archief | ieder uur | per dag de laatste stand, blijvend |
| Nauwkeurigheid meten | voorspelling vs. EPEX | bij elk bezoek | laatste 30 dagen |
| Kwartierprijzen stroom | EnergyZero (EPEX) | ieder uur | gisteren, vandaag, morgen |
| Aandeel hernieuwbaar | Energy-Charts | ieder uur | vandaag, en morgen zodra de verwachting er is |
| Historie | EnergyZero | eenmalig | sinds 1 jan. 2023 |
Draait er geen cron, dan ververst de site zichzelf tijdens een paginabezoek zodra de data verouderd is (hooguit eens per 30 minuten). Laatste EPEX-uur in de database: ma 9 nov. 23:00; laatste modelrun: 9 nov. 05:10.
04
Methode: de voorspelling
- Data. Elk uur worden de day-ahead prijzen van gisteren, vandaag en morgen opgehaald. Elke drie uur wordt het weer ververst: 92 dagen terug (voor training) en 8 dagen vooruit.
- Trainen. Een lineair regressiemodel (kleinste kwadraten met een kleine ridge-term) wordt gefit op de laatste 60 dagen. Features: 23 uur-dummies, weekend, wind (en wind²), zoninstraling (en zon²), temperatuur, en interacties van wind, zon en weekend met de piekuren (7–9 en 17–20 uur). Sinds oktober 2026 ook wind en zon op zes extra punten in Nederland en Duitsland, een eigen dagpatroon voor het weekend (per blok van drie uur) en de gasprijs van de dag, los en in wisselwerking met de piekuren en de wind; voor de komende dagen rekent het model met de laatst bekende gasprijs. Elke uitbreiding is eerst nagespeeld op het verleden (
php artisan forecast:backtest). Elke trainingsdag krijgt gewicht 0,5leeftijd / halfwaardetijd met een halfwaardetijd van 20 dagen, zodat recente prijsniveaus domineren. - Voorspellen. Voor elk uur zonder bekende prijs in de komende 168 uur worden de weersverwachting en het uurprofiel door het model gehaald. Buiten het weerbereik wordt het gemiddelde weer van de trainingsperiode gebruikt. De uitkomst wordt begrensd op het bereik van de trainingsdata ± 5 cent.
- Bandbreedte. ± de gewogen standaardafwijking van de trainingsfouten, per dag vooruit 8% breder.
- Evaluatie. Elke voorspelling wordt bewaard met zijn horizon. Zodra de werkelijke prijs bekend is, wordt de gemiddelde absolute fout per dag vooruit berekend (zie hieronder).
Modelkaart
- type
- gewogen ridge-regressie
- features
- uur × 23, weekend, dagpatroon weekend × 8, gasprijs × 3, wind, wind², zon, zon², temp, piek-interacties
- venster
- 60 d, halfwaardetijd 20 d
- doel
- kale uurprijs €/kWh
- horizon
- 168 u
Bekende beperkingen
- geen CO₂-prijs als losse factor
- geen import/export-capaciteit of storingen
- geen nieuws of geopolitiek, behalve via de gasprijs
- uurprijzen, geen kwartierprijzen
Bewust eenvoudig en transparant.
05
Nauwkeurigheid
Per dag terugkijken kan op Voorspelling getoetst: de echte uurprijs naast wat er een week, drie en twee dagen vooraf werd verwacht, met een percentage en de reden van het verschil. De site bewaart daarvoor elke dag de stand van de voorspelling, met het weer waar het model toen van uitging.
Hoeveel de verwachting er gemiddeld naast zat, per kWh op de kale marktprijs, over de laatste 30 dagen en per dag vooruit. Een te hoge en een te lage verwachting tellen allebei als afwijking; vakmensen noemen dit de MAE (mean absolute error). Lager is beter; zet het af tegen de kale uurprijs zelf, die per maand op Historie staat.
| Vooruit | Gemiddeld ernaast | Gemeten uren | |
|---|---|---|---|
| 0 tot 24 uur | € 0,028 | 403 | |
| 24 tot 48 uur | € 0,033 | 745 | |
| 48 tot 72 uur | € 0,034 | 745 | |
| 72 tot 96 uur | € 0,036 | 745 | |
| 96 tot 120 uur | € 0,036 | 745 | |
| 120 tot 144 uur | € 0,041 | 745 | |
| 144 tot 168 uur | € 0,043 | 745 |
De nauwkeurigheid per maand, naast een simpele vuistregel, staat bij Voorspelling per dag en per maand.
Laatste voorspelling: 9 november 2026 05:10.
06
Methode: all-in prijs
all-in €/m³ = (marktprijs + opslag leverancier + energiebelasting) × 1,21
Vaste leveringskosten, netbeheerkosten en de vermindering energiebelasting zitten er niet in, omdat die niet per uur verschillen. Bij een negatieve marktprijs blijven belasting en opslag gewoon gelden.
Opslag per leverancier (excl. btw)
| Leverancier | Stroom €/kWh | Gas €/m³ | Nagekeken |
|---|---|---|---|
| Tibber | 0,0149 | 0,0730 |
16 okt. 2026
Tibber Tibber noemt € 0,0180 per kWh en € 0,08835 per m³ inclusief btw.
|
| Frank Energie | 0,0150 | 0,0660 | 16 okt. 2026 |
| Zonneplan | 0,0165 | 0,0661 | 16 okt. 2026 |
| ANWB Energie | 0,0149 | 0,0635 |
16 okt. 2026
ANWB Energie ANWB noemt € 0,018 per kWh en € 0,0768 per m³ inclusief btw (gas sinds 1 september 2026).
|
| EnergyZero | 0,0185 | 0,0730 |
16 okt. 2026
EnergyZero Stroom sinds 15 april 2026 € 0,02242 inclusief btw (was 0,0280). Gas volgens EnergyZero's eigen supportpagina; een vergelijkingssite noemt 0,0619.
|
| EasyEnergy | 0,0180 | 0,0653 | 16 okt. 2026 |
| NextEnergy | 0,0181 | 0,0660 | 16 okt. 2026 |
| Vattenfall | 0,0124 | 0,0620 |
16 okt. 2026
Vattenfall Vattenfall noemt € 0,01499 per kWh en € 0,075 per m³ inclusief btw.
|
| Eneco | 0,0189 | 0,0865 |
16 okt. 2026
Eneco Stroom € 0,02281 inclusief btw bij Eneco zelf. Gas staat niet op de Eneco-pagina; hier gelijk aan Oxxio, dat dezelfde prijzen van moederbedrijf Eneco toont.
|
| Essent | 0,0209 | 0,0651 | 16 okt. 2026 |
| Energiedirect | 0,0169 | 0,0620 | 16 okt. 2026 |
| Oxxio | 0,0190 | 0,0865 |
16 okt. 2026
Oxxio Uit de prijzen die de site van Oxxio zelf toont.
|
| DELTA Energie | 0,0104 | 0,0412 | 16 okt. 2026 |
| Powerpeers | 0,0083 | 0,0679 | 16 okt. 2026 |
| Greenchoice | 0,0185 | 0,0619 |
niet bevestigd
Greenchoice Greenchoice zet de opslag niet op de eigen site. Bedragen van een vergelijkingssite en de openbare prijzen van EnergyZero, dat voor Greenchoice levert.
|
| Vandebron | 0,0183 | 0,0494 |
niet bevestigd
Vandebron Vandebron zet de opslag niet op de eigen site; bedragen van Gaslicht.com en Keuze.nl.
|
| Budget Thuis | 0,0139 | 0,0530 |
niet bevestigd
Budget Thuis Voorheen Budget Energie. De opslag staat niet op de eigen site; bedragen van een vergelijkingssite.
|
| Pure Energie | 0,0149 | 0,0818 |
niet bevestigd
Pure Energie De opslag staat niet op de eigen site; bedragen van Gaslicht.com, bevestigd door Keuze.nl.
|
| Mega | 0,0150 | 0,0781 |
niet bevestigd
Mega Mega noemt alleen een rekenvoorbeeld; bedragen van Gaslicht.com.
|
De opslag staat hier zonder btw, zoals hij in de formule gaat. Leveranciers noemen hem meestal met btw: € 0,0180 op hun site is hier € 0,0149. De datum is de dag waarop het bedrag bij de bron is nagekeken; de tarieven zijn niet automatisch gekoppeld en worden elk half jaar opnieuw nagelopen. Klopt jouw opslag niet? Kies "Eigen opslag" in de instellingen rechtsboven.
07
Methode: weekbericht, dagpagina's, laadplanner, batterij-plan en rekentool
Weekbericht. De tekst bovenaan de voorpagina wordt automatisch geschreven uit de prijzen, de verwachting en het weer van de komende zeven dagen. Vaste drempels bepalen wat het melden waard is: een dag met minder dan 15 km/u wind op zee, een weekend dat niet goedkoper is dan de werkdagen, een piek van meer dan 2,2 keer het weekgemiddelde, en een gasprijs die in drie weken meer dan 8% is veranderd. Het bericht ziet dát gas duurder wordt, niet waarom; nieuws en geopolitiek zitten niet in de data. De termen staan in de begrippenlijst.
Laadplanner (auto laden). Benodigde kWh = accu × (naar − van) ÷ rendement; laadtijd = kWh ÷ vermogen. Van alle uren tot de deadline worden de goedkoopste gekozen (het laatste uur mag een deel-uur zijn). Je kiest of de planner ook met de verwachting rekent of alleen met vastgestelde prijzen, en of hij per uur of per kwartier plant; de kwartierprijzen van gisteren, vandaag en morgen komen uit de publieke API van EnergyZero. De vergelijking "nu beginnen" laadt aaneengesloten vanaf het huidige uur. De autolijst komt uit OpenEV Data (modeljaren 2023 tot en met 2025), aangevuld met een eigen lijst voor ontbrekende merken en oudere modellen; de waarden zijn indicatief en blijven aanpasbaar. Zoeken op kenteken haalt merk, model, WLTP-verbruik en actieradius op bij de open data van de RDW; de accu wordt geschat als verbruik × actieradius × 0,88, omdat het WLTP-verbruik aan de stekker is gemeten en dus laadverlies bevat. De ERE-vergoeding staat standaard uit; reken je haar mee, dan gaat de netto vergoeding per geladen kWh (bruto waarde min de marge van de inboekdienstverlener) van de laadkosten af. De waarde schommelt met de markt, dus het blijft een schatting.
Batterij-plan. Auto en batterij laden tegelijk zolang huis, auto en batterij samen binnen het vermogen van de aansluiting blijven (17 kW bij 3 × 25 A); anders gaat de auto voor. Een bonus op teruglevering van de gekozen leverancier (de zonnebonus van Zonneplan: 10% over marktprijs plus opslag, bij daglicht en een positieve prijs, tot 7.500 kWh per jaar) telt mee in de terugleverprijs. Per uur wordt het netto verbruik bepaald: huisverbruik (jaarverbruik over een standaardprofiel) plus de slim geladen auto, min de zonne-opbrengst (jaaropbrengst verdeeld naar de zoninstraling van Open-Meteo). Daarna wordt met dynamisch programmeren over de laadtoestand de inzet van de batterij gezocht die de stroomkosten minimaliseert, met vermogen, capaciteit en rendementsverlies als grenzen. Afname kost de all-in prijs; teruglevering levert met salderen (t/m 2026) ook de all-in prijs op en vanaf 2027 alleen de kale marktprijs. De jaarcijfers komen uit twaalf weken van het afgelopen jaar, één per maand, met de echte uurprijzen en de gemeten zoninstraling. Geen degradatie; de batterij kent prijzen en weer vooraf. Terugverdientijd = aanschafprijs ÷ jaarbesparing.
Rekentool. Rekent je huidige situatie door en daarna dezelfde situatie met je aanpassingen, met hetzelfde uurmodel als het batterij-plan. De warmtevraag komt uit je verbruik (m³ gas die een cv-ketel zou verbruiken × 8,8 kWh) of wordt geschat uit de woning: energielabel of bouwjaar, woonoppervlak, woningtype en de isolatie van dak, gevel, vloer, glas en ventilatie. Warm water volgt uit het aantal personen. Per verwarmingsoptie rekent een jaarrendement de warmte om naar stroom, gas, GJ, pellets of hout; ruimteverwarming wordt verdeeld naar de graaduren onder 15,5 °C. Isolatie verlaagt de warmtevraag met de verhouding tussen het oude en het nieuwe warmteverlies, een graad lager stoken met 6%. Koelen met een airco rekent met de gemeten graaduren boven 20 °C; een elektrische auto als aanpassing zet de bespaarde brandstof tegenover de extra stroom. Elke aanpassing wordt apart doorgerekend en daarna allemaal samen, met een richtprijs en terugverdientijd; optioneel met stijgende energieprijzen en een bandbreedte. Het geschatte energielabel is een indicatie, geen officieel label. Bouwjaar en oppervlak kunnen worden opgezocht in de BAG (Kadaster, via PDOK); het adres wordt niet bewaard. Alle kentallen staan onder "Hoe rekent de rekentool?" op de pagina zelf. Met het installatiejaar van je verwarming schat de tool het rendement van een cv-ketel (HR107 vanaf ongeveer 2005, daarvoor 5 tot 20% minder warmte uit dezelfde kuub gas) en of vervanging eraan komt; dan telt voor een overstap alleen de meerprijs. Een Quooker, keukenboiler of hot-fill telt alleen apart mee als de tool je stroomverbruik schat: een verbruik dat je zelf invult bevat ze al. Koelen telt altijd apart mee. Je invoer kun je als profiel bewaren en naast andere profielen leggen. Onderaan, bij "Je meterstanden inlezen", kun je een export met meterstanden van de HomeWizard P1-meter inlezen; de tool telt afname, teruglevering en gas op, rekent dat om naar een jaar en neemt het op verzoek over als je verbruik. Het bestand wordt alleen in je browser gelezen.
Uitleg uit eigen data. Weer en prijs rekent uit de eigen database voor wat wind en zon met de prijs deden (rustigste tegenover winderigste derde van de dagen), Voorspelling per dag en per maand zet per voorbije dag de verwachting naast de uitkomst met een afgeleide, waarschijnlijke oorzaak, en Dit jaar en vorig jaar vergelijkt dit jaar met dezelfde periode vorig jaar.
Slim plannen (op de voorpagina) zoekt per apparaat het goedkoopste aaneengesloten blok in de komende 36 uur en vergelijkt dat met het duurste blok van dezelfde lengte.
Dagpagina's. Voor gisteren, vandaag en morgen kun je schakelen tussen uur- en kwartierprijzen; de uurprijs is het gemiddelde van vier kwartieren. De weergave Opbouw splitst de all-in prijs in inkoop (marktprijs), opslag van de gekozen leverancier, energiebelasting en btw over die drie samen. Groene uren toont het aandeel hernieuwbare stroom in het Nederlandse verbruik per uur, met het stoplicht van Energy-Charts (Fraunhofer ISE); voor de komende uren is dat een verwachting.
Negatieve prijzen. De pagina over negatieve prijzen toont de komende uren met een marktprijs onder nul, bekend en verwacht. Met salderen (t/m 2026) kost terugleveren geld als ook de all-in prijs onder nul zakt; zonder salderen bij elke marktprijs onder nul. Opslagen en terugleverkosten van je eigen leverancier zitten daar niet in.
Agenda-feed. /agenda.ics?uren=3 is een iCal-feed met per dag het goedkoopste aaneengesloten blok (1 tot 10 uur) van vandaag tot een week vooruit, uit dezelfde prijzen en verwachting als de site. Met &leverancier=tibber staan de bedragen all-in in de afspraak; het blok zelf is hetzelfde.
Alle tools rekenen volledig in je browser met de prijzen van deze pagina's; wat je invult wordt niet naar onze server gestuurd. Uitzonderingen: zoek je in de laadplanner op kenteken, dan vraagt je browser dat kenteken op bij de RDW; zoek je in de rekentool je adres op, dan vraagt je browser dat op bij PDOK; en zet je meldingen aan, dan bewaart onze server het adres waarop je browser ze ontvangt. Zie Privacy.
08
Veelgestelde vragen
Wat een dynamisch contract is, wanneer de prijzen van morgen bekend zijn en waarom jouw leverancier iets anders laat zien: de antwoorden staan op Veelgestelde vragen.
09
Techniek
- Backend
- Laravel 13.33.0 op PHP 8.3 met SQLite; prijzen, weer en voorspellingen in drie tabellen.
- Frontend
- Blade, Tailwind CSS 4, Alpine.js en Chart.js. Instellingen en tool-invoer blijven in je browser (localStorage); er zijn geen accounts en geen trackers.
- Bezoekcijfers
- De server telt per dag hoe vaak elke pagina is geopend, om te zien welke onderdelen gebruikt worden. Er wordt alleen een teller opgehoogd: geen IP-adres, geen browserkenmerk en geen cookie. Een bezoeker is in die cijfers niet terug te vinden.
- Meldingen
- Zet je de melding over de prijzen van morgen aan, dan bewaart de server het adres waarop jouw browser meldingen ontvangt, met de leverancier voor de bedragen. Geen naam, geen e-mailadres, geen IP-adres. Zet je de melding uit, dan wordt het adres verwijderd.
- Scheduler
prices:syncieder uur,weather:syncelke drie uur,forecast:generateieder uur. Historie viaprices:import --from=2023-01-01.- Typografie
- Playfair Display (titels), Instrument Sans (tekst) en JetBrains Mono (cijfers en labels) via Bunny Fonts, lokaal gebundeld.
- Iconen
- Lucide (ISC-licentie).