Åpne data og APIer med en forretningsanalytikers blikk
Hvilke forutsetninger har du som ikke har noe erfaring med forretningsanalyse til å lykkes med det? - Mer enn du tror!
Jeg vil slå et slag for åpne data og APIer, application programming interfaces. På Felles datakatalog finner man en oversikt over beskrivelser av datasett, begreper, APIer og informasjonsmodeller fra både private og offentlige virksomheter. Her kan man med andre ord boltre seg i interessante datasett og APIer – det være seg data på kollektivtrafikk i Norge, eller nøkkeltall fra årsregnskapet.
La oss se nærmere på sistnevnte. Er det egentlig så vanskelig å hente nøkkeltall fra det siste rapporterte årsregnskapet til et gitt selskap direkte fra regnskapsregisteret? Det korte svaret er nei, og her følger en beskrivelse av hvordan du kan gjøre det selv.
Det første vi kan gjøre er å lese litt nærmere på dokumentasjonen og beskrivelsene av akkurat dette APIet før vi setter i gang. Det første jeg vil avklare er om dette er underlagt noen form for lisenser eller begrensninger i bruk, eller om det er fritt frem for alle å bruke på den måten man måtte ønske. Akkurat i dette tilfellet så kan APIet brukes av alle, men det presiseres at APIet ikke vil bli videreutviklet og kan legges ned uten varsel. Etter å ha avklart dette så er jeg er mest interessert i beskrivelse av bruk og URL for endepunkt slik at jeg vet hvilken URL jeg når APIet på og hvordan jeg kan bruke det. Når det kommer til nøkkeltall fra årsregnskapet finner jeg følgelig at URLen til endepunktet er: data.brreg.no/regnskapsregisteret/regnskap/
Videre fra dokumentasjonen så finner jeg at man kan bruke organisasjonsnummer til å hente nøkkeltall for spesifikke selskaper. Dette gjøres på følgende struktur: data.brreg.no/regnskapsregisteret/regnskap/{OrgNummer}
Når dette er avklart så finnes mange måter å tilnærme seg denne utfordringen på, men for denne gangen så har jeg valgt å bruke følgende verktøy: Python og en modul i Python som heter requests.
Når disse verktøyene er på plass så er veien til mål svært kort. Det er kun to linjer kode vi trenger å skrive for å hente nøkkeltallene fra det siste innrapporterte årsregnskapet til et selskap.
For å se hvordan dataene ser ut kan vi ved enkle grep skrive ut resultatet til terminalen vår.
Herifra finnes det uante muligheter for videre behandling og eventuell lagring av dataene på din foretrukne måte. I mitt tilfelle kunne jeg tenke meg å normalisere dataene – altså å transformere resultatet fra JSON-objekter til en «flat» tabell. Dette lar seg også realisere ved bare noen ørsmå krumspring i den eksisterende koden vår. Et svært nyttig verktøy i denne prosessen er pandas som er et fleksibelt verktøy for dataanalyse og datamanipulering, bygget på toppen av Python. Når dette er på plass så kan vi gjøre følgende endringer i koden vår.
Da vil dataene være flatet ut som én rad i en tabell med tilhørende beskrivende kolonnenavn. Her er et utdrag fra hvordan tabellen vil bli seende ut.
Ved noen andre små grep i koden vår kan vi enkelt gå fra å hente hente ett selskaps nøkkeltall til å for eksempel hente så mange vi vil basert på en liste med organisasjonsnummer.
Med det siste eksempelet så konkluderer jeg dette innlegget, og oppfordrer nettopp deg til å utforske om du kan finne noen åpne data som kan være nyttig for ditt bruk.
Har du et spennende prosjekt gående rundt åpne data relatert til vår bransje?