Metodologi

Modell, datakällor och validering

En statistisk modell, inte en chatbot. Det här dokumentet beskriver vad Livsbana räknar, vilken data den vilar på, hur resultaten valideras mot verklig lönespec-data, och var modellens begränsningar går.

Översikt

Livsbana är en Monte Carlo-simulering av en svensk individs ekonomiska livsbana från 18 till 70 års ålder. För varje livsbana körs 10 000 oberoende trajektorier med deterministisk seedning per (master_seed, livsbana-id), vilket gör samma input byte-identiskt reproducerbar över återkörning. Resultatet redovisas som percentilband (P10, P25, P50, P75, P90) av disponibel inkomst, ackumulerat sparkapital och tjänste­pensionskapital, år för år.

Den är inte en finansiell rådgivare. Sjukdom, separation, branschdöd, barn, arvoden, fastighetsköp och kapitalvinstskatt vid uttag ligger utanför modellens omfång idag.

Tänkt för dig som vill se hur ett centralt val — yrke, ort, sparande — spelar ut sig statistiskt över ett arbetsliv, snarare än som en enskild punktprognos.

Datakällor

Modellen vilar på fem primära externa datakällor. Samtliga är offentliga (SCB och Riksbankens data är CC0 / öppna data), skatte- och pensionsvärden hämtade 2026-04-30 och löne- respektive ränte­data uppdaterade 2026-06-17, och dokumenterade tabell-för-tabell i docs/DATA-SOURCES.md.

  • SCB lönestrukturstatistik, hela ekonomin 2025 (referensår 2025, publicerad 2026-06-16) — medianmånadslön per 4-siffrig SSYK 2012-kod, samtliga sektorer, kön totalt. Sedan engine v0.21 täcker modellen hela SSYK 2012 (~429 yrkesgrupper), inte längre ett 32-koders urval. Per kod bakas medianen (PxWeb-tabell LoneSpridSektYrk4AN), en åldersprofil (LonYrkeAlder4AN) och en tvärsnitts-σ ur P10/P90-spridningen. Yrkesgrupper SCB hemlighåller för litet urval faller tillbaka på den publicerade 3-siffriga yrkesgruppens median (AM0110B), flaggat och loggat — aldrig en nolla eller en gissad siffra. För SSYK 2221 finns dessutom separata privat/offentlig-kurvor (2024 års vintage) — se Sektorsindelad lönedata nedan. SCB.
  • Riksbankens reporänta (Swea open data, serie SECBREPOEFF) — daglig historik tio år tillbaka, månadsresamplad och AR(1)-kalibrerad för bolåneräntan i bostadsmodulen. Senaste observation 2026-06-17 (nivå 1,75 %). Se Bolåneränta nedan. Riksbanken.
  • Skatteverket — belopp och procent inkomstår 2026 — skiktgräns för statlig skatt (643 000 kr), grundavdrag (5-segment piecewise), jobbskatteavdrag (4-segment piecewise), ISK-schablonintäkt (3,55 %, vilket ger effektiv skatt 1,065 % årligen). Skatteverket.
  • SKR/SCB — totala kommunala skattesatser 2026 (uppdaterad 2025-12-15) — alla 290 svenska kommuner med primärkommun + region exkl. begravningsavgift. Lund kommun (kod 1281, total 32,42 %) är inkluderad sedan v0.4 och används direkt i demobanan Jurist Lund sedan v0.7. Nästa uppdatering: december 2026 för räkenskapsåret 2027. SCB.
  • CSN — studiemedel läsår 2025/26 — används som disponibel kassaflöde under utbildnings­åren. Cirka 130 000 kr/år (bidrag + lån, 40 veckor). Engine v0.7+; se sektionen Inkomster under utbildning (CSN) nedan. CSN.
  • Pensionsmyndigheten / regeringen — basbelopp 2026 — inkomstbasbeloppet (IBB) 83 400 kr, fastställt 2025-11-06 baserat på inkomstindex 228,08. Pensionspremie­strukturen för sju kollektivavtal är hämtad från respektive avtals­förvaltare (Collectum, Fora, SKR/Sobona, SPV). Pensionsmyndigheten.

Simuleringsmodellen

