maanantai 13. lokakuuta 2014

Asuntojen myyntitietokonetta käytettiin kolmessa päivässä yli 250 000 kertaa

Perjantaina 10.10.2014 julkaisimme Yle Uutisten sivuilla jutun, joka käsitteli osakehuoneistojen arvojen kehitystä pitkällä aikavälillä, vuosina 1987–2013. Jutun yhteyteen oli rakennettu kone, josta hintojen kehitystä oli mahdollista tarkastella postinumeroalueen tarkkuudella. (Kuva 1)

Asuntokoneesta pystyi esimerkiksi tarkastelemaan Hervannan neliöhintojen kehitystä vuosittain. (Kuva 1)

Keräsimme koneen käytöstä numeerista dataa. Keräsimme:
  • sivun latausmäärä (174 000)
  • talotyypin valinta (139 000)
  • postinumeroalueen valinta (256 000)
  • vertailualueen valinta (5 700)
  • vuoden valinta (84 000)
Luvut ovat aikajaksolta 10.–12.10.2014 eli viime perjantaista sunnuntaihin.

Sivun latausmäärä


Sivun latausmäärän keräsimme normaaliin tapaan ComScore-ohjelmalla. Ylen mittakaavalla 174 000 sivulatausta on selkeästi viikkotason hitti. Vertailukohdaksi vuoden 2014 luetuin juttu on kerännyt yli 600 000 sivulatausta eli aivan sillä tasolla ei liikuta, mutta aina kun juttu on viikon luetuin voidaan olla tyytyväisiä.

Potentiaalia suurempiinkin lukijamääriin olisi tietysti ollut, koska useimmilla meistä on koti vaikka se omistusasunto ei olisikaan.

Talotyypin valinta


Jotta konetta pystyi käyttämään täytyi ensiksi valita halusiko tutkia aineistoa koskien kerrostaloja vai pari/rivitaloja. (Kuva 2)

Aluksi koneessa täyty valita halusiko tarkastella kerrostalohuoneistoja vai pari/rivitalohuoneistoja. (Kuva 2)

Talotyyppi valittiin 139 000 kertaa. Raa'asti yksinkertaistamalla siis 35 000 sivulataajaa tai 20 %:a sivulataajista ei käyttänyt konetta ollenkaan. Näin suoraviivaisesti lukuja ei tietenkään voi tulkita, koska yksittäinen sivun lataaja on voinut valita talotyypin useaan kertaan. Toisaalta taas yksittäinen henkilö on voinut palata uutiseen jo käytettyään konetta.

Mutta jos oletetaan karkeasti, että 80 %:a jutun lukijoista on ymmärtänyt käyttää jutusta löytyvää toiminnallisuutta – joka poikkeaa siitä mitä Ylen uutisjutusta normaalisti voi odottaa – voidaan tätä lukemaa pitää hyvänä.

Syitä näin korkeaan osuuteen voidaan löytää esimerkiksi siitä, että käyttöliittymä on ollut tarpeeksi yksinkertainen, jotta se on ollut ymmärrettävä ja siitä että sisältö on tarjoiltu niin mielenkiintoisesti, että lukija on kokenut sen riittävän kiinnostavaksi.

Olisi mielenkiintoista saada jatkossa statistiikkaa siitä miten tämä 80 % esimerkiksi vertautuu siihen kuinka moni lukee normaalin uutisjutun loppuun asti. Olemme tällä hetkellä kehittelemässä tähän liittyviä työkaluja.

Jatkotoimenpiteinä pyrimme myös jatkossa mahdollisimman selkeisiin ja yksinkertaisiin käyttöliittymiin. Uutissisällöissä on tärkeää, että lukija pääsee mahdollisimman nopeasti kiinnostavan sisällön äärelle.

Kerrostalot (71 000 valintaa) olivat muuten minimaalisesti pari/rivitaloja (68 000 valintaa) kiinnostavampia.

Postinumeroalueen valinta


Teknisesti postinumeroalueen valinnan toteuttaminen oli haastavaa, koska postinumeroita on yli 3 000. Etenkin mobiililaitteilla näin laajan aineiston hakeminen ja suodattaminen käy laitteelle raskaaksi.

Lopulta päädyimme ratkaisuun, jossa mobiililaitteilla ja työpöytäkäytössä postinumeroalueen valitseminen toimii hieman eri tavalla. Työpöytäkäytössä postinumeroalueita on mahdollista selata sekä hakea, mutta mobiililaitteilla mahdollisuus selaamiseen jätettiin pois.

Julkaisuhetkellä mobiili toimi samalla tavalla kuin työpöytä, mutta saadun palautteen pohjalta kehitimme konetta lennosta. Muutokset olivat käytössä ennen puoltapäivää kun juttu julkaistiin aamulla puoli seitsemän aikaan.

Työpöytäkäytössä hyödynsimme Chosen-nimistä kirjastoa, joka muuntaa HTML-muotoiset <select>-listat haettaviksi (Kuva 3). Mobiilikäytössä käytimme jQuery UI:n autocomplete -toiminnallisuutta (Kuva 4).
Työpöydäkäytössä postinumeroalueita pystyi selaamaan ja hakemaan. (Kuva 3)
Mobiilikäytössä postinueroita pystyi vain hakemaan. (Kuva 4)

