En kodefejl gav rød blok et mandat for lidt i DR's valgprognose

Plus3. november 2022 kl. 10:5226
Frederiksen
Illustration: Wikimedia Commons.
I koden til DR’s oversættelse af procenter til mandater var der i første omgang ikke taget højde for gammel lovparagraf, som i løbet af valgaftenen gav rød blok et mandat for lidt i valgprognoserne.
Artiklen er ældre end 30 dage

Stemmerne er gjort op, og valgresultatet står klart. Medregnes de nordatlantiske stemmer, står rød blok til at få 90 mandater, blå blok til 73 og de lilla Moderaterne får de resterende 16.

Resultatet er tæt og skabte spænding for alle valginteresserede, som fulgte stemmeoptællingen over aftenen og natten.

Men DR’s prognose for fordeling af mandater bidrog til at gøre aftenen en anelse mere spændende.

close
Gratis adgang i 30 dage
Tegn et gratis prøveabonnement og få adgang til alt PLUS-indhold på Version2 og Ingeniøren, helt uden binding eller betalingsoplysninger.

Alternativt kan du købe et abonnement.
remove_circle
remove_circle
Har du allerede et PLUS-abonnement eller klip?
Tak !
Vi har sendt en kvitteringsmail til .
Du bliver viderestillet til artiklen om få sekunder.
Dit medlemskab giver adgang
Som medlem af IDA har du gratis adgang til PLUS-indhold, som en del af dit medlemskab. Fortsæt med MitIDA for at aktivere din adgang til indholdet.
Oplever du problemer med login, så skriv til os på websupport@ing.dk
Abonnementsfordele
vpn_key
Fuld adgang til Version2 og Ingeniøren
Fuld digital adgang til PLUS-indhold på Version2 og Ingeniøren, tilgængeligt på din computer, tablet og mobil.
drafts
Kuraterede nyhedsbreve
Det seneste nye fra branchen, leveret til din indbakke.
Adgang til andre medier
Hver måned får du 6 klip, som kan bruges til permanent at låse op for indhold på vores andre medier.
thumb_up
Adgang til debatten
Deltag i debatten med andre kloge læsere.
26 kommentarer.  Hop til debatten
Debatten
Log ind eller opret en bruger for at deltage i debatten.
settingsDebatindstillinger
26
9. november 2022 kl. 19:18

Det er helt utroligt det her. Der diskuteres +- et mandat i en prognose. eet mandat ... Jeg synes det er imponerende de kan ramme så præcist.

Alt det andet om en måskemulig programmeringsfejl - who cares. Det var jo tæt på bullseye som man næsten kan komme. Det er tæt på en bullshit verbal infight :-)

Og så er det jo optællingen der er interessant. Det andet er jo kun underholdning til kaffen så vi kan få tiden til at gå med noget en mørk tirsdag aften i november måned.

god aften til alle

3
6. november 2022 kl. 13:06

Så vi alle kan lære:

  1. Var det specifikation / user stories der var mangelfuld?
  2. Manglede der acceptkriterier?
  3. Manglede der tests?
  4. Var det en kodefejl?

Det er let at give en eller anden programmør skylden, men det kan lige så vel være mangelfuld specifikation og/eller test.

2
3. november 2022 kl. 14:25

»Koden har basalt set glemt den lille regel - den regner ikke forkert,« siger Kasper Møller Hansen.

Jeg går da ud fra, at det er udviklerne/programmørerne, der har glemt reglen, ikke koden. Eller har DR en selvbevidst AI gående løs?

1
3. november 2022 kl. 11:55

Kodefejl eller dovenskab/sjusk? "Den der regel, den gider vi ikke programmere, for den kommer alligevel aldrig i brug, og det er alt for besværligt at skulle lægge ind"...

4
7. november 2022 kl. 13:45

Det er fuldstændig upassende at skyde udviklerne den slags i skoene, hvad baserer du din tese om dovenskab / sjusk på ?

6
7. november 2022 kl. 14:09

Jeg baserer det i øvrigt på dette:

"Det betød, at DR’s prognose i en periode underestimerede Socialdemokratiet med ét mandat. Først da 100 procent af stemmerne var talt op, blev DR’s resultatformidling på valgaftenen helt præcis.""- Det er jeg naturligvis meget ærgerlig over, vores prognose burde kunne tage højde for også denne særlige omstændighed, men her må vi erkende, at vi i et uhyre tæt valg har vist en unøjagtig prognose, siger chefredaktør i DR Nyheder, Thomas Falbe. Det er første gang, siden valgloven fra 1953 trådte i kraft, at denne regel for mandatfordeling er blevet taget i anvendelse, lyder det fra Kasper Møller Hansen, der er professor i statskundskab fra Københavns Universitet. Han forklarer:""- Procentberegningen i DR’s prognose var meget præcis fra omkring 40 procent optalte stemmer og stabil gennem hele aftenen, men den kunne ikke tage højde for en sjælden anvendt regel om fordelingen af kreds- og tillægsmandater, siger Kasper Møller Hansen."https://www.dr.dk/nyheder/politik/folketingsvalg/historisk-situation-gav-s-faa-mandater-i-prognose

I mine ører kunne det lyde af dovenskab/sjusk, fordi man ikke har forventet, at det ville blive nødvendigt at tage højde for. Det burde man have gjort.

7
7. november 2022 kl. 15:16

I mine ører kunne det lyde af dovenskab/sjusk, fordi man ikke har forventet, at det ville blive nødvendigt at tage højde for. Det burde man have gjort.

Jeg har kendt en del dovne programmører. INGEN af dem ville af dovenskab undlade at medtage en regel, de var bekendt med, selv om den er sjældent brugt.

Men den slags kan godt smutte igennem en afstestning. Ikke bevidst, men på grund af uoverskueligheden af problemet. Det ER vel ret beset en slags sjusk.

Erfarne dovne programmører er ikke nødvendigvis de ringeste.

8
7. november 2022 kl. 15:48

Jeg udtrykker mig måske forkert, jeg er ikke bekendt med hierarkiet i den slags. Det, jeg mener, er, at der et eller andet sted i beslutningskæden måske er en, der har besluttet, at det ikke var vigtigt at få den regel med i programmet, dvs. få den programmeret. Om det er programmøren, eller nogen højere oppe, ved jeg ikke. Men i en valgsituation er det en dårlig beslutning, efter min mening Det er for vigtigt til at springe over, hvor gærdet er lavest i den situation.

9
7. november 2022 kl. 16:05

Traditionelt er forløbet:

  • Specifikation (krav)
  • Design (Hvordan krav tænkes realiseret af it-løsningen)
  • Kodning og kodetest (programmering og lokal aftestning. Også gerne test på tværs i løsningen)
  • Evt. andre tests: Brugertests, Integrationstests, Performancetests, ...
  • Afleveringsprøve (Den endelige test før man lukker brugere ind)
  • Ibrugtagning (Nu virker det - måske)

Der kan snige sig fejl ind i hele kæden. Specifikationen kan være mangelfuld eller tvetydig. Design kan være mangelfuld. Test kan være mangelfuld. Kodning kan have fejl.

(I vore dage udtrykkes krav om muligt i små User Stories der specificerer én ting hver med tilhørende acceptkriterier der så kan muliggøre at man laver test-baseret udvikling og muligvis også kan ibrugtage enkelte features uden at alt er færdigt. Dette kan nedsætte risikoen ved at man ikke køre alt som big-bang. Det kræver, selvfølgelig, at opgaven meningsfyldt kan opbrydes i relativt selvstændige små-opgaver og - før jeg bliver slagtet - jeg ved godt denne parantes er en stærk forsimpling af moderne udvikling.)

5
7. november 2022 kl. 13:52

Det var bare en hypotese - andre har luftet samme mekanisme her på sitet i dag ift. sjældent forekommende situationer - "Det sker jo ikke, derfor ingen grund til at bruge kræfter på det".

Hvad er da dit bud?

10
8. november 2022 kl. 14:06

Mit bud er det er en kode fejl og ikke noget hverken mere eller mindre suspekt end det. At insinuere andet er helt uden for skiven, fordi du forestiller dig der ligger en anden form for konspiration bag så er sandheden helt sikkert meget simplere - og hvad i alverden skulle argumentet være for ikke at 'gide' implementere det ?? Sammenlignet med hvad der ellers må foregå af beregninger så er det jo verdens mindste kodestump en udvikler/projektleder/programleder/chef har besluttet at undlade.

11
8. november 2022 kl. 16:50

fordi du forestiller dig der ligger en anden form for konspiration bag så

Du godeste ... fordi jeg antyder dovenskab/sjusk, og i øvrigt på basis af DR's egen forklaring om en ekstremt sjældent brug regel, så ser du straks konspirationer? Jeg har vist trådt på en øm tå - Hvem er det mon, der er en sølvpapirshat?

Nå, det hele kommer vel for en dag en dag....

13
8. november 2022 kl. 20:16

Jeg har vist trådt på en øm tå