Engine kör 10 000 oberoende trajektorier för varje livsbana. Varje trajektori utvecklar parallellt fem tillståndsvariabler över 53 år (ålder 18–70): lön, anställningsstatus (jobb-Markov, se nedan), aktiemarknads­avkastning, inflation och — vid planerat bostadsköp — reporäntan. Sluttillståndet är ett livslångt utfall för disponibel inkomst, ackumulerat kapital, tjänste­pensions­kapital, allmänt pensionskapital och bostadens egenkapital. Aggregering sker över de 10 000 utfallen till percentilbanden (P10/P25/P50/P75/P90 — riktiga sample-percentiler, inte interpolerade).

Alla belopp är i fasta priser (2025/2026 års penningvärde). Nominella storheter — aktieavkastning, bolåneskuld, depåskattens vinstbas — deflateras med den simulerade inflationen per trajektoria och år, så att inflations­osäkerheten bärs av utfallen i stället för att gömmas i enheten.

Personlig förankring (valfri). Anger du nuvarande ålder, månadslön och sparkapital förankras simuleringen i din faktiska situation: lönenivån låses med en persistent kvot mot yrkesmedianen (ligger du 20 % över medianen idag antas du i förväntan fortsätta göra det), kapitalet ersätts vid förankringsåret, och osäkerhets­solfjädern öppnar sig från idag i stället för från 18. Åren före förankringen simuleras som populationen — de visar hur personer som du brukar ha tagit sig hit, inte din historik.

Lön — AR(1)-process kring SCB-medianer

För varje år beräknas medianlönen för aktuell SSYK-kod och ålder genom linjär interpolation över SCB:s åldersband. Kurvan är median­förankrad: nivån sätts av den publicerade medianen (alla åldrar) för koden, och ålders­profilen kommer från SCB:s medel­lön-per-åldersband (antagandet är att kvoten median/medel är åldersoberoende — en dokumenterad approximation som håller absolutnivån på den publicerade medianen). Idiosynkratisk löneosäkerhet adderas via en första­ordnings autoregressiv process:

Formel · AR(1)
residuallön[t] = φlön · residuallön[t−1] + σlön · ε[t]
arslön[t] = (median[ålder] + residual[t]) · sysselsättningsgrad
φlön persistens (0,85)σlön tvärsnitts-σ per yrkeε standardnormal

Persistensen φ_lön = 0,85 är vald så att individuella löneavvikelser från medianbanan består flera år (en ovanligt välbetald 30-åring tenderar fortsätta vara det som 35-åring). Tvärsnitts-σ per yrke härleds ur SCB:s publicerade P10/P90-spridning (σ ≈ (P90 − P10) / 2,5631) och dokumenteras i DATA-SOURCES.md. Engine v0.6.0 multiplicerar lönen med sysselsättningsgrad [0,10–1,00] för att modellera deltidsanställning.

Aktiemarknad — regimväxlande modell

Den årliga aktieavkastningen genereras från en två-tillstånds Markov-modell över lugn och kris. Övergångs­sannolikheterna är P(lugn → lugn) = 0,92 och P(kris → kris) = 0,55, vilket ger en stationärfördelning på ungefär 85 % lugn / 15 % kris. Under lugn regim är förväntad avkastning μ = 7 % med σ = 15 %; under kris μ = −5 % med σ = 35 %. Värdena är valda för att grovt matcha en två-tillstånds-anpassning mot OMXS30 månadsdata 2000–2025 — perioden inkluderar dot-com, finanskrisen 2008, eurokrisen, covid-kraschen 2020 och 2022 års nedgång. Parametrarna är modell­antaganden, inte formellt ekonometriskt skattade. OMXS30-totalavkastning är en nominell serie; motorn deflaterar avkastningen per år med den simulerade inflationen innan den appliceras på kapital och pension. Långsiktig real avkastning blir därmed ≈ 3 %/år — medvetet konservativt mot långa historiska realavkastnings­snitt kring 5 %.

Inflation — AR(1) kring 2 %-mål

Inflationen följer en första­ordnings autoregressiv process med ankarpunkt vid Riksbankens 2 %-mål. Persistens φ = 0,6 matchar grovt empirisk autokorrelation i KPI-månadstal 2000–2025. Korrelations­ledet INFLATION_CRISIS_CORR = 0,4 skiftar inflation uppåt under aktiekris­regim — modellen försöker fånga utbudskris­samband av typen olje­prischock 2022.

