Petri Raatikainen
ASIAKKAIDEN ARVON ENNUSTAMINEN
Diplomityö, joka on jätetty opinnäytteenä tarkastettavaksi diplomi-insinöörin tutkintoa varten.
Vaasassa 1.5.2006
Valvoja:
Prof. TkT Jorma Tarhio
Ohjaaja:
Prof. FT Matti Linna
Tämä diplomityö on tehty rakkaudesta tietojenkäsittelyyn.
Haluan kiittää työn ohjaajaa, valvojaa ja kaikkia niitä henkilöitä ja tahoja, jotka ovat kannustaneet minua eteenpäin elämässä ja opiskelussa.
Erityisesti haluan kiittää vaimoani Anu Raatikaista siitä tuesta ja kannustuksesta, jota olen saanut työn tekemisen aikana ja ennen sitä, sekä kärsivällisyydestä niinä pitkinä iltoina, jolloin uppouduin välillä tuntikausiksikin LTV-laskennan ihmeelliseen maail
maan ja työn viimeistelyyn.
Vaasassani .5.201
Petri Raatikainen
Tietotekniikan osasto
Tekijä
Petri Raatikainen
Päiväys 1.5.2006 Sivumäärä 37
Työn nimi
Asiakkaiden arvon ennustaminen Professuuri
Ohjelmistojärjestelmät
Koodi T-106 Työn valvoja
Prof. TkT Jorma Tarhio Työn ohjaaja
Prof FT Matti Linna
Diplomityön tavoitteena on antaa lukijalle kuva asiakassegmenttien tulevaisuuden laskennasta ja siihen liittyvästä teoriasta sekä tekniikasta. Lisäksi tavoitteena on selvittää laskennan perusteena olevat matemaattiset perusteet ja kaavat.
Kirjallisuusosassa kerrotaan asiakkuudenhallinnan ohjelmistoympäristöstä sekä tar
peesta johon LTV-laskenta on kehitetty. Lisäksi kerrotaan asiakkuudenhallintaohjelmis- tojen yleisistä ominaisuuksista, jotta lukijalla olisi kuva siitä mihin laskentaa käytetään.
Teoriaosassa kuvataan laskennan keskeiset kaavat ja havainnollistetaan esimerkein kaa
vojen käyttöä.
Tutkimusosassa selostetaan ja havainnollistetaan kehitetyn järjestelmän toteutus SQL- lausein ja kommentein sekä kerrotaan kehitystyön aikana tehdyistä havainnoista.
Päällimmäiseksi havainnoksi muodostui se, että LTV-laskenta on SQL-tietokannassa toteutettuna riittävän kevyt ajettavaksi jopa kannettavalla tietokoneella.
arvon
Avainsanat
arvo, asiakas, cltv, crm, Itv, segmentti, sql
Department of Software Technology
Author
Petri Raatikainen
Date 1 May 2006 Pages 37 Title of thesis
Predicting customer lifetime value
Chair Chair Code
Software systems T-106
Supervisor
Professor Jorma Tarhio Instructor
Professor Matti Linna
The aim of the thesis is to give the reader a picture of predicting the value of customer segments and the theory and techniques behind it and to describe the mathematical foundation and formulae used.
The literature section tells about the software environment and the need for LTV. I also want to give the reader a picture of customer relations management and the general functionality of CRM programs in order to clarify the usage of LTV.
The theory section describes the fundamental formulae and tries to give examples of the mathematics involved.
The research part of this thesis describes the implementation of the LTV system demo version with comments and some SQL statements.
The main result of the research was that the LTV-calculations are fiesibly implementable on a portable computer with a suitable SQL database.
Keywords
customer, cltv, crm, life time value, Itv, segment, sql
Lyhenneluettelo
LTV lifetime value, asiakkuuden arvo NPV net present value, nettonykyarvo
CRM customer relations management, asiakkuudenhallinta ROI return on investment, sijoituksen tuottavuus
SQL Structured Query Language, rakenteinen kyselykieli
NULL SQL-tietokannoissa käytetty merkintätapa tiedon puuttumiselle
Sisältö
1 Johdanto
1.1 Työn tausta...
1.2 Diplomityön tavoitteet . Kirjallisuusosa
2 Asiakkuudenhallinta
2.1 Tarve asiakkuudenhallintaan ja sen historia ...
2.2 Asiakkuudenhallinnan tulevaisuus...
2.3 Asiakkuudenhallintasovelluksen yleisimpiä toiminnallisuuksia . . 2.3.1 Asiakasrekisteri...
2.3.2 Ostohistoria...
2.3.3 Henkilörekisteri...
2.3.4 Tapahtumahistoria...
2.3.5 Raportointi...
2.3.6
2.3.7 Käyttäjärekisteri . 2.3.8 Ylläpitotoiminnot .
Poiminta
3 Asiakkaan tulevaisuuden arvon ennustaminen 3.1 Tarve ...
3.2 Historia...
3.3 Nykytila...
3.4 Ennustamisessa käytettäviä muita malleja . 3.4.1 Lineaarinen ja epälineaarinen malli 3.4.2 Malli X...
3.4.3 LTV...
4 Rajaus ja ryhmittely 4.1 Segmentointiperusteita 4.2 Ryhmittely ...
(N
0 C 0 0 -~ J( 7 \O \O \O i( V x 4 x -P > .'_ > j(
>jONONOOenenm5 SQL
5.1 Yleistä...
5.2 Peruskäsitteet...
5.3 SQL:n syntaksin alkeet Teoriaosa
6 Laskennan teoria
6.1 Markovin ketjut...
6.2 NPV Net Present Value, nettonykyarvo . . 6.3 LTV Life Time Value, asiakkuuden arvo . Tiitkimusosa
7 Työn kokeellisen osan tausta ja tavoite 7.1 Työn tausta...
7.2 Työn tavoite...
8 LTV-laskennan toteutuksen kuvaus
8.1 Syöttö- ja tulostustoiminnot...
8.2 Lähtötietojen muokkaus...
8.3 Rajaukset ja raportointi...
8.4 LTV-1 askentakaavat...
8.4.1 LTV-laskennan toteutus SQL-lauseina ja ohjelmakoodina . . 8.5 Toteutuksen oikeellisuuden testaaminen...
8.6 Ennusteen onnistuminen...
9 Muita pohdintoja ja uusia tutkimuskohteita 9.1 Muita pohdintoja...
9.2 Uusia tutkimuskohteita...
10 Yhteenveto ja johtopäätökset 10.1 Yhteenveto...
10.2 Johtopäätökset...
Lähdeluettelo
—iO'nOnOnONONONONOГ"ГЧ(N(N QCOOOOOOOOOCNCN
rtC N C N C N C N C O cn cn
U>U><*> UiUi*.NONONOenen<г) ocЮЮ'VJ1 Johdanto
1.1 Ityön tausta
Idea ja kiinnostus työn tekemiseen tuli, kun ammatissani järjestelmäkonsulttina pääsin mukaan projektiin, jonka tarkoituksena oli toteuttaa eräälle suurelle laivanvarustajalle esittelyversio asiakkaiden tulevaisuuden arvon ennustamisesta kahden edellisen vuo
den ostokäyttäytymisen perusteella erään konsulttiyhtiön valitsemalla menetelmällä.
Esittelyversion oli oltava riittävän nopea ja näyttävä ja sen antamien tulosten tuli olla oikeita, eli laskennan oli oltava kunnossa, ja sen tuli pohjautua annettuun oikeaan asia- kasdataan. Asiakasdata oli laivayhtiön kassajärjestelmän tuottamaa ja sisälsi matkojen tilaukset ja laivalla tapahtuneet ruoka-ja tavaraostokset.
Tein annetun työn sadassaviidessäkymmenessä tunnissa etätyönä Lieksassa. Tähän työmäärään sisältyi neljä palaveria asiakkaan luona. Palavereissa määriteltiin lasken- perusteet, kaavat, tulosteiden ulkoasuja demosovelluksen ulkoasu sekä raporttien sisältö, rajausominaisuudet, ryhmittelyominaisuudet, laitteistovaatimukset, tiedonsiir
to järjestelmästä toiseen, laskettujen tietojen siirto muihin järjestelmiin sekä testiai
neisto.
n an
Työ oli mielenkiintoista ja haastavaa ja kehitys eteni annetussa aikataulussa yhteistyös
sä asiakkaan kanssa. Välivaiheita esiteltiin asiakkaalle aina kun jotain mielenkiintoista ja kysymyksiä herättävää oli valmiina. Suunnitelmaa täydennettiin matkan varrella ja osa raportoitavista asioista määriteltiin toimimaan kehitysympäristön rajoitusten vuok
si hieman toisella tavalla. Kyseessä olivat lähinnä joidenkin raporttien ulkoasuun liit
tyvät pikkuviilaukset.
Työ toteutettiin Sybasen Powerbuilder -kehittimellä ja Sybase Adaptive server Any
where -tietokannalla. Laitteistona oli kannettava Windows XP -työasema ja Windows XP -pohjainen tietokantapalvelin.
Suurin osa laskennasta toteutettiin SQL-lauseilla suoraan tietokannassa.
1.2 Diplomityön tavoitteet
Diplomityön tavoitteena on antaa lukijalle kuva asiakassegmenttien tulevaisuuden ar
von laskennasta ja siihen liittyvästä teoriasta sekä tekniikasta. Työssä tulen kuvaamaan järjestelmän toiminnallisuutta, laskentaan liittyviä ongelmia sekä asiakkaan toivomuk
sia ja vaatimuksia järjestelmän toiminnallisuudelle.
Lukijalle pitäisi tulla selväksi laskennan matemaattiset perusteet ja kaavat, sekä nii
den taustalla oleva teoria. Lisäksi kuvaan kaavojen toteuttamisen ja asiakasvaatimus- ten huomioonottamisen toteutusta suunniteltaessa ja toiminnallisuutta määriteltäessä.
Samoin määrittelen asiakkaan käyttämät lyhenteet ja termit, sekä selostan niiden mer
kityksen niin, että lukijalla on käsitys mistä puhutaan ja mitä lasketaan tai raportoidaan.
Käyn läpi esimerkein laskennan eri vaiheita ja esittelen välituloksia. Pyrin havainnol
listamaan selkein kuvin esille tulevia asioita ja tarkennan ja selitän mielenkiintoisena pitämiäni yksityiskohtia.
Selvitän lukijalle lyhyesti myös toimintaympäristön ja tarkastelun kohteena olevan las
kennan liittymisen laajempaan kokonaisuuteen, asiakkuudenhallintaan, sekä siinä ylei
sesti käytettävien ohjelmistojen perustoiminnallisuuksiin.
Kokonaan oma kappaleensa on ennustamisessa käytetyn laskennan toteutuksen ku
vaaminen SQL-lauseilla. Kappale selventää lukijalle lauseiden merkityksen kertomal
la kunkin lauseen toiminnan ja tarkoituksen.
Yksi osa työtä on kirjallisuusselvitys asiakkuudenhallinnasta ja sen historiasta,
tamisessa käytetyn laskennan teoriasta kirjallisuudessa ja katsaus mahdollisista muista tavoista ennustaa nykyisten asiakkaiden tulevaa tuottoa sekä vilkaisu asiakkuudenhal- linnan tulevaisuuteen.
ennus-
2 Asiakkuudenhallinta
Viime vuosikymmenellä asiakkuuden arvon laskennasta, eli LTV:stä, on tullut vakio- menetelmä asiakkuudenhallinnan (CRM programs) menestyksen mittaamisessa. Kam
panjoiden tehokkuden mittaamisessa käytetään ROI:ta ja pankkimaailmassa tarkastel
laan tuottavuutta haluttaessa mitata asiakasotoksen suoriutumista. Asiakkuuden laskenta ennustaa edellisistä poiketen asiakasryhmän tulevaisuuden kehitystä penis-
aiempaan ja nykyiseen ostokäyttäytymiseen. Se myös mahdollistaa koko yrityk
sen tulevan menestymisen arvioimisen. [5]
arvon tuen
Asiakkuuden arvo on nykyisten tai juuri hankittujen asiakkaiden tuottojen nykyarvojen (NPV) summa tietyllä vuosina annettavalla aikavälillä. Asiakkuuden arvon laskemi
seksi täytyy olla asiakastietokanta, josta käy ilmi asiakkaan ostohistoria. Asiakkuuden arvoa käytetään sekä yritysten välisessä että asiakkaille tapahtuvassa markkinoinnissa.
Sitä käytetään kaikenlaisten tuotteiden ja palveluiden markkinoinnissa eri toimialoilla.
[5]
2.1 Tarve asiakkuudenhallintaan ja sen historia
Edellä kerrotusta käy ilmi se, että asiakkuuden arvon laskennassa pitää olla olemassa tieto asiakkaista, sekä asiakkaiden ostotapahtumista. Erityisen tärkeää on, että asiak
kaan tekemät ostokset voidaan kohdistaa juuri oikeaan asiakkaaseen. Tässä auttaa suu
resti kaupan alalla yleistynyt käytäntö erilaisine asiakkuudentunnistuskortteineen. Eri kaupparyhmillä on omat kanta-asiakasohjelmansa ja niihin oleellisesti liittyvät kortit.
Kortin avulla ostotapahtuma pystytään kohdentamaan tietylle asiakkaalle. Tyypillisesti yksi talous tai ruokakunta muodostaa asiakkaan. Tämän mahdollistavat samaan asia- kastiliin kytketyt rinnakkaiskonit, joilla yksilöidyt ostokset voidaan kohdistaa yhteen asiakastiliin. [10]
Asiakkuuden arvon laskemiseksi riittää yksinkertaisimmillaan, että asiakkaasta on tie
dossa asiakasnumero ja ostoksesta tekohetki ja ostoksen summa, josta on vähennetty
ostoksesta aiheutuneet kulut. Tyypillisesti asiakkuudenhallintajärjestelmien tietokan- muutakin tietoa, joiden avulla saadaan palveltua asiakasta ja ryhmiteltyä asiakkaita ja ostotapahtumia. [10]
noissa on
Nykyiset asiakkuudenhallintaohjelmistot ovat kehittyneet alkuaikojen asiakasrekiste
ristä käsittämään asiakkuudenhallinnalle tarpeellisia lisätoimintoja, joita tyypillisesti ovat asiakkaiden luokittelu, ryhmittely ja poiminta, kampanjanhallinta, tapahtumahis
toria sekä erilaiset raportit ja niiden ylläpitotoiminnot. Nämä toiminnot ovat sinällään vielä yksinkertaisia perustoimintoja, joiden avulla olemassaolevasta tiedosta ei juuri
kaan tuoteta mitään toiminnan mittaamiseen liittyvää tietoa. [10]
Kaupan alalla on usein erikseen ohjelmistot, joilla lasketaan myyntiraportteja eri me
netelmillä ja saadaan ulos näyttäviä raportteja myynnin historian kehityksestä tuote
ryhmittäin, paikkakunnittain sekä tarkalla tuotetasolla viikkojen ja päivien tarkkuu
teen saakka. Tyypillisesti perinteisissä järjestelmissä ei kuitenkaan käytetä siellä ole- tietoa asiakasmassojen käyttäytymisestä, eli siirtymisestä jonkin ryhmittelyperus- mukaan ryhmästä toiseen, ajallisella tasolla. Vasta tiedonlouhinnan käyttöönotto antanut mahdollisuuden antaa vastauksia kysymyksiin, joita ei vielä edes ole osattu esittää. [11]
vaa teen on
2.2 Asiakkuudenhallinnan tulevaisuus
Asiakkuudenhallinnan tulevaisuutta leimaa järjestelmiin kertyvän tiedon yhä laajempi analysoiminen ja ennusteiden teon yleistyminen. Asiakkaiden ryhmittelyyn tulee uusia menetelmiä, joissa käytetään yhä laajemmin tekoälyä. Ennustusmenetelmiä tulee ole- laaja kirjo ja jotkin niistä vakiinnuttavat asemansa. Eräs jo paikkansa vakiinnut
tanut ehdokas asiakkuuden arvon kehittymisen ennustusmenetelmäksi on LTV. Muita tällaisia ovat päätöspuumallit, neuroverkot ja sääntöperustainen analyysi. [12]
maan
2.3 Asiakkuudenhallintasovelluksen yleisimpiä toiminnallisuuksia
Edellä kerroin asiakkuudenhallintasovelluksen yleisimpien toiminnallisuuksien nimiä.
Näitä olivat mm. asiakkaiden luokittelu, ryhmittely ja poiminta, kampanjanhallinta, tapahtumahistoria sekä erilaiset raportit ja niiden ylläpitotoiminnot. Näiden lisäksi so-
velluksissa on tyypillisesti useita eri rajapintoja toisiin järjestelmiin, kuten kassajärjes
telmä, varastokirjanpito, kanta-asiakaspiste- ja palkintojärjestelmät, sähköposti sapostitukset, MMS-viestien lähetys jne. [10]
, mas-
Tietojen siirto eri järjestelmien välillä on iso osa kaupankäyntiä tukevien järjestelmien toimivuutta. Kassajärjestelmästä tuleva tieto on saatava markkinointia tukevaan järjes
telmään. Markkinointijärjestelmästä on saatava tieto kanta-asiakaskortteja tuottavaan järjestelmään. Palkintotilausjärjestelmästä on saatava ulos tilaukset logistiikkayhtiölle, joka hoitaa palkintojen toimitukset. Ilman tarkasti määriteltyä tiedonsiirtorajapintaa
kaikki tämä ei onnistuisi.
Monesti kaupankäynnin järjestelmä koostuu useiden eri toimittajien järjestelmistä. Osa järjestelmistä käyttää yhteistä tietokantaa. Toisiin järjestelmiin tiedot on saatava jollain menetelmällä. Tiedän monessa paikassa ajettavan öisin isoja siirtotiedostoja sisään hy
vinkin tarkalla aikamarginaalilla ennen kaupan aukeamista taas seuraavana aamuna.
2.3.1 Asiakasrekisteri
Asiakasrekisteriin talletetaan asiakkaan perustiedot. Tyypillisesti asiakkaan perustieto
ja ovat asiakasnumero, asiakkaan nimi-ja osoitetiedot, tieto asiakkaan olemisesta jon
kun toisen asiakkaan rinnakkaisasiakas, asiakassuhteen alkupäivämäärä ja voimassao
lo. Järjestelmät sisältävät lisäksi toteutustavasta riippuen huomattavan määrän muita tietoja, joita voivat olla mm. postitus-ja markkinointikiellot, valmiiksi lasketut luokit
telut jne.
Asiakasrekisteri on perinteisesti yhtiön arvokkain tietolähde markkinointiponnistelu- jen tueksi. Laskutusosasto ei halua mielellään antaa ulkopuolisen järjestelmätoimit
tajan liittyä suoraan asiakastietokantaan. Tiedossani on onnistuneesti toteutettuja ym
päristöjä, joissa eri toimittajien järjestelmät käyttävät hyväkseen toistensa tuottamaa tietoa suoraan samassa tietokannassa.
2.3.2 Ostohistoria
Ostohistoria sisältää tyypillisesti kassajärjestelmän tuottamaa tietoa, jota on asiakasnu
mero, ostoksen tekopäivämäärä, loppusumma sekä tyypillisesti omana tietokantatau-
Junaan kuitin rivit, joilta ilmenee kunkin ostetun tuotteen määrä ja hintatiedot. Usein kassajärjestelmä tuottaa ostohistoriatiedon lisäksi valtavasti oheistietoa, kuten tiedot alennuksista, tuotteiden sisäänostohinnoista jne.
Ostohistoria-taulun koko kasvaa nopeasti. Sinne menee tyypillisesti jokaisen kassakui- tin jokainen rivi. Ostohistoriatiedon tallentamisen suunnittelu on tehtävä huolella pi
täen mielessä tietoon kohdistuva raportointitarve. Raportoinnin tukena käytetään usein valmiiksi laskettua tietoa sisältäviä aputauluja.
2.3.3 Henkilörekisteri
Henkilöreksiteriin tallennetaan henkilöiden perustiedot, kuten nimi, osoite jne. Yrityk
sen toimintatavasta riippuen asiakas on henkilö tai toinen yritys. Joissakin asiakkuu- denhallintaohjelmistoissa asiakas on aina yritys ja yritykseen liittyy yhteyshenkilöitä, joille kohdennetaan tapahtumia. Sama henkilö voi toimia useassa eri yrityksessä eri roolissa. Esimerkiksi henkilö NN voi olla samaan aikaan sekä yrityksen A pääjohtaja että yhdistyksen X puheenjohtaja.
2.3.4 Tapahtumahistoria
Asiakkuudenhallintajärjestelmällä pidetään myös kirjaa yrityksen asiakkaidensa kans
sa tekemistä toimenpiteistä, kirjeistä, puheluista, tarjouksista, kampanja-aktivoinneista jne. Tapahtumahistoriatiedon avulla myyjä pystyy antamaan asiakkaalle mielikuvan siitä, että myyjä muistaa hänet henkilökohtaisesti. Tapahtumahistoriatiedon avulla saa
daan myös selville asiakkaalle tehdyt toimenpiteet seka kaavaillut jatkotoimenpiteet sekä kesken olevat tapahtumaketjut. Palautteenkäsittely on nousemassa osaksi tapah- tumanhallintaa.
2.3.5 Raportointi
Raportoinnin tehtävänä on tuottaa erilaisia raportteja hyvin vaihtelevan käyttäjäkun- tarpeisiin. Joku haluaa asiakaslistan, toinen tarrat massapostitusta varten, kolmas tarvitsee tiedoston kaikkien asiakkaiden sähköpostiosoitteista jne. Tyypillisesti monet raportit ovat listamuotoisia esityksiä osasta asiakasdataa ilman suurempaa jatkojalos
tusta.
nan
Raportointia varten on olemassa omia sovelluksia, joilla voidaan tehdä erilaisia ra
portteja helposti olemassa olevasta datasta. Joskus nämä raporttikehittiemien tuottamat raportit voidaan liittää osaksi toista järjestelmää.
2.3.6 Poiminta
Poiminnan tehtävänä on toimia raportoinnin ja kampanjoinnin tukena muodostettaes
sa joukkoja, joille toimenpiteet suoritetaan. Nykyaikaisissa asiakkuudenhallintaohjel- mistoissa on hyvät mahdollisuudet poimia erilaisia ryhmiä tietokannasta ja tallettaa ja käyttää hyväksi jo tehtyjä ehtoja ja tallettaa uusia ehtoja tulevaisuuden tarpeisiin.
Samoin tehtyjen poimintojen tallettaminen ja poimintojen yhdistely joukko-opillisin keinoin on toteutettu monissa jäijestelmissä. Tyypillisiä yhdistelyoperaatioita ovat unio
ni, eli yhdiste, erotus ja leikkaus.
Yhdisteessä otetaan kahden tai useamman joukon kaikki alkiot uuteen joukkoon. Ero
tuksessa uuteen joukkoon otetaan alkuperäisen joukon osajoukko, johon eivät kuulu johonkin toiseen joukkoon kuuluvat alkiot. Leikkauksessa otetaan uuteen joukkoon kahden tai useamman joukon yhteiset alkiot. Myös joukon komplementti, eli koko asiakasjoukko ilman alkuperäistä joukkoa, voi olla toteutettuna.
Käytön helpottamiseksi joukko-operaatiot esitetään käyttöliittymässä usein sekä ku
vallisena, että sanallisena, sillä tavalliselle käyttäjälle voi joskus olla helpompaa taju
ta asia kuvana tai selityksenä. Selityksen osana voi olla esimerkki kahdesta pienestä joukosta ja operaation tuloksena saatavasta joukosta esimerkiksi kirjaimin havainnol
listettuna. {A, S, C, D) - {B, C) = {A, D)
Kuva 1. Joukkojen erotus
2.3.7 Käyttäjärekisteri
Käyttäjärekisteri palvelee tietoturvaa ja muutoksenhallintaa. Käyttäjärekisterissä mää
ritellään käyttöoikeudet ja kerrotaan käyttäjien perustiedot raportoinnin ja muiden omi
naisuuksien tarpeisiin. Käyttöoikeuksien hallinta on siirtymässä keskitettyihin järjes
telmiin ja ohjelmistojen valmistajat käyttävät valmiita käyttöoikeuspa!veluita valmii
den ohjelmistorajapintojen läpi.
2.3.8 Ylläpitotoiminnot
Ylläpitotoimintojen avulla järjestelmää voidaan hallita ja muokata joustavasti ilman, että ohjelmiston rakenteeseen pitäisi aina tehdä muutoksia tarpeiden muuttuessa ja kas
vaessa. Esimerkiksi ylläpitotoiminnoista käy erilaisten valintalistojen arvojen muok
kaus. Tällaisella toiminnolla syötetään järjestelmän käyttöön parametrien arvoja ja nii
den nimiä. Järjestelmässä voi olla sisäänrakennettuna raporttikehitin tai tuki ulkoiselle raporttikehittimelle. Tällöin järjestelmästä saatavien raporttien määrää eikä ulkoasua ole rajattu.
3 Asiakkaan tulevaisuuden arvon ennustaminen
Asiakkaan tulevaisuuden arvon ennustaminen on mielenkiintoista ja tarpeellista sik
si, että ennusteen antaman tiedon pohjalta voidaan tehdä toimintaa ohjaavia päätöksiä.
Ennusteen on syytä olla luotettava, ettei tehdä vääriä päätöksiä.
Säätilaa ennustettaessa on käytössä monenlaisia menetelmiä ja osa niistä perustuu jo
honkin hyväksi havaittuun malliin. Toiset ennustusmenetelmät ovat puhtaasti sattu
manvaraista arvaamista. Kaupalliseen käyttöön tarkoitetun ennustusmenetelmän, jon
ka varassa tehdään mittaviakin taloudellisia päätöksiä, on oltava mieluummin sellai
nen, jonka antaman ennusteen tiedetään perustuvan johonkin toistettavissa ja varmen
nettavissa olevaan menetelmään. Menetelmän hyvyyden arviointi on osa menetelmän luotettavuuden mittaamista. Kirjassa ’The Forecasting Accuracy of Major Time Series Methods’ [2] käsitellään useita erilaisia aikasarjoihin perustuvia ennustusmenetelmiä, sekä niiden ennustustarkkuutta.
И
«■eKuva 2. Eräs tapa ennustaa
3.1 Tarve
Asiakkuus koostuu vähintään yhdestä asiakaskohtaamisesta. [18] Asiakkuuden nousun kannalta on oleellista, että asiakkuuden odotettavissa oleva
kuin asiakkuuden synnyttämisen ja ylläpitämisen vaatima kustannus. [19]
arvon- arvo on suurempi.
Asiakkaiden tulevaisuuden arvon ennustamiselle on useita eri tarpeita. Ennusteen pe
rusteella voidaan huomata jotain tärkeää yrityksen tulevaisuuden talouskehityksen kan
nalta. Samoin ennusteesta voidaan erottaa tulevaisuuteen merkittävimmin vaikuttavat tekijät, eli tiettyjen asiakasryhmien hyvä tai huono tuottavuus. Näiden saatujen arvo-
jen perusteella voidaan tehdä johtopäätöksiä siitä, mihin suuntaan yritys
ja mitä pitäisi ja voitaisiin kehittää. Samoin voidaan huomata joillekin ryhmille tehty
jen markkinointiponnistelujen olevan vääriä tai turhia. Vertailuryhmien avulla voidaan selvittää markkinointiponnistelujen onnistuminen. Eri ryhmille voidaan kohdistaa eri
laisia markkinointiponnisteluja ja jokin ryhmä voi olla vailla mitään markkinointia.
on menossa
[14] [15]
Asiakaskantoja analysoitaessa päätavoitteena on selvittää syyt asiakkuuksien kannat
tavuudelle ja kannattamattomuudelle. Käytäntö on osoittanut, että asiakaskannassa on merkittäviä kannattavuuspotentiaaleja. [17] [15]
3.2 Historia
Ennen tietojärjestelmien käyttöönottoa asiakkaiden tulevaisuuden arvoa arvioitiin lä
hes pelkästään olettamusten varassa. Jonkinlaisia lineaarisia malleja edellisten vuosien kehityksen ja nykyisen talouskehityksen sekä talousennusteiden antamaan tietoon poh
jautuen on ehkä ollut käytössä. [13]
Asiakkaan arvoa ei aina voi mitata rahallisilla tekijöillä. Asiakkuuden arvosta muodostaa myös tieto asiakkaan arvotuotannosta ja aikaisemmasta ostokäyttäytymi
sestä. Mitä enemmän asiakkaasta tiedetään, sitä arvokkaampi asiakkuus on. Kehitty
nyt asiakastiedonhallinta kontaktitietoineen on yhä tärkeämmässä asemassa. [15]
osan
3.3 Nykytila
Tietokoneiden suoritus-ja tallennuskyvyn kasvaessa on otettu uudempia ja parempia ennustusmenetelmiä. LTV on eräs niistä.
Muita käyettäviä malleja ja menetelmiä ovat regressioanalyysi, päätöspuumallit ja neu
roverkot sekä sääntöpohjainen analyysi. [12]
Regressioanalyysi pyrkii löytämään muuttujien välisiä lineaarisia riippuvuussuhteita.
Analyysin avulla muodostettavan regressioyhtälön pohjalta on mahdollista ennustaa, mitä selitettävän muuttujan arvolle tapahtuu, kun selittävän muuttujan arvo muuttuu.
[12] Lineaarinen malli sopii harvoin reaalielämän ennustustarpeisiin.
Päätöspuumallissa lopulliseen ratkaisuun johtava polku on jokin kaikista puumaiseen kuvaukseen talletetuista poluista. Jokaisessa puun haarassa kukin ratkaisuvaihtoehto todennäköisyytensä. Suurellä informaatioelementtien ja ratkaisuvaihtoeh
tojen määrällä päästään varsin mittaviin ja monimutkaisiin päätöspuumalleihin, joita voidaan käyttää asiakkaan ostokäyttäytymisen ennustamisessa. [12] Päätöspuumallien hyvänä puolena on niistä saatava tarkka kuvaus ratkaisuun johtaneista päätöksistä.
saa oman
Hermoverkot, jotka tunnetaan myös nimellä neuroverkot, ovat käytännössä ei-lineaarisia ennustemalleja, jotka liittyvät läheisesti tekoälyn käsitteeseen. Niiden tarkkuus ja en
nustamiskyky paranevat kun ne oppivat, eli niihin liittyvät muuttujien väli set painotuk- muuttuvat niille jo opetetun datan mukaan. Hermoverkkoja käytetään sekä
tamiseen, että tiedon segmentointiin. [12]
set ennus-
Sääntöpohjainen analyysi on usein päätöspuumallien jatkoanalyysiä. Tällöin pyritään määrittelemällä kohdentamaan markkinointia entistä tarkemmin. Määrittelysäännöt voi
vat olla monimutkaisia, mistä johtuen markkinoinnin toteutus saattaa muodostua vai
keaksi markkinoinnin kohdentamisen osalta. [12]
3.4 Ennustamisessa käytettäviä muita malleja
3.4.1 Lineaarinen ja epälineaarinen malli
Lineaarinen malli kuvaa valitun asiakasjoukon arvon kehitystä ekstrapoloimalla suo
raan kahden peräkkäisen ajanjakson perusteella seuraavasti:
Asiakasjoukko, jonka koko on N, tuottaa vuonna vo no euroa ja vuonna v_i n_i euroa.
Seuraavina vuosina v¿ sama asiakasjoukko tuottaa (no - n_i) euroa kunakin vuonna.
Asiakasjoukon tuotto voidaan muuttaa nykyrahaksi jollakin oletetulla korkokannalla ja summata yhteen ja jakaa asiakkaiden lukumäärällä N. Näin on saatu yksittäisen
asiakkaan tuottavuus.
Malli ei ota huomioon asiakkaiden ostokäyttäytymisen muutosta eikä pysyvyyttä, ku
ten ei myöskään sitä, että eri tuottoluokkaan kuuluvat asiakkaat ovat tuotoltaan erilai
sia. Asiakkaiden pysyvyys saattaa olla erilaista eri tuottoluokissa.
Lineaarinen riippuvuus tarkoittaa sitä, että arvo Y riippuu muuttujasta X. Riippuvuus ei aina ole lineaarista, vaan voi noudattaa jotain kaavaa, joka on helposti muunnetta
vissa lineaariseksi. Esimerkiksi yhtälö
Y = aXb
muunnettavissa lineaariseksi riippuvuudeksi У:п ja X:n välillä ottamalla yhtälön molemmilta puolilta logaritmi
on
log Y = log о + Z> log X.
Joskus riippuvuus voi olla muotoa
Y = al06X,
eli riippuvuus on eksponentiaalinen. Jos tällaisesta yhtälöstä ottaa logaritmin molem
milta puolilta saadaan
log Y = log о + bX,
joka on lineaarinen yhtälö log У :n ja A:n suhteen. Tällaisen yhtälön piirtämisessä käy
tetään apuna У :n arvojen esittämiseen logaritmista asteikkoa ja x:n piirtämiseen linee- arista asteikkoa. [20]
Usein lineaarinen malli ei kuitenkaan ole riittävä kuvaamaan tapahtumia. Epälineaari
nen malli on usein muotoa
xt = ¡(xt-J + kt,
jossa /() on jokin funktio ja kt on mallinnuksen virhetekijä. Tämäntyyppisten mallien käytännöllisyydestä kertoo ehkä parhaiten f(x) = sin{y) -tyyppinen funktio, jolla ei kovinkaan usein ole reaalimaailmassa käyttöä. [21]
3.4.2 Malli X
Seuraava malli, nimitettäköön sitä malli X:ksi, voi ottaa huomioon jo sen, että asiak
kaat tuottavat vuonna v0 eri tavalla. Nyt tarkastellaan asiakkaita, jotka on jaetm tuoton mukaan esimerkiksi kymmeneen ryhmään ja jokaiselle ryhmälle tehdään lineaarinen tuotta vuusennuste.
Tällä menetelmällä päästäneen jo huomattavasti parempaan tulokseen ennusteen oi
keellisuudessa. Tämä malli ei vielä ota huomioon sitä, että asiakkaat muuttavat os- tokäyttäytymistään jossain määrin. On olemassa kerta-asiakkaita, jotka eivät osta kuin ehkä yhden kerran tai korkeintaan muutaman kerran vuodessa. On olemassa suurasiak
kaita ja vakioasiakkaita, jotka ostavat säännöllisesti, usein ja paljon. Näiden ääripäiden välille mahtuu monta luokkaa ja asiakkaat siirtyvät mahdollisesti oman elinkaarensa tai elämäntilanteensa mukaan luokasta toiseen.
3.4.3 LTV
LTV-malli ottaa huomioon erilaiset ostajaluokat ja pyrkii luomaan mallin sille, miten asiakkaat siirtyvät luokasta toiseen sekä kuinka uskollisesti asiakkaat pysyvät yrityk
sen asiakkaana.
LTV-mallissa asiakkaiden tuoton ennustaminen perustuu asiakasryhmän tuottoon ja ryhmän koon muuttumiseen vuosittain siirtymämallin osoittamalla tavalla. LTV-mallissa asiakkaiden siirtymämalli on todennäköisyysmatriisi, joka kuvaa asiakkaiden
vyyden samassa ryhmässä ja siirtymätodennäköisyyden toiseen ryhmään tai asiakkuu
den loppumisen todennäköisyyden. Todennäköisyyksien pohjalta lasketaan aina seu- vuoden asiakasryhmisen kokoja asiakasryhmän tuottoja siitä asiakkuuden ar-
pysy-
raavan vo.[1]
4 Rajaus ja ryhmittely
LTV-laskennan mahdollistaa olemassaoleva asiakasaineisto ja siihen yksilöivästi koh
distettavissa oleva ostohistoriatieto. Näiden lisäksi on asiakasaineisto voitava jakaa tar
vittaessa vertailuryhmiin, joille tehdään erityyppisiä markkinointitoimenpiteitä ja jol
lekin ryhmälle vertailun vuoksi ei tehdä mitään.
Kunkin ryhmän ostokäyttäytymistä arvioidaan sitten tekemällä havaintojakson päätyt
tyä LTV-laskennan mukainen ennuste asiakkaan tulevaisuuden arvosta. Saatujen tulos
ten perusteella voidaan kohdentaa markkinointitoimenpiteet entistä paremmin.
4.1 Segmentointiperusteita
Asiakkaiden ryhmittely voidaan kiteyttää seuraavasti:
Joukolle, jossa on n oliota, esimerkiksi eläimiä, kasveja, jne., joilla jokai
sella on p ominaisuutta, pitää löytää käyttökelpoinen jako ryhmiin, joil
le on pystyttävä määrittelemään jakoperusteet ja muodostettujen ryhmien lukumäärä. [22]
Ryhmittelyn apuvälineenä on asiakkuudenhallintajärjestelmässä oma toiminnallisuu
tensa, poiminta eli segmentointi, jolla saadaan rajattua käsiteltävä asiakasmassa halut
tuihin ryhmiin. Poiminta tuottaa asiakasjoukot, joille tehdään markkinointitoimenpi
teitä ja joiden käyttäytymistä sitten tarkastellaan.
Eräässä kaupallisessa asiakkuudenhallintaohjelmistossa poiminta voidaan tehdä asia- kastauluun käyttäen haku- ja rajausperusteena asiakastietoja asiakastaulusta ja asiak
kaaseen liitettyjä tietoja muista tauluista. Poimintaehdot muodostetaan SQL-lauseita tuottavalla graafisella käyttöliittymällä, jolla voidaan helposti muokata poimintaehto halutunlaiseksi. Tällaisessa poimintatyökalussa rajauksen suorittaa käyttäjä, eikä esi
merkiksi hermoverkkojen mahdollistamaa ryhmien automaattista tunnistusta ja dostamista [6] käytetä hyväksi.
muo-
12034 12034 12034 12034 12034 12034 12034 12034 12034 12033
9.78 15.23 25.48 35.61 45.31 55.22 65.17 85.05 95.87 125.24 Desiilejä 10 Yhteensä 120399 asiakasta
Desiili Lukumäärä Tuotto/asiakas
Taulukko. Esimerkki helsinkiläisten asiakkaiden jakamisesta kahteen ryhmään.
4.2 Ryhmittely
Kukin asiakasjoukko jaetaan LTV-laskennassa useaan ryhmään, tyypillisesti kymme
neen, ja jakoperusteena voidaan käyttää esimerkiksi asiakkaan keskimääräistä vuosit
taista tuottoa. Tällainen jako on helppo toteuttaa SQL-kielellä suoraan tietokannassa.
Kymmeneen ryhmään jaettaessa puhutaan desiileistä. Kukin desiili sisältää ensimmäi
senä vuonna suunnilleen yhtä monta asiakasta ja jako tehdään asiakkaan ostohistoriasta saatavan tuoton perusteella. Alimpaan desiiliin kuuluvat ne kymmenen prosenttia asia
kasryhmästä, joiden tuotto on vuoden aikana ollut heikoin. Ylimpään desiiliin kuuluvat ne, jotka ovat vuoden aikana tuottaneet eniten. Loput asiakkaat jaetaan samaan tapaan väliin jääviin desiileihin.
Taulukko. 120339 asiakasta jaettuna desiileihin tuoton mukaan.
Ryhmä Asiakkaiden lukumäärä
Helsinkiläiset, keskustassa asuvat Helsinkiläiset, loput
29601 120399
Ryhmiä 2 kpl Yhteensä 150000 asiakasta
o 4 D 0 0 ^ 1 O N U t4 ^ U )b J
5 SQL
5.1 Yleistä
Relaatiotietokannat perustuvat E. E Coddin vuonna 1970 julkaisemaan relaatiomal
liin, joka perustuu joukko-oppiin, matematiikkaan ja predikaattilogiikkaan. Mallissa ei oteta kantaa relaatiotietokannan toteutustapaan. [7] SQL on joukko-oppiin nojautuva kieli. [8]
5.2 Peruskäsitteet
Kerron tässä SQL-tietokantojen yhteydessä käytettävien peruskäsitteiden nimet hyvin pintapuolisesti ja kehoitan asiaa tuntematonta lukijaa perehtymään aiheeseen tutustu
malla olemassa olevaan runsaaseen kirjallisuuteen.
Relaatiotietokantoja käsitellään joukko-opillisesti. Tiedot talletetaan tauluihin. Taulu muodostuu joukosta rivejä. Rivit muodostuvat sarakkeista, joita voi käyttää hakupe
rusteena. Rivi vastaa perinteistä termiä tietue (record) ja sarake termiä kenttä (field).
[8] Esimerkiksi taulussa asiakas voisi olla sarakkeet nimi ja. ikä ja riveinä arvot Matti Meikäläinen, 37 ja Antti Asiakas, 50.
Relaatiotietokannan kaikkia sarakkeita voi käyttää hakuperusteena. Valinta tehdään sarakkeen arvoon perustuen käyttäen funktioita ja vertailulausekkeita. [9] Esimerkiksi ajza&as-taulusta voisi valita kaikki rivit, joiden zTrä-sarakkeen arvona on luku 50.
Useimmiten käyttäjä ei halua haun tuloksena kaikkia taulun sarakkeita. Projektio tar
koittaa taulun tiettyjen sarakkeiden hakemista. [8] Esimerkiksi asiakas -taulusta voisi valita sarakkeen nimi arvot.
Monesti on tarpeen yhdistää eri tauluihin talletettuja tietoja. Tätä vastaa joukko-opillinen tulo, eli relaatio, joka on kahden tai useamman joukon alkioiden kooste. [8] Esimerkik
si joukkojen {1,2,3} ja {A, B} tulo on joukko {(1, A), (1, B), (2, A), (2, B), (3, A), (3, B)}. Tarve tietojen yhdistämiseen tulee käytännössä usein vastaan siilon, kun teh
dään raportteja, johin pitää saadaa koodeille selitteet - esimerkiksi kassakuitilla oleval
le tuotekoodille vastaavan tuotteen nimi.
Joukko-opillinen yhdiste tarkoittaa kahden joukon kaikkien alkioiden valitsemista. [8]
Esimerkiksi joukkojen {1,2,3} ja {A, B} yhdiste olisi joukko {1,2,3, A, B}. Yhdis
tettä voidaan tarvita haettaessa tietoja useammasta eri taulusta samaan hakuun. Järjes
telmässä voisi olla nykyiset asiakkaat omassa taulussaan ja poistuneet omassa taulus
saan ja haluttaessa hakea kaikki asiakkaat tehdäisiin yhdiste näiden taulujen tietojen hauille.
Joukkojen leikkaus tarkoittaa niiden yhteisten alkioiden muodostamaa joukkoa. [8]
Esimerkiksi joukkojen {1,2,3} ja {2,3,4} leikkaus on joukko {2,3}. Leikkaus tavanomainen operaatio rajattaessa hakujoukkoa toisen joukon sisältämän tiedon pe
rusteella. Voitaisiin hakea kaikki asiakkaat, joiden asiakasnumero löytyy niiden kassa- kuittien joukosta, joiden päiväys on viime vuodelta.
on
Joukkojen erotus tarkoittaa sitä, että ensimmäisestä joukosta on poistettu toisen jou
kon alkiot [8]. Esimerkiksi joukkojen {1,2,3} ja {2,3,4} erotus on joukko {1}. Tie
tojärjestelmässä voitaisiin karhukirje lähettää niille asiakkaille, joiden maksutiedoista ei löydy kuittausta lähetetylle laskulle.
Avain yksilöi kannassa olevan rivin. Tätä tunnistetta kutsutaan perusavaimeksi. [8]
Relaatiotietokantojen valmistajat ovat toteuttaneet erilaisia menetelmiä tiedonhakujen nopeuttamiseksi. Hakujen nopeuttamiseen käytetään yleensä indeksiä, joka voi olla yksikäsitteinen tai viitata moneen eri riviin. Ilman avainta jouduttaisiin yksittäistä tie
toa haettaessa käymään läpi keskimäärin puolet taulun kentistä. Avaimen avulla tieto löydetään tyypillisesti logaritmisessa ajassa.
5.3 SQL:n syntaksin alkeet
SQL:ssä tietojen haku tapahtuu kuvailemalla sitä, mitä haetaan. Hakuun käytetään SELECT-lausetta. Lause on yksinkertaiselta muodoltaan seuraavanlainen:
SELECT sarake FROM taulu
Esimerkiksi hakulause voisi olla SELECT nimi FROM asiakas, joka hakisi asiakas- taulusta kaikki nimi-sarakkeen arvot.
Usein on tarpeen rajoittaa hakua niin, ettei se palauta kaikkia rivejä, vaan jonkun rivien osajoukon. Tällöin SELECT-lauseeseen lisätään WHERE-osa.
Esimerkiksi SELECT nimi FROM asiakas WHERE ikä = 50.
Joskus joihinkin taulun kenttiin ei ole olemassa arvoja. Tällöin voidaan kentän arvok
si sijoittaa erityinen NULL-arvo, joka kertoo sen, että kentälle ei ole asetettu arvoa.
Merkkijonotyyppisissä kentissä kannattaa erityisesti huomioida, että tyhjä merkkijo
no, jonka pituus on nolla, on eri asia kuin se, että arvo puuttuu kokonaan. Samoin meerista tietoa sisältävissä kentissä pitää varautua laskuoperaatioissa siihen, että sum
man tai keskiarvon laskennassa NULL-arvoja voidaan käsitellä eri tietokannoissa eri tavalla.
nu-
Tietokannasta pitää myös voida poistaa tietoa. Tämä tapahtuu DELETE-lauseella, j ka syntaksi on yksinkertaisesti: DELETE FROM taulu [WHERE ehto]. Ehdon avulla voidaan määrätä vain tietyt rivit poistettaviksi.
on-
Taulujen luonti tapahtuu CREATE TABLE nimi (kenttä tyyppi [, kenttä tyyppi]) -lauseella. Esimerkiksi CREATE TABLE asiakas (id integer, nimi varchar(50)).
Taulua luotaessa on mahdollista määritellä kenttätyypin lisäksi kentälle oletusarvo ja erityyppisiä rajoituksia.
6 Laskennan teoria
6.1 Markovin ketjut
Markovin ketju (Markov Chain) on joukko tiloja, joiden välisten siirtymien todennä
köisyys ei riipu toteutuneesta siirtymähistoriasta. Eräs esitystapa on stokastinen mat
riisi, eli neliömatriisi, jossa jokaisen rivin summa on 1. Esim.
0.70 0.10 0.20 0.20 0.80 0.0
0.0 0.0 1.0 M =
Sama matriisi yksinkertaisena kaaviokuvana voisi olla seuraavanlainen.
O
pii EiP21 P31
V02 P12 P1
c
В p 23 s'zr
p32
Kuva 3. Tilasiirtymät kolmen eri tilan välillä
Ylläoleva matriisi ja kaavio kuvaavat tilannetta, jossa systeemissä on kolme tilaa: Ex, E2 ja E3 ja tilasta toiseen siirtymisien todennäköisyydet ovat seuraavanlaiset: Tilasta Ei tilaan Ei 70%, tilaan E2 10% ja tilaan E3 20%. Tilasta E2 tilaan Ex 20%, tilaan E2
80% ja tilaan Е% 0%. Tilasta E-í prosessi ei etene vaan ainoa mahdollinen siitymä pysyä tilassa E^.
on
LTV-laskennassa tämä voisi olla asiakkaiden siirtymistä kuvaava tilanne, jossa asia
kas voi kuulua ryhmään £j tai E2 tai olla poistunut asiakas ryhmässä E^. Ryhmän Ei asiakas pysyy ryhmässä £j 70%:n todennäköisyydellä, siirtyy ryhmään E2 10%:n todennäköisyydellä tai poistuu 20%:n todennäköisyydellä. Ryhmän E2 asiakas ei iki
nä suoraan lopeta ostamista, vaan pysyy ryhmässä E2 80%:n todennäköisyydellä tai voi siirtyä ryhmään E\ 20%:n todennäköisyydellä ja sieltä sitten seuraavana vuonna poistuneeksi asiakkaaksi 20%:n todennäköisyydellä. Kerran poistunut asiakas ei palaa asiakkaaksi. Kaaviokuvassa todennäköisyydet ja p$2 olisivat 0 ja todennäköisyys Рзз olisi 1.
6.2 NPV Net Present Value, nettonykyarvo
Kaikenlaisessa taloudellisessa laskennassa on tapana muuntaa tulevaisuudessa saatavat ja maksettavat rahasummat vastaamaan niiden nykyistä arvoa. Muuntaminen tapahtuu jakamalla tulevaisuudessa saatava raha laskentakorkokannan mukaisella kertoimella vuosittain. Tätä rahan arvon muuttamista vastaamaan nykyrahaa nimitetään diskont- taamiseksi.
Merkitään laskennallista korkoa p:llä ja laskenta-aikaa vuosissa t:llä. Tällöin rahasum
man s nettonykyarvo S saadaan kaavasta
5 = s/(l+p)
Esimerkiksi kun laskennallinen korko p = 3%, aika t = 5 vuotta ja rahasumma 1000 euroa, niin saadaan
S = ЮООе/(1 + 3/100)5 = lOOOe/1.194 = 837.5e
eli viiden vuoden päästä saatava tuhannen euron suoritus on nykyrahaksi muutettu
na 838 euroa.
Tämä on helppo ymmärtää ajattelemalla saavansa rahasumman itselleen nyt ja sijoitta
vansa sen laskennallisella korolla määrätyksi ajaksi. Ajanjakson päätyttyä rahasumma olisi kasvanut tiettyyn arvoon.
NPV on määritelty toisessa lähteessä eri tavalla:
Investointiteoriasta tuttu käsite on nettonykyarvo (Net Present Value, NPV).
Se lasketaan seuraavalla kaavalla:
^ NCFt (1 + kY NPV = ]T
t=o
missä NCFt on rahavirta periodilla t ja k on yrityksen pääoman kustan- nusprosentti. [3]
Tuossa tarkoitetaan rahavirran nykyarvoa, joka muodostuu jaksottaisten rahavirtojen nykyarvojen summasta.
6.3 LTV Life Time Value, asiakkuuden arvo
Asiakkuuden arvo, josta käytetään lyhennettä LTV, on asiakkaan tulevien vuosien net- tonykyarvojen summa.
LTV = У' 7—— 4 i=0 i
Asiakkuuden arvo vastaa siis asiakkaan tuoman rahavirran nettonykyarvoa.
Esimerkki.
Voidaan ajatella että asiakas tuottaa tänä vuonna 100e, ja tulevina vuosina esimerkiksi 120e, 110e, 90e ja 150e ja laskennallinen korkokanta on 3%. Tällöin asiakkuuden arvo on
100e + 120e/(l+3/100)+ 110e/(l + 3/100)2+90e/(l+3/100)3 + 150e/(l + 3/100)4
= 100e + 116.5e + 103.7e + 82.4e + 133.2e = 535.8e.
Tämä edellä kerrottu on LTV-laskennan ensimmäinen osatekijä. Toinen osatekijä se, että asiakasmassa jaetaan jollain perusteella noin kymmeneen yhtäsuureen ja tarkkaillaan näihin ryhmiin kuuluvien asiakkaiden siirtymistä ryhmästä toiseen kah
den vuoden aikana.
on osaan
Kullekin ryhmälle lasketaan tunnusluku: Keskimääräinen tuotto per asiakas vuodes
sa. Samoin ryhmästä toiseen siirtymiselle ja asiakkuuden päättymiselle lasketaan to
dennäköisyys kullekin ryhmälle erikseen.
Tarkasteltavien asiakkaiden joukko on se asiakasjoukko, joka on olemassa (tehnyt os
toja) ensimmäisenä tarkasteltavana vuonna. Niitä toisen vuoden asiakkaita ei huomi
oida, jotka eivät ole olleet asiakkaana jo ensimmäisenä vuonna. Ne asiakkaat, jotka ovat ostaneet ensimmäisenä vuonna, mutta joilla ei ole ostoja toisena vuonna laske
taan poistuneiksi asiakkaiksi.
Siirtymistodennäköisyyden perusteella lasketaan asiakkaiden määrä tulevina
kussakin ryhmässä ja määrien perusteella kunkin ryhmän tulevien vuosien tuotto. Tule
vat tuotot muutetaan nykyrahaksi ja summataan. Asiakkaiden määrän ja tuoton lasken- pidetään kirjaa koko ajan myös siitä, missä ryhmässä asiakas on ollut alunperin.
vuosina
nassa
Siirtymätodennäköisyyksistä saadaan 11*11 matriisi S, jossa on vaakariveinä kun
kin asiakasryhmän siirtymätodennäköisyys uuteen ryhmään. Asiakkaan poistumisen todennäköisyys huomioidaan laskennassa: Poistunut asiakas ei palaa asiakkaaksi. Ti
lanne voidaan kuvitella Markovin ketjussa tilana, johon joutuneen muuhun tilaan jou-
tumisen (palaamisen asiakkaaksi johonkin ryhmään) todennäköisyys on nolla.
Esimerkki.
Asiakkaat on jaettu kahteen ryhmään. Asiakkaita on vuonna t-\ molemmissa ryhmissä П ja r2 tasan 100 kpl. Vuonna t0 asiakkaita on ryhmästä 70 kpl edelleen ryhmässä ri ja ryhmässä r2 10 kpl. Poistuneita on siten 20 kpl. Vastaavasti ryhmästä r2 on siir
tynyt ryhmään 20 asiakasta ja jäänyt ryhmään r2 80 asiakasta. Poistuneita on nolla.
Tästä saadaan tilasiirtymämatriisiksi S seuraavanlainen matriisi.
0.70 0.10 0.20 0.20 0.80 0.0
0.0 0.0 1.0 S =
Matriisissa viimeinen sarake kertoo sen, että ykkösryhmään kuuluvista asiakkaista poistuu vuosittain 20%, kakkosryhmään kuuluvista ei kukaan, ja jo poistuneet pysyvät poistuneina 100% todennäköisyydellä.
Lasketaan kahteen eri ryhmään alunperin kuuluvien asiakkaiden jakauma kahtena tu
levana vuotena. Lähtötilanteeksi valitaan nyt n = 100 ja r2 = 100, eli molemmissa ryhmissä on vuonna vç, 100 asiakasta. Muodostetaan niistä vektorit Rq1 ja Rq2.
Roi = [ 100 0 0 ] До2 = [ 0 100
0]
Alkutilanteessa, vuonna 0, kaikki asiakkaat kuuluvat omaan ryhmäänsä, eikä ryhmästä ole vielä poistuneita.
Nyt voidaan laskea
Ru =R0lx S
ja
i?i2 — Ro2 x S josta saadaan
-Rii —
[ 100 * 0.7 +0*0.2+ 0* 0.0 100 *0.1 + 0 *0.8 + 0 *0.0 100 *0.2 + 0 *0.0 + 0* 1.0 ] =
[ 70 10 20 ja
Rl2 =
[ 0*0.7+ 100*0.2 + 0*0.0 0*0.1 + 100*0.8 + 0*0.0 0 * 0.2 + 100 * 0.0 + 0 * 1.0 ] =
20 80 0 ]
Yhden vuoden jälkeen, vuonna 1, ensimmäisen ryhmän asiakkaista on ensimmäisessä ryhmässä 70 kpl, toisessa ryhmässä 10 kpl ja 20 kpl on poistunut. Toisesta ryhmästä on siirtynyt ensimmäiseen ryhmään 20 asiakasta ja pysynyt toisessa ryhmässä 80 kpl.
Lasketaan toisen vuoden tilanne molemmille ryhmille.
Eli
R2l = x S
ja
R22 = Ri2 x S josta saadaan
R2i —
70 * 0.7 + 10* 0.2 + 20* 0.0 70 * 0.1 + 10* 0.8 + 20* 0.0 70 * 0.2 + 10* 0.0 + 20*1.0 ] =
51 15 34 ja
R22 —
20*0.7 + 80*0.2 + 0*0.0 20*0.1 + 80*0.8 + 0*0.0 20*0.2 + 80*0.0 + 0* 1.0
4]
30 66
Nähdään, että vuonna O ensimmäiseen ryhmään kuuluneista kuuluu toisena tarkaste
luvuonna ensimmäiseen ryhmään 51 kpl, toiseen ryhmään 15 kpl ja poistuneita on jo 34 kpl. Samoin nähdään, että alunperin toisen ryhmän asiakkaat ovat siirtyneet uusiin ryhmiin siten, että ensimmäiseen ryhmään kuuluu 30 asiakasta, toiseen ryhmään 66 asiakasta ja poistuneita on 4 kpl.
Koko asiakasmassaa tarkasteltaessa voidaan saadut vektorit laskea yhteen ja huoma
taan ykkösryhmän kooksi 81 kpl, kakkosryhmän kooksi samoin Blkpl ja poistuneiden lukumääräksi 38 kpl.
Yleisesti vuoden г+1 ryhmän n asiakasmääriä Rt+\n kuvaava matriisi on
R(i+i)n — Rin x R
ja asiakkaiden lukumäärä A yhteensä kaikissa ryhmissä jollakin hetkellä г on
m a = Zä.,-
71= 1
Sybase PowerBuilder Enterprise
Version 7.0.2 Build 8003 Bui» on Od 21 1338 all 0:08:13
Copyright ® 1331-200G Sybase. Inc. and »s subsidiaries.
Portions Copyright ® 1331 -2006 Arthur D. Applegate
Kuva 3. Sybase PowerBuilder
7 Työn kokeellisen osan tausta ja tavoite
7.1 Työn tausta
Tehtävänä oli toteuttaa järjestelmä asiakkaan, tai tarkemmin sanottuna asiakasseg
menttien, tulevaisuudenarvon eli nykyrahassa mitatun tuoton ennustamiseen annetul
le ajanjaksolle. Ennustamisen pohjana tuli käyttää asiakastietojärjestelmässä jo olevaa kassakuitteihin perustuvaa todellista ainestoa. Aineiston avulla piti laskea asiakkaiden ryhmittely tuoton mukaan kymmeneen asiakasmäärällisesti yhtäsuureen ryhmään, joil
le laskettiin tunnuslukuna tuotto (tuotto = myynti - kustannukset). Samoin ryhmille laskettin siirtymämatriisi, joka kuvaa asiakasryhmän siirtymistä toisiin asiakasryhmiin vuoden aikana tapahtuvalla tarkastelujaksolla. Tätä siirtymämatriisia käytettiin asiak
kaiden siirtymisen mallina seuraavalle N vuodelle, tyypillisesti kymmenen vuotta, ja näin saatiin tulevien vuosien asiakasryhmien kokoja sen perusteella laskettiin ryhmän tuotto vuonna n+1 ja tuoton arvo nykyrahassa. Kunkin vuoden tuotot ja niiden kumu
latiivinen summa tuli esittää graafisesti käyttäjälle. Raporteilla piti myös pystyä yhdis
telemään ryhmiä ja valitsemaan tarkasteltavat ryhmät.
Rakensin ylläkuvatun kaltaisesta järjestelmästä esittelyversion ja toteutin sen SQL- kyselyillä sekä Sybasen PowerBuilder -sovelluskehittimellä.
m
About
F
-i s7.2 Työn tavoite
Työn kokeellisen osan tavoite on esitellä LTV-laskennan perustoteutus sekä pohtia esiin tulleita sekä mahdollisia ongelmia ja kertoa SQL:n soveltuvuudesta LTV-laskentaan.
Samoin tavoitteenani on kertoa kuinka LTV-laskenta tehdään SQLdlä ja pienellä mää
rällä koodia.
8 LTV-laskennan toteutuksen kuvaus
8.1 Syöttö- ja tulostustoiminnot
Syöttö- ja tulostustoiminnot toteutettiin siten, että ohjelma käyttää tietokannassa val
miina olevaa aineistoa, jota käsitellään SQL-lauseilla. Valmiina oleva aineisto on kas
sajärjestelmän tuottamaa kuittidataa, joka on yksilöity asiakasnumerolla. Kantaan tal
letetulta kuitilta ilmenee ostoksen päivämäärä, loppusumma sekä myydyn tuotteen si- säänostohinta. Mitään varsinaista tietojen syöttöä erikseen LTV-laskentaa varten ei siis tarvinnut tehdä. Lopputuloksena laskennassa syntyy tietoa asiakkaiden nettonykyai- voista asiakasryhmittäin. Laskennan lopputulos talletetaan kantaan, josta se on haetta
vissa muiden sovellusten käyttöön.
8.2 Lähtötietojen muokkaus
Ohjelmalle annetaan haluttu poiminta, johon on rajattu laskennassa käytettävät asiak
kaat. Ennen ennusteen tekoa on mahdollisuus muokata asiakasjoukosta laskettua tila- siirtymämatriisia sekä desiilien kokoaja tuottoa. Muokkaus tapahtuu Windows-sovel- luksessa taulukkomuodossa.
8.3 Rajaukset ja raportointi
Laskennan tuloksia voidaan tarkastella koko laskettavalle joukolle kerralla, tai tuloksien esittämistä voidaan valita tarkasteltavat desiilit. Desiilien valinta sallii yhden tai useamman desiilin valitsemisen vertailuryhmiin, joita voi olla enintään neljä.
ennen
8.4 LTV-laskentakaavat
LTV-laskenta toteutettiin nettonykyarvojen summana siten, että ohjelman tilaajan toi
vomus siitä, että jokaisen alkuperäisen desiilin tuottoa voidaan tarkastella erikseen, otettiin huomioon.
Alkuperäisen desiilin huomioiminen vaatii kaikkien välitulosten leimaamisen tiedolla alkuperäisestä desiilistä. Toteutin sen tietokannassa välituloksia tallentavassa taulussa yhdellä siihen tarkoitukseen varatulla kokonaislukutyyppisellä kentällä, jota käytetään hyödyksi tuloksia kyseltäessä.
8.4.1 LTV-laskennan toteutus SQL-lauseina ja ohjelmakoodina
LTV-laskenta toteutettiin hyvin pienellä määrällä ohjelmakoodia ja kaikki laskenta py
rittiin saamaan kannassa tapahtuvaksi. Laskennassa on seuraavat päävaiheet: Lähtötie
tojen luonti, siitymätaulukon laskenta, vuosittaisten NPV-arvojen laskenta sekä LTV- arvojen laskenta. Ennen varsinaista laskentaa valitaan asiakkaista se joukko, eli seg
mentti, johon laskenta kohdistetaan. Liitteenä olevassa koodissa segmentin valinta ja käsittely on jätetty pois.
Lähtötietojen luonti käsittää kolme vaihetta. Ensimmäisessä vaiheessa valitaan asia
kassegmentistä ne asiakkaat, joilla on ostoja vuonna v0. Nämä asiakkaat, tai oikeastaan asiakasnumerot, viedään laskennan tauluun, ja korvamerkitään vuotta v0 ja laskenta- kierrosta 1 kuvaavalla merkillä. Asiakasnumeron lisäksi talletetaan tieto asiakkaan os
tojen kokonaissummasta vuonna vq. Näin saatu asiakasjoukko jaetaan kymmeneen lu
kumäärältään yhtäsuureen osaan, eli desiiliin. Toisessa vaiheessa lasketaan samalla ta
valla vuoden ui asiakkaiden tiedot. Kolmannessa vaiheessa merkitään lähtötietoihin vielä tieto uusista ja poistuneista asiakkaista. Uudet asiakkaat poistetaan laskennasta.
Lähtötietojen perusteella lasketaan tilasiirtymämatriisi. Käytännössä se tarkoittaa si
tä, että olemassaoleville ja poistuneille asiakkaille lasketaan prosenttiosuudet, jotka kuvaavat todennäköisyyttä siitä, mihin uuteen desiiliin alkuperäisessä desiilissä olleet asiakkaat siirtyvät. Tilasiirtymämatriisia on mahdollisuus muokata muuttamalla siirty
vien asiakkaiden lukumäärää ennen prosenttiosuuksien laskentaa.
Vuoden V\ tietojen perusteella lasketaan asiakasryhmän kokoja keskimääräinen tuotto per asiakas NPV-laskennan pohjaksi. Näitä lähtötietoja voidaan muokata ennen las
kennan suorittamista.
NPV-laskenta laskee kullekin alkuperäiselle desiilille koot siirtymätodennäköisyyk- sien mukaan N seuraavalle vuodelle. Asiakkaiden lukumäärien ja desiilien keskimää
räisen asiakastuoton perusteella voidaan laskea kunkin alkuperäisen desiilin arvo tule
vina vuosina ja muuntaa saatu tulos nykyrahaksi.
LTV-arvo saadaan laskettua NPV-arvojen summana.
Tilasiirtymamatriisin laskeminen on SQL-toteutuksella erittäin helppoa ja laskenta käyt
tää SQL:n perusominaisuuksia, kuten taulujen yhdistämistä jollakin kentällä, alikyse- lyä, summafunktiota, ryhmittelyä (group by) ja delete-, insert-ja select-lauseita.
// Koodiesimerkki - Laske uusi tilasiirtymämatriisi
delete from transition_matrix where calculation_id = 1;
insert into transition_matrix
select 1, a.class, b.class, 1, a.class, count(*) /(select count(*)
from cust_class c where c.pass = 1 and
c.class = a.class) as pros from cust_class a, cust_class b
where a.pass = 1 and b.pass = 2 and a.customer_id = b.customer id group by a.class, b.class;
Laskenta toteutettiin erillisenä ohjelmamodulina, joka on mahdollista liittää muihin
kin asiakastietojärjestelmiin. Tässä työssä Hiitenä olevat SQL-lauseet on otettu Java- kielelle ja MySQL-tietokannalle toteuttamastani versiosta.
SQL-kielen siirrettävyys on melko hyvä järjestelmästä toiseen. Joissain järjestelmis
sä saadaan jotkin asiat, esim. juokseva numerointi, esitettyä helpommin kuin toisissa.
Esimerkiksi Sybase Adaptive Server Anywheren SQL tuntee number(*) -funktion, jol
la haun tuloksena saatavat rivit on helppo numeroida juoksevasti.
Ohjelmakoodin vähäisyys auttaa sen siirtämisessä kieleltä toiselle.
8.5 Toteutuksen oikeellisuuden testaaminen Laskennan toteutusta ei todistettu oikeaksi.
Ohjelmaan rakennettiin mahdollisuus testata laskennan eri vaiheiden onnistumista ver
taamalla laskettuja arvoja oikeiksi tiedettyihin, käsin laskettuihin arvoihin. Ohjelma tuotti vakiomuotoista testiaineistoa, jonka tilasiirtymät ja jakaumat desiileihin, samoin kuin tuotto per desiili, tunnettiin. Ohjelman kehitysvaiheessa ja testausvaiheessa rattiin laskennan käyttämien SQL-lauseiden tuottamia arvoja näihin vertailuarvoihin.
Tällä tavalla kehittäminen oli joustavaa ja nopeaa ja virheiden havaitseminen tapahtui koko ajan ohjelmistokehityksen edetessä.
ver-
Syntynyt ohjelmakoodi ja syntyneet SQL-lauseet käytiin yhdessä asiakkaan kanssa läpi. Vaikka asiakas ei ollut koodiasiantuntija, sai asiakas tarkan selvityksen jokaisen laskennan osavaiheen toiminnasta. Samoin kehitettyjen SQL-lauseiden merkitys, riip
puvuus ja vaikutus kantaan talletettuun tietoon kuvattiin asiakkaalle niin hyvin, että laskennan matemaattisen perusteen tunteva asiakas varmistui laskennan oikeellisuu
desta.
8.6 Ennusteen onnistuminen
Olisi saatava lupa käyttää jonkun asiakkaan oikeaa asiakastietoa, esimerkiksi xxx Oy tai muu vastaava järjestelmä, jossa asiakkaan ja ostojen tunnistaminen on vahvaa, eli perustuu johonkin kanta-asiakasnumeroon tai vastaavaan. Aineistoa olisi oltava kah
delta vuodelta ennustamista varten ja kolmannelta vuodelta ennusteen onnistumisen tarkistamista varten.
Ennuste on juuri niin hyvä, kuin se lähtötietojen perusteella voi olla sillä tarkkuudella kuin tämä malli todellisuudessa kuvaa asiakkaiden käyttäytymistä. Itse olisin vähin
täänkin epäileväinen ennen kuin mallin antamia tuloksia on verrattu todellisuuteen.
Tämä jää nyt kuitenkin asiakkaan tai jonkun muun tehtäväksi, sillä en saa tämän työn aikataulun puitteissa käyttööni sellaista materiaalia, jota minun olisi lupa käyttää.
Asiakas ei ole halunnut kommentoida ennusteen onnistumista eikä tiedossani ole, ko järjestelmä tällä hetkellä demokäyttöä pidemmällä. Järjestelmän mahdollisesta jat
kokehittämisestä vastaa demon tekemisen aikainen työnantaja. En ole enää kyseisen yrityksen palveluksessa.
on-
9 Muita pohdintoja ja uusia tutkimuskohteita
LTV-laskennassa asiakkaat ryhmitellään hyvin yksinkertaisesti pelkästään liikevaihdon tai tuoton mukaan yleensä kymmeneen määrällisesti yhtä suureen ryhmään.
Väitöskirjassa[4] oli teemana erottaa asiakasmassasta käyttäytymisen perusteella pet
kutusta yrittävät asiakkaat. Ryhmittely oli siis kaksijakoinen: normaalit ja mahdolli
sesti petolliset. Petollisista pyrittiin myös luotettavasti saamaan erilleen ne asiakkaat, jotka ovat hyviä ja tuottoisia siitä huolimatta että käytös on poikkeavaa.
Mikäli LTV-laskentaan lisättäisiin asiakkaiden ryhmittely ostokäyttäytymisen perus
teella useampana kuin kahtena vuonna, voitaisiin ennusteen luotettavuutta entisestään parantaa. Jatkossa voitaisiin tutkia normaalin LTV-laskennan lisäksi erilaisia ryhmitte- lymenetelmiä ja -perusteita.
LTV-malli laskee jo olemassa olevan asiakasmassan arvon tulevaisuudessa ja ottaa huomioon poistuvat asiakkaat. Jos mallissa olisi lisäksi mahdollisuus olettaa jokin määrä uusia asiakkaita kuhunkin luokkaan tuleville vuosille, voitaisiin ennustaa yrityk
sen tulevaa liikevaihtoa tai tuottoa myös tulevien asiakkaiden osalta. Tämä olisi help
po toteuttaa lisäämällä asiakkaiden määrää jokaisella laskentakierroksella joko laske
tun tai annetun jakauman mukaan jonkinlaisin oletuksin tehdystä uusien asiakkaiden vuosittaisesta (jaksokohtaisesta) kokonaismäärästä.
Diplomityössä ei kuitenkaan liene tarkoitus kehittää kovin paljon uutta ja omaa tut
kimusta vaan lähinnä perehtyä jo olemassa oleviin menetelmiin ja dokumentoida ne ja osoittaa siten pätevyys tuottaa tieteellistä tekstiä. Omien laskentamenetelmien jat
kokehittäminen ja laajempi teoreettinen tutkiminen onkin kai sitten lisensiaattityön tai väitöskirjan aihepiiriä.
9.1 Muita pohdintoja
Ohjelmiston jatkokehittäminen olisi kehittäjän kannalta mieluisaa ja asiakkaan kannal
ta kannattavaa.
Mielestäni järjestelmään olisi rakennettava mahdollisuus vuosittaiseen tarkasteluun ennusteiden onnistumisesta, ja mallin korjaamiseen tehtyjen havaintojen pohjalta.
Vuosittaisen korjausmatriisin liittäminen LTV-malliin parantaisi sen kykyä ennustaa asiakkaiden arvon kehittymistä entistä tarkemmin. Samalla asiakkaan luottamus mal
lin ennusteisiin, ja ennusteiden hyödyllisyys, kasvaisi.
Ohjelmiston ulkoasun hiominen ja käytettävyyden parantaminen lisäisivät käyttäjän kokemaa hyötyä ja laskennan käyttämistä ennustamisen apuvälineenä.
9.2 Uusia tutkimuskohteita
Aiheeseen liittyen voisi tutkia tekoälyn tuomaa mahdollisuutta havaita asiakasluokkia automaattisesti sekä asiakkaiden käyttäytymisen ja sen muutoksen havaitsemista.
Samoin voisi olla mielenkiintoista tutkia asiakkaiden ryhmittelyä useamman muut
tujan mukaan. LTV-laskennan muuttaminen tukemaan monimuuttujaryhmiä ei olisi vaikeaa. Se voitaisiin toteuttaa muuttamalla ryhmän numero merkkijonomuotoiseksi ryhmäkoodiksi tai tallentamalla ryhmäkoodin ja ryhmän numeron välinen riippuvuus johonkin tietokannan tauluun.
10 Yhteenveto ja johtopäätökset
Tulen muistelemaan järjestelmän kehittämistä lämmöllä ja odotan tulevaisuudessa pää
seväni aiheeseen liittyvien uusien haasteiden kimppuun.
Kaikenkaikkiaan työn tekeminen oli hauskaa ja antoisaa. Uskon asiakkaan hyötyneen suuresti kantaan kerätyn datan visualisoinnista ja uuden analysointitavan tuomasta os- tohistoriatietoon käytkeytyneen tuottavuustiedon visualisoinnista.
Aiheesta tekemäni diplomityö antoi minulle itselleni selkeämmän kuvan siitä, mihin LTV-laskentaa voidaan käyttää ja kuinka tietovarastoihin kertyvää dataa voidaan hyö
dyntää asiakkaiden tulevaisuuden arvon ennustamiseen.
10.1 Yhteenveto
LTV-laskennan toteuttaminen laskennan osalta SQL-tietokannassa on mahdollista ja mielestäni kannattavaa, sillä SQL:n kyky käsitellä ja yhdistellä tietoa antaa hyvän mah
dollisuuden laskennan tehokkaaseen toteuttamiseen. Laskenta on nopeaa ja helppo to
teuttaa SQL:llä. SQL-toteutuksen siirrettävyys on hyvä.
Tietokannassa tehty laskenta mahdollistaa myös lopputulosten helpon tallentamisen tarkastelua varten ja siten niiden käyttämisen muissa tietokantapohjaisissa sovelluksis
sa.
10.2 Johtopäätökset
Kaupan ala tulee hyötymään keräämästään tiedosta monin tavoin. Tässä työssä esitelty LTV-malli antaa yhden mahdollisuuden käyttää kertynyttä tietoa hyväksi.
Nykyisten tietokoneiden kapasitetti antaa mahdollisuuden käyttää kaikkea asiakkaista kertynyttä tietoa hyväksi monipuolisella tavalla, ja jopa kannettavan tietokoneen rituskyky on riittävä LTV-mallin mukaisen ennusteen tekemiseen.
suo-
Tulevaisuus tuo varmasti uusia ja yhä parempia menetelmiä asiakkaan tulevaisuuden arvon laskemiseen.
Laskennan suorittaminen SQL-tietokannassa ei kuormita kantaa tekemieni testien kaan juuri lainkaan. Mielestäni SQL-tietokanta ja -kieli soveltuvat hyvin laskennan toteuttamiseen. SQL:n avulla saadaan laskennan siirrettävyys eri kielillä toteutettaviin laskentaohjelmistoihin hyväksi. Lisäksi SQL:n ilmaisuvoima sopii mielestäni hyvin matriisilaskennan kuvaamiseen. Tärkeintä on kuvata tavoite ja antaa kannan laskea lopputulos. Ohjelmoijan näkökannalta vältytään monimutkaisten tietorakenteiden to
teuttamiselta LTV-laskennan ryhmäkohtaisten välitulosten tallettamisessa.
mu-
Lähdeluettelo
[1] IBM(contact Jisook Yoon), Customer Lifetime Value,
http://www.cebt.re.kr/wh/%EC%B0%A8%EC%84%B8%EB%8C%80CRM/CLTV.pdf, 11.4.2003
[2] S.Makridakis, useita kirjoittajia.... The Forecasting Accuracy of Major Time Se
ries Methods, s. 35, ISBN 0-471-90327-2 [3] Risto Tammela, verkkomateriaali,
http://www.jyu.fi/finance/ohjelmistot/RatkaisinJa_tavoitteenhaku.pdf, 2002
[4] Jaakko Hollmén, User profiling and classification for fraud detec
tion in mobile communications networks, ISBN 951-666-555-1, tai http://lib.tkk.fi/Diss/2000/isbn9512252392/isbn9512252392.pdf ISBN 951- 22-5239-2
[5] Arthur Middleton Hughes, verkkoartikkeli,
http://www.dbmarketing.com/articles/Artl94.htm, 12.9.2005
[6] Michael Negnevitsky, Artificial Intelligence, s. 204, ISBN 0201-71159-1 [7] Ari Hovi, SQL-ohjelmointi, s. 5, ISBN 951-762-756-4
[8] Ari Hovi, SQL-ohjelmointi, ss. 6-7, ISBN 951-762-756-4 [9] Ari Hovi, SQL-ohjelmointi, s. 20,30, ISBN 951-762-756-4
[10] Anne Korkeamäki, Pauli Lindström, Tuula Ryhänen, Minna Saukkonen, Raili Selinheimo, Asiakasmarkkinointi, ss. 146-150, ISBN 951-0-26335-4
[11] Mikko Mäntyneva, Asiakkuudenhallinta, s. 84, ISBN 951-0-25950-0 [12] Mikko Mäntyneva, Asiakkuudenhallinta, s. 88, ISBN 951-0-25950-0 [13] Mikko Mäntyneva, Asiakkuudenhallinta, s. 76, ISBN 951-0-25950-0
[14] Kai Storbacka, Jarmo R. Lehtinen, Asiakkuuden ehdoilla vai asiakkaiden armoil
la, s.32, ISBN 951-0-21467-1
[15] Kai Storbacka, Jarmo R. Lehtinen, Asiakkuuden ehdoilla vai asiakkaiden armoil
la, s.60, ISBN 951-0-21467-1
[16] Kai Storbacka, Jarmo R. Lehtinen, Asiakkuuden ehdoilla vai asiakkaiden armoil
la, S.46, ISBN 951-0-21467-1
[17] Kai Storbacka, Jarmo R. Lehtinen, Asiakkuuden ehdoilla vai asiakkaiden armoil
la, S.59, ISBN 951-0-21467-1
[ 18] Kai Storbacka, Jarmo R. Lehtinen, Asiakkuuden ehdoilla vai asiakkaiden armoil
la, S.80, ISBN 951-0-21467-1
[19] Kai Storbacka, Jarmo R. Lehtinen, Asiakkuuden ehdoilla vai asiakkaiden armoil
la, s.86, ISBN 951-0-21467-1
[20] Allen L. Edwards, An Introduction to Linear Regression and Correlation, ss. 3- 13, ISBN 0-7167-0562-1, 0-7167-0561-3 pbk.
[21] David F. Findley(C. W. J. Granger and A. Andersen), Applied Time Series Ana
lysis, ss. 25-26, ISBN 0-12-257250-5
[22] Brian S. Everitt, Cluster Analysis, s.4, ISBN 0-470-22043-0
Liite 1. Taulujen luontilauseet
Laskennassa käytettävät taulut voi perustaa tietokantaan seuraavilla lauseilla.
drop table customer_data;
create table customer_data
(
calculâtion_id integer, integer, integer, double customer_id
time id value
) ;
drop table cust_class;
create table cust_class
(
integer, customer_id integer, customer_sum double,
integer, integer rownum
pass class
) ;
drop table classification;
create table classification
(
calculation_id integer, integer, customer_count integer, value
class id
double
) ;
drop table transition_matrix;
create table transition_matrix
(
calculâtion_id class_id_l class_id_2 phase_id
integer, integer, integer, integer, original_class_id integer,
double percent
) ;
drop table transition_data;
create table transition_data
(
calculation id integer, original_class_id integer, time_id
class_id
integer, integer, integer customer_count
) ;
// Taulua Itv voidaan käyttää laskennan tulosten tallettamiseen
drop table Itv;
create table Itv
(
calculation id integer, original_class_id integer.
integer, double customer_cout
value
) ;
// Tauluun calculation voidaan laittaa laskennan perustiedot
drop table calculation;
create table calculation
(
calculation_id integer, varchar(20), number_of_classes integer, name
year_l year_2
integer, integer.
number_of_phases integer, inflation double
) ;
// Tee indeksit hakujen nopeuttamiseksi
create index custid on cust_class(pass, customer_id);
create index classpass on cust_class(pass. class, customer_id);