Tja, nok mere vores ære som programmører. Vi springer gerne over, hvor gærdet er lavest, men vi springer altså. ;-)

14
8. november 2022 kl. 22:24

Men I behøver da ikke føle jer truffet allesammen? Og slet ikke, fordi det vel næppe er en programmør, som har truffet en evt. beslutning om, at den regel bare er til besvær?

20
9. november 2022 kl. 10:16

Men I behøver da ikke føle jer truffet allesammen?

Når du angriber udvikleres/programmørers faglighed - jo. Vi har alle siddet på opgaver, hvor andre bagefter har siddet og kloget sig uden at kende alle detaljer.

21
9. november 2022 kl. 10:44

Jeg efterlyser jo netop alle detaljer. Jeg har på intet tidspunkt givet udtryk for, at det var programmørens/udviklerens fejl. DR har selv begrundet fejlen med, at det var en ekstremt sjælden forekommende situation. På hvilken måde begrunder det fejlen? Det er jo ikke i sig selv en forklaring, vel? Jeg er her for at lære...

Må jeg henvise til dette:

https://www.version2.dk/artikel/en-kodefejl-gav-roed-blok-et-mandat-lidt-i-drs-valgprognose#comment-1759232

Det er det, jeg taler som en mulighed.

For at jeg kan blive klogere: Hvem er det, der i en sådan situation sender nogen hjem, hvis de siger noget, man ikke ønsker at høre? Det er vel ikke programmøren/udvikleren?

22
9. november 2022 kl. 11:11

Kære Anne-Marie En prognose er en model af virkeligheden, ikke virkeligheden. Den kan være mere eller mindre nøjagtig. Eftersom man ikke har alle tallene er de vægtede på en eller anden måde, fordi de små valgsteder stemmer anderledes end de store byer, som bliver optalt sidst. Hør eventuelt genstart fra 28/10 (på DR). Problemet er for mig at se at journalister ikke får formidlet godt nok, at der er usikkerhed indtil det endelige resultat foreligger. Den bliver så mere sikker, som aftenen skrider frem. Jeg har med andre ord svært ved at se problemet, prognoser er kun en anelse mere sikre end de almindelige meningsmålinger

24
9. november 2022 kl. 12:20

Det er for mig at se en meget "spot on" konklusion.

23
9. november 2022 kl. 11:41

Kære Ellen Pedersen.

Tak for forsøg på at forklare mig det set fra programmørens/udviklerens synspunkt.

Ja, enig i, at journalisterne var for ukritiske først på aftenen. Når jeg har hæftet mig ved sagen, så er det fordi den - muligvis, vi ved det ikke - jo er en miniudgave af det, som ofte går galt i digitaliseringsprojekter/kontrakter. Det, som Maciej Szeliga ridser op i den kommentar, jeg linker til: At hvis man opfatter en hændelse som usandsynlig/sjælden, så er der en risiko for, at man oversætter dette til "ikke-eksisterende", når det aftales, hvad der skal bruges kræfter på. For kræfter er jo lig penge. Måske tager jeg fejl, men jeg tænker, at den afgørelse tages længere oppe i systemet, eller et andet sted i systemet, end på programmør/udvikler-niveau. Især fordi programmører/udviklere er gode til IT, men vel næppe er eksperter i valgloven?

Jeg forestiller mig følgende muligheder for, hvad der er gået galt:

  1. Nogen på højt niveau er af juristerne blevet gjort opmærksomme på, at der er denne sjældent anvendte regel, som bør indgå i aftalen om, hvad der skal leveres- at programmet skal kunne tage højde for denne specielle stemmefordeling. Nogen på højt niveau spørger: Hvad koster det, hvis vi skal have denne regel med i programmet? Nogen på højt niveau siger: Men den har jo aldrig været i brug, så det er spild af kræfter. Drop det.

  2. Nogen på lidt lavere niveau (jeg ved ikke, hvem det er) har fået besked på at programmere, inkl. denne regel, gemt i en lille sætning et eller andet sted. De overser den, eller vurderer, at det er for svært/umuligt at nå, og slet ikke vigtigt, så den springer vi over nu, og ordner det næste gang.

  3. Nogen på programmørniveau (dem, der skal gøre arbejdet - jeg ved ikke, hvor programmører og udviklere hører til i kæden) har for meget om ørerne, har sovet dårligt, er stressede, et eller andet, og taster et 0, hvor der skulle have været et 1 i ren distraktion/træthed.