Inflationen konsumeras på tre ställen: den deflaterar de nominella aktieavkastningarna till reala, den eroderar den nominella bolåneskulden i realtermer (en central del av bostadsköpets ekonomi — "inflationen betalar en del av lånet"), och den prissätter depåskattens nominella vinstbas (skatt på nominell vinst gör depå dyrare än ISK vid normal inflation, precis som i verkligheten).

Bolåneränta — AR(1) kring reporäntan

För livsbanor med modellerat bostadsköp simuleras bolåneräntan som reporäntan plus en konstant bankmarginal. Reporäntan följer en mean-reverting AR(1)-process. Parametrarna kalibreras månadsvis på Riksbankens reporänteserie (tio år bakåt, sista observationen per kalendermånad) och konverteras sedan till årsfrekvens för simuleringens års­steg:

Formel · reporänta AR(1)
repo[t] = m + φår · (repo[t−1] − m) + σår · ε[t]
bolåneränta[t] = max(0, repo[t] + marginal)
start repo = aktuell reporänta 1,75 %m långsiktigt medel ≈ 3,34 %φmån 0,9923 → φår ≈ 0,91marginal 1,8 pp

Månadsfrekvensen är medveten: policy­räntan är sticky dag-till-dag (daglig φ ≈ 0,9996 — degenererad som prognos­modell), men rör sig vid Riksbankens räntemöten, vilket en månads-AR(1) fångar. Det höga månads-φ (0,9923) speglar att svenska ränte­cykler är 4–7 år långa; efter konvertering till årssteg (φ_år = φ_mån¹²) blir persistensen ≈ 0,91, så räntan mean-reverterar mot sitt långsiktiga medel över ett par decennier i stället för att frysa vid dagens nivå. Banken antas ta ut en konstant marginal på 1,8 procentenheter ovanpå reporäntan (hand­kurerat mot SBAB:s historiska bolåne­marginal). Räntan driver amortering, ränteavdrag och real skulderosion i bostadsmodulen; de tre demo­banorna har inget bostads­köp och påverkas därför inte. Reporänte­serien re-bakas vid varje data­revision — kalibreringen och deltat dokumenteras i DATA-SOURCES.md.

Arbetslöshet — regimkopplad jobb-Markov

Varje arbetsför år utvecklas en anställningsstatus: risken att förlora jobbet är 2,5 %/år i lugn regim och 8 %/år i krisregim — samma regim som sänker portföljen höjer alltså risken att lönen ersätts av a-kassa, vilket är modellens viktigaste samvariation. Återanställnings­sannolikheten är 55 %/år. Arbetslösa år ersätts lönen av a-kassa: 80 % av tidigare lön upp till inkomsttaket 34 000 kr/mån (2025 års omläggning av arbetslöshets­försäkringen), beskattad som förvärvsinkomst utan jobbskatteavdrag, utan tjänstepensionspremie men pensionsgrundande för allmän pension. Parametrarna är stiliserade (kalibreringsmål: stationär arbetslöshet ≈ 4–6 % mot AKU:s 7–8 % som även inkluderar grupper utanför modellens anställda-pool) och differentieras inte per yrke ännu — yrkesspecifik arbetslöshetsrisk är dokumenterat framtida arbete.

Skattemodell

Modellen tillämpar Sveriges 2026 års skatteregler för förvärvsinkomst och kapital­inkomst. Engine räknar varje år:

  • Kommunalskatt — exakt sats för vald kommun (primärkommun + region, exkl. begravningsavgift). 290 kommuner i tabellen, samtliga från SCB:s officiella publicering 2026.
  • Statlig inkomstskatt — 20 % på beskattningsbar förvärvsinkomst som överstiger skiktgränsen 643 000 kr (2026).
  • Grundavdrag — 5-segment piecewise-funktion ankrad på Skatteverkets 2026-tabell.
  • Jobbskatteavdrag — 4-segment piecewise- funktion med tak vid skiktgränsen.
  • ISK-schablonskatt — 1,065 % årligen på ISK-kapital som överstiger fribeloppet 300 000 kr per person (höjt från 150 000 kr 2025; gäller från inkomst­år 2026). Schablon­intäkten 3,55 % beräknas som max(SLR + 1 pp, 1,25 %) där SLR per 2025-11-30 är 2,55 %; effektiv skatt 30 % × 3,55 %. Effekten tas ut före årets sparande adderas.
  • Depåskatt — den andel av kapitalet som inte ligger på ISK beskattas med 30 % på årets positiva nominella avkastning (årlig-realisations- approximation: överskattar skatten något för buy-and-hold, där uppskjuten reavinst är en räntefri kredit). Att skatten träffar nominell vinst — inklusive ren inflations- kompensation — är det som gör depå dyrare än ISK vid normala nivåer.

