Mange institutioner, samme fejlklasser

Hvad denne side er: Regnebevis' sammenstilling og fortolkning af tolv motorgenererede analyserapporter — ikke selve analysen. Hver påstand nedenfor linker til den rapport, hvor belægget står, med cellereferencer. Rapporterne er skrevet af analyseværktøjet, deterministisk: samme ark ind, samme rapport ud.

Hen over sommeren 2026 har vi analyseret offentligt publicerede beregningsværktøjer fra myndigheder, ministerier, tilsynsorganer samt kommune- og brancheforbund i Norden, Storbritannien, EU og internationalt. Ikke for at pege fingre — men for at vise, hvordan ark ser ud, når de har levet nogle år, selv hos de mest gennemgåede institutioner i verden. Institutionerne nævnes kun som udgivere af offentligt materiale.

Tallene

15 analyserede værktøjer fra 13 institutioner. 7 af værktøjerne bar mindst ét kritisk fund. Hos 3 institutioner går den samme kontrolfejl igen — verificeret celle for celle.

Kritisk fund = et fund, som analysemotoren klassificerer i højeste alvorlighedsgrad: mønstre, der kan påvirke selve beregningsresultatet, ikke blot besværliggøre gennemgang.
Kontrolfejlen = en kontrolformel, der sammenligner ægte beregnede decimaltal med nøjagtig lighed. Hver instans er kontekstverificeret mod arket — sammenligninger af heltal, konstanter eller tautologier tæller ikke med (se ”Det, der blev strøget” nedenfor).
Tallene genereres maskinelt fra analysegrundlaget og skrives aldrig i hånden; i optællingen indgår også tre analyserede værktøjer uden kritiske fund, som ikke er publiceret som rapporter.

Kontrolfejlen: kontrollen, der ikke kan holde sit løfte

En kontrolcelle findes for at sige til, når noget ikke stemmer. Men en kontrol, der sammenligner beregnede decimaltal med nøjagtig lighed, kan slå alarm, selv om alt stemmer — eller tie, selv om noget er galt — fordi decimaltal beregnet ad forskellige veje sjældent bliver nøjagtigt ens på sidste bit. Den dag det sker, ser en korrekt udfyldt blanket forkert ud, eller omvendt. Det er konsekvensen, og den er betinget: intet fejludfald er påvist i nogen af arkene. Mekanismen derimod er observeret og cellerefereret:

Basel Committee on Banking Supervision — Basel III monitoring workbook

En banks udfyldte målebånd ville kunne få ”Fail” eller ”Please explain” af en kontrol, der regner rigtigt, men sammenligner forkert.

Mekanisme: fire celler på Securitisation-arket sammenligner beregnede kvoter med nøjagtig lighed — f.eks. P22/O22=0,15 i V22, hvor nævneren O22 selv er beregnet (M22−N22), og 0,15 ikke kan repræsenteres nøjagtigt binært. Fund F19; cellerne V22, V24, V29, T33.

Læs motorrapporten (på svensk) →

Upphandlingsmyndigheten (SE) — LCC-beregner 3.0

Kontrolcellen i alternativsammenligningen ville kunne vise FALSK, selv om beløbene stemmer — midt i værktøjet, der stiller op til fem alternativer ved siden af hinanden.

Mekanisme: cellen '2. LCC-kalkyl'!I66 sammenligner I68=I$63*(I64+I65) med nøjagtig lighed — begge sider er beregnede kronebeløb (antal × stykpris). Fund F19.

Læs motorrapporten →

MHCLG (UK) — NNDR1, business rates-blanketten

En billing authoritys indberetning ville kunne strande på en kontrol, der slår alarm ved næsten enhver gyldig værdi.

Mekanisme: 'Part 3'!S43 sammenligner det afrundede ROUND(G43*0,51;0) med det uafrundede G43*0,51 med nøjagtig lighed; 'Part 4'!H52 tester H31+H51=H31, hvor addition af små beløb til store kan absorberes stille. Fire instanser verificeret ud af otte flagede. Fund F19.

Læs motorrapporten (på svensk) →

Det, der blev strøget — verifikation begge veje

Motoren flagede lighedssammenligninger hos seks institutioner. Vi verificerede hver instans mod arket — og strøg dem, der ikke holdt til påstanden. Det er forskellen på et mønster og en anekdote:

EIOPA — stresstestskabelon 2021: et andet risikomønster, ikke samme fejl

Valideringsarkets kontroller (E66, E82) afrunder til heltal før sammenligningen — ROUND(G13;0)=ROUND(F13;0)−ROUND(D13;0). Heltalssammenligningen er immun over for decimalstøj, så den tæller ikke med i kontrolfejlen. Men afrunding før sammenligning er sit eget risikomønster: F13=1,4 og D13=0,9 balancerer nøjagtigt med G13=0,5 — alligevel bliver leddet 1−1=0, mens ROUND(0,5)=1, og kontrollen ville vise WARNING trods nøjagtig balance. Regnestykket følger af formlen.

Læs motorrapporten (på svensk) →

Strøget i øvrigt

TERESA (Transportministeriet) og takstskabelonen (Socialministeriet): lighedssammenligninger på årstal — heltal, hvor nøjagtig lighed er sikker. NNDR1: tre af otte flagede kontroller er tautologier, der sammenligner en celle med dens egen formel (kan kun slå alarm, hvis cellen er skrevet over), én sammenligner tomme celler. Alle blev strøget af optællingen; detaljerne står i de respektive rapporter og i gennemgangsgrundlaget.

Hvad det betyder

Ingen af institutionerne er dårlige til det, de laver. Det er pointen. Disse ark er bygget af kompetente mennesker, gennemgået af flere, og brugt i skarpe beslutninger — og alligevel bærer de mønstre som afrundingskæder, opslag med tilnærmet match, summer, der slutter rækken før dataene, hårdkodede konstanter og kontroller, der sammenligner forkert. Sådan ser regneark ud, når de har levet nogle år. Spørgsmålet er ikke, om jeres ark bærer de samme mønstre — men hvilke.

Og lige så vigtigt: en analyse som denne ser mønsterbrud, ikke fejl i hensigt. Hver rapport nedenfor har sit eget afsnit om, hvad analysen ikke ser.

Alle rapporter i korpusset