Sådan laver vi et datastudie: metoden bag "1.000 danske parcelhuse"

Dette dokument beskriver, hvordan energianalyse.dk regner en stikprøve af danske bygninger igennem og gør resultatet til tal, der kan citeres. Det første studie (oktober 2026) regnede 1.000 tilfældigt udvalgte fritliggende enfamiliehuse igennem; metoden er bygget, så de næste studier (etageejendomme, mark-solceller på fri jord) kan følge samme opskrift. Studiets egne tal står på studiesiden og i den anonymiserede CSV; her står kun metoden.

1. Grundprincippet: én sandhed

Hvert tal, der kan citeres, er beregnet af et værktøj og låst af en test. Ingen tal skrives i hånden. Kæden er:

  1. Stikprøven trækkes af værktøjet med et fast tilfældighedsfrø og gemmes som en udvalgsfil (adresser, kvoter, reserver, vægte).
  2. Beregningen sker gennem præcis den motor, boligejeren får gratis på siden: hvert hus sendes ind ad den offentlige beregningsvej (ingen parallel model, ingen særlige indstillinger), og motorens fulde svar gemmes som råsvar.
  3. Udtrækket: hver række i studiets datafil udledes af husets råsvar gennem én funktion, så en kolonne kun kan betyde én ting.
  4. Rapporten: tal-blokken i studiets markdown, studiesidens JSON og den anonymiserede CSV genereres fra datafilen.
  5. Testen (gaten) genregner hele kæden fra råsvarene og fejler ved enhver afvigelse: en ændret celle, et tal i teksten uden dækning, en tankestreg, et scenarie uden sine forbehold, et landstal uden sin kilde.

Kommandoen verify i studiets værktøj kører præcis den kontrol: SHA256 af hvert råsvar mod listen, hver kolonne genudledt fra råsvaret, udvalget genregnet fra reserve-reglen, tal-blokken genregnet, den anonymiserede fil og scenarie-filen genregnet, og hver kilde til landets tal til stede i teksten.

2. Stikprøven

Populationen er defineret af et register, ikke af os: for parcelhuse er det Bygnings- og Boligregistret (BBR) med anvendelseskode 120 (fritliggende enfamiliehus), status opført.

Vægtning. Danmarks Statistiks boligopgørelse (BOL101: beboede boliger efter område og anvendelse, nyeste år) giver antallet af beboede parcel- og stuehuse i hver af de 98 kommuner. Hver kommune får en kvote efter største-rest-metoden (Hamiltons metode), så stikprøven ligger, hvor husene ligger; summen af kvoterne er stikprøvens størrelse.

Trækket i kommunen. Datafordelerens BBR-GraphQL sorterer en side efter bygningens tilfældige UUID, så den første side (1.000 bygninger) er en tilfældig delmængde af kommunens huse. Siden blandes med et frø pr. kommune, dubletter på samme adgangsadresse fjernes, registreringer med boligareal under 25 m2 fjernes (fejlregistreringer), og de første huse op til kvoten er primære; de næste (mindst tre, ellers tre femtedele af kvoten) er reserver i trækkets orden.

Reserve-reglen. Et svar tæller kun, når det er brugbart: beregningen lykkedes, motorens hovedbygning er et hus af den rigtige type (en adresse, hvis hovedbygning i motoren blev et udhus, tæller ikke), svaret er fra studiets systemmodel, og motoren fandt et hus at regne på (elforbrug og varmebehov begge over nul; et hus med opvarmet areal nul i registret giver et tomt svar). En primær adresse, der fejler eller er ubrugelig, erstattes af den næste reserve i samme kommune i trækkets orden; kvoten pr. kommune holdes præcis, og en anden kommunes hus bruges aldrig. Reglen er én funktion i værktøjet, og testen kontrollerer, at datafilens huse er præcis dem, reglen vælger ud fra svarlageret.

Kontrol af repræsentativitet. Regionernes andel af stikprøven sammenlignes med Danmarks Statistiks andele; husenes alder (fire årsbånd) ligeså. Afvigelser på få procentpoint er forventelige; større afvigelser tyder på en skævhed i trækket.

3. Motoren, modellen og prisgrundlaget