Modellen tar inte hänsyn till: egenavgifter för näringsidkare, fordons­skatt, arvs- och gåvoskatt (avskaffad) eller förmögenhets­skatt (avskaffad). Fastighetsavgift och ränteavdrag modelleras i bostadsmodulen; depåkapital beskattas enligt punkten ovan. Engine v0.4.0 inkluderade en revision av samtliga skattedata mot Skatteverkets publicerade 2026-tabeller — alla P0/P1/P2- avvikelser åtgärdades. Detaljer i DATA-SOURCES.md.

Pension

Engine modellerar tjänstepensionspremie per kollektivavtal. Dispatchen sker i crates/engine/src/pension.rs. Sju avtal stöds:

  • ITP1 och SAF-LO — privat sektor (tjänsteman respektive arbetare). Avgiftsbestämda. Premie 4,5 % under 7,5 IBB, 30 % över.
  • AKAP-KR — kommun/region, anställd från 2014. Avgiftsbestämd. Premie 6,0 % under 7,5 IBB, 31,5 % över.
  • PA 16 avd 1 — statligt anställd, född från 1988. Avgiftsbestämd. Samma 6,0 / 31,5-struktur som AKAP-KR.
  • ITP2, KAP-KL, PA 16 avd 2 — dessa tre är i verkligheten förmånsbestämda för delar av ålderspensionen. Engine v0.6 modellerar dem som avgiftsbestämda approximationer av sina avgifts­bestämda motsvarigheter (ITP2 ≈ ITP1, KAP-KL ≈ AKAP-KR/4,5-30, PA 16 avd 2 ≈ PA 16 avd 1). Den fulla förmånsbestämda formuleringen är dokumenterad som framtida arbete.

Tjänstepensions­kapitalet växer årligen med samma (deflaterade) aktie­avkastning som det privata sparandet — vi modellerar inte separata fondval inom premiepensions­systemet eller avtalspensions­förvaltarens fond­erbjudande.

Allmän pension

Utöver tjänstepensionen ackumulerar varje trajektoria allmän pension: pensionsgrundande inkomst (PGI) är 93 % av förvärvsinkomsten — lön och a-kassa — takad vid 7,5 inkomstbasbelopp (625 500 kr 2026). Av PGI går 16 % till inkomstpensionens notionella konto och 2,5 % till premiepensionen. Inkomstpensionen räknas upp med inkomstindex, som följer genomsnittlig real löneutveckling — i modellens värld 0 % realt (lönekurvorna är fasta tvärsnitt), vilket är internt konsistent men konservativt mot en framtid med positiv reallönetillväxt. Premiepensionen förräntas med den deflaterade aktieavkastningen.

Grundskyddet modelleras inte: garantipension och bostadstillägg saknas, vilket underskattar pensionsinkomsten för låglönebanor. Detsamma gäller pensionsgrundande belopp för studier och barnår.

Utbetalningsfas

Första året efter vald pensionsstart annuitiseras behållningarna livsvarigt: årsbelopp = behållning / delningstal (stiliserad tabell förankrad i Pensionsmyndighetens typfall, ≈ 17,1 vid uttag från 65 och fallande ~0,45 per års senare uttag). Pensionsinkomsten — allmän pension plus tjänstepension — flödar in i disponibel inkomst: före 66 års ålder utan jobbskatteavdrag (tidiga uttag beskattas hårdare, korrekt), från 66 approximeras det förhöjda grundavdraget med löntagarfunktionen (sedan 2023 års utjämning beskattas pension och lön i praktiken lika). Efter annuitisering fryses förräntningen och behållningarna skrivs ned med utbetalningarna.

Inkomster under utbildning (CSN)

