Stor forbedring: ssb.nos data-API v2 ute i beta

Data fra SSB betyr for de fleste tabeller i excel, på ark eller i databaser. For at de skal komme ut til folket via digitale medier er det bedre med et API - og her ser du hvordan det kommer til å se ut.

For tiden tes­ter ssb.no sin kom­men­de ver­sjon av sitt data-API og den­ne gan­gen ser alt mye bedre ut enn før: 5000 tabel­ler, json-stat og du kan være med å tes­te.

I 2009 skreiv vi i vox­pub­li­ca om ssb.no’s nye web­si­der og tan­ker om API, det had­de (muli­gens uof­fi­si­elt) kode­navn «nyess­bno«. Da tiden ende­lig kom for et rik­tig API, kom data.ssb.no som had­de (og frem­de­les har) et utvalg av SSBs mest popu­læ­re tabel­ler.

Det var helt klart et skritt i rik­tig ret­ning, men API-et er gans­ke begren­set, for eksem­pel for en nys­gjer­ri­ge grav­en­de jour­na­list er det­te sma­le utval­get for­mo­dent­lig et rime­lig uin­ter­es­sant sted å gra­ve.

Det som hol­der på å skje nå er mye vik­ti­ge­re: nå kom­mer 5000 tabel­ler («alle 5000 sta­ti­stikk­bank­ta­bel­le­ne», iføl­ge invi­ta­sjo­nen til å beta-tes­te tje­nes­ten). For­mo­dent­lig løpen­de opp­da­tert etter­som ny data kom­mer inn. Hvis det­te blir prak­sis gjør SSB det vi håp­te de skul­le i for­ri­ge run­de: gjø­re seg rele­van­te for digi­ta­le hoder som tren­ger maskin­les­ba­re tall for videre­bruk.

Det­te betyr et mye bre­de­re til­bud, et mye mer spen­nen­de til­bud og for­hå­pent­lig­vis et til­bud som kan gjø­re data fra ssb.no mer brukt i pres­sen, på kafe­er, taxi­er og rundt mid­dags­bor­de­ne.

Det­te kan for noen kan­skje se ut som en tek­nisk detalj (nytt API) for sta­ti­stikk-ner­der. Det er helt rik­tig, og indi­rek­te en total mis­for­stå­el­se. For de som ikke leser tall med gle­de, leser nem­lig bil­der like lett som alle andre. Synet vårt er per­fek­sjo­nert gjen­nom evo­lu­sjon til å raskt opp­fat­te farer og goder så vel som tren­der og end­ring – per­fekt for å tol­ke data­vi­su­ali­se­rin­ger. Og mer data fra ssb.no i for­nuf­tig data­for­mat er en ser­ve­ring på sølv­fat for den som vil pre­sen­te­re tall i bil­der.

Eksempler:

API-et er i beta, og ble åpnet den 22 desem­ber 2015, så det er ikke all ver­dens av diver­si­tet i eksemp­ler å peke til ennå, men Xavier Bado­sa (utvik­ler av JSON-stat.org) har fle­re eksemp­ler fra første ver­sjon av API-et. Det er f.eks. sli­ke ting vi kan for­ven­te oss å se mer av:

valutta_kalk

Infla­sjons­kalk­u­la­tor

eldregolgen

Ani­mert popu­la­sjos­py­ra­mi­de, «eldre­bøl­gen».

koroplett_norge

Korop­let­kart over Nor­ge far­get etter kom­mu­nens inn­byg­ger­tall

smaabarn_norge_over_tid

Små­barn i Nor­ge over tid

At SSB har data åpner også for sam­men­lik­ning med data fra andre land. Her norsk og dansk infla­sjon sam­men­lig­net.
dansk_norsk_inflasjon

Kon­sum­pris­in­dek­sen for Nor­ge og Dan­mark i sam­me graf.

Da Nor­ge ikke er med i EU og vi stort sett ikke er med i målet for euro­stat blir det­te eks­tra vik­tig. Her er arbeids­le­dig­hets­tal­le­ne til OECD.
arbeidsledighet

Bado­sa har fle­re eksemp­ler på bl.ocks.org – alle på det «gam­le» API-et, men det nye ser ut til å føl­ge over sam­me lest, som vir­ker som en for­nuf­tig modell. API-et er i beta, så det er ikke uri­me­lig å fin­ne ting som ikke vir­ker, er feil, ikke er så sta­bilt eller opp­da­tert som et fer­dig vil være, men at vi får inn­blikk i det­te mens det fort­satt er under utfor­ming, er en for­del for alle. 