Det er stort set kun mulighed 1, som interesserer mig. DR's egen forklaring giver et hint om, at det nok er her, fejlen ligger. Folk på højere beslutningsniveauer bør vide, at det godt kan være eksisterende og vigtigt, selv om det er sjældent. Resten er forståelige menneskelig fejl hos personer, som måske har for meget om ørerne. Nr. 2 er uheldig, men det kan ske i kampens hede. Det er farligt, hvis det faktisk er noget meget vigtigt, måske ligefrem kritisk.

Disse ting er symptomatiske for, hvorfor man skal trække det halve fra, når der loves guld og grønne skove via digitalisering. Det er min pointe.

Derfor håber jeg, at vi på et tidspunkt får en god forklaring: Hel banal menneskelig fejl, eller bevidst nedprioritering af noget, man opfatter som usandsynligt - selv om det faktisk er muligt. Det sidste kan være en lærestreg i, at også usandsynlige hændelser skal regnes med i business-casen, ellers kan det gå galt.

25
9. november 2022 kl. 17:58

Det er altid godt at tænke over opvasken: jeg har rigtig mange gange hørt undskyldningen med at det er en programmør fejl, uden at det egentlig var det. Måske er reglen om det ekstra mandat rent faktisk lagt ind, men fordi prognoser er dannet på baggrund af faktiske stemmetal og et kompliceret gæt på, hvordan resten har stemt, ja så er de usikre. Så vidt jeg har forstået er det omkring 500 stemmer, der giver S et ekstra mandat. Det er en meget lille forskel rent statistisk og så kan det være svært at gætte rigtigt. Jeg tror faktisk det er det, der er sket, for som jeg husker det, blev DRs prognose korrekt ganske kort tid før det endelige resultat. Så vidt jeg har kunnet finde ud af, har reglen været uændret i valgloven fra 1953. Når man laver algoritmer til valgprognoser og meningsmålinger starter man ikke forfra, dvs at der ikke er nogen, der ved det her valg har lavet en ny specifikation, så hvis reglen vitterligt mangler, så fortaber det sig i fortiden. hvorfor. Som gammel programmør ved jeg der kan være uendelig mange grunde til det. Jeg er meget enig i at den offentlige digitalisering er ved at køre af sporet, men de prognoser de laver i medierne er ikke digitalisering. Det er mere underholdning, reelt kan man ikke bruge det til noget, så jeg synes ikke du skal blande det sammen

15
8. november 2022 kl. 22:42

Men I behøver da ikke føle jer truffet allesammen? Og slet ikke, fordi det vel næppe er en programmør, som har truffet en evt. beslutning om, at den regel bare er til besvær?

Man er efterhånden enige om, at fejlen skyldes en anomalitet i fordelingen af kreds- og tillægsmandater, som beregningen ikke tog højde for.

Det er usandsynligt, at nogen skulle have taget en beslutning om at "den regel bare er til besvær". Specielt fordi at det ikke er en logik, der kræver komplekske beregninger.

Sagt på et rimeligt Occams Razor'sk. Hvis du hører lyden af hove, så tænk på heste i stedet for på zebraer

17
9. november 2022 kl. 06:53

Man er efterhånden enige om, at fejlen skyldes en anomalitet i fordelingen af kreds- og tillægsmandater, som beregningen ikke tog højde for.

Ja - det er der jo ingen, der bestrider. Men hvorfor tog beregningen ikke højde for det? En simpel kodefejl er hverken sjusk eller dovenskab. Det er bare en menneskelig fejl, der skal være plads til (men man har åbenbart ikke testet, om det virkede). At evt. springe bevidst over (ikke nødvendigvis en programmør) den regel er sjusk/dovenskab eller evt. uærlig business-case. Det er jo set mange gange før i IT-historien.

Beregn - Beregn ikke - Thats the Question...

Nå - verden står endnu...

18
9. november 2022 kl. 07:52

Ja - det er der jo ingen, der bestrider. Men hvorfor tog beregningen ikke højde for det?

Fordi det var en fejl. Så simpelt er dét.

19
9. november 2022 kl. 08:38

Nå, det er åbenbart forbudt at spørge, hvordan den fejl opstod...

Og hvorfor DR selv begrunder den med, at det var en aldrig forekommende situation...

Whatever.... nu gider jeg ikke mere...

16
9. november 2022 kl. 00:04

Og så var skaden faktisk meget begrænset. DR fik en misvisende præsentation af en løbende prognose. Det er sket før (jeg mindes noget med BESK, der skal have forudsagt revolutionen engang for længe siden).

Og hvis man kun hører lyden af én hov, så gør korsets tegn og fremsig Ave Maria meget hurtigt. Eller bare Apage Satanas!

Vi kom langt omkring.