Engine v0.7+ modellerar utbildnings­åren som ett CSN-finansierat kassaflöde i stället för att sätta disponibel inkomst till noll. För åldrar i intervallet [examen_alder − utbildning_ar, examen_alder) och från och med 19 år får trajektorien ett CSN-kassaflöde om 130 000 kr/år. Liksom för alla icke-ägare dras därefter hyran (se Boendekostnad nedan) — disponibel inkomst under studieåren landar därmed kring 52 000 kr/år ≈ 4 300 kr/mån kvar efter boende, i linje med studentbudgetens verklighet.

Bakom siffran ligger CSN:s belopps­tabell läsår 2025/26: heltids­ studier 40 veckor à ca 3 240 kr (bidrag 1 080 kr + lån 2 160 kr), totalt ≈ 130 000 kr/år. Bidrags­delen är skattepliktig men absorberas i sin helhet av grund­avdraget vid den inkomstnivån; netto ≈ brutto.

Begränsningar och dokumenterade förenklingar: Tjänste­pensions­premien är 0 under studie­åren (ingen arbets­ givare). Pensions­grundande inkomst (PGI) är 0 — engine modellerar inte CSN-bidrags PGI-effekt. Statlig ålders­pensions­avgift på bidragsdelen är medvetet utelämnad eftersom effekten är immateriell jämfört med DC-approximations­bruset i tjänste­pensions­dispatchen för ITP2/KAP-KL/PA16 avd 2. Sparande sätts till 0 under studie­åren (en heltids­student konsumerar lånet). CSN-lånet bokförs som disponibel inkomst utan att engine håller en parallell återbetalningsskuld; återbetalning typiskt ~25–35 års amortering är inte modellerad.

Källa: CSN, "Studiemedel — bidrag och lån" csn.se.

Boendekostnad — hyra och ägande

"Kvar att leva på"-metriken (disponibel inkomst) drar boendekostnaden för alla livsfaser och upplåtelseformer, så att köpa-vs-hyra-jämförelsen är symmetrisk. Icke-ägare — hyresrättsbanor hela livet, ägarbanor åren före köpet, studenter — betalar en stiliserad reglerad hyra om 60 kvm × 1 300 kr/kvm/år = 78 000 kr/år ≈ 6 500 kr/mån (SCB, Hyror i bostadslägenheter 2024; realt konstant eftersom bruksvärdes­systemets förhandlingar i grova drag följer inflationen). Ägare betalar i stället ränta, amortering och fastighetsavgift minus ränteavdrag, beräknat på en nominell skuld som eroderas av inflationen i realtermer. Hyran är inte kommun-differentierad ännu — reglerade hyror varierar betydligt mindre än ägandepriser (~15–20 % Stockholm-premie mot rikets 3–5× för priser), så felet är begränsat och systematiskt.

Bostadspriser — SCB öppna data (CC0)

Köp­priset per kvm hämtas helt från SCB:s öppna data (CC0). Villa är den enskilda kommunens genomsnittliga köpeskilling för permanenta småhus (SCB tabell BO0501B, per kommun) delad med en dokumenterad genomsnittlig boyta (≈ 125 kvm) — en direkt, per-kommun, CC0-siffra.

Bostadsrätt publicerar SCB som CC0 endast på läns-nivå (tabell BO0501C). Per-kommun-priset härleds därför genom att skala läns-medianpriset (÷ ≈ 64 kvm) med kommunens villa-prisläge inom länet: bostadsrätt[kommun] = bostadsrätt_län × (villa[kommun] / villa_län). Detta är en dokumenterad approximation — antagandet är att bostadsrätts­geografin grovt följer villageografin inom ett län. Den håller sig 100 % på CC0-källor (ingen Hemnet/Booli, ingen licensierad mäklarstatistik) men är mindre exakt än en direkt per-kommun-mätning vore. I storstads­ kärnorna, där bostadsrätter dominerar och villor är få och atypiska, underskattar faktorn sannolikt premien något; faktorn klampas till bandet 0,5–2,5× och tunndata-kommuner faller tillbaka på läns­nivån direkt, så ett enskilt ankare kan aldrig bli absurt. Bostadspriserna påverkar endast banor med modellerat bostads­köp — de tre demo­banorna har inget köp och är därför oförändrade av prismigreringen.

