Firmafon

F*** Excel og hvordan vi bruger Google Spreadsheet

Written by Peter Engelbrecht | 10-02-14 14:33

Advarsel! Denne blogpost har et ret højt nørdtal, så hvis du ikke interesserer dig for regneark og talanalyser kan du roligt skippe den.

Her hos Firmafon besluttede vi helt fra starten for at bruge Google Docs i stedet for MS Office, og det gjorde vi af to helt simple grunde: dokumenter i skyen giver en masse muligheder for samarbejde – og så er det gratis. Det har vist sig at være en heldig beslutning, for efterhånden som vi er dykket dybere ned i Googles produkt har vi opdaget at det er en ren skatkiste af fremragende funktioner. Google Docs – særligt Google Spreadsheet – er blevet en helt central del af Firmafons informationsrygrad.

Nogen tror at Google Spreadsheet bare er en lillebror til Excel – vi mener det forholder sig lige omvendt.

Som eksempel på at Google Spreadsheet kan meget mere end Excel, vil jeg beskrive hvordan vores salgsteams dashboard er lavet. Grundlæggende udnytter det Google Spreadsheet’ evne til at løbende modtage information fra andre systemer, behandle den og give den videre til andre systemer.

Der er et par udfordringer der skal løses for at lave dette dashboard: Data skal indsamles fra flere forskellige systemer, og det skal ske løbende, så data altid er opdateret. Og det – altså at data kontinuerligt opdateres – er en af de allerstørste styrker ved Google Spreadsheet. Næsten al vores centrale Google Spreadsheet data bliver løbende opdateret så de viser os et præcist billede af virkeligheden lige nu. For os er det måske den største fordel ved Google Spreadsheet frem for Excel.

For et salgsteam er gode salgsresultater naturligvis centrale, men udfordringen er at salgsresultaterne er en lagging indicator: Det siger kun noget om hvor godt du gjorde det engang i fortiden, for salget er jo egentlig afslutningen på en længere proces. Vi har brug for at supplere det med en leading indicator, der måler hvad vi gør lige nu. I det konkrete eksempel vil dette sige salgstal (lagging) og salgsaktivitet (leading). Overordnet fungerer det sådan her:

Vi bruger to – meget forskellige – mekanismer til at få data fra de to kilder ind i Google Spreadsheet. Salgsresultater skubbes fra vores backend til Google Spreadsheet, mens salgsaktivtet trækkes fra vores eksterne CRM-system (close.io). Jeg vil nu beskrive de generelle metoder til at skubbe og trække data til Google Spreadsheet.

Google Spreadsheet skub

Vi skubber store mængder data fra vores backend ind i Google Spreadsheet, hvor det bliver yderligere behandlet, analyseret og præsenteret. Fx salgsdata, omsætningstal, churnstatistikker etc. Alt muligt, fra vores realtidsdashboards til vores månedlige bestyrelsesrapporter trækkes fra disse tal, og det sker helt automatisk.

Vi bruger i alle tilfælde samme grundlæggende mekanisme: Vores egenudviklede open source gem to_google_spreadsheet, som tager en Ruby object array, og skriver den ind i et Google Spreadsheet. I praksis kører der en række jobs som er skemalagt i rubygems.org (fra hvert 5. minut til månedligt), der opdaterer forskellige regneark.

Google Spreadsheet træk

Noget data eksisterer i systemer, hvorfra man ikke kan skemalægge at skubbe data ind i Google Spreadsheet. Her udnytter vi at de fleste moderne web-baserede systemer har et REST-baseret API, som vi kan læse data fra. Dette bringer os til den næste store styrke ved Google Spreadsheet, nemlig Google Apps Script. Med dette JavaScript-baserede værktøj kan man trække og manipulere data fra næsten hvad som helst. Som et eksempel er her koden der trækker aktivitetsdata fra vores CRM-system. Du kan se koden her: https://gist.github.com/pengelbrecht/8732569

Dette script sættes så til at køre i et passende tidsinterval, ved at bruge Google Spreadsheet’ trigger-funktionalitet.

Vi bruger samme mekanisme til at trække data fra andre eksterne systemer, som fx ZenDesk, og også fra vores egne telefonidata gennem Firmafons API.

Det vil føre for vidt at gennemgå scriptet i detaljer her, men skriv gerne en kommentar hvis der er interesse for at gå i dybden på dette område, så kan vi vende tilbage til dette i et separat indlæg.

Behandling og analyse

Når data på den ene eller anden måde er kommet over i Google Spreadsheet, skal de typisk analyseres, opsummeres eller noget helt tredje. Her er der et par nøgleformler vi benytter flittigt – ingen af dem eksisterer iøvrigt i Excel:

  1. ImportRange. Med denne formel kan man hente information fra et regneark til et andet. Den benytter vi flittigt til at samle informationer fra vores forskellige regneark i én analyse. Data fra eksterne systemer samler vi som regel i ét regneark per system, som vi så læser fra med ImportRange i analyseark.

  2. Filter. Denne formel trækker udvalgte data (fx.  alle linier fra omsætningstabellen med dato i indeværende uge) fra én tabel til en anden, og formlen er i høj grad arbejdshesten i de fleste af vores analyse-regneark. Som VLOOKUP/MATCH/SUMIF på speed.

  3. Query. Det her er for feinschmeckere, for her kan man bruge en SQL-kommando til at filtrere fra et regneark, og på den måde filtrere og sortere som hjertet begærer.

Præsentation

Tit benytter vi bare det rå regneark til at præsentere data, men nogen gange skal det lige være lidt smukkere. Så bruger vi Klipfolio (som fx. er tilfældet for vores salgsdashboard). Her kan man heldigvis bruge Google Spreadsheet som en datakilde, så det er trivielt at få de relevante data ind, og derfra kan vi så arbejde med at præsentere data bedst muligt.

Konklusion

Det var en kort helikoptertur gennem databehandling i Google Spreadsheet hos Firmafon. Hvis du har læst helt hertil kan det være du – ligesom os – vil smile overbærende af blogindlæg som dette.

 - Peter Engelbrecht
   CEO, Firmafon

 

Hvis du også tænder på KPI-snak, så læs disse blogposts:
Hold øje med de fem vigtigste KPI´er
Sådan bruger du din Trustpilotscore som KPI