Employing software use data for customer segmentation
Tuomela, Ilari (2019)
Diplomityö
Tuomela, Ilari
2019
School of Engineering Science, Tuotantotalous
Kaikki oikeudet pidätetään.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi-fe2019111838520
https://urn.fi/URN:NBN:fi-fe2019111838520
Tiivistelmä
The potential for collecting and logging software use data has increased substantially with the rise in popularity of various cloud computing and storage services. As the number of data sources and customers has increased, it has become ever more challenging to gain a consistent overview of how software products are used. The aim of this thesis was to gain insight on how the software product is used in practice. Another objective was to identify user actions or patterns that could be used for customer segmentation.
The thesis focused on finding the optimal combination of a feature selection method and an unsupervised machine learning algorithm. The goal was to be able to differentiate customers according to their software use patterns. Filter feature selection methods were deemed best for the task. Variance threshold, Spectral feature selection, Laplacian score and Multi-Cluster feature selection methods were experimented with and evaluated. Based on a literature review it was decided to use clustering to create the model. K-means, Fuzzy C-means, K-medoids and Hierarchical clustering were examined and assessed with different feature selection methods and a varying number of clusters and features. The best clusters were produced with Spectral feature selection in combination with K-means clustering. Optimal results were obtained by setting the number of clusters to two and including 75% best ranked features.
Based on the findings, a model was created to cluster customers into distinct segments. Using the model, users could be segmented into one of four segments according to how they’ve used the software. Cluster descriptive values were noted for each segment and used to characterize them. Ohjelmistojen käyttödatan keräämisen potentiaali on noussut huomattavasti erilaisten pilvipalveluiden suosion kasvamisen myötä. Datalähteiden ja asiakkaiden määrän lisääntyessä on yhä vaikeampi omaksua järjestelmällinen yleiskuva siitä, kuinka ohjelmistoa käytetään. Diplomityön tavoitteena oli saavuttaa ymmärrys siitä, kuinka tosiasiallisesti ohjelmistotuotetta käytetään. Työn toinen tavoite oli tunnistaa käyttäjätoimia tai toistuvuuksia, joiden avulla asiakkaat voidaan segmentoida.
Diplomityön painopisteenä oli löytää optimaalinen piirteenvalintamenetelmä sekä ohjaamaton koneoppimenetelmä. Tavoitteena oli segmentoida asiakkaat perustuen kerättyyn ohjelmiston käyttödataan. ’Filter’-piirteenvalintamenetelmät osoittautuivat parhaiksi tehtävää varten. Variance threshold, Spectral-piirteenvalinta, Laplacian score ja Multi-Cluster piirteenvalintamenetelmiä tutkittiin sekä arvioitiin. Kirjallisuuteen perustuen tehtiin päätös käyttää klusterointia koneoppimallin tekemiseen. K-meansia, Fuzzy C-meansia, K-medoidsia ja Hierarkista klusterointimenetelmiä tarkasteltiin ja arvosteltiin käyttäen vaihtuvia piirteenvalintamenetelmiä sekä klusterien määriä. Parhaat tulokset saavutettiin käyttämällä Spectral piirteenvalintamenetelmää sekä K-means -klusterointia. Tulokset optimoitiin käyttämällä kahta klusteria ja 75% kaikista piirteistä.
Löydösten perusteella luotiin klusterointimalli, jonka avulla asiakkaat pystyttiin segmentoida yhteen ryhmään neljästä perustuen asiakkaan käyttäytymiseen ohjelmistossa. Klusterien kuvailevia arvoja käytettiin asiakassegmenttien luonnehtimiseen.
The thesis focused on finding the optimal combination of a feature selection method and an unsupervised machine learning algorithm. The goal was to be able to differentiate customers according to their software use patterns. Filter feature selection methods were deemed best for the task. Variance threshold, Spectral feature selection, Laplacian score and Multi-Cluster feature selection methods were experimented with and evaluated. Based on a literature review it was decided to use clustering to create the model. K-means, Fuzzy C-means, K-medoids and Hierarchical clustering were examined and assessed with different feature selection methods and a varying number of clusters and features. The best clusters were produced with Spectral feature selection in combination with K-means clustering. Optimal results were obtained by setting the number of clusters to two and including 75% best ranked features.
Based on the findings, a model was created to cluster customers into distinct segments. Using the model, users could be segmented into one of four segments according to how they’ve used the software. Cluster descriptive values were noted for each segment and used to characterize them.
Diplomityön painopisteenä oli löytää optimaalinen piirteenvalintamenetelmä sekä ohjaamaton koneoppimenetelmä. Tavoitteena oli segmentoida asiakkaat perustuen kerättyyn ohjelmiston käyttödataan. ’Filter’-piirteenvalintamenetelmät osoittautuivat parhaiksi tehtävää varten. Variance threshold, Spectral-piirteenvalinta, Laplacian score ja Multi-Cluster piirteenvalintamenetelmiä tutkittiin sekä arvioitiin. Kirjallisuuteen perustuen tehtiin päätös käyttää klusterointia koneoppimallin tekemiseen. K-meansia, Fuzzy C-meansia, K-medoidsia ja Hierarkista klusterointimenetelmiä tarkasteltiin ja arvosteltiin käyttäen vaihtuvia piirteenvalintamenetelmiä sekä klusterien määriä. Parhaat tulokset saavutettiin käyttämällä Spectral piirteenvalintamenetelmää sekä K-means -klusterointia. Tulokset optimoitiin käyttämällä kahta klusteria ja 75% kaikista piirteistä.
Löydösten perusteella luotiin klusterointimalli, jonka avulla asiakkaat pystyttiin segmentoida yhteen ryhmään neljästä perustuen asiakkaan käyttäytymiseen ohjelmistossa. Klusterien kuvailevia arvoja käytettiin asiakassegmenttien luonnehtimiseen.