ISK-fribelopp 300 000 kr (2026)

Regeringen höjde ISK-fribeloppet i två steg, från 150 000 kr (inkomstår 2025) till 300 000 kr (inkomstår 2026). Det första beloppet i sammanlagt ISK- och kapital­försäkrings­ kapital per person schablon­beskattas till 0 %. Engine v0.7+ implementerar detta:

Formel · ISK 2026
beskattningsbartisk = max(0, kapitalisk − 300 000)
skattisk = beskattningsbartisk · 0,01065
fribelopp 300 000 kr per personschablonintäkt 3,55 % · skattesats 30 %

För småportföljer (under tröskeln) är effektiv ISK-skatt 0 %; för större portföljer beskattas bara den över­skjutande delen. Engine v0.6 och tidigare påförde 1,065 % på hela ISK-saldot, vilket överskattade effektiv skatt under uppbyggnads­fasen.

Tröskeln slår per person; livsbane­modellen är enpersons så vi tillämpar 300 000 kr direkt på trajektoriens ISK-kapital. Vid framtida hushålls­modellering (när Livsbana::partner = true aktiveras i en kommande release) kan tröskeln dubbleras.

Källor: Skatteverket, "Belopp och procent inkomstår 2026 – privat" skatteverket.se; Prop. 2025/26:1, budget­propositionen — höjningen kvarstår.

Lund kommun (kod 1281)

Tier 1-täckningen i v0.4 lade in alla 290 svenska kommuner med 2026 års totala kommunala skatte­satser. Lund (kod 1281) ligger i den uppsättningen med total kommunalskatt 32,42 % (primärkommun 21,06 % + Region Skåne 11,36 %, exkl. begravnings­avgift).

Demobanan Jurist Lund använde t.o.m. v0.6 Göteborgs sats (kod 1480, 32,60 %) som södra-Sverige-proxy för att bevara den byte-identiska v0.3- baselinen. Engine v0.7 lyfte den restriktionen och bytte demo­ kommunen till 1281, så banan nu är geografiskt korrekt.

Sektorsindelad lönedata (v0.8+)

Pooled-medianlöner per SSYK kan dölja stora skillnader mellan privat och offentlig sektor inom samma yrke. Engine v0.8+ stödjer därför en explicit LonSektor-dimension på varje livsbana med tre värden: Auto (default, populationsmedel — använder pooled-kurvan), Privat eller Offentlig.

Viktig semantik: Auto är inte en SSYK-baserad inferens (vi gissar inte din sektor från ditt yrke). Auto betyder "ingen sektor angiven, använd populations­medel". Det bevarar också den byte-identiska demo-baselinen — alla tre demo­banor kör på Auto-vägen.

Täckning: Sektor-data finns endast för SSYK 2221 (grundutbildade sjuksköterskor). För övriga koder ignoreras sektor-fältet — simulering är identisk oavsett val. Formulärets sektor­dropdown visas bara för SSYK med data, så användaren får inte ett betydelse­löst val. Sektor­kurvorna för 2221 ligger kvar på 2024 års vintage (en separat, opt-in dimension), medan den pooled-median som Auto-vägen använder är uppdaterad till SCB 2025 i v0.21. Att utvidga sektor­splitten till fler koder kräver maskinläsbar ålder × sektor-data som SCB inte publicerar för flertalet yrken — dokumenterat som framtida arbete.

Värdena är hämtade direkt från SCB Statistikdatabasen (vintage 2024, publ. 2025-06-17): pooled-tabell 151257, offentlig sektor 151260, privat sektor 151261. SCB:s åldersband (18–24, 25–34, 35–44, 45–54, 55–64, 65–68) interpoleras linjärt mellan midpunkter.

Privat-premien för SSYK 2221 varierar starkt med ålder — som mest ~22 % i åldrarna 25–44, ned till ~5 % i åldrarna 18–24 och ~10–14 % i sen karriär. En platt sektor­multiplikator vore därför grovt missvisande; engine kodar de tre kurvorna direkt. Tvärsnitts-σ är fortsatt pooled (4 200 kr/mån) eftersom SCB:s snabb­tabeller inte redovisar sektor­indelad spridning — framtida arbete: sektor-σ via PxWeb-query.

Validering

