Metode

Metode

Hvordan Den Åbne Bog indsamler data, beregner magtindeks og håndterer kilder — så journalister, forskere og nysgerrige borgere kan vurdere og citere værktøjet med åbne øjne.

01

Datakilder

Al data stammer fra offentligt tilgængelige kilder. Hver forbindelse og rolle i databasen har et source-felt der peger tilbage til oprindelsen.

Folketingets Åbne Dataoda.ft.dk

~1.950 politikere, ministre, udvalgsmedlemmer og stedfortrædere fra 2016 og frem

Det Centrale Virksomhedsregister (CVR)virk.dk

Virksomheder, bestyrelser, direktioner og CVR-numre — kernekilden til erhvervslivssiden

Fondsårsrapporter og fondswebsitesdirekte fra fondene

Fem nøglefonde: Novo Nordisk Fonden, Carlsbergfondet, Villum Fonden, Lundbeckfonden og A.P. Møller Fonden

Selskabsårsrapporter og erhvervspresse2024-2025

52 udvalgte topledere — C25-CEO'er, bestyrelsesformænd og principals i family offices

Wikidata og Wikimedia Commonswikidata.org

Portrætbilleder i det offentlige domæne, koblet via fuzzy name matching

02

Magtindeks — beregning

Magtindekset er et sammensat tal mellem 1 og 100 baseret på fire komponenter, som hver vægtes og summeres. Vægtene er valgt til at afspejle både formel position og uformel netværksposition.

KomponentVægt
Formel position30 %

Minister, formand, CEO, bestyrelsesformand osv. — udledt fra rolle-titler

Netværksposition30 %

Sammensat af betweenness (50 %), eigenvector (30 %) og degree (20 %)

Økonomisk kontrol20 %

Hybrid: 60 % bestyrelseshonorar (hvor data findes) + 40 % rolle-heuristik

Udvalgsindflydelse20 %

Antal og type af udvalgsposter — finansudvalget, europaudvalget m.fl. vægtes højere

Effektive vægte på de seks del-scores bliver dermed:

  • Position — 30 %
  • Gatekeeper (betweenness) — 15 %
  • Indflydelse (eigenvector) — 9 %
  • Forbindelser (degree) — 6 %
  • Økonomi — 20 %
  • Udvalg — 20 %

Vægtene er normaliseret til at summere til 100 %. Hver del-score normaliseres til 0–1 på tværs af alle personer (min-max), den sammensatte score normaliseres til 1–100. Beregningen køres hver gang ny data importeres.

Koden er åben: scripts/compute-analysis.ts. Del-scores gemmes individuelt på hver person for fuld transparens.

03

Forbindelsestyper i grafen

Netværket består af personer (noder) og forbindelser (kanter). Kanter har en type og en vægt — vægten indgår i netværks-beregningerne, så en fælles bestyrelsespost tæller stærkere end en fælles udvalgspost.

Bestyrelse3,0Fælles bestyrelsesmedlemskab i et selskab eller en fond
Familie2,5Kurateret manuelt fra offentlige kilder
Erhverv2,0Forretningsforhold afledt af roller (direktion, ejerskab)
Skole1,5Kurateret manuelt fra offentlige kilder
Politisk1,0Samme parti eller samme udvalg

Find forbindelse mellem to personer: /dashboard/sti er en delbar side der viser den korteste sti (max 6 trin) mellem to vilkårlige personer. Deep-link format: /dashboard/sti?from=X&to=Y. Brugbart til journalister der vil dokumentere en konkret kobling.

04

Klyngeopdagelse

Netværket opdeles i klynger via Louvain community detection — en algoritme der maksimerer modulariteten og finder grupper af personer der er tættere forbundet med hinanden end med resten af grafen. Klynger vises som farver i grafen og er ikke prædefinerede kategorier — de opstår af data.

05

Grænser og bias

