Tillbaka till verktyg

Demand

Hur mycket el kommer vi att behöva? Scenariebaserade efterfrågeprognoser från historiska data, med interaktiva diagram och geografiska kartor.

Ramverk

Demand-verktyget levereras som ett mall-repository. Forka det, rikta en kodningsagent mot konfigurationsfilerna, och anpassa det för din egen region och data.

energy-toolkit-demand

Förhandsvisning

Ett ramverk med full-stack för att prognostisera elbehov. Python-generator, Node.js + DuckDB API, SvelteKit-explorer. Forka det, byt in dina data och scenarier, driftsätt.

Så fungerar det

config.yaml                 ← Scenarios, geographies, segments, parameters
    │
    ▼
Generator (Python)          ← Historical data + modular transformations
    │
    ▼
/data/*.parquet             ← Base scenarios + parametric variations + aggregations
    │
    ▼
API (Node.js + DuckDB)      ← Static JSON endpoints + dynamic time series queries
    │
    ▼
Explorer (SvelteKit)        ← Charts, maps, reports, scenario comparison, export

Generator

Generatorn tar historiska elbehovsdata och applicerar modulära transformeringar för att skapa framtidsscenarier. Transformeringssystemet är komponerbart: bygg scenarier genom att stapla funktioner som modifierar efterfrågekurvor för specifika segment och tidsperioder.

Flerparametrisk scenarioanalys

Definiera oberoende parametrar (elektrifieringsgrad, tillväxtfaktorer, effektivitet) som skapar ett multiplikativt scenarioutrymme. Varje parametervariation lagras separat och kombineras vid fråga.

Segmentgranularitet

Prognoser genereras per efterfrågesegment: industri, bostäder, transport, tjänster, etc. Segment kan aggregeras eller visas oberoende genom API:et.

Effektiv output

Data lagras som Parquet-filer med förberäknade aggregeringar för vanliga frågor (geografi × år, segment × år, nationellt × år). Detta ger 50–100× snabbare dashboard-frågor.

Konfigurationsdriven

Allt definieras i config.yaml: scenarier, geografier, segment, parametrar, enheter. Ändra konfigurationen och regenerera, och inga kodändringar krävs.

API

Ett OpenAPI 3.1 REST-API som kombinerar förbyggda statiska endpoints med DuckDB-drivna dynamiska frågor. API:et läser Parquet-filer direkt, utan ETL-steg, ingen databas att underhålla.

EndpointTypBeskrivning
/scenariosStatiskScenariodefinitioner med parameterkombinationer
/geographiesStatiskGeografiska regioner med metadata
/parametersStatiskTillgängliga år, segment, upplösningar
/configStatiskRamverkskonfiguration
/globalsStatiskMin/max-gränser för diagramskalor
/demandDynamiskTidsseriedata med flexibel filtrering, upplösning (1h–1Y) och aggregering (sum, mean, max)

Frontend (Explorer)

En SvelteKit-applikation som renderar prognosdata som interaktiva visualiseringar. Byggd med Svelte 5 runes, Tailwind CSS, LayerChart och Mapbox GL. Genereras som en helt statisk webbplats som kan serveras från valfri statisk host eller CDN.

Diagram

Tidsserier, histogram, sektorsuppdelningar, värmekartor, geografiska stapeldiagram. Varje diagram har per-diagramsparameter-överstyrningar, scenariojämförelse, och export i flera format (PNG, SVG, CSV, JSON).

Kartor

Koropletkartor drivna av Mapbox GL med regional nedbrytning. Visar efterfrågan per geografi med år- och segmentval. Responsiv från mobil till desktop.

Innehållssystem

Sidor och rapporter skrivs i Markdown med inbäddade interaktiva komponenter. Anpassad direktivsyntax låter domänexperter skriva berättande innehåll med levande datavisualiseringar inline.

Teknikstack

Generator

  • Python 3.9+
  • Pandas, NumPy, PyArrow
  • Jupyter-notebooks
  • pytest

API

  • Node.js 18+, Express
  • DuckDB (Parquet-frågemotor)
  • OpenAPI 3.1 Backend
  • LRU-cache + ETag-validering

Frontend

  • SvelteKit, Svelte 5 (runes)
  • Tailwind CSS + container queries
  • LayerChart, D3, Mapbox GL
  • MDsveX, Paraglide (i18n)

Referens

Teknisk referens för implementatörer. Expandera avsnittet nedan för API-detaljer, datapipelinens interna delar, fillayout och utvecklingsrutiner.

Teknisk referens

Implementationer

Live-applikationer byggda med Demand-ramverket.

Behovskartan

Behovskartan

AI Sweden

Staging

Sveriges prognosutforskare för elbehov. Visualiserar prognostiserat behov över regioner, sektorer och scenarier fram till 2050. Byggt för Energimyndigheten.

SvelteKitSwedish electricityEnergimyndigheten

Driftsätt och utöka

Stacken har två driftsättbara delar: en statisk frontend och ett API i container. Kör dem på din egen infrastruktur med det moln, den containerplattform eller statiska host du föredrar. Inget i ramverket är bundet till en specifik leverantör.

Frontend: statisk webbplats

Explorer byggs till ett helt statiskt paket. Driftsätt det till valfri statisk host eller CDN. Content-hash-cache-busting på assets låter dig sätta långa cache-tider säkert.

API: Docker-container

API:et levereras som en Docker-container som paketerar all Parquet-data. Kör det på valfri containerplattform med hälsokontroller och nolltidsuppdateringar.