Validering sker i två lager: parameter-anchorade inline-tester mot publicerade myndighetsvärden, och en empirisk lönespec-anchor mot verklig data.

Parameter-anchorade tester körs vid varje commit och avbryter bygget vid avvikelse:

  • Skatteverket 2026 — grundavdrag i tre punkter (floor 17 400, max-platå 45 600, låginkomstplatå 25 100); jobbskatteavdrag i fyra punkter inkl. cap 52 400 kr.
  • Pensionspremie per avtal — sju kollektivavtal × tre inkomstnivåer (under tak, vid tak, över tak) = 21 ankarpunkter mot Collectum, Fora, SKR/Sobona och SPV.
  • Kommunalskatt — Stockholm 30,55 %, Göteborg 32,60 %, Malmö 32,42 % förankrade direkt mot SCB:s 2026-tabell; samtliga 290 kommuner ligger i intervallet 28–36 %.
  • Determinism — samma input + samma sådd ger byte-identisk JSON både inom och mellan serverlivstider. Verifieras via SHA-256 av resultat-payloaden.

Empirisk lönespec-anchor. Modellen jämfördes mot faktisk lönespec-data för en logistik­anställd vid IKEA i Göteborg (sysselsättningsgrad 83,66 %, ålder 24) och landade inom −4,5 % av den heltids­justerade lönespec­lönen — väl inom modellens P10–P90-band (≈ ±15 % i denna åldersgrupp). Den valideringen gjordes mot den tidigare 32-koders­katalogen, där närmaste tillgängliga kod var en proxy (5224). Med den fulla SSYK 2012-täckningen (v0.21) är den exakta koden 9333 Lager- och terminalpersonal nu valbar direkt, och den nya medianen kommer från SCB 2025. En förnyad lönespec-validering mot den uppdaterade vintagen är dokumenterad som uppföljning i docs/followups.md.

Detta är en empirisk valideringspunkt. Bredare validering över flera yrken, kommuner och åldrar följer i takt med att fler lönespec-data blir tillgängliga. Modellen kalibreras inte mot enskilda valideringspunkter — den utvärderas mot dem. Vid varje data­revision verklighets­kontrolleras dessutom ett spektrum av SSYK-medianer (hög/median/låg) mot SCB:s råtabeller innan release.

Begränsningar och dokumenterade förenklingar