Samme motor som boligejeren. Hvert hus regnes gennem den offentlige beregningsvej (poll-protokollen) med to eksplicitte valg: systemmodellen og ejerformen. Alt andet er motorens standard: husets egne data (BBR, energimærke, Danmarks Højdemodel med tagflader og skygge, luftfoto, netselskabets tariffer), solen time for time i vejråret fra PVGIS på hver tagflade, elpriserne fra de seneste tolv hele måneder i husets prisområde lagt på vejrårets timer med rangbevarende afbildning, og en blandet heltals-optimering over årets 8.760 timer. Metoden i sin helhed står i METHODOLOGY.md (engelsk).

Systemmodellen i parcelhusstudiet er Optimin, den gratis boligejer-pakke: solceller kun på tagets bedste flader og dimensioneret til husets eget elforbrug, ingen mark og ingen vind, batteri og varmepumpe kun når de betaler sig. Valget af model afgør, hvad studiet kan sige: Optimin sizer til eget forbrug, så studiet måler et økonomisk potentiale for husstanden, ikke et udbud til nettet.

Prisgrundlaget er leverandørkatalogets listepriser inkl. moms, montage og tilmelding, uden tilskud, regnet for en privat boligejer. Et hus, hvor intet anlæg slår at lade være over 20 år (motorens nutidsværdi-gulv), tæller som "byg intet".

Definitioner, der skal holdes konstante:

4. Systemdata pr. hus

Fra hvert råsvars energibalance udledes årsenergier for huset før og efter: solproduktion fra det nye anlæg (husets produktion efter minus før, så et anlæg i forvejen ikke tælles med), eget forbrug af solstrøm (produktion minus salg minus afkortet), salg til nettet, batteriets op- og afladning, den nye varmepumpes el inkl. dens elpatron, og køb fra nettet før og efter. Fra timeserierne udledes købet i aftentimerne, det største time-træk fra nettet, vinterkøbet og batteriets opladningstimer. Alle disse kolonner genudledes af testen fra råsvarene.

5. Skalering til landet og usikkerhed

Simpel skalering. Hvert hus i stikprøven står for N/n huse, hvor N er landets antal beboede parcel- og stuehuse (Danmarks Statistik) og n stikprøvens størrelse. Et landstal er stikprøvens sum for de huse, der indgår i scenariet, gange skalaen.

Kommunevægte som kontrol. Den implicitte vægt for et hus i kommune k er kommunens parcelhuse delt med dens kvote. Begge metoder regnes; afvigelsen rapporteres og skal være lille (brøkdele af en procent for de store scenarier).

Bootstrap-interval. Usikkerheden er et 95 %-interval fra 2.000 gentræk af stikprøven med tilbagelægning med fast frø, så intervallet er deterministisk og testen kan genregne det. For andele gives desuden den binomiale normalapproksimation. Stikprøven er kvoteret på kommune, ikke simpelt tilfældig, så intervallerne er vejledende.

Scenarier (adoptionsniveauer). Et scenarie er en delmængde af stikprøvens huse, skaleret til landet: husene med tilbagebetaling inden for 8 år, inden for 10 år, og alle huse, hvor et anlæg betaler sig over 20 år (= alle huse, motoren bygger). For hvert niveau opgøres huse, ny solcelleeffekt, de nye anlægs produktion, ændringen i eget forbrug og salg, batterikapacitet og afladning, varmepumper (antal, termisk effekt, elforbrug), køb fra nettet før og efter, investering, besparelse og CO2, hver med sit bootstrap-interval. Scenariernes produktion sammenlignes på årsbasis med landets elforbrug, dagens solcelleproduktion og den registrerede solcelleeffekt.

Landets tal hentes af værktøjet fra Energinets åbne data (Energi Data Service: registreret solcelleeffekt pr. kommune, nyeste måned; årets målte produktion, forbrug og udveksling) og suppleres med Energistyrelsens energistatistik og Energinets redegørelse for elforsyningssikkerhed. Hvert tal gemmes med kilde, url og dato, og testen kræver, at hvert tal står i rapporten med sin kildelinje.

6. Hvad tallene kan bære, og hvad de ikke kan (regnskabet)

Studiet er en én-hus-model uden samtidighed, med perfekt fremsyn, ét vejrår, dagens priser holdt flade, skønnet forbrug i de fleste huse og uden tilskud. Det afgør, hvad der må siges:

