Jump to content ›
Datasta parempaa palvelua
Blog

Datasta parempaa palvelua

Jouni Mäkeläinen

Jouni Mäkeläinen

Työpäivä on ohi. Nouset bussiin, istut penkille ja laitat Spotifyn satunnaistoistolle. Spotify valitsee soittolistaltasi satunnaisia kappaleita satunnaisessa järjetyksessä, maisema lipuu silmiesi ohitse. Rentoudut.

Paitsi, että se mitä kuulet on kaukana satunnaisesta.

Spotifyn kehittäjät ovat nähneet paljon vaivaa ettei kuulemiasi kappaleita toistettaisi satunnaisessa järjestyksessä. 

Otetaan käytännön esimerkki: jos omalla listalla on paljon Cheekiä, yksittäisiä kappaleita ei välttämättä kuitenkaan ole kiva kuulla peräkkäin. Sen sijaan Spotify järjestelee toistolistaa niin, että se miellyttäisi kuulijaa enemmän kuin täysin satunnainen lista. Spotify oikeastaan siis suosittelee sinulle valitsemistasi kappaleista soittolistan täyttä satunnaisuutta miellyttävämmässä järjestyksessä.

Spotify-esimerkki on ehkä hieman tavanomaisesta suosittelusta poikkeava, mutta osoittaa hyvin miten käyttäjien mieltymykset ja ominaisuudet on syytä ottaa huomioon mietittäessä tarjontaa. Näin käyttäjä koukuttuu palveluun. 

Tämänkaltainen algoritminen asiakkaan huomioon ottaminen on aina myös jatkuva prosessi. Käyttäjistä saatujen havaintojen pohjalta pystytään analysoimaan, oliko yksittäinen muutos hyödyllinen, hyödytön tai jopa vahingollinen palvelun käyttökokemuksen kannalta.


Miten Netflix tähän liittyy?

Suosittelu on kuulunut jo pitkään maailman tunnetuimpien web-palveluiden keinovalikoimaan asiakasuskollisuuden ja liikevaihdon kasvattamisessa. Netflixin käyttäjälle tarjoama yksilöllinen näkymä mediavalikoimaan on palvelussa keskeisin jatkuvan kehityksen kohde. Jos käyttäjät kokevat, ettei laajasta katalogista löydy heitä kiinnostavaa sisältöä, he vaihtavat palvelun käytön johonkin muuhun viihtymisen muotoon.

Netflixin ratkaisu perustuu yhteisösuositteluun (Collaborative Filtering). Elokuvista ja tv-sarjoista, joista olet kertonut pitäväsi antamalla tähtiä ovat pitäneet myös monet muut käyttäjät. He ovat kuitenkin pitäneet myös joistakin muista sisällöistä, joita sinä et ole nähnyt. Netflix olettaa, että luultavasti pidät myös näistä muista muiden pitämistä ohjelmista. 

Netflix pyrkii siis hyödyntämään suosittelussa samanmielisten käyttäjien kokemuksia, mutta Netflixille tämä on vasta alku. Netflix kehittää jatkuvasti sekä algoritmejaan että sisällön jäsentämistä etusivullaan, jotta se vastaisi mahdollisimman hyvin käyttäjän tarpeisiin. Keskiössä on esimerkiksi “discovery”, mahdollisuus löytää jotakin aivan uutta.

Käytännössä lähes kaikki webissä julkisesti tarjolla oleva materiaali on suosittelua: Katso tämä, Klikkaa tästä, Osta heti jne. Ainoastaan se, kuinka tarkasti erilaisia sisältöjä ja palveluita käyttäjäkohtaisesti tarjotaan vaihtelee. 


Miten minä siis itse hyötyisin näistä keinoista?

Tarjoamalla käyttäjää kiinnostavaa sisältöä satunnaisen otannan sijaan säästetään sekä käyttäjän aikaa että virtapiirien tuottamaa hukkalämpöä. Vaikka Big Datan aikakaudella käyttäjistä kerrytetään yhä enemmän tietoa, se ei kuitenkaan jalostu aidosti merkittäviksi tuloksiksi automaattisesti.

Kaikki lähtee suunnittelusta. Ensin on tunnistettava suositteluun liittyvät tarpeet ja mahdollisuudet. Käyttöön otetaan palvelumuotoilun ja UX-suunnittelun perustyökalut, ja suunnittelun keskiöön nostetaan käyttäjä. Mitä hän tahtoo? Mitä hän tarvitsee? Mitä hän ei edes tiedä tarvitsevansa?

Käyttäjistä kerätään tietoa. Tietojen kerääminen voi tapahtua käyttäjää tarkkailemalla, haastattelemalla tai analytiikan avulla. Esimerkiksi käyttäjän käyttäytyminen palvelussa kuten yksittäisillä sivuilla vietetty aika ja käyttäjän liikkuminen sivulla yhdistettynä tietoon sivujen aihealueista voivat toimia hyvinä signaaleina käyttäjän tarpeista. 