Her er APIet

Det er ikke len­ket fra ssb.nos van­li­ge nett­si­der enda, men her er len­ke­ne til det gam­le og det nye (anta­ke­lig med mid­ler­ti­dig URL) API-et.

PS: I min iver og i tumul­te­ne av et nytt semes­ter copy/pasta jeg eksem­pel­ko­de fra pyj­stat og kon­klu­der­te at jeg måt­te set­te meg ned med bedre tid, for det­te vir­ker ikke. Greia var at det nye API-et for­ven­ter POST-kall med para­metre fra console’n. Her er pyt­hon-kode som vir­ker (takk til SSB for raskt svar):

Hvis du kjen­ner til fle­re eksemp­ler om hvor­dan det nye API-et blir brukt, eller har laget noe selv, eller har noen ide­er til hvor­dan det­te kan eller bør bru­kes: legg igjen en kom­men­tar under – vi tren­ger at dis­se data­ene kom­mer til syne og til nyt­te.

TEMA

Å

pne dat
a

24 ARTIKLER FRA VOX PUBLICA

FLERE KILDER - FAKTA - KONTEKST

5 KOMMENTARER

KOMMENTÉR
  1. Kjempe­stort fram­skritt i HVORDAN data fra SSB for­mid­les, og dras­tisk utvi­ding av hva som kan auto­ma­ti­se­res av videre­bruk. Men når det gjel­der HVA som pub­li­se­res, ser det ut til å være nøy­ak­tig de sam­me data som har vært pub­li­sert i SSBs data­vare­hus i et tiår, alt­så begren­set sett pre­de­fi­ner­te søk satt opp av SSB.
    Hvis data­ene du skal bru­ke ikke er i SSBs eksis­te­ren­de pub­li­se­rin­ger, får du jo ikke ut noen nye data. (jeg håper selv­føl­ge­lig at jeg tar feil)

    Eksem­pel:
    Nett­ste­det jeg job­ber i får svært man­ge hen­ven­del­ser om lønns­sta­ti­stikk, der­for videre­for­mid­ler vi det­te til­knyt­tet annen rele­vant infor­ma­sjon på fle­re hundre nett­si­der.
    Fra både Dan­marks Sta­ti­stik og Sta­tis­ti­ska Cen­tral­by­rån kan mine uten­lands­ke kol­le­ger las­te ned lønns­sta­ti­stikk for alle yrker og nærin­ger som har stort nok antall arbeids­ta­ke­re til å pub­li­se­re lønns­sta­ti­stikk for i én enkelt tabell. For å få til­sva­ren­de nors­ke data, måt­te vi las­te ned 134 for­skjel­li­ge tabel­ler (!), sam­men­stil­le dis­se, spal­te opp og til­ord­ne sta­ti­stikk­va­ri­ab­ler i rett felt basert på fri­tekst i varia­bel­navn siden vari­ab­ler er ikke-stan­dar­di­ser­te.
    Hvor­for et data­sett som stam­mer fra et og sam­me SSB-regis­ter må spres på 134 for­skjel­li­ge URLer uten mulig­het for å få dem sam­let, når det had­de vært let­te­re å gi til­gang til data­ene gjen­nom 1 URL er noe mys­tisk.

  2. Hei Harald. Jeg er litt usik­ker på hvor SSB trek­ker lin­jen mel­lom ting de skal pub­li­se­re gjen­nom det­te API­et og andre ting de har. Jeg har inn­trykk av at det vi får her er en maskin­les­bar utga­ve av det som lig­ger på SSB.no, som selv­sagt bare er et utsnitt av en del av hva SSB sit­ter på (f.eks. er det mes­te aggre­ger­te tall, der en fors­ker vil­le øns­ke seg indi­vi­du­el­le data­punk­ter). Jeg fikk dog inn­trykk av at ting som gjø­res på tids­se­ri­er, så er poen­get her at ny data leg­ges til eksis­te­ren­de løpen­de, slik at det gir mening å byg­ge sys­te­mer som kan lig­ge oppå det­te. Det kan bli vel­dig nyt­tig.

    Eksem­pe­let ditt med lønns­sta­ti­stikk er kan­skje et godt eksem­pel på hva som kan skje:

    1. det bur­de nå være mulig å skri­ve et skript som kon­so­li­de­rer de 134 (wow, det vir­ker litt mye ja) tabel­le­ne og set­ter sam­men til den data­struk­tu­ren du tren­ger – et skript som når det først er skre­vet kan fun­ge­re uke-etter-uke, måned-etter-måned når ny data leg­ges ut (hvis ny data leg­ges ut, noe vi må anta. Test-API­et nå er sta­ti­sk, men skal over i et «live» miljø etter test-fasen, står det i nota­tet for API­et).

    2. Skrip­tet ditt eksemp­li­fi­se­rer (kan­skje) hvor­dan ditt per­spek­tiv er ulikt SSBs eget, og der­med hvor­dan SSB kan/må end­re måten noen typer data eks­po­ne­res maskin­les­bart, da maskin­les­bar­het inn­ly­sen­de ford­rer en annen bruk enn tabel­ler til SSBs nett­si­de. Det er maski­ner, ikke men­nesker, som i første­om­gang skal lese det­te, og det er rime­lig å antat at målet ikke er å rent gjen­ska­pe de sam­me tabel­le­ne som alle­re­de lig­ger på SSB.no i HTML.

    API­et er i beta, så nå er jo vir­ke­lig sjan­sen til å påpe­ke sånt, slik at SSB kan jus­te­re inn mot den bru­ken «folk der ute» (oss med data­ma­ski­ner) vil bru­ke den. Hvis vi (poten­si­el­le bru­ke­re) ikke ender opp med å bru­ke API­et, så blir jo det­te en fias­ko, og kun et spill for gal­le­ri­et. Men jeg er nå litt mer opti­mis­tisk, og håper at når SSB nå får HVORDAN på plass, så er HVA kun begren­set av poli­tikk og pen­ger. Med et par rik­tig gode caser av for­nuf­tig videre­bruk kan det­te for­hå­pent­lig­vis bli noe som vokser, der HVA som pub­li­se­rer både blir en løpen­de og vok­sen­de stør­rel­se.

  3. Ide­elt sett kun­ne inter­es­san­te regis­ter­data vært lag­ret i et data­vare­hus med et offent­lig API. Der­med kun­ne en gjort spør­rin­ger mot data­vare­hu­set om hva som helst, ikke bare de 5000 pre­de­fi­ner­te søke­ne som Sta­ti­stikk­ban­ken til­byr. Ters­kel­ver­di­er og ano­ny­mi­se­rings­al­go­rit­mer sik­ret at data­ene en får ut gjen­nom spør­rin­ger mot data­vare­hu­set er sta­tis­tis­ke data, ikke per­son­data. Dess­uten kun­ne infor­ma­sjon om data­kva­li­tet og kate­go­ri­enes vali­di­tet fulgt med. F.eks. sik­re at data­ene en får ut ikke er så små grup­per at de kan ava­no­ny­mi­se­res. Eller noen av data­set­te­ne i data­vare­hu­se­ne er knyt­tet til kom­mu­ner, grunn­kret­s­er eller sel­ska­per, og såle­des ikke er per­son­data.

    Det­te er selv­føl­ge­lig en helt annen måte å for­mid­le offent­lig sta­ti­stikk på enn den meto­den som eta­ten har brukt siden star­ten i 1876. Men en har jo tid­li­ge­re klart til­sva­ren­de moder­ni­se­rin­ger, som for eksem­pel da en gikk over fra å folke­tel­lin­ger hvert tiår, til kon­ti­nu­er­li­ge folke­tel­lin­ger gjen­nom bruk av kon­ti­nu­er­lig opp­da­tert folke­re­gis­ter.

  4. Bare helt kort så lager SSB sta­ti­stikk. Det er van­lig­vis regis­ter­ei­ers ansvar å evt. gjø­re regis­ter­data til­gjen­ge­lig. Det­te gjør f.eks. Brønn­øy­sund­re­gist­re­ne.
    SSB pub­li­se­rer den offi­si­el­le sta­ti­stik­ken i Sta­ti­stikk­ban­ken, som nå blir til­gjen­ge­lig via API.
    Til det kon­kre­te eksemp­let kan jeg opp­ly­se at Lønns­sta­ti­stik­ken er under omleg­ging. Det betyr at 2015 tal­le­ne vil bli pub­li­sert i år, og på nytt i annen form, til nes­te år.

  5. Hei,

    Just to men­tion this tool I just created if you need to process ssb data (or other json-stat v1 data) with java :

    https://ssb-java-demo.herokuapp.com
    https://github.com/laurent-thuy/ssb-java

    Regards

    Lau­rent

Skriv en kommentar

Bidra til god debatt - skriv under fullt navn. Se våre kommentarregler.

Abonner på kommentarer
til toppen