Large-Scale Energy Forecasting & Decision Support

Signalbehandling og prediksjon2026EnergyForecastingDecision Support

Et proof of concept i et energiselskap som gjør timesdata for strømforbruk om til prognoser, estimater for toppforbruk og kostnad, og konkrete innsikter for kunden.

Utfordringen

Et energiselskap har store mengder timesdata fra strømmålere, men rå forbruksdata sier lite til kunden. Spørsmålet var hvordan prognoser kan gjøres nyttige i praksis: forventet forbruk, når toppene kommer, hvilket kapasitetstrinn i nettleien kunden havner i, og hva det betyr i kroner.

Løsningen

Som del av et team utviklet jeg et proof of concept med en modulær prognosearkitektur der ulike modeller svarer på ulike spørsmål, i stedet for at én prognosekurve skal optimere alt: forventet normalforbruk, personalisert døgn- og timeforbruk, størrelse og tidspunkt for døgnets toppforbruk, kapasitetstrinn og kostnad. Kostnaden beregnes i en egen, regelbasert motor for spotpris, nettleie og kapasitetsledd, slik at tariffendringer ikke krever ny trening. Oppå prognosene ligger avviksdiagnostikk og scenarioanalyse for lastflytting.

Hvordan det ble bygget

En Databricks/Spark-pipeline fra rå måledata til modellklare features, med værdata, spotpriser, tariffer og kalender. Alt ble evaluert kronologisk, på et deterministisk, stratifisert utvalg av målepunkter som gjorde treningen skalerbar, og enkle baselines ble etablert før maskinlæring. Arkitekturen ble styrt av målinger: en enkel kalibrering per målepunkt ga lavere timesfeil, men dårligere estimater for topp, kapasitet og kostnad, og ble derfor forkastet. Kundespesifikke formprofiler ble også testet og forkastet. Prosjektet ble avsluttet med en prognosekontrakt, sporbarhet mellom datasett og en automatisert sluttrevisjon.

Resultat

På et kronologisk adskilt testår lå timesfeilen (WAPE) for den globale modellen på omtrent 0,29, mot omtrent 0,35 for den sterkeste enkle baselinen (24-timers glidende gjennomsnitt), rundt 16 % lavere. Egne toppmodeller ga størst effekt der verdien ligger: gjennomsnittlig feil på døgnets toppforbruk falt med omtrent 54 % sammenlignet med utgangspunktet uten egen toppmodell, og andelen tilfeller der kapasitetstrinnet ble estimert helt riktig økte fra omtrent 74 % til omtrent 91 %, uten å endre timesprognosen. Løsningen ble vurdert som teknisk komplett med dokumenterte begrensninger og en anbefalt, kontrollert neste fase. Den er ikke satt i produksjon.

Kontekst

Kostnadstallene er tariffsimulerte estimater med en fast tariffkonfigurasjon, ikke historiske fakturaer, og scenarioanalysen viser beregnet potensial under eksplisitte antakelser, ikke realiserte besparelser. Evalueringen bruker rullerende prognoser med tilgjengelig historikk og observert vær, ikke en ekte prognose én dag frem i drift. Teståret ble også brukt til bekreftelse underveis i utviklingen, så tallene stammer ikke fra et helt urørt sluttsett. Ingen tjeneste er satt i drift, og ingen kundepilot har målt faktisk effekt.

Teknologi og metoder

PythonPySparkSpark ML (gradient-boosted trees)DatabricksDelta LakeSQLVærdata-APITidsseriefeaturesTemporal valideringRegelbasert kostnadsmotorAvviksdeteksjon