En kortlægning er aldrig neutral. Her er de vigtigste begrænsninger i Den Åbne Bog, så du kan vurdere hvor langt konklusionerne rækker.

Data er ikke real-time

Importen køres manuelt og skemalagt. Nye ministre, bestyrelsesudskiftninger og CVR-ændringer kan have et par ugers forsinkelse.

Embedsværket er tyndt dækket

Kun 23 departementschefer er kortlagt. Øvrige styrelseschefer, rådgivere og embedsmænd indgår ikke systematisk.

Lobbyister mangler

Der findes ikke et offentligt dansk lobbyistregister. Brancheforeninger og interesseorganisationer er repræsenteret, men enkeltlobbyister er ikke systematisk dækket.

Fonde under editorial-tærsklen

Kun de fem største erhvervsdrivende fonde er inde. Mindre familiefonde og kulturfonde er ekskluderet fra første runde.

Familie- og skolenetværk er kuraterede

Disse forbindelser er tilføjet manuelt fra offentlige kilder — de er ikke udtømmende. Mangler en familierelation? Skriv til os.

Magtindekset er en model

Vægte, edge-typer og algoritme-valg er bevidste. En anden opskrift ville give en anden rangliste. Vi viser opskriften frem — den er ikke en sandhed, men et værktøj til at se mønstre.

Personer og små grupper der ikke er forbundet til hovednetværket, er filtreret ud af den visuelle graf for at undgå layout-støj. De er dog bevaret i databasen og kan ses på /dashboard/isolerede.

06

Kildeattribution

Hver forbindelse og hver rolle har et source-felt i databasen — fx “ft.dk”, “CVR”, “årsrapport 2024” eller “manuelt kurateret”. Det gør det muligt at føre enhver påstand tilbage til en konkret kilde.

100 %
Forbindelser med dokumenteret kilde
92 %
Roller med start- eller slutdato

Tallene opdateres live fra databasen. Målet er 100 % kildedækning for alle forbindelser.

07

Udforsk registret

Alle data er offentligt tilgængelige — ingen login, ingen paywall. Brug indekssiderne nedenfor til at browse direkte, eller ⌘K for at søge efter navn.

08

Offentligt API

