Følge personer innen utdanningsforløpet og status etter endt utdanning
Dette analyseeksempelet viser hvordan man kan plukke ut personer som fullførte og avsluttet sin utdanning på ulike nivåer i 2012, og lage detaljert statistikk over hvordan det går med disse hhv. 5 og 10 år etterpå. Vi studerer både jobbstatus, trygdestatuser, videreutdanning m.m.
require no.ssb.fdb:40 as db
// Trinn 1: Lager en populasjon av personer som fullfører og avslutter sin utdanning i 2012
// Trinn 1a: Finner først personer som fullfører sin utdanning på ulike nivå i 2012, og grupperer dem etter utdanningsnivå
create-dataset ferdig_utdannete
import db/NUDB_AAR_FORSTE_FULLF_GS as fullført_år_gs
import db/NUDB_AAR_FORSTE_FULLF_VS as fullført_år_vgs
import db/NUDB_AAR_FORSTE_FULLF_VS_LOV as fullført_år_vgs_lov
import db/NUDB_AAR_FORSTE_FULLF_HOY as fullført_år_høyskole
import db/NUDB_AAR_FORSTE_FULLF_CMG as fullført_år_candmag
import db/NUDB_AAR_FORSTE_FULLF_BACH as fullført_år_bachelor
import db/NUDB_AAR_FORSTE_FULLF_HOV as fullført_år_master
import db/NUDB_AAR_FORSTE_FULLF_DOK as fullført_år_doktor
replace fullført_år_vgs = int(fullført_år_vgs/100)
replace fullført_år_vgs_lov = int(fullført_år_vgs_lov/100)
replace fullført_år_høyskole = int(fullført_år_høyskole/100)
replace fullført_år_candmag = int(fullført_år_candmag/100)
replace fullført_år_bachelor = int(fullført_år_bachelor/100)
replace fullført_år_master = int(fullført_år_master/100)
replace fullført_år_doktor = int(fullført_år_doktor/100)
summarize
generate fullført_nivå12 = 1 if fullført_år_gs == 2012
replace fullført_nivå12 = 2 if fullført_år_vgs == 2012 | fullført_år_vgs_lov == 2012
replace fullført_nivå12 = 3 if fullført_år_høyskole == 2012
replace fullført_nivå12 = 4 if fullført_år_candmag == 2012 | fullført_år_bachelor == 2012
replace fullført_nivå12 = 5 if fullført_år_master == 2012
replace fullført_nivå12 = 6 if fullført_år_doktor == 2012
define-labels nivålbl 1 Grunnskole 2 Videregående 3 Høyskolekandidat 4 Bachelor 5 Master 6 Doktorgrad
assign-labels fullført_nivå12 nivålbl
barchart(count) fullført_nivå12
tabulate fullført_nivå12
// Trinn 1b: Finner personer som fortsetter å studere i løpet av de neste 4 årene
// (disse skal ikke være med siden de ikke avslutter studiene sine i 2012)
create-dataset utdanning
import-event db/NUDB_KURS_NUS 2013-01-01 to 2016-12-31 as utdanningsforløp
create-dataset kurs_person
import db/NUDB_KURS_FNR as personid
merge personid into utdanning
use utdanning
collapse(count) utdanningsforløp -> ant_studier13_16, by(personid)
merge ant_studier13_16 into ferdig_utdannete
// Trinn 1c: Lager populasjonen ved å fjerne personer som ikke fullfører en utdanning i 2012
// eller som fortsetter å studere de neste 4 årene
use ferdig_utdannete
drop if sysmiss(fullført_nivå12) | ant_studier13_16 > 0
drop ant_studier13_16
barchart(count) fullført_nivå12
tabulate fullført_nivå12
// Trinn 2: Kobler på bakgrunnsvariabler/demografi/levekår samt sosioøkonomisk status etter fullført utdanning
// Bakgrunn
import db/BEFOLKNING_KJOENN as kjønn
import db/BEFOLKNING_FOEDSELS_AAR_MND as fdato
import db/BEFOLKNING_LANDBAK3GEN as landbakgrunn
import db/NUDB_SOSBAK as sosial_bakgrunn
import db/NUDB_GS_STP_NOH as stp_karakter_gs_norsk_hoved_skriftlig
//Sosioøkonomisk status 0, 5 og 10 år etter
for år in 2012 2017 2022
import db/INNTEKT_WLONN date_fmt($år) as lønn++$år
import db/INNTEKT_BER_BRFORM date_fmt($år) as bruttoformue++$år
// Andre inntektsopplysninger som yrkesinntekt, gjeld, bruttoinntekt
import db/BOSATTEFDT_BOSTED date_fmt($år) as kommune++$år
generate fylke++$år = substr(kommune++$år,1,2)
end
for år in 2017 2022
import db/REGSYS_ARB_ARBEIDSTID date_fmt($år,11,16) as arbeidstid++$år
import db/REGSYS_ARB_YRKE_STYRK08 date_fmt($år,11,16) as yrke++$år
import db/INNTEKT_KODE218 date_fmt($år) as uføretrygd++$år
import db/INNTEKT_SOSIAL date_fmt($år) as sosialhjelp++$år
import db/BOFORHOLD_TRANGBODD date_fmt($år) as trangbodd++$år
import db/BOFORHOLD_BRUKSAREAL date_fmt($år) as bruksareal++$år
// Finner personer registrert hos NAV som arbeidssøker i løpet av det aktuelle året (måler fra 1/1 til 31/12)
let forløpvar = arbsøkforløp++$år
let opptellingsvar = ant_arbsøkforhold++$år
create-dataset nav++$år
import-event db/ARBSOEK2001FDT_HOVED date_fmt($år,1,1) to date_fmt($år,12,31) as $forløpvar
collapse(count) $forløpvar -> $opptellingsvar, by(PERSONID_1)
merge $opptellingsvar into ferdig_utdannete
use ferdig_utdannete
generate arbeidssøker++$år = $opptellingsvar > 0
drop $opptellingsvar
delete-dataset nav++$år
// Finner personer som tar videreutdanning i løpet av det aktuelle året (måler fra 1/1 til 31/12)
let forløpvar = utdforløp++$år
let opptellingsvar = ant_kurs++$år
create-dataset utdanning++$år
import-event db/NUDB_KURS_NUS date_fmt($år, 1, 1) to date_fmt($år, 12, 31) as $forløpvar
use kurs_person
merge personid into utdanning++$år
use utdanning++$år
collapse(count) $forløpvar -> $opptellingsvar, by(personid)
merge $opptellingsvar into ferdig_utdannete
use ferdig_utdannete
generate student++$år = $opptellingsvar > 0
drop $opptellingsvar
delete-dataset utdanning++$år
end
// Større endring i kommunekodene i 2020 => må kode fylker og storbyer på forskjellige måter før/etter
// (benytter 2020-standard og koder om bakover i tid)
for år in 2012 2017
let fylke = fylke++$år
recode $fylke \
('03' = '03' 'Oslo') \
('11' = '11' 'Rogaland') \
('15' = '15' 'Møre og Romsdal') \
('18' = '18' 'Nordland') \
('01' '02' '06' = '30' 'Viken') \
('04' '05' = '34' 'Innlandet') \
('07' '08' = '38' 'Vestfold og Telemark') \
('09' '10' = '42' 'Agder') \
('12' '14' ='46' 'Vestland') \
('16' '17' = '50' 'Trøndelag') \
('19' '20' = '54' 'Troms og Finnmark')
generate storby++$år = inlist(kommune++$år, '0301', '1201', '1601', '1103', '0602', '0106', '1001')
//Storbyer: Oslo, Bergen, Trondheim, Stavanger, Drammen, Fredrikstad, Kristiansand
end
define-labels fylke20lbl \
'03' Oslo \
'11' Rogaland \
'15' 'Møre og Romsdal' \
'18' Nordland \
'30' Viken \
'34' Innlandet \
'38' 'Vestfold og Telemark' \
'42' Agder \
'46' Vestland \
'50' Trøndelag \
'54' 'Troms og Finnmark'
assign-labels fylke2022 fylke20lbl
generate storby2022 = inlist(kommune2022, '0301', '4601', '5001', '1103', '3005', '3004', '4204')
define-labels storbylbl 0 'Ikke-storby' 1 'Storby'
assign-labels storby2012 storbylbl
assign-labels storby2017 storbylbl
assign-labels storby2022 storbylbl
// Trinn 3: Lager deskriptiv statistikk over årene 2012, 2017 og 2022 (år 0, 5, 10)
// Demografi/bakgrunn
piechart kjønn
generate alder = 2012 - int(fdato/100)
barchart(count) alder
recode alder (min/20 = 1 'Under 21') (21/27 = 2 '21-27 år') (28/max = 3 'Over 27 år')
barchart(count) alder
generate norsk = landbakgrunn == '000'
generate nordisk = inlist(landbakgrunn, '000', '101', '103', '104', '105', '106')
define-labels norsklbl 0 'Annet' 1 'Norsk'
assign-labels norsk norsklbl
define-labels nordisklbl 0 'Annet' 1 'Nordisk'
assign-labels nordisk nordisklbl
piechart norsk
piechart nordisk
barchart(count) sosial_bakgrunn
barchart(count) stp_karakter_gs_norsk_hoved_skriftlig
tabulate stp_karakter_gs_norsk_hoved_skriftlig, missing
// Bosetting
barchart(percent) fylke2012
barchart(percent) storby2012
sankey fylke2012 fylke2017 fylke2022
sankey storby2012 storby2017 storby2022
// Gjør om datasettet til et paneldatasett for å lage statistikk over tid
reshape-to-panel kommune fylke storby lønn bruttoformue arbeidstid yrke arbeidssøker student uføretrygd sosialhjelp trangbodd bruksareal
barchart(percent) fylke, over(date@panel) stack
barchart(percent) storby, over(date@panel) stack
//Sosioøkonomisk status
barchart(percent) trangbodd, over(date@panel) stack
barchart(mean) bruksareal, over(date@panel)
barchart(mean) lønn, over(date@panel)
barchart(mean) bruttoformue, over(date@panel)
barchart(mean) arbeidstid, over(date@panel)
generate yrkekat = substr(yrke,1,1)
textblock
Yrkeskategoriene: Hierarkisk gruppering 0-9 der 9 er laveste nivå (yrker med lave krav til utdanning)
Kategori 0 er en blandet gruppe av personer ikke i jobb, selvstendig næringsdrivende og militært personell.
Kategori 1 består av lederyrker og politikere. Kategori 2 består av akademiske yrker. Etc
endblock
barchart(percent) yrkekat, over(date@panel) stack
replace arbeidstid = round(arbeidstid)
recode arbeidstid (. 0/10 = 0 'Jobber ikke')(11/34 = 1 'Deltid')(35/max = 2 'Heltid')
barchart(percent) arbeidstid, over(date@panel) stack
generate ufør = uføretrygd > 10000
generate sosialhjelpsmottaker = sosialhjelp > 10000
generate status = 9
replace status = 6 if sosialhjelpsmottaker
replace status = 5 if ufør
replace status = 4 if arbeidssøker
replace status = 3 if student | date@panel == 2012
replace status = 2 if arbeidstid == 1
replace status = 1 if arbeidstid == 2
define-labels statuslbl 1 Heltidsarbeid 2 Deltidsarbeid 3 Utdanning 4 Arbeidssøker 5 Ufør 6 Sosialhjelpsmottaker 9 Annet
assign-labels status statuslbl
textblock
Sosioøkonomisk status ved år 0, 5 og 10
endblock
barchart(percent) status, over(date@panel) stack
// Trinn 4: Lager litt mer detaljert statistikk der vi ser nærmere på forskjeller mht. bakgrunn/demografi/levekår og utdanningsnivå
textblock
Sosioøkonomisk status 10 år etter fullført utdanning, fordelt på bakgrunns-/demografivariabler
endblock
barchart(percent) status if date@panel == 2022, over(sosial_bakgrunn) stack
barchart(percent) status if date@panel == 2022, over(kjønn) stack
barchart(percent) status if date@panel == 2022, over(alder) stack
barchart(percent) status if date@panel == 2022, over(norsk) stack
barchart(percent) status if date@panel == 2022, over(nordisk) stack
textblock
Sosioøkonomisk status 10 år etter fullført utdanning, fordelt på utdanningsnivå og kjønn
endblock
barchart(count) status if date@panel == 2022, over(fullført_nivå12) stack
barchart(count) status if date@panel == 2022 & kjønn == '1', over(fullført_nivå12) stack
barchart(count) status if date@panel == 2022 & kjønn == '2', over(fullført_nivå12) stack
textblock
Andel som tar videreutdanning 10 år etter fullført utdanning, fordelt på utdanningsnivå
endblock
define-labels studentlbl 0 'Annet' 1 'Student'
assign-labels student studentlbl
barchart(percent) student if date@panel == 2022, over(fullført_nivå12) stack
textblock
Sosioøkonomisk status 10 år etter fullført utdanning, fordelt på standpunktkarakter i norsk hovedfag fra grunnskole
(også karakterer fra VGS kan brukes, men de strekker seg ikke så langt bakover i tid)
endblock
barchart(percent) status if date@panel == 2022, over(stp_karakter_gs_norsk_hoved_skriftlig) stack
textblock
Sosioøkonomisk status 10 år etter fullført utdanning, fordelt på bosetting
endblock
barchart(percent) status if date@panel == 2022, over(fylke) stack
barchart(percent) status if date@panel == 2022, over(storby) stack
textblock
Yrkeskategori 10 år etter fullført utdanning for personer i jobb, fordelt på utdanningsnivå
Yrkeskategoriene: Hierarkisk gruppering 0-9 der 9 er laveste nivå (yrker med lave krav til utdanning)
Kategori 0 er en blandet gruppe av personer ikke i jobb, selvstendig næringsdrivende og militært personell.
Kategori 1 består av lederyrker og politikere. Kategori 2 består av akademiske yrker. Etc
endblock
barchart(percent) yrkekat if date@panel == 2022 & inlist(status,1,2), over(fullført_nivå12) stack