Mitkä tahansa keinot ovat sallittuja: käyttäjältä hankitaan tavalla tai toisella suosittelun kannalta relevantteja tietoja.

Käyttäjää kiinnostavia aihealueita voidaan kerätä esimerkiksi lomakkeella tai seuraamalla millaisia valintoja hän tekee verkkokaupassa tai www-sivustolla. Tämä voi tapahtua niin, että käyttäjä valitsee kiinnostuksen kohteita, arvioi sisältöjä tähtiluokituksella tai esimerkiksi deittipalvelussa muiden käyttäjien kiinnostavuutta. 

Toteuttamamme Vaalikonesovellus on hyvä esimerkki tietojen keruusta haastattelemalla käyttäjää. Käyttäjä kertoo omista poliittisista mieltymyksistään ja näkemyksistään ja saa vastineena suositukset sopivista ehdokkaista, sekä samalla palvelu saattaa yllättää käyttäjän kertomalla hänestä itsestään jotain uutta: “Ai, olenkin konservatiivisempi kuin luulinkaan”. 

Samaa suoraviivaista lähestymistapaa voi soveltaa monilla alueilla kuten esimerkiksi Lääkäriliitolle toteuttamassamme erikoisalani.fi -palvelussa: Ehdokkaiden sijaan käyttäjä saa tuloksena hänelle sopivia lääketieteen erikoistumisaloja ja syventävää tietoa päätöksen tueksi. Oleellista on se, että käyttäjä kokee vastausten antamisen vaivan arvoiseksi. 


Hyvä, mutta millaisilla työkaluilla tämä voitaisiin tehdä?

Jotta kerätystä datasta saataisiin suositteluja, sopivat laskentavälineet tulee tunnistaa ja ottaa käyttöön. Tarjolla on runsaasti avoimen lähdekoodiin perustuvia ja kaupallisia ratkaisuja, jotka mahdollistavat hyvinkin monimutkaisten ja vaativien algoritmisten ratkaisujen valjastamisen hyötykäyttöön kohtuullisella vaivalla. Joissakin tapauksissa myös tiettyyn käyttötapaukseen sovitettu räätälöity ratkaisu voi olla oikea ratkaisu. Esimerkiksi vaalikonetta varten suunnittelimme ja toteutimme algoritmin ja sitä skaalautuvasti tukevan palvelinarkkitehtuurin, joka on palvellut nyt jo esimerkiksi Yleä yli kymmenen vuotta.  

Datan määrä ja laskennan luonne ohjaavat työkalujen valintaa. Jos dataa on paljon, laskenta pitää yleensä hajauttaa sopivin työkaluin. Isojen datamassojen hyödyntämiseen on tarjolla sekä kaupallisia että avoimeen lähdekoodiin perustuvia laadukkaita työkaluja kuten Apache Spark. Myös API-pohjaisia pilvipalveluita voi hyödyntää - esimerkiksi Googlen tarjoamia työkaluja. 

Työkalujen käyttöönotossa tarvitaan riittävää asiantuntemusta aihealueesta, mutta kiitos kehittyneiden menetelmien algoritmeja ei ole yleensä tarpeen itse syvällisesti tuntea tai kirjoittaa, mutta niiden toimintaperiaatteiden erot on syytä ymmärtää sopivien työkalujen valitsemiseksi. 

Laskennan reaaliaikaisuus tuo erityisen haasteen. Esimerkissämme vaalikoneessa käyttäjä olettaa saavansa haluamansa vastauksen heti, tässä ja nyt. 


Winner takes it all

Onnistuneeseen suositteluratkaisuun ei ole oikoteitä. Se on sekä taidetta että tiedettä. Käyttäjän aidosti hyväksi kokeman palvelun tuottamiseen tarvitaan huolellista paneutumista ja monialaista asiantuntemusta. Suunnitteluvaiheessa tuotetaan kosketeltavissa oleva näkemys houkuttelevasta ja hyödyllisestä palvelusta. Toteutusvaiheessa näkemys realisoituu laadukkaana toteutuksena. 
Loppujen lopuksi onnistumisen määrittelevät kuitenkin käyttäjät jaloillaan, klikkauksillaan ja ostoillaan.

Kilpailu mobiilipelien mainosverkkojen välillä on äärimmäinen esimerkki alasta, jossa parin prosentin erot tuloksissa ratkaisevat voittajat ja häviäjät. Käyttäjälle -  joita voi olla satoja miljoonia - täytyy tarjota mahdollisimman houkuttelevia tuotteita hyvin lyhyessä aikaikkunassa. Pienet erot konversiossa määräävät, mitä mainosverkkoja mobiilisovelluksien kehittäjät käyttävät.

Käytännössä alan paras toimija vie kaikki asiakkaat.