Hur svårt kan fotboll vara en kall och regnig kväll i Stoke? – En genomflygning av molnbaserad BI

19 april 2016

Allt fler tjänster börjar finnas tillgängliga i molnet både vad det gäller BI-verktyg och datakällor. Precis som många andra är vi nyfikna på hur det är att arbeta med denna nya BI-teknologi, men ny teknik i sig själv ger inte så mycket utan någon intressant problemställning att lösa. Så vi tänkte att är man i molnet så måste givetvis vädret analyseras, och vad kan var kan var lika intressant som vädret? Enligt 50% av författarna till det här blogginlägget så är det självklart fotboll och då är givetvis den stora frågan att besvara, hur svårt kan det egentligen vara en kall och regnig kväll borta i Stoke?

Hitta rätt bland molnen

Första steget blev att identifiera och sätta oss in i olika produkter och datakällor. Här behövde vi dels hitta APIer för att inhämta väder och fotbollsinformation samt BI-verktyg.

skc3a4rmavbild-2016-01-20-kl-20-13-28

Information

Så vem erbjuder information om fotbollsresultat? Vi hittade en stor databas från Crowdscores.com som är en site där fans själva matar in resultat och iakttagelser från matcher. Informationen är tillgänglig med ett öppet API och tillgängliggör funktioner för att hämta information om allt ifrån lagen, spelarna och matcherna till arenorna.
Nästa uppgift var att få tag på historisk väderdata. Här hittade vi ett par olika tjänster och valet föll på WorldWeatherOnline.com. Där kan man med hjälp av koordinater och tid hämtar historisk data om väder, så som temperatur, vind och luftfuktighet.
Även väderdatan publiceras i form av API:er.

Verktyg

Nu hade vi allt underlag för analysen och det var dags att hitta verktygen som kunde hjälpa oss att läsa in, sammanföra, lagra och analysera datakällorna.

SnapLogic

För att hämta in och transformera information föll valet på SnapLogic. SnapLogic definierar sig som iPaaS, integration platform as a service. All interaktion sker via ett webbgränssnitt så ingen klient behöver installeras för att arbeta med plattformen.

Att valet föll på just SnapLogic var både för att vi fått en del förfrågningar om det samt att verktyget har en uttalad strategi att koppla ihop olika molnapplikationer. SnapLogic kan på ett enkelt sätt koppla upp sig mot så kallade REST-APIer och är bra på att hantera den struktur som många API:er använder för att leverera data, JSON. JSON kan förenklat beskrivas som ett strukturerat hierarkiskt format liknande XML, men betydligt mer slimmat och med mindre metadata. Främst har det hittills används inom webbutveckling eftersom det är nära kopplat till javascript, men kommer allt mer i andra sammanhang.

SnapLogic bygger på att man ”snappar” ihop olika pusselbitar, Snaps, i ett ETL-flöde och är på så vis väldigt likt klassiska verktyg som Informatica och Microsoft SSIS.

Förutom att på ett enkelt sätt koppla upp sig mot APIer på webben finns det också en rad olika Snaps för att läsa och skriva mot allt ifrån moln- och big datatjänster som Amazon RedShift och Hadoop, till klassiska databasleverantörer så som Oracle och Microsoft.

Nedanför ser du gränssnittet för designer, verktyget där du bygger dina så kallade ”pipelines” / integrationsflöden. Här har vi lagt in en första snap, för att koppla upp oss mot Crowdscore och hämta alla turneringar.

skc3a4rmavbild-2015-12-25-kl-18-53-43

Arbetet i SnapLogic kan du göra väldigt iterativt och det påminner här om andra nyare verktyg som t.ex. Alteryx . I dessa kan man hela tiden följa resultatet med hjälp av att alla stegen har en liten ikon som när man klickar på visar den data som just denna pusselbit levererat. I det fortsatta jobbet behöver man inte köra om från början utan alla pusselbitar ”nedströms” som man kopplar på får information från föregående steg som gått bra. Men det finns naturligtvis en kör-om-allt-från-början knapp.

Här nedanför ser du ett flöde där vi fortsatt från föregående bild med ytterligare några steg. Vi har läst in alla turneringar, mappat om resultatet till den struktur vi vill jobba med, filtrerat ut Premier League och sedan kopplat på information om alla lag i turneringen. Du kan också se att alla steg gått bra eftersom de lyser grönt och att man på deras kopplingspunkter kan se ikonen för att verifiera data. Den har vi klickat på och kan då t.ex. se information om Leicester City.

skc3a4rmavbild-2015-12-25-kl-19-00-18

Att få ihop den slutgiltiga faktatabellen för vår analys krävde några steg till och anrop till vädertjänsten och sedan skrivning till databas. Det blev som synes ett något långt flöde.

skc3a4rmavbild-2015-12-25-kl-19-31-49

Amazon Web Services och MySQL

För lagring föll valet på att köra en MySQL-instans i Amazon-molnet, Amazon Web Services. Att det blev just Amazon berodde på att vi tidigare testat Azure och nu ville se hur konkurrenten var.

Nedanför ser du den kontrollpanel där man börjar i Amazon Web Services.

skc3a4rmavbild-2015-12-25-kl-18-32-47

Det är sedan med hjälp av denna webbsida som de olika tjänster som man har tillgång till hos Amazon hanteras. T.ex. i vårt fall MySQL där man kan komma åt den dashboard som ses nedan. Här kan du på ett snabbt sätt se hur dina databaser mår samt hantera allt ifrån säkerhet till nätverk.