Valitsemamme toteutustapa osoittautui ainakin käyttötilastojen valossa toimivaksi. Yksittäinen postinumeroalue valittiin koneen avulla 256 000 kertaa. Tämä tarkoittaa karkeasti, että yksittäinen lukija käytti konetta postinumeroalueen datan tarkistamiseen keskimäärin kaksi kertaa.

Tämä kertoo, että aineisto on kiinnostanut ja käyttöliittymä sen tarkasteltuun on ollut toimiva. Käytännössä tietysti käyttäjistä löytyy tehokäyttäjiä, jotka ovat valinneet mahdollisesti useita kymmeniä alueita ja sitten on käyttäjiä, jotka ovat valinneet vain yhden alueen.

Huomion arvoista on myös, että asuntokoneen käyttäjistä 38 % tuli mobiililaitteista (puhelin ja tabletti). Aamulla ennen tekemiämme mobiilikäyttöön liittyneitä parannuksia osuus oli lähempänä 20 %:a. Eli tehdyt parannukset olivat tarpeen.

Suosituimpia hakuja olivat Helsinkin eri alueet sekä suurten kaupunkien keskustat:
  1. 00100 Helsinki Keskusta / Helsingfors centrum (2 138 valintaa)
  2. 20100 Turku Keskus / Åbo centrum (1 597)
  3. 00530 Kallio / Berghäll (1 574)
  4. 37800 Toijala keskus / Toijala centrum (1 420)
  5. 33100 Tampere Keskus / Tammerfors centrum (1 383
  6. 00200 Lauttasaari / Drumsö (1 361)
  7. 40100 Jyväskylä Keskus / Jyväskylä centrum (1 132)
  8. 90100 Oulu Keskus / Uleåborg centrum (1 126)
  9. 00500 Sörnäinen / Sörnäs (983)
  10. 00320 Etelä-Haaga / Södra Haga (981)
Toijalan keskustan nouseminen listalle selittyy sillä, että se oli pudotusvalikon ensimmäinen valinta, koska alue kuuluu nykyään Akaaseen, joka on aakkosjärjestyksessä Suomen ensimmäinen kunta.

Huomionarvoista on, ettei suosituinkaan alue kerännyt kuin noin prosentin valinnoista. Aineistoa tarkasteltiin siis hyvin laajasti. Eri aluevalintoja tehtiin yhteensä vajaa 2 000 kappaletta.

Jatkossakin kannattaa siis panostaa siihen, että erilaiset valinnat ovat mahdollisimman hyvin käytettävissä eri laitteilla. Etenkin jos ne ovat keskeisiä sovellusten käytön kannalta. Se, että aineistoa on tutkittu laajasti kertoo myös siitä, että tämänkaltaiset koneet jotka palvelevat kaikkia ovat toimivia. Meillä kaikilla on omat alueelliset kiinnostuksen kohteemme ja se on oma napa joka kiinnostaa.

Vertailualueen valinta


Perjantaina iltapäivällä julkaisun jälkeen toteutin koneeseen vielä lisätoiminnallisuuden, jonka avulla oli mahdollista vertailla yhtä aikaa grafiikassa kahta aluetta. (Kuva 5, Kuva 6)

Vertailualueiksi pystyi ottamaan esimerkiksi Hervannan ja Tampereen Keskuksen. (Kuva 5)
Grafiikassa valittujen alueiden hintakehityksen pystyi näkemään yhtä aikaan, joka helpotti vertailua. (Kuva 6)

Mahdollisuus vertailualueen valintaan ei ollut siis mukana jutun julkaisusta lähtien vaan se lisättiin vasta myöhemmin iltapäivällä. Tästä huolimatta voisaan sanoa, että toiminnallisuuden käyttö jäi hyvin pieneksi. Vertailualue valittiin vain 5 700 kertaa kun siis yksittäinen postinumeroalue valittiin näkyville 50 kertaa useammin.

Syitä miksi vertailualuetoiminnallisuutta ei käytetty voidaan hakea monista näkökulmista. Toisaalta toiminnallisuus oli käyttöliittymällisesti esillä melko huomaamattomasti. Se löytyi postinumeroaluevalinnan alta oikealta puolelta linkkinä. Tämä poikkesi muusta koneen käyttöliittymästä ja voi olla, että yksinkertaisesti toiminnallisuutta ei löydetty. Voi myös olla, että lukijoille riitti, että he pystyivät katsomaan heitä kiinnostavia alueita. Vertailu tällä tavalla muihin alueisiin ei ollut sisällöllisesti kiinnostavaa.

Tämä on kuitenkin hyvä tutkiskelun paikka, että tämänkaltaisissa toteutuksissa kannattaa keskittyä pääasiallisiin toiminnallisuuksiin ja siihen, että niistä tehdään mahdollisimman toimivia. Erilaiset lisätoiminnallisuudet ja sellaiset "olisi kiva jos tässä voisi tehdä vielä vaikka tätä ja tuota" -pyynnöt ja niiden arvo kannattaa miettiä tarkasti. Onko niistä todellista hyötyä vai ovatko ne vain aineistoon tutustuneen toimittajan ja koodarin päässä kiinnostavia.

Hyvä nyrkkisääntö moniin visualisointeihin ja datan esittämiseen on "Quick overview, details on demand". Yksityiskohdat (details) voidaan myös tarjota esimerkiksi mahdollisuutena ladata aineisto Excel-tiedostona.

Ostovuoden valinta


Koneessa oli myös mahdollista syöttää lisävalintana ostovuosi. Ostovuoden syöttäminen oli lisävalinta. Syöttämällä asuntotyypin ja postinumeroalueen lukija sai oikeastaan jo oleellisimman informaation näkyville, mutta jos hän syötti edelleen asunnon ostovuoden kerrottiin hänelle yksityiskohtaisempaa tietoa asunnon arvon kehityksestä valitusta ostovuodesta vuoteen 2013. (Kuva 7)

Valitsemalla ostovuoden lukija sai tietoa millä tavalla valitulla alueella asuntojen hinnat ovat kehittyneet ostovuodesta vuoteen 2013. (Kuva 7)

Ostovuosi valittiin 84 000 kertaa, jota pidän yllätyksellisen korkeana arvona ottaen huomioon, että suuri osa lukijoista ei edes omista omaa asuntoa. Toisaalta ostovuoden valinta jäi käyttöliittymällisesti hieman taka-alalle, koska hinnan kehitystä kuvaava grafiikka piirrettiin heti postinumeroalueen valinnan jälkeen. Visuaalinen grafiikka oletettavasti vangitsee ilmestyessään katseen itseensä. Oma näkökulmani olikin ensin, ettei tätä ostovuoden valintaa kannata toteuttaa koneeseen ollenkaan.

Ostovuoden valinta kuitenkin koettiin hyödylliseksi, koska jälleen karkeasti voidaan sanoa, että 60 %:a koneen käyttäjistä löysi tämän toiminnallisuuden ja hyödynsi sitä. On siis nähtävä, että tämänkaltaiset toiminnallisuudet ja lisävalinnat, jotka tuovat suoraa lisäarvoa lukijalle ja antavat perspektiiviä aineistoon hänen omasta näkökulmastaan ovat hyödyllisiä.

Suosituimmat vuosivalinnat olivat:
  1. 1987 (9 866 valintaa)
  2. 2013 (8 425)
  3. 2010 (5 267)
  4. 2012 (5 103)
  5. 2011 (4 674)
  6. 2000 (4 262)
  7. 2008 (3 625)
  8. 2009 (3 585)
  9. 2007 (3 573)
  10. 2005 (3 472)
Vuoden 1987 suosio selittyy sillä, että se oli aineiston ensimmäinen vuosi ja samalla pudotusvalikon ensimmäinen valinta. Vuotta 2000 taas selittää, että jutussa käsiteltiin yhtenä näkökulmana hintojen kehitystä vuosina 2000–2013. Lukijoita siis kiinnosti verrata jutussa tehtyä havaintoja omaan alueensa kehitykseen.

Muuten nähdään, että ihmiset ovat olleet kiinnostuneita suhteellisen tuoreesta kehityksestä. Voidaan tehdä myös sellainen hypoteesi, että, koska koneessa valittiin useimmin esimerkiksi Helsingin keskustan alueita, joissa on paljon pieniä asuntoja ovat koneen käyttäjät myös tämänkaltaisten asuntojen ostajia ja pienissä asunnoissa usein asutaan isompia lyhyempi aika.



Yhteenvetona voitaneen todeta, että tämänkaltainen uutissisältöjen tarkempi käyttöanalytiikka tuottaa erittäin arvokasta ja mielenkiintoista dataa. Pystymme todentamaan ja kumoamaan oletuksiamme, jonka myötä toivottavasti jatkossa kehitämme aina vain parempia ja helppokäyttöisempiä uutissovelluksia.

Olemme jo nyt vieneet keräämäämme dataa osaksi päätöksentekoa, joka on tietysti olennaista, että emme vain kerää dataa, koska se on mahdollista.

perjantai 26. syyskuuta 2014

Uutissovellusten sisäinen analytiikka

Meillä on ollut työpaikallani Yle Uutisten PlusDeskissä tänä vuonna tavoitteena kerätä tarkempaa dataa siitä miten verkkototeutuksiamme käytetään.

Tällä hetkellä analytiikka perustuu pääosin sivujen klikkimääriin. Näitä lukuja mittaavat Goole Analytics sekä ComScore. Aikaisemmin meillä oli käytössä myös Visual Revenue -niminen järjestelmä. Tämän lisäksi meillä on myös koko palvelun käyttöä määrittelevä laadullinen mittausjärjestelmä. Yksittäistapauksissa olemme liittäneet juttujen yhteyteen juttukohtaisen arvointityökalun kuten tässä "Lakkautustahti on raju – täältä koulut katoavat" -jutussa.

Haluamme kuitenkin tarkempaa tietoa kuinka etenkin interaktiivisia juttukokonaisuuksia käytetään. Haluamme paremmin ymmärtää minkälaiset käyttöliittymät, kerrontatavat ja esitystekniikat toimivat verkossa ja eri laitteilla. Etenkin, koska käytämme näihin erityistoteutuksiin keskimäärin paljon enemmän aikaa kuin perinteisten pelkkää leipätekstiä sisältävien juttujen toteuttamiseen.

Tähän asti olemme hyödyntäneet toteutusten sisäistä analytiikkaa lähinnä sillä tasolla, että olemme tallentaneet erilaisten kyselyiden ja testien vastaajamäärät talteen. Tälle on ollut sisällöllinen motivaatio, koska olemme halunneet tehdä vastausaineistosta jatkojuttuja, mutta samalla tämä kerääminen on toiminut indikaattorina siitä, että toteutukset ovat olleet toimivia ja ne on tehty loppuun. Olemme voineet numeroiden valossa esimerkiksi arvioida kuinka jutun auki klikanneista on tehnyt testin tai kyselyn loppuun asti.

Mutta kuten sanottua tavoitteenamme on kerätä entistä tarkempaa analytiikka. Esimerkiksi toteuttamassamme Tulolaskurissa olisi ollut mielenkiintoista tietää kuinka moni esimerkiksi käytti toteutukseen tehtyä ominaisuutta, jolla pystyi vertailemaan kahta aluetta keskenään. (Kuva 1)

Tulolaskurissa oli mahdollista valita näkyville yhtä aikaa kaksi aluetta. (Kuva 1)

Google Analytics -palvelu mahdollistaa erilaisten tapahtumien linkittämisen interaktiivisiin toteutuksiin. Ominaisuuden nimi on Event Tracking. Kokeilimme tätä ominaisuutta ensimmäistä kertaa Vapaakauppaa käsitelleessä juttupaketissamme. Juttupaketti oli jaettu neljään osaan. Navigointi osien välillä oli mahdollista joko käyttäen jutun yltä löytyneitä välilehtiä (Kuva 2) tai jokaisen osien lopusta löytyneitä "Siirry edelliseen/seuraavaan osioon" painikkeita (Kuva 3).

Jutun yllä oli mahdollisuus vaihtaa osiota ns. välilehtien avulla. (Kuva 2)

Jutun lopusta oli mahdollista siirtyä edelliseen tai seuraavaan osiin. (Kuva 3)

Olemme käyttäneet vastaavanlaista juttuformaattia aikaisemminkin mm. NSA:n vakoilua käsitelleessä jutussa. Paketti oli suhteellisen suosittu, mutta meillä ei ollut tarkempaa dataa siitä miten juttua luettiin tai löydettiinkö juttupaketin eri osat edes. Meillä oli vain oletuksia. Eräs oletus oli, että ihmiset käyttäisivät navigointiin nimenomaan jutun yltä löytyviä välilehtiä.

Vapaakauppajutussamme käytimme Event Tracking -toimintoa mittaamaan kuinka monta kertaa jutun yltä löytyneitä välilehtiä ja jutun lopusta löytyneitä painikkeita käytettiin. Suhde välilehtien ja lopun painikkeiden välillä oli painikkeiden hyväksi 75 % / 25 %. Lopun painikkeet olivat siis merkittävästi suositumpia. Tulos oli siis täysin päinvastainen ennakko-oletukseemme nähden.

Tulos on siksikin mielenkiintoinen, että alun perin kun teimme tuon käyttöliittymämallin NSA-juttuun, jossa juttu on jaettu eri kokonaisuuksiin, lisäsimme lopun painikkeet ihan viime vaiheessa yhtenä navigaatiovaihtoehtona. Kuitenkin näyttää siltä, että lukijoille ne ovat paljon luontevampi tapa edetä jutussa.

Tämä virheellinen mielikuva ja se, että analytiikan avulla se pystyttiin kumoamaan osoittaa, että meidän täytyy jatkossa pyrkiä yhä enemmän ja enemmän ymmärtämään miten toteutuksiamme käytetään. Ja käyttää tätä keräämäämme dataa apuna juttujen suunnittellussa ja muussa päätöksenteossa.

maanantai 11. elokuuta 2014

Luulitko olevasi suomalainen? Testaa! – 6 syytä menestykseen

Julkaisimme nelisen kuukautta sitten 28.4.2014 Yle Uutisten sivuilla testin otsikolla "Luulitko olevasi suomalainen? Testaa!".

Juttu oli mieletön hitti. Tähän päivään mennessä sitä on kommentoitu, tykätty ja jaettu Facebookissa yli 130 000 kertaa. ComScore-palvelun tuottaman raportin mukaan juttu on tähän mennessä klikattu auki yli 600 000 kertaa. Huikeita lukuja. Aikaisemmin Yle Uutisten luetuin juttu oli kerännyt noin 350 000 klikkiä – Facebook-ennätyksen ollessa noin 50 000 toimintaa.

Aloitimme jutun työstämisen pari kolme viikkoa ennen julkaisua, jolloin kokoonnuimme – noin viiden hengen porukalla – pohtimaan mitä haluamme tehdä. Tarkoituksenamme oli tehdä jotain sellaista kiinnostavaa verkkoon, joka tukisi Eve Väyrysen ja Sean Ricksin EU-kiertuetta ja toisi sille näkyvyyttä. Suurempana kokonaisuutena juttu kiinnittyi lähestyneisiin eurovaaleihin. (Kuva 1)

Testi toimi lähtölaukauksena Even ja Seanin EU-kiertueelle. (Kuva 1)
Mielestäni seuraavat kuusi asiaa ovat tunnistettavissa tämän jutun menestyksen takaa.
  • Onnistunut kysymysten asettelu
  • Yksinkertainen ja kompakti käyttöliittymä
  • Päätelaiteriippumattomuus
  • Personoitu somejako
  • Dataa, ei dadaa
  • Monimediallinen toteutus

Onnistunut kysymysten asettelu


Lähtökohtamme oli, että halusimme tehdä jonkinlaisen testin tai koneen, joka yllättäisi tekijänsä siitä näkökulmasta, että emmehän me eurooppalaiset yksilöinä juurikaan poikkea toisistamme. Teknisen toteutuksen osalta otimme esikuvaksemme aikaisemmin keväällä julkaisemamme Leijonakone:en.

Tavoitteenamme oli tuoda sinällään kaukaisilta tuntuvat euroaiheet lähemmäksi yksilöä. Halusimme kysyä mieluummin oletko luottavainen omaan talouteesi kuin, että tulisiko mielestäsi EU:n kriisimaita tukea. Halusimme, etteivät kaikki kysymykset liittyisi tiukasti esimerkiksi politiikkaan tai talouteen vaan ihan ihmisten jokapäiväiseen käyttäytymiseen kuten kahvin juontiin. Tämän kaltaisten arvoihin ja käyttäytymiseen liittyvien kysymysten kautta halusimme määritellä, jokaiselle testin tekijälle minkä EU-maan kansalaisten keskiarvoa hän muistuttaa eniten.

Halusimme, että kysymykset olisivat samaistuttavia ja selkeitä. Tämänkaltaisissa testeissä tai kyselyissä jo yksi vaikea kysymys saattaa aiheuttaa, että tekijä turhautuu ja jättää testin kesken. Halusimme myös välttää sellaisia kysymyksiä, jotka eivät olisi relevantteja jollekin ihmisryhmälle. Kysymysten tulisi olla sellaisia joihin voi nopeasti muodostaa jonkun mielipiteen.

Vastuu kysymysten valitsemisesta jäi lopulta Sean Ricks:in harteille, mutta etenkin viimeistelyvaiheessa käytimme aikaa isommalla porukalla miettien mitkä kysymykset lopulta päätyivät testiin ja missä järjestyksessä kysymykset olivat.

Yksinkertainen ja kompakti käyttöliittymä


Suunniteltaessa käyttöliittymiä on usein hyvä pyrkiä tiiviiseen ja yksinkertaiseen ilmaisuun, jossa keskitytään olennaiseen. KISS-ajattelumalli on aivan ehdottomasti lempisuunnitteluperiaatteitani.

Oletko suomalainen -testissä tämä onnistui erityisen hyvin. Kymmenen kysymystä ja vastausvaihtoehdot sisältänyt käyttöliittymä saatiin rakennettua niin, että se mahtui useimmilla laitteilla yhdelle ruudulle. Tämä on hyvä, koska tällöin testin tekijällä on heti käytössään visuaalinen vinkki siitä mitä ja kuinka paljon hänen tulee tehdä saavuttaakseen lopputulos. Pitkät lomakkeet, jotka on jopa jaettu useammalle sivulle, ovat luontaantyöntäviä.

Tämän lisäksi kysymyksiin vastaaminen oli tehty mahdollisimman helpoksi. Emme esimerkiksi käyttäneet teknisesti vastauskomponentteina valintapainikkeita (radiobutton), joita on niiden pienuuden takia vaikea klikata tai täpätä, joka voi olla turhauttavaa. Olemme empirian kautta havainneet, että ihmiset yrittävät usein painaa juurikin sitä pientä valintapainikkeen palluraa vaikka valinnan tekeminen suuremmaltakin alalta (esimerkiksi klikkaamalla tekstiä). Oli siis perusteltua rakentaa täysin uniikki tapa valita vastaus. (Kuva 2)

Käyttöliittymä oli yksinkertainen ja kompakti. (Kuva 2)

Päätelaiteriippumattomuus


Mobiili, mobiili ja vielä kerran mobiili. Oletko eurooppalainen -testin kävijoistä yli 40 % tuli julkaisuviikolla mobiililaitteista. On siis ensiarvoisen tärkeää, että sisällöt ovat kulutettavissa mahdollisimman laajalla laiteskaalalla. Ei voida olettaa, että lukija etsisi sisällön uudelleen käsiinsä esimerkiksi kotonaan jos hän on nähnyt sen esimerkiksi bussissa mobiililaitteella, jossa se ei ole toiminut.

Testasimme testin toimivuuden yleisimmillä mobiililaitteilla ennen julkaisua. Testilaitteistona meillä oli ainakin:
  • Android-puhelin
  • Iphone-puhelin
  • Windows Phone 8-puhelin
  • iPad ja iPad -mini-tabletit
Pyrimme aktiivisesti myös, että toteutamme verkon sisältöä erityisesti mobiilikäyttö mielessä. Eli pohdimme miten tämänkaltainen testi olisi mahdollisimman kiva tehdä ja esittää mobiililaitteilla. Kun tilaa on lähtökohtaisesti käytössä vähemmän auttaa se keskittymään olennaiseen (KISS). Ja useinkaan mobiilissa toimivaa versiota ei ole ongelma laajentaa työpöytäkäyttöön sopivaksi kun taas työpöytäkäyttöön suunnitellun toteutuksen sovittaminen mobiililaitteille vie potentiaalisesti paljon aikaa. (Kuva 3)

Mobiiliversiossa kysymykset sijoitettiin vastausvaihtoehtojen päälle ja vastauksen valintapainikkeista tehtiin isompia. (Kuva 3)

Personoitu somejako


Uutissisältöjen näkyvyydessä sosiaalinen median rooli kasvaa tasaisesti. Suuria lukijamääriä on nykyään mahdotonta saavuttaa ilman merkittävää somepresenssiä. Kaikki Yle Uutisten sisällöt onkin mahdollista jakaa normaalin jakotoiminnallisuuden kautta, jolloin lukija jakaa linkin kyseiseen sivuun.

Tämän kaltaisissa testeissä on kuitenkin hyvä, että lukija voi jakaa suoraan testistä saamansa tuloksen. Eli tässä tapauksessa kertoa minkä maan kansalaisia hän muistuttaa eniten.

Se, että sosiaalisessa mediassa jaetaan erityisesti testistä saatu tulos eikä vain linkkiä testiin, motivoi kokemuksieni mukaan myös muita tekemään testin. On hyvin tavallista esimerkiksi, että joku jakaa oman testituloksensa Facebook:ssa ja muut kommentoivat tätä jakoa omilla tuloksillaan. Syntyy keskustelua, joka taas herättää kiinnostusta sisältöön ja nostaa muutenkin – esimerkiksi Facebook:n silmissä – sisällön arvoa ja näkyvyyttä.

Eurooppalaisuustestissä panostimme myös erityisesti jakokuvaan. Pyrimme aina siihen, että jakokuva olisi jotain muuta kuin geneerinen Yle-logo, mutta Eurooppatestissä teimme vielä erikseen jokaiselle tulokselle eli maalle oman jakokuvan eli maakohtaisen passin. Tämä pieni yksityiskohta toi jakamiseen vielä jotain erityistä kun somessa pystyi jakamaan uuden EU-passinsa. (Kuva 4)

Jokaiselle maalle oli kirjoitettu personoitu kuvaus. Testin tulos oli mahdollista jakaa sosiaalisessa mediassa. Kuva maan passista välitettiin somejaon mukana. (Kuva 4) 

Dataa, ei dadaa


Vaikka testi oli leikkimielinen oli sen taustalle kerätty hyvin tarkkoja aineistoja. Käytimme lähteinä Eurostat:ia, Eurofound:ia, World Resources Institute:a ja YK:ta. Aineistojen perusteella pystyimme luomaan maakohtaiset profiilit, joita sitten verrattiin lukijan antamiin vastauksiin.

Maakohtaiset profiilit luotiin niin, että aineistojen perusteella jokainen maa laitettiin jokaisen kysymyksen osalta kategorioihin 1–5 (eli samat viisi kuten toteutuksessa olevat vastausvaihtoehdot).

Kategorisointi tehtiin tasajaolla niin, että katsottiin jokaisen aineiston vaihteluväli ja jaettiin tuo vaihteluväli viiteen tasaväliseen kategoriaan. Tämän jälkeen katsottiin jokaisen maankohdalla, että mihin kategoriaan maa sijoittuu omalla arvollaan. Esimerkiksi kahvin juonnin osalta Luxemburgin arvo oli niin suuri verrattuna muihin, että tasavälisessä kategorisoinnissa vain luxemburgilaiset saivat arvon viisi. Näin esimerkiksi suomalaiset tippuivat neloskategoriaan ja esimerkiksi teetä juovat britit kuuluivat vain vähän kahvia kuluttavaan ykkös-kategoriaan.

Teknisesti testi toimi datan osalta niin, että näitä maiden profiileja verrattiin lukijan antamiin vastauksiin ja laskettiin minkä maan vastauksia nämä muistuttivat eniten.

Vaikka testi siis oli leikkimielinen se ei kuitenkaan ollut humpuukia.

Monimediallinen toteutus


Yle:llä meillä on mahdollista hyödyntää meidän monikanavaista julkaisuportaalia.

Eurooppalaisuustestin kohdalla tämä näkyi niin, että otimme sen osaksi eurovaalien puheenjohtajatenttejä. Testi teetettiin jokaisella Aamu-tv:ssä vierailleella puoluejohtajalla. Eli saman verkosta löytyvän testin, jonka jokaisen oli myös itse mahdollista käydä täyttämässä.

Tämä piti osaltaan testin pinnalla viikkojen ajan kun eri puoluejohtajat kävivät Aamu-tv:n vieraina. Kaikkien puheenjohtajien tulokset myös analysoitiin ja käsiteltiin verkossa vielä erikseen.

Ensimmäisenä testi teki heti Jyrki Katainen. (Kuva 5)

Puoluejohtajat testasivat oman henkisen kotimaansa Aamu-tv:n puheenjohtajatenttien yhteydessä. (Kuva 5) 
Myös useissa radiolähetyksissä käsittelivät aihetta ja kertoivat esimerkiksi testillä saadun oman henkisen kotimaansa.

torstai 6. maaliskuuta 2014

Python hoitaa, eli kuinka Plus-deski kokeili screen scrapingia

Kun keskustelu Keva-johtaja Merja Ailuksen työsuhde-eduista oli jatkunut jo jonkin aikaa, Yle:n toimittaja Jarno Liski alkoi pyöritellä mielessään kysymyksiä: kuinka kannattava työsuhdeasunnossa asuminen on, kuka siitä todella hyötyy ja millä tavalla työsuhdeasuminen otetaan verotuksessa huomioon. Hänen lähtöoletuksensa oli, että työsuhdeasuntojen verotusarvo vastaisi huonosti asunnoista vapailla markkinoilla maksettavaa vuokraa.

Liski otti yhteyttä Plus-deskin tuottaja Juho Salmiseen, joka lähti yhdessä Teemo Tebestin kanssa viemään asiaa eteenpäin. Lopputulos on nähtävissä täällä.

Verottajan väite syyniin

Verottajan mukaan asuntojen verotusarvo vastaa keskimäärin 90-prosenttisesti asunnosta pyydettyä vuokraa. Esimerkiksi 700 eurolla vuokrattavan asunnon verotusarvon pitäisi olla noin 630 euroa. Tämä tuntui kuitenkin pitävän huonosti paikkansa. Ideana olikin tutkia, minkä suuruisia verotusarvoja asunnot todellisuudessa saavat ja kuinka hyvin verotusarvo vastaa asunnoista pyydettävää vuokraa.

Verottaja määrittelee työsuhdeasunnoille laskukaavan, jonka avulla verotusarvo määritellään asuntokohtaisesti. Verotusarvon laskennassa vaikuttavat asunnon sijainti (pääkaupunkiseutu/muu maa), pinta-ala sekä valmistumisvuosi. Työntekijä saa asuntoedusta lisähyötyä silloin, kun verotusarvo on todellista markkina-arvoa selkeästi alhaisempi, koska tällöin hänen verotuksensa on keveämpi kuin sen tulisi olla.

Teemo ja Juho pohtivat, miten asiaan pääsisi käsiksi. Verottajan kaavan pitäisi tuottaa arvo, joka on hyvin lähellä markkinahintaa. Jarno Liskin idea oli kerätä suuri määrä olemassa olevien vuokra-asuntojen tietoja ja laskea asunnoille verottajan kaavan avulla verotusarvo.

Suomessa on muutama suuri vuokra-asuntoja listaava verkkopalvelu, joiden dataa olisi mahdollista käyttää verottajan kaavan testaamiseen. Käsityönä verotusarvon ja markkina-arvon kattava vertailu ei kuitenkaan onnistuisi, sillä vuokra-asuntoja on sivustoilla tuhansia.

Oli siis kirjoitettava koodinpätkä, jonka avulla pystyttäisiin keräämään tietyn verkkopalvelun vuokra-asuntoja koskeva data, laskea niiden perusteella asunnoille verotusarvo ja analysoida saatuja arvoja. Datan keräämiseen käytettävää menetelmää kutsutaan ruudunraavinnaksi (engl. screen scraping, tuttavallisesti screippaus). Asuntojen tiedot voisi poimia miltä tahansa vuokra-asuntoja listaavalta sivustolta. Teemo käytti tässä tapauksessa Alma Median ylläpitämän Vuokraovi.com-palvelun tietoja.

Koodi ja tietokanta valmiiksi

Ruudunraapijan kirjoittamiseen Teemo päätti käyttää Python-kieltä. Screipatessa kirjoitettu koodi käy järjestelmällisesti läpi verkossa olevia nettisivuja, poimii sivulta halutut elementit ja siirtää ne tietokantaan. Tietokannaksi Teemo valitsi ennestään tutun MongoDB:n. MongoDB sopi käyttötarkoitukseen hyvin, koska noSQL-tietokannassa datalle ei tarvitse määrittää tarkkaa rakennetta etukäteen, vaan sitä voidaan täydentää ja muokata tarpeen mukaan.

Kun Teemo laittoi homman aluilleen 29. marraskuuta, Vuokraovi-palvelussa oli tarjolla noin 6 000 vuokra-asuntoa eri puolilta Suomea. Yhdelle hakutulossivulle saa näkyviin kerrallaan 10–30 vaihtoehtoa, joten tarvittavien kyselyjen määrän minimoimiseksi Teemo sääti määrän maksimiinsa. Näin screipattavaksi jäi hieman yli 200 erillistä sivua, jolla jokaisella oli 30 asuntoa. (Kuva 1)

Helmikuussa 2014 Vuokraovi-palvelussa oli tarjolla n. 8 100 vuokra-asuntoa. (Kuva 1)
Datan keräämistä mutkisti se, että kaikki tarvittavat tiedot eivät löytyneet tältä hakutulossivulta. Koodin tuli käydä läpi myös jokaisen asunnon oma sivu, sillä asunnon rakennusvuotta ei mainita kaikkien asuntojen listauksessa. Kyselyjä piti siis lopulta tehdä 200 hakutulossivuille ja 6 000 yksittäisten asuntojen omille sivuille.

Teemon ensimmäinen ajatus oli kokeilla ScraperWiki -palvelua, jota hän oli kuullut käytettävän screippaukseen. Palvelu on ollut etenkin toimittajien suosiossa ja Teemo ajatteli, että palvelun testaamisen jälkeen hän voisi opettaa sen käyttöä muille toimittajille.

ScraperWiki mahdollistaa esimerkiksi Python-koodin kirjoittamisen ilman erillisten ohjelmointiympäristöjen asentamista. Siksi palvelu sopii esimerkiksi journalisteille, joilla ei usein ole mahdollisuutta tai taitoa asentaa kaikki tarvittavia ohjelmistoja. Teemo päätyi kuitenkin tekemään toteutuksen omalla koneella omassa ympäristössä, koska tämä oli lopulta hänelle kätevämpää.

Scraper käy läpi HTML-koodia ja tallentaa määritellyt osiot talteen myöhempää käyttöä varten. (Kuva 2)
HTML-merkkauksen siivouksessa ja käsittelyssä Teemo käytti hyväkseen BeautifulSoup-nimistä Python-kirjastoa. BeautifulSoup on kirjasto, jonka avulla verkkosivuilla käytetty HTML-merkkaus voidaan muuttaa koneelle ymmärrettävään muotoon. Lopulta koodi ryömi Vuokraovi.comin sivuja muutaman tunnin ajan. Ajo tehtiin vielä uudelleen lopullista uutista varten 2. joulukuuta.>

Trouble shooting vei aikaa

Kun Teemo testasi koodia ensimmäisiä kertoja, koodi ei hakenut dataa halutulla tavalla. Vian etsintään menikin hetki. Lopulta Teemo tajusi tutkiessaan HTTP-pyyntöä, että Vuokraovi.com -sivusto asetti Internet-selaimessa tukun evästeitä, eli cookieita, joiden puute esti scraperin toiminnan. Hän päätteli, että asian korjaamiseksi samaiset evästeet tulisi asettaa myös tietokoneohjelman tekemään HTTP-pyyntöön. Tällöin HTTP-pyyntö vaikuttaisi Vuokraovi.comin näkökulmasta täysin samanlaiselta kuin jos sen tekisi esimerkiksi Google Chrome -selaimella. (Kuva 3)

HTTP-pyyntöihin liittyvät evästeet näkee Google Chrome -selaimessa Inspect Element -valikon takaa. (Kuva3)
Joskus screipatessa voi käydä niin, että jos pyyntöjä tehdään suuri määrä, palvelin voi tulkita ne vihamielisiksi ja estää ne. Vuokraoven tapauksessa reilut 6 000 pyyntöä hukkui luultavasti normaalin verkkoliikenteen sekaan. Screippausta suunnitellessa kannattaa kuitenkin miettiä, voiko rajoituksista tulla ongelmia. Esimerkiksi hakukoneyhtiö Google tunnistaa tehokkaasti koneellisesti tehtävät haut ja estää ne, koska koneellisesti tehtävät haut ovat osa heidän maksullista palveluaan.

Toteutus on ladattavissa avoimena lähdekoodina (CC-BY-SA 4.0) Ylen Github-sivulta.

Yhden päivän työ

Ennen julkaisua aineistosta siivottiin pois sellaiset kohteet, joista puuttui jokin tarvituista tiedoista, kuten rakennusvuosi, sekä autotallit ja kalustetut asunnot. Näin aineistosta saatiin vertailukelpoista. Karsimisen jälkeen pohja-aineistoksi jäi noin 5 000 vuokra-asunnon tiedot. MongoDB:stä data tulostettiin .csv-muodossa ja vietiin Googlen Spreadsheets-taulukkolaskentaohjelmaan, jossa lopullinen verotusarvolaskenta tehtiin. Aineisto on ladattavissa Ylen sivuilta Excel-muodossa.

Jutun teknisten osien toteuttaminen järjesteltävine taulukoineen kesti noin työpäivän verran, joskin homma olisi sujunut nopeammin, jos eväste-ongelman selvittämiseen ei olisi mennyt aikaa. Jatkossa vastaavanlaisia toteutuksia tehtäessä evästeet osataan ottaa paremmin huomioon.

Eräs aineistosta tehty havainto oli, että erot markkinavuokrassa suhteessa verotusarvoon olivat alueellisia. Niinpä juttu sai otsikon: Asuntoedusta hyötyy eniten Helsingissä ja kehyskunnissa – katso oman kuntasi tilanne. Jutun yhteydessä käyttäjä sai tutkia asuntojen markkinavuokran ja verotusarvon eroa sekä kunnan että postinumeroalueen perusteella.

Aineisto myös paljasti, että verotusarvon ja markkina-arvon välinen vastaavuus oli keskimäärin 73 prosenttia, siis huomattavasti verottajan edustajan ilmoittamaa 90 prosenttia pienempi.

Juttu ei ollut varsinainen yleisömenestys. Asuntoedusta nauttii Suomessa alle 20 000 henkilöä, joten kohdeyleisökään ei ollut järin suuri. Vaikuttavuutta ei voida kuitenkaan mitata pelkästään lukijamäärän perusteella.

Screippaus-kokeiluna juttu oli Plus-deskille uusi aluevaltaus ja on hyvin todennäköistä, että tulevaisuudessa tällaisia omaan datan hankintaan perustuvia "skuuppeja" tulee enemmän.

Laita siis Python töihin!

Heidi Kähkönen
Kirjoittaja on vapaa toimittaja ja datajournalismikouluttaja
Twitter:  @heidikahkonen