Otsikon mukainen kysymys tuli mieleeni, kun eräänä päivänä katselin lävitse Louhian tekemiä koneoppimis- ja AI-projekteja. Kävi nimittäin ilmi, että kymmenistä eri harjoituksista vain murto-osassa datat olivat tulleet yrityksen tietovarastosta tai tietovarastoista (DW, EDW). Noihin tietovarastoihin on kuitenkin upotettu miljoonia, mutta ensimmäisten AI-kokeilujen osalta ne olivat pääosin hyödyttömiä.
Aloin selvitellä asiaa tarkemmin ja syyksi “hyödyttömyyteen” paljastuivat seuraavat kaksi asiaa.
- Tarvittavaa dataa ei ollut lainkaan tietovarastossa
- Tarvittava data oli tavallaan tietovarastossa, mutta puutteellisena
Kohta 1 on varsin selvä. Tietovarastot on suunniteltu ihmisen toteuttaman raportoinnin tarpeita ajatellen. Ja nämä raportointitarpeet ovat yleensä historiaan katsovia mittareita, kuten montako omppua myytiin viime vuonna ja paljon niistä jäi katetta. Tai ketkä olivat suurimpia omppujen ostajia. Tai paljonko meiltä jäi omppuja myymättä.
Koneoppimisen ja tekoälyn avulla taas yleensä ratkotaan ongelmia, joilla ennustetaan tulevaisuuden skenaarioita. Esimerkiksi, halutaan ennustaa omppujen hintakehitystä tulevien viikkojen aikana, jotta voidaan ostaa niitä optimaalisella hinnalla.
Miksi sitten esim. tällaisessa keississä perinteinen tietovarasto ei yleensä sisällä relevanttia dataa ennustamisen kannalta?
- Omppujen hintakehitykseen vaikuttavat kasvattajamaan säätilat –> tuskin löytyy tietovarastosta valmiina, koska niistä ei tehdä BI-raportteja
- Omppujen hintakehityksen osalta olisi olennaista tietää kulloisetkin markkinahinnat, joilla omput ovat olleet tarjolla –> tietovarastosta kuitenkin löytyy vain ostohinnat
Vastaavia tilanteita tulee jatkuvasti esiin AI-projekteissa. Lisäksi ne saattavat mennä osa-alueille, joissa ei ns. perinteistä raportointia ole tehty aiemmin ollenkaan. Esimerkiksi lokeista tehtävään vikaantumisen ennustamiseen. Tällöin dataa ei varmastikaan ole firman EDW:ssä. Puhumattakaan kuvien tunnistukseen tai tekstianalytiikkaan liittyvistä projekteista.
Kohdan 2 tilanteessa tietovarastossa on jo melkein relevanttia dataa. Esimerkiksi tietovarastoon on kerätty asiakastietoja ja tehty siitä raportointia. Tässä tilanteessa voidaan törmätä siihen, että dataa ei ole historioitu oikein tai riittävästi. Esimerkiksi asiakaspoistuman ennustamiseksi voidaan tarvita tietoja asiakkaan aiempien sopimustilanteiden statuksista eri ajanhetkinä. Näitä ei kuitenkaan välttämättä ole tallennettu, vaan tietovarastossa on vain viimeisin status asiakkaan sopimustilanteesta.
Dataa on myös voitu summata liian karkealle tasolle, jotta siitä olisi mielekästä tehdä koneoppimista.
Kun tietovarastoja on kehitetty, niin ei vain ole osattu ajatella näitä uudenlaisia tarpeita. Todellinen haaste kuitenkin voi olla, että osataanko vieläkään? Rakennetaan innolla versiota 3.0 EDW:stä ilman, että huomioidaan tulevia tarpeita riittävästi. Tehdään vain parempi ja kattavampi versio vanhasta.
Ketterästi vai hooposti?
Oletaan lähtötilanne, jossa on kaksi yritystä, X ja Y, jotka molemmat haluavat ennustaa omppujen myyntiä ja hintaa. Näillä on kuitenkin erilaiset lähtökohdat tehdä projekti.
- Yritys X päättää, että tarvittavat datat on tuotava ensiksi tietovarastoon. Pitää käynnistää siis projekti tietovarastotoimittajan kanssa. …(hypätään ajassa eteenpäin..) Kaksi vuotta myöhemmin datat todellakin löytyvät EDW:stä käyttökelpoisena.
- Yritys Y taas päättää kerätä datat ensiksi vaikkapa csv-tiedostoihin eri lähteistä ja yhdistellä ne data-analyytikon läppärillä. Tähän kuluu pari viikkoa.
Molemmissa yrityksissä tehdään Deep-Omppu malleja ennustetaan omppujen myyntiä ja hintaa tuleville viikoille. Molemmissa paikoissa päästään samoihin päätelmiin mallin kannalta olennaisesta datasta ja muuttujista. Huomataan että kaikesta kerätystä alkudatasta vain alle puolet on merkityksellistä mallin kannalta.
Nyt yritys X on investoinut jo valmiiksi paljon aikaa ja rahaa viedäkseen tietovarstoon myös merkityksettömät datat. Yritys Y sen sijaan aloittaa vasta tässä vaiheessa datan tietovarastoon viennin – nyt kun tiedätään mistä siellä oikeasti tarvitaan. Kumpihan on fiksumpaa?
Esimerkki saattaa olla vähän karrikoitu, mutta perustuu kokemuksiin useista eri projekteista tällä alalla.
Yhteenvetona
- Varaudu siihen, että aiemmin tehty tietovarasto ei taivu koneoppimisen ja tekoälyn tarpeisiin
- Suunnittele tulevat tietovarastot siten, että ne taipuvat
- Etene ketterästi ja kokeile ensiksi toimiiko tekoälyideat ennen kuin aloitat EDW-projektia sen vuoksi