Kan siges: andelen af huse, hvor et anlæg betaler sig, og hvor det er tjent hjem inden for N år; medianerne hus for hus; fordelinger på region, alder og opvarmning med deres intervaller; de nye anlægs årsproduktion og husenes eget forbrug og køb fra nettet før og efter som årsenergi; skalerede landstal som et økonomisk potentiale ved dagens priser med interval; sammenligningen med landets årsenergi.

Kan ikke siges: at husene aflaster elnettet, eller en aflastning i MW (husets største time-træk fra nettet stiger med et batteri, fordi det lader om natten; der er ingen samtidighed i modellen); at husene øger forsyningsudbuddet eller sænker Danmarks importbehov (Optimin sizer til eget forbrug; Energinets importbehov er effekt i knaphedstimer om vinteren, hvor solceller producerer lidt); nødstrøm, resiliens eller ø-drift (tilvalget var slået fra); hjælp i en vinterkrise; "så meget sparer du i praksis" (perfekt fremsyn er en øvre grænse); tal med tilskud; rigtige husstandes målte forbrug; et landsgennemsnit for installatørpriser; en færdig dimensionering.

Forbehold, der altid følger scenarierne: årlig energi er ikke effekt i knaphedstimerne; et batteri dimensioneret til eget forbrug sælger ikke til nettet og hæver husets spidstræk; varmepumperne er ny ellast, mest om vinteren; én-hus-model uden samtidighed; et økonomisk potentiale ved dagens priser, hverken prognose eller teknisk potentiale. Sætningerne står ordret i værktøjet, og testen kræver dem i rapporten, hver gang scenarierne vises.

7. Udgivelsesformatet

8. Stabilitetskontrol: en ny runde

Et studie står stærkere, når en ny, uafhængig stikprøve giver det samme. Opskriften: et nyt frø, mindst 200 nye huse trukket med samme regel (ingen af første rundes adresser), samme motor og samme prisvindue, samme udtræk og samme definitioner. Andelene i runde 2 sammenlignes med runde 1 med deres binomiale intervaller: ligger runde 2 inden for runde 1's interval (og omvendt), er fundet stabilt; ligger de uden for, undersøges årsagen (motorversion, prisvindue, trækket), før noget citeres. Runde 2 får sit eget værktøj og sin egen rapport og rører ikke første rundes filer; første rundes tal ændres aldrig af en senere runde.

9. Opskrift til de næste studier

Hvert nyt studie følger de samme fem trin (stikprøve, beregning gennem den offentlige vej, udtræk gennem én dør, rapport fra datafilen, test der genregner alt) og skriver sine definitioner op, før det regner.

Etageejendomme

Mark-solceller på fri jord

Fælles for begge

Parcelhuse (gjort)EtageejendommeMark-solceller på fri jord
EnhedBygning (BBR 120)Bygning (BBR 140, evt. 130 som eget studie)Matrikel i landzone
Register til trækketBBR via DatafordelerenBBR via DatafordelerenMatriklen, Plandata, IMK, Miljøportalen, kapacitetskort
Vægt pr. kommuneDST BOL101, beboede parcel- og stuehuseDST BOL101, beboede etageboliger; BBR-bygninger pr. kommune til skaleringenLandbrugsareal pr. kommune (DST AFG07 eller IMK)
ModelOptimin (eget forbrug)Standard (taget fyldt, fællesmåling)Optimax mark (feltet fyldt, salg til nettet)
EjerformPrivat boligejerAndelsboligforening eller almen efter BBRVirksomhed eller landbrug (ex moms)
Motoren skal kunneDet den kan i dagFællesmåling som eksplicit antagelse, flade tage i rækkerFelt uden forbrug med nettilslutningspris efter afstand og kapacitetskort
Må sigesPotentiale for husstanden, årsenergiPotentiale ved fællesmåling, pr. ejendom og pr. boligGWh pr. hektar, kr. pr. MWh, andel med positiv nutidsværdi
Må ikke sigesAflastning af nettet, forsyningsudbudPr. lejlighed uden fællesmålingForsyningssikkerhed uden effekt i knaphedstimer, landstal uden nettilslutning

10. Filer og kommandoer (parcelhusstudiet)

Til studiesiden · Til forsiden