Data er tilgængelige som read-only JSON via /api/v1/*. CORS-enabled — kan fetches direkte fra JS i browseren. Ingen auth, ingen API-nøgle. Fair-use forventes.

Selv-dokumenterende index med alle endpoints, parametre og response-format: /api/v1/index.

  • /api/v1/personsListe af personer med filtre (category, party, minPowerIndex, q)
  • /api/v1/persons/{id}Enkelt person med subScores, roller og forbindelser
  • /api/v1/organizationsListe af organisationer med filtre (type, q)
  • /api/v1/organizations/{id}Enkelt organisation med medlemmer og fondsdata
  • /api/v1/klyngerKlynger med størrelse og dominerende parti/kategori
  • /api/v1/klynger/{id}Enkelt klynge med medlemmer og organisations-overlap
  • /api/v1/statsSite-wide aggregater til 'om vores data'-blokke
  • /api/v1/searchUnified søgning på tværs af personer, organisationer og klynger
  • /api/v1/compareSammenlign to personer: delte roller, direkte forbindelser, klynge-overlap, magtindeks-delta
  • /api/v1/organizations/compareSammenlign to organisationer: delte bestyrelsesmedlemmer, fælles klynger, formue-delta
  • /api/v1/klynger/compareSammenlign to klynger: bro-forbindelser, kategori-distribution, medlemsoverlap
  • /api/v1/pathKorteste sti (max 6 trin) mellem to personer
  • /api/v1/digestAggregeret ugentligt/månedligt digest: top magt, seneste personer og forbindelser, klynge- og fondsstatistik
  • /api/v1/search/suggestLightweight typeahead-søg — max 5 hits, <100ms
  • /api/v1/isolatedIsolerede grupper filtreret fra hovedgraf — transparens
  • /api/v1/snapshotTop personer aktive i et givet år — data til tidslinje-slider
  • /api/v1/person-of-the-dayDeterministisk roterende dagens magtperson
  • /api/v1/randomTilfældig person til surprise-me UX
  • /api/v1/partyListe af partier med medlem-counts og magt-aggregater
  • /api/v1/party/{name}Enkelt parti-aggregat med top-medlemmer og klynge-fordeling
  • /api/v1/party/compareSammenlign to partier — top-medlemmer, delta, klynge-overlap
  • /api/v1/recent-changesMixed activity feed — seneste personer, roller, forbindelser
  • /api/v1/top-connectorsTop personer efter degree centrality (raw connection count)
  • /api/v1/network-statsGraf-topologi: density, avgDegree, k-core distribution, cluster stats
  • /api/v1/exportCSV-export for persons/organizations/klynger/connections/roles
  • /api/v1/person-matches/{id}Lignende personer — similarity-scored med explainable reasons

Versioneret: v1 ændres ikke uden version-bump. Kontrakten er stabil — byg trygt ovenpå. Feedback eller manglende felter til indi@denåbnebog.dk.

09

Indlejr i artikler

Tre kompakte iframe-venlige kort til indlejring i web-artikler. Zero-JS, mobilvenlige, og de fører tilbage til den fulde profilside når læseren klikker. Ingen cookies, ingen tracking.

  • /embed/person/{id}Person-kort med portræt, titel, parti, magtindeks og top-3 roller
  • /embed/klynge/{id}Klynge-sammendrag med medlemstal og top-5 personer
  • /embed/sti?from=X&to=YPath-chain visualisering mellem to personer

Eksempel-snippet:

<iframe
  src="https://den-aabne-bog.vercel.app/embed/person/{id}"
  width="400" height="540" frameborder="0"
  loading="lazy"></iframe>

Indlejring er tilladt overalt (X-Frame-Options: ALLOWALL, CSP frame-ancestors *). Embeds er markeret noindex — de konkurrerer ikke med primær-profilsider i Google.

10

Gem som PDF

Enhver profilside kan gemmes som PDF direkte fra browseren: tryk ⌘P (eller Ctrl+P på Windows) og vælg Gem som PDF. Vi leverer et dedikeret print-layout der skjuler søgefelt, navigation og interaktive widgets, og skifter til sort-på-hvid for maksimal læsbarhed.

Ingen server-PDF eksport, ingen tredjeparts-tjeneste — printet bruger din browsers egen rendering af HTML + CSS. Dermed følger PDF'en dit browser-sprog og typografi.

11

Abonnér på opdateringer

Vi eksponerer et RSS 2.0-feed over de seneste tilføjelser af personer og forbindelser. Velegnet til redaktører og journalister der vil følge med i realtid uden at tjekke manuelt.

  • /feed.xmlRSS 2.0 — seneste 50 personer + forbindelser på tværs af hele registret
  • /feed-folketinget.xmlKun politikere og folketingsmedlemmer
  • /feed-erhverv.xmlKun erhvervsledere og bestyrelsesmedlemmer
  • /feed-fonde.xmlKun fondsbestyrelser og fondsformuer
  • /feed-klynger.xmlKun klyngehændelser og medlemsskift

Feed-readers som Feedly, Reeder og NetNewsWire auto-discoverer feedet via <link rel="alternate"> i sidens <head> — besøg fx /folketinget og din reader opdager automatisk det relevante feed.

12

Rettelser og kontakt

Ser du en fejl, en manglende forbindelse eller en kilde der skal opdateres? Send en mail til indi@denåbnebog.dk. Alle rettelser bliver læst og vurderet. Vi foretrækker henvendelser med kildeangivelse.

Sidst opdateret: 30. maj 2026Et uafhængigt projekt — ikke tilknyttet nogen politisk organisation.