Den här sektionen är medvetet uttömmande. Att vara ärlig om vad modellen inte kan är viktigare för dess användbarhet än att rabbla upp vad den klarar.

  • SSYK-täckning. Sedan engine v0.21 täcks hela SSYK 2012 (~429 4-siffriga yrkesgrupper) med löner direkt från SCB. För de yrkesgrupper SCB hemlighåller för litet urval används den publicerade 3-siffriga yrkes­gruppens median som fallback (flaggad). Yrken är fortfarande nationella pooled-medianer — ingen regional eller (utom SSYK 2221) sektors­uppdelning.
  • OB-tillägg och rörlig lön. SCB:s lönestatistik inkluderar dessa olika beroende på SSYK och bransch. Modellens precision per yrke varierar därför — vårdpersonal, restaurang­personal och logistik­arbetare med natt- och helger­sättning är de mest påverkade.
  • Lönerörlighet är tvärsnitts­baserad. Vi använder SCB:s tvärsnittsdata (vad äldre tjänar idag) snarare än longitudinella paneler (hur dagens unga kommer att se sin lön utvecklas). Distinktionen är viktig för snabbt föränderliga yrken — en 25-årig mjukvaru­utvecklare 2026 kan inte rakt av använda 55-åriga mjukvaru­utvecklares lön 2026 som prognos för 2056.
  • Pensionsavtals­approximationer. ITP2, KAP-KL och PA 16 avd 2 modelleras som avgiftsbestämda i v0.6 (se "Pension" ovan). Den förmåns­bestämda komponenten är betydande för individer med lång tjänstgöringstid och hög sluttlön — full förmåns­bestämd formel är planerad för framtida release.
  • Extrajobb och förlängd utbildning. CSN- kassaflödet (~130 000 kr/år) modelleras under utbildnings­åren sedan v0.7 (se sektionen Inkomster under utbildning ovan). Utöver detta tas ingen hänsyn till sommar­jobb, extrajobb eller doktorand­ tjänster. Skuldsidan av studielånet bokförs inte separat — CSN-lånet räknas som disponibel inkomst, och åter­betalningen som typiskt löper 25–35 år efter examen ligger utanför modellen. Detta påverkar disponibel inkomst i 30–40-åldern för långa utbildningar.
  • Tariff­baserad lönesättning. Yrken med rigid tariff­struktur (myndigheter, kommun­anställda inom vissa avtalsområden) följer inte AR(1)-residualens kontinuerliga variation. För dessa underdriver modellen lönens steg­förändringar.
  • Branschdöd och AI-driven yrkes­omvandling. Inte modellerat. En 25-årig taxichaufför idag kan rimligen inte räkna med samma yrkesbana till 65 — modellen antar implicit att SSYK-kategorin existerar genom hela arbetslivet.
  • Skatte- och pensions­reformer framöver. Inte prognosticerade. Engine använder 2026 års regler genom hela simuleringen, vilket är en vetenskapligt försvarbar standardapproach (vi vet inte vilka reformer som kommer) men kan ge missvisande absolutnivåer på 30–40 års sikt.
  • Fastighetsvärdet är realt konstant. Bostadsmodulen (v0.14+) modellerar köp, stokastisk bolåneränta (AR(1)-reporänta + marginal), amorteringskrav, ränteavdrag, fastighetsavgift och real skulderosion; hyra för icke-ägare dras sedan v0.18. Vad som inte modelleras är real prisutveckling på fastigheten — nominellt antas värdet följa inflationen, varken mer eller mindre. Historiskt har svenska bostäder slagit inflationen; modellen är alltså konservativ mot ägande. Stokastisk FastPI-baserad värdeutveckling är dokumenterat framtida arbete, liksom kommun-differentierade hyresnivåer (riksgenomsnitt 60 kvm × 1 300 kr/kvm/år används idag — reglerade hyror är komprimerade, så felet är begränsat).
  • Garantipension och bostadstillägg. Inte modellerat (se "Allmän pension" ovan). Pensionsinkomsten för låglönebanor underskattas — systemets golv saknas.
  • Arbetslöshetsrisken är yrkesoberoende. Jobb-Markovens parametrar är gemensamma för alla SSYK-koder. Konjunkturkänsliga yrken (bygg, transport) bär i verkligheten högre risk än offentlig vård — per-SSYK- differentiering är dokumenterat framtida arbete.
  • Aggregerad reallönetillväxt är 0. Lönekurvorna är fasta tvärsnitt i dagens löneläge; ekonomins breda reallöneökning (~1–2 %/år historiskt) ingår inte. För jämförelser mellan banor kvittar felet i stort; för absoluta nivåer 30–40 år fram är modellen konservativ.

Reproducerbarhet och verifierbarhet

Varje livsbana beräknas med en deterministisk sådd härledd från kombinationen (name, MASTER_SEED). Samma input + samma sådd ger byte-identisk output, både inom en serverlivstid och över återstart. Verifierbart via HTTP- svarets header X-Livsbana-Output-Hash (SHA-256 av resultat-JSON).

Engine-källkoden är skriven i Rust och dokumenterad i crates/engine/. Testsviten inkluderar 95 testfall (lib + integration + determinism + valideringstester) som körs vid varje commit, inklusive byte-identitets­förankring för demo­banornas baseline och regressions­test för CSN-disponibel under studieåren samt sektor-divergens för SSYK 2221.

Versionering och datauppdateringar

Engine är för närvarande på v0.21.0. Versionen finns lagrad i varje persisterad livsbana — gamla URL:er förblir åtkomliga med den engine-version de skapades med, vilket gör det möjligt att skilja på siffror som ändrats på grund av modellrevision och siffror som ändrats på grund av användarens nya input.

Större datarefresher sker årligen i takt med att SCB publicerar nya referensår. v0.21.0 (WP2) uppdaterade SSYK-lönerna till SCB Lönestrukturstatistik 2025 med full SSYK 2012-täckning och re-bakade Riksbankens reporänta. Nästa förväntade uppdatering: hela ekonomin 2026 publiceras kring 2027-06, SLP privat sektor 2026 kring 2027-05. Skatte- och pensionsdata uppdateras i december respektive november varje år. Varje refresh bumpar engine till nästa minor­version och dokumenteras i CHANGELOG.md.