skc3a4rmavbild-2015-12-25-kl-18-36-06

Tableau Public

För att analysera det dataset vi skapat och sedan bygga en Fotboll vs Väder-dashboard använde vi oss av Tableau. Nedan är resultatet publicerat på Tableau Public, det är en öppen community där man gratis kan publicera och dela visualiseringar baserade på Tableau. Tableau Public är en stor och mycket bra källa för inspiration och support då allt som publiceras där är som namnet antyder, publikt. Ser man något man gillar så är det bara att ladda ner arbetsboken och titta hur den är byggd. Testa själv, den färdiga dashboarden vi tagit fram kan du använda direkt  genom att klicka på bilden nedan.

 

1_rss

Erfarenheter

Moln och APIer

Precis som vanligt inom BI märkte vi att en majoritet av av tiden gick åt till hantering och felsökning av datakvalité. Vi valde att använda öppna APIer för inhämtning av data och det krävdes en hel del testande och verifierande för att säkerställa kvalitén. Den största utmaningen hade vi med väderdata där t.ex. den första tjänsten vi hittade uppgav att England mestadels hade klart väder under 2015, något som kanske inte England är känt för. Men som synes nedan gjorde vi löpande under utvecklingen tester av kvalitén genom att granska historiska observationer.

img_1264

SnapLogic

Första intrycket av SnapLogic var att det var ganska lätt att komma igång med och att det fanns ett stort antal olika connectorer och transformationer i form av så kallade Snaps. Fokuset på web och JSON gjorde det enkelt att koppla upp sig mot olika APIer. Däremot var det en viss omställning att gå till ett verktyg som SnapLogic där data internt överförs i form av JSON mellan flödeskomponenterna, till skillnad från de flesta andra verktyg som vi arbetat med, t.ex. SSIS, där det som skickas internt är rader.

En Snap som är central att bemästra för att smidigt kunna arbete med SnapLogic är Mappern. Den används för att transformera data och hantera namnsättning av JSON-objekten och det är här den större delen av vår tid gått åt för att lära oss SnapLogic.

Vi märkte också tidigt att vi delade molnet med andra. SnapLogic blev märkbart långsammare när USA började sin arbetsdag, vilket stundtals kan göra det instabilt och svårarbetat, eftersom även studion där man bygger ETL-flöden är online och webbaserad.

För att summera helhetsintrycket av SnapLogic så tycker vi att det tyvärr inte känns riktigt klart och redo för en enterprisemiljö. Detta på grund av att det allt för många gånger händer att flöden som byggts fallerar utan förklaring och enda sättet att laga detta blir att starta om webbläsaren.

Amazon

Vår erfarenhet av Amazon, utan att gå in på allt för djupa detaljer, kan man summera som en betydligt högre tröskel att snabbt komma in i jämfört med Microsofts molntjänst Azure. Det blir betydligt fler steg i Amazons mer avancerade gränssnitt, där man behöver betydligt fler klick innan man har en databasinstans att börja arbeta med. I Amazon möts man till en början av ett mer avancerat gränssnitt där man får ett batteri av olika anpassningsmöjligheter av sitt moln och lätt överväldigas i behovet av att mer eller mindre sätta upp en virtuell datahall.

Svaret – En kall och regnig kväll i Stoke

”Kan han göra det en kall och regnig kväll i Stoke?” är en vanlig fras använd av främst av engelsk media och ifrågasätter karaktären och tuffheten hos huvudsakligen väldigt tekniska fotbollsspelare från varmare länder, som t ex Lionel Messi.

Så då undrar man ju självklart, nu när vi har både väderdata och matchdata från Premier League, hur svårt är det egentligen en kall och regnig kväll i Stoke? Ja, till att börja med så har det bara spelats en kvällsmatch då regnat i Stoke sedan starten på säsongen 13/14, dvs den tidsperiod som Crowdscores har matchdata ifrån, och då fick visserligen Chelsea stryk på straffar i ligacupen, men det känns lite tunt rent statistiskt för att dra några större slutsatser på. Nöjer vi oss däremot med att det ska vara regnmatch i Stoke och inte nödvändigtvis en kall kväll har vi lite mer att gå på. Så för att se om regnmatcher skulle vara speciellt svåra i just Stoke jämfört med andra Premier League arenor tog vi fram nedanstående visualisering.

skc3a4rmavbild-2016-03-14-kl-17-07-36

Visualiseringen visar antalet poäng som bortalagen tar i snitt när det regnar på olika arenor, samt en referenslinje som visar hur många poäng bortlaget tar i snitt oavsett väder och som alla garanterat vet så spelar Stoke på Britannia Stadium. Stoke visar sig alltså inte vara alls svåra när det regnar, tvärtom det är nästan den plats man helst vill åka till om det regnar då bortalaget i snitt tar 1,44 poäng vid regn men bara strax över 1 poäng oavsett väderlek.

Det här var ju lite förvånande kan tyckas, men samtidigt är det ju inte det. Gamla fina brunkar-Stoke är inte längre vad de var och går till och med numera under smeknamnet Stokelona, pga sina värvningar av fördetta Barcelonaspelare, så komiskt nog verkar det som att Stokes egna spelare numera är de som inte ”kan göra det en kall och regnig kväll i Stoke”

En artikel av Sammy & Calle

Länkar