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änstepensionskapital, å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äntedata 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. Pensionspremiestrukturen för sju kollektivavtal är hämtad från respektive avtalsfö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), aktiemarknadsavkastning, inflation och — vid planerat bostadsköp — reporäntan. Sluttillståndet är ett livslångt utfall för disponibel inkomst, ackumulerat kapital, tjänstepensionskapital, 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 inflationsosä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äkerhetssolfjä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 medianförankrad: nivån sätts av den publicerade medianen (alla åldrar) för koden, och åldersprofilen kommer från SCB:s medellö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örstaordnings autoregressiv process:
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ångssannolikheterna ä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 modellantaganden, 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 realavkastningssnitt kring 5 %.
Inflation — AR(1) kring 2 %-mål
Inflationen följer en förstaordnings autoregressiv process med ankarpunkt vid Riksbankens 2 %-mål. Persistens φ = 0,6 matchar grovt empirisk autokorrelation i KPI-månadstal 2000–2025. Korrelationsledet INFLATION_CRISIS_CORR = 0,4 skiftar inflation uppåt under aktiekrisregim — modellen försöker fånga utbudskrissamband av typen oljeprischock 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 årssteg:
Månadsfrekvensen är medveten: policyräntan är sticky dag-till-dag (daglig φ ≈ 0,9996 — degenererad som prognosmodell), 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äntecykler ä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 (handkurerat mot SBAB:s historiska bolånemarginal). Räntan driver amortering, ränteavdrag och real skulderosion i bostadsmodulen; de tre demobanorna har inget bostadsköp och påverkas därför inte. Reporänteserien re-bakas vid varje datarevision — 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ällningssannolikheten ä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öshetsfö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 kapitalinkomst. 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). Schablonintä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, fordonsskatt, arvs- och gåvoskatt (avskaffad) eller förmögenhetsskatt (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 avgiftsbestä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änstepensionskapitalet växer årligen med samma (deflaterade) aktieavkastning som det privata sparandet — vi modellerar inte separata fondval inom premiepensionssystemet eller avtalspensionsförvaltarens fonderbjudande.
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 beloppstabell 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. Bidragsdelen är skattepliktig men absorberas i sin helhet av grundavdraget vid den inkomstnivån; netto ≈ brutto.
Begränsningar och dokumenterade förenklingar: Tjänstepensionspremien är 0 under studieåren (ingen arbets givare). Pensionsgrundande inkomst (PGI) är 0 — engine modellerar inte CSN-bidrags PGI-effekt. Statlig ålderspensionsavgift på bidragsdelen är medvetet utelämnad eftersom effekten är immateriell jämfört med DC-approximationsbruset i tjänstepensionsdispatchen för ITP2/KAP-KL/PA16 avd 2. Sparande sätts till 0 under studieåren (en heltidsstudent 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ärdessystemets 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öppriset 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ättsgeografin 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änsnivån direkt, så ett enskilt ankare kan aldrig bli absurt. Bostadspriserna påverkar endast banor med modellerat bostadsköp — de tre demobanorna 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 kapitalförsäkrings kapital per person schablonbeskattas till 0 %. Engine v0.7+ implementerar detta:
För småportföljer (under tröskeln) är effektiv ISK-skatt 0 %; för större portföljer beskattas bara den överskjutande delen. Engine v0.6 och tidigare påförde 1,065 % på hela ISK-saldot, vilket överskattade effektiv skatt under uppbyggnadsfasen.
Tröskeln slår per person; livsbanemodellen är enpersons så vi tillämpar 300 000 kr direkt på trajektoriens ISK-kapital. Vid framtida hushållsmodellering (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, budgetpropositionen — 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 skattesatser. Lund (kod 1281) ligger i den uppsättningen med total kommunalskatt 32,42 % (primärkommun 21,06 % + Region Skåne 11,36 %, exkl. begravningsavgift).
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 populationsmedel". Det bevarar också den byte-identiska demo-baselinen — alla tre demobanor 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 sektordropdown visas bara för SSYK med data, så användaren får inte ett betydelselöst val. Sektorkurvorna 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 sektorsplitten 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 sektormultiplikator 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 snabbtabeller inte redovisar sektorindelad 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 logistikanställd vid IKEA i Göteborg (sysselsättningsgrad 83,66 %, ålder 24) och landade inom −4,5 % av den heltidsjusterade lönespeclönen — väl inom modellens P10–P90-band (≈ ±15 % i denna åldersgrupp). Den valideringen gjordes mot den tidigare 32-koderskatalogen, 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 datarevision verklighetskontrolleras 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 yrkesgruppens median som fallback (flaggad). Yrken är fortfarande nationella pooled-medianer — ingen regional eller (utom SSYK 2221) sektorsuppdelning.
- 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, restaurangpersonal och logistikarbetare med natt- och helgersättning är de mest påverkade.
- Lönerörlighet är tvärsnittsbaserad. 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 mjukvaruutvecklare 2026 kan inte rakt av använda 55-åriga mjukvaruutvecklares lön 2026 som prognos för 2056.
- Pensionsavtalsapproximationer. ITP2, KAP-KL och PA 16 avd 2 modelleras som avgiftsbestämda i v0.6 (se "Pension" ovan). Den förmånsbestämda komponenten är betydande för individer med lång tjänstgöringstid och hög sluttlön — full förmånsbestä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 sommarjobb, extrajobb eller doktorand tjänster. Skuldsidan av studielånet bokförs inte separat — CSN-lånet räknas som disponibel inkomst, och återbetalningen 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.
- Tariffbaserad lönesättning. Yrken med rigid tariffstruktur (myndigheter, kommunanställda inom vissa avtalsområden) följer inte AR(1)-residualens kontinuerliga variation. För dessa underdriver modellen lönens stegförändringar.
- Branschdöd och AI-driven yrkesomvandling. 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 pensionsreformer 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-identitetsförankring för demobanornas baseline och regressionstest 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 minorversion och dokumenteras i CHANGELOG.md.