Om denna utforskare
Ett öppet verktyg för att utforska svensk skolstatistik från Skolverkets SALSA-modell.
Denna utforskare ger fri, öppen tillgång till skolresultatdata från SALSA (Skolverkets Arbetsverktyg för Lokala SambandsAnalyser) — en statistisk modell som underhålls av Skolverket.
Datan omfattar 1 535 skolor i 484 kommuner, från 1998 till 2025 (28 år), med totalt 21 668 datapunkter. Både kommunala och enskilda (fristående) skolor ingår.
SALSA är en regressionsbaserad statistisk modell som jämför varje skolas faktiska resultat med vad som förväntas givet skolans elevsammansättning. Syftet är att möjliggöra rättvisare jämförelser mellan skolor genom att ta hänsyn till skillnader i elevernas bakgrund.
Den nuvarande modellen (sedan 2015) använder dessa bakgrundsfaktorer:
- Föräldrarnas utbildningsnivå — den enskilt starkaste prediktorn. Genomsnittlig utbildningsnivå på en skala 1–3 där 3 = högskoleutbildning.
- Andel nyinvandrade elever — elever folkbokförda i Sverige de senaste 4 åren, plus elever med okänd bakgrund (sedan 2015).
- Andel pojkar — könsfördelningen bland eleverna.
Modellen har utvecklats över tid. Före 2013 användes "andel födda utomlands" och "andel med utländsk bakgrund" istället för "nyinvandrade". 2016 exkluderades elever utan personnummer helt. Den nuvarande modellen (modell 3) har ett justerat R² på ~53% för meritvärden, vilket innebär att 53% av variansen mellan skolor förklaras av enbart dessa bakgrundsfaktorer.
Meritvärde
Det genomsnittliga betygspoengen för elever som avslutar årskurs 9 (grundskolan). Beräknas utifrån elevens 16 eller 17 bästa ämnen. Det teoretiska maxvärdet är 340 poäng (17 ämnen × A=20 poäng).
Modellberäknat värde
Vad SALSA-regressionsmodellen förutsäger att en skolas genomsnittliga meritvärde bör vara, givet elevernas demografiska förutsättningar. Skolor med liknande bakgrund får liknande modellberäknade värden.
Residual (Residual = Faktiskt − Förväntat)
Skillnaden mellan skolans faktiska resultat och vad modellen förutsa. Detta är det viktigaste måttet i SALSA:
- Positiv residual — skolan presterade bättre än förväntat. Givet elevernas bakgrund uppnådde skolan högre resultat än riksgenomsnittet för skolor med liknande förutsättningar.
- Negativ residual — skolan presterade sämre än förväntat. Resultaten låg under vad som kunde förväntas givet elevernas bakgrund.
- Noll i residual — skolan presterade exakt som förväntat. Resultaten matchar riksgenomsnittet för skolor med samma bakgrundsfaktorer.
År 2025 presterade 718 skolor bättre än förväntat och 786 skolor sämre än förväntat.
Gymnasiebehörighet
Andelen elever som uppnått godkända betyg i tillräckligt många ämnen för att vara behöriga till gymnasiet. SALSA visar både faktisk och förväntad behörighetsgrad, samt en residual som jämför dem.
Viktiga förbehåll
- SALSA mäter korrelation, inte orsakssamband. En positiv residual bevisar inte att en skola är "bättre" — många faktorer utanför modellen (lärarkvalitet, skolkultur, elevmotivation, kognitiv förmåga) påverkar resultaten.
- Jämförelser mellan år bör göras med försiktighet. En skolas residual kan förändras för att det nationella genomsnittet förskjutits, inte för att skolan själv förändrats.
- Skolor med mycket få elever (under 15) kan ha dold data för att skydda enskilda elevers integritet. Dessa markeras med ".." i originalkällan.
- SALSA-populationen 2016 skiljer sig från övriga år: elever utan personnummer exkluderades det året. Detta kan göra jämförelser över år mindre tillförlitliga för 2016.
För en meningsfull bedömning av en skola, kombinera SALSA-data med annan information: Skolinspektionens granskningar, elev- och föräldraenkäter, samt lokal kännedom om skolmiljön.
| Modell | År | Bakgrundsfaktorer | Viktig förändring |
|---|---|---|---|
| Modell 1 | 1998–2012 | Föräldrars utb., födda utomlands, utl. bakgrund, andel pojkar | Ursprunglig modell |
| Modell 2 | 2013–2014 | Föräldrars utb., nyinvandrade, andel pojkar | "Nyinvandrade" ersätter utländsk bakgrund |
| Modell 3 | 2015, 2017–idag | Föräldrars utb., nyinvandrade (inkl. okänd bakgr.), andel pojkar | Elever med okänd bakgrund räknas som nyinvandrade |
| Modell 4 | Enbart 2016 | Föräldrars utb., nyinvandrade, andel pojkar | Elever utan personnummer exkluderade (flyktingvågen) |
| Fält | Svenskt namn | Tillgängligt |
|---|---|---|
| År | Verksamhetsår | 1998–2025 |
| Kommun | Kommun | Alla år |
| Skolnamn | Skolenhet | Alla år |
| Huvudmannatyp | Huvudman (Kom./Ensk.) | Alla år |
| Bakgrundsfaktorer | ||
| Föräldrars utbildning | Föräldrarnas utbildningsnivå | Alla år |
| Andel nyinvandrade | Andel nyinvandrade | 2013–2025 |
| Andel födda utomlands | Andel födda utomlands | 1998–2012 |
| Andel utländsk bakgrund | Andel utländsk bakgrund | 1998–2012 |
| Andel pojkar | Andel pojkar | Alla år |
| Behörighet | ||
| Faktisk behörighet % | Faktiskt värde (F) | Alla år |
| Förväntad behörighet % | Modellberäknat värde (B) | Alla år |
| Residual behörighet | Residual (R=F−B) | Alla år |
| Meritvärde | ||
| Faktiskt meritvärde | Faktiskt värde (F) | Alla år |
| Förväntat meritvärde | Modellberäknat värde (B) | Alla år |
| Residual meritvärde | Residual (R=F−B) | Alla år |
Obs: "Födda utomlands" och "Utländsk bakgrund" ersattes av "Nyinvandrade" 2013 när SALSA-modellen uppdaterades. Båda uppsättningarna av fält bevaras i denna utforskare för historisk analys. Meritvärdesberäkningen ändrades 2015 från max 16 till max 17 ämnen.
Dashboard
Nationell översikt med viktiga insikter, trenddiagram, bästa/sämsta skolor och kommunrankning för senaste året.
Kommunbläddare
Bläddra bland alla kommuner och deras skolor. Varje kommunsida visar trenddiagram och en sorterbar skoltabell med meritvärden och residualer.
Skoldetaljer
Fördjupa dig i vilken skola som helst: merittrend, residualhistorik, behörighetsgrad, demografisk fördelning och fullständig datatabell över alla år.
Sök
Hitta vilken skola som helst via namn eller kommun. Resultaten visar senaste meritvärden och residualer direkt.
Jämför
Sök och välj upp till 5 skolor för jämförelse sida vid sida med överlappande diagram och detaljerade datatabeller.
Nationella trender
Se hur nationella genomsnitt för meritvärden, behörighetsgrader och antalet skolor har utvecklats från 1998 till idag.
All data hämtas från SIRIS (Skolverkets Internetbaserade Resultat- och kvalitetsInformationsSystem), som är Skolverkets officiella publika databas för skolstatistik.
Datan samlades in programmatiskt med en specialbyggd skrapa som navigerar SIRIS-webbapplikationen, väljer varje kommun och dess skolor, och extraherar SALSA-tabellens data. Hastighetsbegränsning och artiga fördröjningar användes för att undvika överbelastning av servern.
Detta projekt är inte anslutet till eller godkänt av Skolverket. Datan är offentlig information som tillgängliggörs av Skolverket för transparens och forskning. Denna utforskare gör det helt enkelt lättare att bläddra och analysera.
- Injektionsskydd — alla SQL-frågor använder parametriserade satser, LIKE-metatecken escapas, URL-parametrar valideras mot strikta regex-mönster
- Säkerhetsrubriker— Content-Security-Policy, X-Frame-Options DENY, X-Content-Type-Options nosniff, Referrer-Policy, Permissions-Policy
- Hastighetsbegränsning — API-ändpunkter tillåter max 60 förfrågningar per minut per IP för att förhindra missbruk
- Skrivskyddad databas — SQLite öppnas i skrivskyddat läge; även en lyckad injektion kan inte ändra data
- Inga hemligheter — ingen autentisering, ingen persondata, inga API-nycklar. All data är offentlig statistik från myndigheter
- Strukturerad loggning — alla API-förfrågningar och fel loggas som JSON för övervakning och granskning
- Docker-härdning — icke-root-användare, npm ci för reproducerbara byggen, skrivskyddad datavolym
Detta projekt är helt öppet. Kodbasen inkluderar:
- Skrapa — Node.js HTTP-klient som navigerar SIRIS Oracle APEX-applikationen, med hastighetsbegränsning, omförsök, kontrollpunkter och återupptagningsstöd
- Databas — SQLite med 21 000+ poster över 28 år med index
- Utforskare — Next.js 16 med serverkomponenter, Recharts-visualiseringar och shadcn/ui
- Tester — 100+ integrationstester mot riktiga API:er och en riktig server, utan mockning
- Docker — flerstegsbygge med hälsokontroller
- Linting — strikt ESLint med säkerhetsregler (no-eval, no-implied-eval, no-new-func, react/no-danger)