Så är prognosen byggd
En Bayesiansk poll-of-polls-modell för riksdagsvalet 13 september 2026, projicerad ner till 290 kommuner och 21 regioner. Det här dokumentet beskriver datan, modellen, vad modellen kan svara på och, viktigare, vad den inte kan svara på.
1. Översikt: tre lager
Prognosen byggs i tre steg. Varje steg är en separat implementation som kan revideras oberoende av de andra.
- Nationell prognos via en Bayesiansk state-space-modell som väger samman alla större opinionsmätningar. Output: en fördelning över de åtta riksdagspartiernas röstandelar på valdagen.
- Geografisk projicering till kommun- och region-nivå genom att lägga lokala avvikelser från riksgenomsnittet 2022 ovanpå den nationella prognosen.
- Mandatallokering via modifierad Sainte-Laguë på varje av cirka tusen simulerade utfall, vilket ger sannolikheter för spärrpassering och koalitionsmajoriteter.
2. Datakällor
| Data | Källa | Användning |
|---|---|---|
| Opinionsmätningar | MansMeg/SwedishPolls (publika polls från Novus, Sifo/Verian, Demoskop, Indikator, Ipsos, m.fl.) | Input till den nationella modellen, fönster 24 månader bakåt |
| Riksdagsvalresultat 2002-2022 | Valmyndigheten | Bakgrund för σ_e-kalibrering och prior-skalning |
| Kommunalvalsresultat 2022 per kommun | Valmyndigheten | Baseline för geografisk lean i kommun-vyn |
| Regionvalsresultat 2022 per region | Valmyndigheten | Baseline för geografisk lean i region-vyn |
| Valkretsindelning 2022 | Valmyndigheten (fasta valkretsmandat) | Bestämmer 2 procent- eller 3 procent-spärr per kommun |
| Folkmängd per kommun 2024 | SCB | Befolkningsvägning av nationella aggregat |
| Kommunstyren 2022-2026 | Kolada (SKR) med Wikipedia-komplettering | Visas i drilldown som "Idag styrs av...", påverkar inte prognosen |
3. Nationell prognos
Den nationella modellen är en flerpartiers dynamisk linjär modell
med multivariat random walk på den latenta opinionsnivån. Den körs i
Stan via cmdstanpy. Den specifika varianten heter
variant_A_alt2.stan.
Latent state
För varje av T dagar i ett 24-månaders-fönster bakom valdagen modelleras opinionen som en latent vektor α_t med åtta komponenter (en per parti utom Övriga, som tjänar som baseline). α följer en multivariat random walk:
α_t = α_{t-1} + ε_t, ε_t ~ Normal(0, Σ)
Kovariansmatrisen Σ är dekomponerad i standardavvikelser σ_walk (Half-Normal(0, 0,1) per komponent) och en korrelationsmatris med LKJ(1) prior. LKJ(1) är uniform över korrelationsmatriser och låter data styra. Initialvärdet α_1 har en svag prior Normal(0, 2). De latenta variablerna transformeras till simplex (röstandelar som summerar till 1) via softmax.
House effects (β_mu)
Varje institut har en systematisk avvikelse per parti, ett "house effect". Modellen skattar β_mu per (institut, parti) som Normal(0, σ_β_mu) där σ_β_mu ~ Half-Normal(0, 0,05). För identifierbarhet appliceras två mjuka sum-to-zero-restriktioner: per institut summerar dess effekter över partier till nära noll, och per parti summerar effekterna över institut till nära noll. Den senare restriktionen är konservativ: den antar att branschens kollektiva bias per parti är ungefär noll, vilket Tryggvason 2022:8 visar inte stämmer perfekt för V (överskattat) och S (underskattat). Vi accepterar approximation tills vi har tillräcklig data för bättre alternativ.
Design effects (β_sigma)
Olika institut har olika brus i sina mätningar utöver den rapporterade standardfelet. Modellen skalar varje polls rapporterade σ med en multiplikativ faktor exp(β_sigma) per institut. β_sigma ~ Normal(0, σ_β_sigma) där σ_β_sigma ~ Half-Normal(0, 0,5).
Forecast error (σ_e)
Vid forecast-tidpunkten (valdagen) adderas en additiv error-term till prognosen: ett extra brus utöver vad random walk plus house effects fångar. Det här är samma teknik som Stoetzer m.fl. 2018 använder och citerar från Hanretty, Lauderdale & Vivyan 2016. Värdet är förkalibrerat externt till 0,0145 (1,45 procentenheter på proportionsskala). Den siffran kommer från ett LOO-experiment över fyra svenska val där σ_e har skattats från historisk diskrepans mellan polls och valresultat.
Vad κ-termen är (och varför vi tog bort den)
En tidigare modellvariant inkluderade en "industry bias"-term κ_p
(gemensam bias över alla institut per parti). Empirisk diagnostik
visade att κ absorberar variation som β_mu redan fångar utan
strukturell broms, vilket ledde till instabila skattningar för
småpartier och Övriga. För ett enkelt 24-månadersfönster är κ
identifieringsmässigt redundant. Vi tog bort den.
Detaljer i MODEL_LESSONS.md (2026-05-20).
Metodbrytningar för institut
- Demoskop före och efter 1 november 2019: före fusionen med Inizio var Demoskop telefonbaserad. Efter fusionen blev panelen webbaserad (Iniziopanelen). De behandlas som två separata institut i modellen.
- Sifo → Verian, februari 2023: Sifo bytte till enbart webbpanel och namnändrades senare till Verian. Hanteras som metodregim-dummy.
- SCB före och efter maj 2015: SCB gick från enbart telefon till blandad insamling telefon plus webb i maj 2015. Pre- och post-2015-SCB är två separata institut i modellen.
- Demoskop sista 30 dagar exkluderas: post-fusion-Demoskop-mätningar inom 30 dagar före valdagen exkluderas från modellen, eftersom Demoskop själva dokumenterar att deras mätningar kalibreras mot historiska valresultat när det närmar sig val. De är då inte längre oberoende observationer av latent opinion.
Sampling
Två MCMC-kedjor med 1000 warmup plus 500 sampling vardera, totalt 1000 posterior-samples. Tuning: adapt_delta=0,9, max_treedepth=12. Output är en posterior-fördelning över röstandelar per parti och dag. UI:n läser de tusen samplen direkt.
4. Geografisk projicering
Modellen producerar nationella röstandelar, men användaren vill ofta se sin kommun eller region. Vi projicerar ner till lokal nivå genom en naiv lean-formel:
pred(geografi, parti) = riks_idag(parti) + lokal_lean_2022(geografi, parti)
där lokal_lean är skillnaden mellan kommunens (eller regionens) röstandel 2022 och riksgenomsnittet 2022. Antagandet: lokal avvikelse från riket är stabil mellan val.
Tre val på samma valdag
Den 13 september 2026 håller Sverige tre val samtidigt. Modellen är en riksdagsvalsmodell. För region- och kommunvyerna använder vi motsvarande valresultat 2022 som baseline:
- Kommunvy: baseline är kommunalvalsresultatet 2022. Visar "om val vore idag, hur röstar kommunen i kommunalvalet".
- Regionvy: baseline är regionvalsresultatet 2022. Visar "om val vore idag, hur röstar regionen i regionvalet".
- Riksvy: direkt från modellen, "hur röstar Sverige i riksdagsvalet".
Split-ticket-antagandet: när vi använder 2022 års kommunvalsresultat som baseline antar vi att skillnaden mellan riksdagsröst och kommunalvalsröst (samma väljare som röstar olika i de tre valen) bestås till 2026. Det är en stark antagande och omöjligt att verifiera utan att vänta till valdagen. Lokala väljarbarometrar kommer kunna kalibrera detta framöver men är inte ännu integrerade i modellen.
Region är inte ett aggregat av kommuner
En tidigare iteration av UI:n aggregerade kommunprognoser folkmängdsvägt till region-nivå. Det är arkitektoniskt fel: regionvalet är ett eget val med egna lokala lean och egen politik. Numera behandlas region som en egen geografisk enhet med regionvalsbaseline 2022. Kommunsumma och regionsumma kan därför avvika från riksgenomsnittet — det är inte en bugg, det är korrekt hantering av split-ticket.
5. Spärr per valnivå
Vallagen sätter olika spärrar för olika val. Modellen tillämpar dem per nivå:
| Val | Spärr | Per geografi |
|---|---|---|
| Riksdagsval | 4 procent | Nationellt (12 procent-undantaget i en valkrets tillämpas inte i modellen) |
| Regionval | 3 procent | Per region (alla 21 regioner är en valkrets) |
| Kommunval (enkretskommun) | 2 procent | 273 av 290 kommuner |
| Kommunval (flerkretskommun) | 3 procent | 17 av 290 kommuner |
De 17 flerkretskommunerna är de största: Stockholm, Linköping, Karlskrona, Borås, Haninge, Täby, Nacka, Kalmar, Malmö, Trelleborg, Kristianstad, Varberg, Trollhättan, Örebro, Sundsvall, Örnsköldsvik och Umeå. Data hämtas från Valmyndighetens officiella tabell "Antal fasta valkretsmandat 2022".
6. Mandatfördelning
För varje av de tusen posterior-samplen kör vi modifierad Sainte-Laguë med första delaren 1,4 (standard svensk modell). På riksnivå allokeras 349 mandat med 4 procents spärr. På lokal nivå räknas möjliga koalitioner via samma princip, men med relevanta spärrar per geografi.
Koalitionssannolikheter
För varje sample räknar vi om varje koalition (Tidö, Rödgrön, Rödgrön plus C, ren Allians, S plus M, m.fl.) når majoritet (175 mandat på riksnivå, eller motsvarande absolut majoritet i regional- och kommunfullmäktige). Sannolikheten är andelen av samplen där koalitionen vinner. Detta är vad koalitionsbandet under kartan visar.
Minimal vinnande koalitioner i drilldown
För kommun- och regiondrilldown visar vi de minimala vinnande koalitionerna: kombinationer som når 50 procent där inget mindre delsubset av samma koalition redan når 50 procent. Detta är ett standardbegrepp inom koalitionsteori och eliminerar redundanta större grupperingar. Vi gör ingen politisk filtrering på lokal nivå eftersom lokala koalitioner ibland bryter riksmönster (Sölvesborgsmodellen, S plus M-koalitioner, lokalpartier som vågmästare).
7. Verifiering och backtest
Modellen är backtestad mot fyra svenska riksdagsval: 2010, 2014, 2018 och 2022. För varje val körs modellen med polls fram till valdagen (24 månader bakåt), den lämnar det aktuella valets resultat utanför som testpunkt. Beslutskriteriet är pre-specificerat med fyra dimensioner, alla måste uppfyllas:
- 90 procents CI coverage: minst 26 av 32 par-värden (4 val × 8 partier) har faktiskt utfall inom 90 procents credible interval.
- Multivariat log score och RMSE: variant A:s median log score och RMSE per parti måste båda vara strikt bättre än naiv C-loess-baseline i minst tre av fyra backtests.
- Sainte-Laguë blockmajoritet: medianprognosen ger korrekt blockvinnare i alla fyra backtests, och 90 procents CI inkluderar faktiskt utfall i alla fyra.
- Spärrpassering: för parti som korsade spärren får modellen minst 60 procents sannolikhet pre-val. För parti som missade högst 40 procent.
Variant A_alt2 klarar alla fyra dimensioner. σ_e värdet 0,0145 är något konservativt (LOO-experiment landade på 0,012-0,014 över de fyra backtests, median 0,012) men inom samma storleksordning.
8. Begränsningar
Det finns saker modellen inte vet, och det är viktigt att vi är ärliga om dem.
Lokala mätningar är inte integrerade
Vi har lokala opinionsmätningar publicerade i lokaltidningar (Mittmedia, NWT Media, Gota Media, Sydsvenskan med flera) men de är ännu inte integrerade som Bayesiansk uppdatering av lokal lean. Det är ett pågående arbete. När det är klart kommer prognosen för kommuner med färska mätningar att vara mer exakt än naiv lean.
Split-ticket kan drifta
Vi antar att 2022 års split-ticket-mönster (skillnaden mellan riksdagsröst och kommunal- eller regionvalsröst) bestås till 2026. Det är inte verifierbart utan separata kommun- och regionvalsmodeller, vilka vi inte har byggt. Antagandet är rimligt för korta perioder men osäkert över en hel mandatperiod.
Lokalpartier renormaliseras bort
Modellens åtta partier täcker alla riksdagspartier men inte lokala partier. För kommuner där lokalpartier får en stor del av rösterna (Hagfors, Knivsta, Sölvesborg och ett fyrtiotal andra) blir blockmajoritetsberäkningarna på rikspartirösterna inte detsamma som blockmajoritet i fullmäktige. UI:n flaggar kommuner där lokal partiandel är minst 10 procent, men prognosen renormaliserar fortfarande till 100 procent på rikspartibasen.
Vi predikterar inte vem som faktiskt styr
En koalitionsmajoritet på papperet är inte detsamma som ett faktiskt regeringssamarbete. KD säger nej till SD i vissa kommuner, S tar in C för att spräcka block, lokala personrelationer dominerar. Modellen visar matematiska möjligheter, inte politiska realiteter. Drilldown visar dagens faktiska styre som kontext.
12-procent-undantaget i en valkrets
Riksdagens spärr på 4 procent har ett undantag: ett parti som får
minst 12 procent i en enskild valkrets kommer in även utan 4 procent
nationellt. Detta tillämpas inte i modellen eftersom inget parti
har varit i närheten av 4 procent nationellt utan att också nå 12
procent någonstans. Undantaget är dokumenterat i
BIAS_CATALOG.md som "ej i scope för fas 2".
9. Referenser
Modellen är byggd på fyra peer-reviewed eller akademiska referenser plus en svensk SOTA-implementation:
- Stoetzer, Neunhoeffer, Gschwend, Munzert, Sternberg 2018, "Forecasting Elections in Multi-Party Systems: A Bayesian Approach Combining Polls and Fundamentals", Political Analysis.
- Heidemanns, Gelman, Morris 2020, "An Updated Dynamic Bayesian Forecasting Model for the US Presidential Election", Harvard Data Science Review (The Economist 2020-modellen).
- Hanretty, Lauderdale, Vivyan 2016, "Combining National and Constituency Polling for Forecasting", Electoral Studies. Använd som inspiration för hur lokala mätningar kommer integreras.
- Linzer 2013, "Dynamic Bayesian Forecasting of Presidential Elections in the States", JASA.
- Tryggvason 2022:8, "Opinionsundersökningarnas träffsäkerhet inför valen 2002 till 2022", Valforskningsprogrammet, Göteborgs universitet. Empirisk grund för institut-bias-skattningar.
- Bergman & Holmquist 2014, "Poll of Polls: A Compositional Loess Model", Scandinavian Journal of Statistics. Baseline för backtest-jämförelse.
- MansMeg/Ada (Måns Magnusson, Uppsala universitet). Svensk SOTA poll-of-polls referensimplementation. Vi har läst men inte replikerat direkt.
10. Källkod och spårbarhet
Modellen, geografilagret och UI:n är öppen källkod. Centrala filer:
model/stan/variant_A_alt2.stan— Stan-modellenscripts/forecast_2026.py— sampling-pipensrc/predictor/stan_data.py— databyggnad och methodology breakssrc/predictor/sainte_lague.py— mandatfördelningscripts/live_today_forecast.py— kommunal projiceringkart_pipeline/04_build_v2_data.py— geo-data till UIweb/app.js— karta, drilldown och koalitionsband
Varje statistiskt val är motiverat i kod-kommentar och i de
PM-dokument som ligger i repot (BRIEF.md, PM_FAS0.md,
PM_FAS2.md, MODEL_LESSONS.md, docs/geo_pipeline.md,
docs/sparr_policy.md).