Modele eksploracji danych - CROSS-SELLING, LTV, EVENT



Podobne dokumenty
Elementy modelowania matematycznego

Analiza danych. TEMATYKA PRZEDMIOTU

Eksploracja Danych. wykład 4. Sebastian Zając. 10 maja 2017 WMP.SNŚ UKSW. Sebastian Zając (WMP.SNŚ UKSW) Eksploracja Danych 10 maja / 18

Algorytmy klasyfikacji

Konkurs z przedmiotu eksploracja i analiza danych: problem regresji i klasyfikacji

Klasyfikatory: k-nn oraz naiwny Bayesa. Agnieszka Nowak Brzezińska Wykład IV

SAS wybrane elementy. DATA MINING Część III. Seweryn Kowalski 2006

Informacje i materiały dotyczące wykładu będą publikowane na stronie internetowej wykładowcy, m.in. prezentacje z wykładów

Agnieszka Nowak Brzezińska Wykład III

Agnieszka Nowak Brzezińska Wykład III

SYSTEMY UCZĄCE SIĘ WYKŁAD 10. PRZEKSZTAŁCANIE ATRYBUTÓW. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska.

ALGORYTM RANDOM FOREST

Aproksymacja funkcji a regresja symboliczna

Wnioskowanie bayesowskie

Testowanie modeli predykcyjnych

Optymalizacja ciągła

Algorytmy klasteryzacji jako metoda dyskretyzacji w algorytmach eksploracji danych. Łukasz Przybyłek, Jakub Niwa Studenckie Koło Naukowe BRAINS

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.

Spacery losowe generowanie realizacji procesu losowego

Klasyfikacja metodą Bayesa

Projekt Sieci neuronowe

Analiza składowych głównych. Wprowadzenie

9.9 Algorytmy przeglądu

INDUKOWANE REGUŁY DECYZYJNE ALORYTM APRIORI JAROSŁAW FIBICH

Przykład eksploracji danych o naturze statystycznej Próba 1 wartości zmiennej losowej odległość

1.7. Eksploracja danych: pogłębianie, przeszukiwanie i wyławianie

komputery? Andrzej Skowron, Hung Son Nguyen Instytut Matematyki, Wydział MIM, UW

Metody probabilistyczne klasyfikatory bayesowskie

Weryfikacja hipotez statystycznych. KG (CC) Statystyka 26 V / 1

Prawdopodobieństwo czerwonych = = 0.33

Systemy uczące się Lab 4


Budowa sztucznych sieci neuronowych do prognozowania. Przykład jednostek uczestnictwa otwartego funduszu inwestycyjnego

Hierarchiczna analiza skupień

Systemy pomiarowo-diagnostyczne. Metody uczenia maszynowego wykład I dr inż. 2015/2016

Klasyfikacja obiektów Drzewa decyzyjne (drzewa klasyfikacyjne)

Statystyka. Rozkład prawdopodobieństwa Testowanie hipotez. Wykład III ( )

Wykład z Technologii Informacyjnych. Piotr Mika

Drzewa decyzyjne i lasy losowe

Metody systemowe i decyzyjne w informatyce

Metody teorii gier. ALP520 - Wykład z Algorytmów Probabilistycznych p.2

Systemy uczące się wykład 2

Porównywanie populacji

Zastosowanie rozmytych map kognitywnych do badania scenariuszy rozwoju jednostek naukowo-dydaktycznych

5.1 Stopa Inflacji - Dyskonto odpowiadające sile nabywczej

Wykład 4: Wnioskowanie statystyczne. Podstawowe informacje oraz implementacja przykładowego testu w programie STATISTICA

SYSTEMY UCZĄCE SIĘ WYKŁAD 4. DRZEWA REGRESYJNE, INDUKCJA REGUŁ. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska

7.4 Automatyczne stawianie prognoz

Testowanie hipotez statystycznych

Sprawozdanie z zadania Modele predykcyjne (2)

Laboratorium 11. Regresja SVM.

Testowanie hipotez statystycznych. Wnioskowanie statystyczne

Statystyki: miary opisujące rozkład! np. : średnia, frakcja (procent), odchylenie standardowe, wariancja, mediana itd.

Identyfikacja istotnych atrybutów za pomocą Baysowskich miar konfirmacji

Agnieszka Nowak Brzezińska

METODY CHEMOMETRYCZNE W IDENTYFIKACJI ŹRÓDEŁ POCHODZENIA

Adam Kirpsza Zastosowanie regresji logistycznej w studiach nad Unią Europejska. Anna Stankiewicz Izabela Słomska

Rozdział 2: Metoda największej wiarygodności i nieliniowa metoda najmniejszych kwadratów

Raport Porównanie oferty abonamentowej operatorów. telefonii komórkowej dla typowego uŝytkownika. Łukasz Idrian Analityk Rynku ICT

Klasyfikacja LDA + walidacja

istocie dziedzina zajmująca się poszukiwaniem zależności na podstawie prowadzenia doświadczeń jest o wiele starsza: tak na przykład matematycy

Sterowanie wielkością zamówienia w Excelu - cz. 3

Ćwiczenie 6 - Hurtownie danych i metody eksploracje danych. Regresja logistyczna i jej zastosowanie

Programowanie celowe #1

Wojny Coli - czyli siła reklamy na rynku oligopolicznym

Wykład 4. Plan: 1. Aproksymacja rozkładu dwumianowego rozkładem normalnym. 2. Rozkłady próbkowe. 3. Centralne twierdzenie graniczne

mgr inż. Magdalena Deckert Poznań, r. Metody przyrostowego uczenia się ze strumieni danych.

0 + 0 = 0, = 1, = 1, = 0.

Metody eksploracji danych. Reguły asocjacyjne

TEORETYCZNE PODSTAWY INFORMATYKI

Strategie VIP. Opis produktu. Tworzymy strategie oparte o systemy transakcyjne wyłącznie dla Ciebie. Strategia stworzona wyłącznie dla Ciebie

Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych

Instytut Informatyki Uniwersytet Wrocławski. Dane w sieciach. (i inne historie) Marcin Bieńkowski

Kompresja danych Streszczenie Studia Dzienne Wykład 10,

System prognozowania rynków energii

Podstawy Sztucznej Inteligencji (PSZT)

Programowanie liniowe

Opis efektów kształcenia dla programu kształcenia (kierunkowe efekty kształcenia) WIEDZA. rozumie cywilizacyjne znaczenie matematyki i jej zastosowań

Algorytm indukcji klasyfikatora za pomocą EA z automatycznym przełączaniem ukierunkowań

Statystyka i opracowanie danych Podstawy wnioskowania statystycznego. Prawo wielkich liczb. Centralne twierdzenie graniczne. Estymacja i estymatory

Inteligentna analiza danych

Zmienność. Co z niej wynika?

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Wprowadzenie do analizy korelacji i regresji

Data Mining Wykład 6. Naiwny klasyfikator Bayes a Maszyna wektorów nośnych (SVM) Naiwny klasyfikator Bayesa.

Wprowadzenie Sformułowanie problemu Typy reguł asocjacyjnych Proces odkrywania reguł asocjacyjnych. Data Mining Wykład 2

Porównanie opłacalności kredytu w PLN i kredytu denominowanego w EUR Przykładowa analiza

Dopasowywanie modelu do danych

Ćwiczenie 12. Metody eksploracji danych

Prognozowanie i Symulacje. Wykład I. Matematyczne metody prognozowania

Weryfikacja hipotez statystycznych, parametryczne testy istotności w populacji

Klasyfikator. ˆp(k x) = 1 K. I(ρ(x,x i ) ρ(x,x (K) ))I(y i =k),k =1,...,L,

ANALIZA SYSTEMU POMIAROWEGO (MSA)

Sposoby prezentacji problemów w statystyce

Wprowadzenie do programu RapidMiner Studio 7.6, część 4 Michał Bereta

Algorytmy metaheurystyczne Wykład 11. Piotr Syga

ZAGADNIENIE TRANSPORTOWE

ALGORYTMICZNA I STATYSTYCZNA ANALIZA DANYCH

Funkcje wymierne. Funkcja homograficzna. Równania i nierówności wymierne.

Transkrypt:

Zakład Zaawansowanych Technik Informacyjnych (Z-6) Modele eksploracji danych - CROSS-SELLING, LTV, EVENT Praca statutowa nr 06.30.003.6 Warszawa, grudzień 2006

Modele eksploracji danych - CROSS-SELLING, LTV, EVENT Praca statutowa nr 06.30.003.6 Słowa kluczowe: data-mining, cross-selling, wartość życiowa klienta, zdarzenie, telekomunikacja Kierownik pracy: dr inż. Janusz Granat Wykonawcy pracy: dr inż. Janusz Granat dr inż. Szymon Jaroszewicz mgr inż. Cezary Chudzian mgr inż. Robert Kuśmierek mgr inż. Paweł Białoń c Copyright by Instytut Łączności, Warszawa 2006

Spis treści 1 Wstęp 4 2 Cross-selling 6 2.1 Pojęcia cross-sellingu i up-sellingu i ich znaczenie w telekomunikacji... 6 2.2 Dostępne rozwiązania cross-sellingowe i przegląd literatury........ 7 2.2.1 Rozwiązania komercyjne....................... 7 2.2.2 Rozwiązania przedstawione w literaturze.............. 7 2.3 Dane testowe................................. 9 2.3.1 Problem sprzedaży ofert promocyjnych dla użytkowników telefonów komórkowych............................. 9 2.3.2 Generator danych........................... 9 2.4 Zastosowanie reguł asocjacyjnych interesujących względem sieci bayesowskich...................................... 12 2.4.1 Metoda z użyciem sieci bayesowskiej jako wiedzy z dziedziny i metody filtrowania reguł asocjacyjnych................. 13 2.4.2 Budowa sieci Bayesowskiej...................... 15 2.4.3 Testowanie rozwiązania........................ 19 2.5 Cross-selling oparty na klasyfikatorach................... 19 2.5.1 Wyniki testów............................. 23 2.6 Wnioski i przyszłe kierunki badań...................... 24 3 Wartość Życiowa Klienta (Lifetime Value) 25 3.1 Przegląd literatury.............................. 25 3.2 Badania na rzeczywistych danych PTK Centertel............. 28 3.2.1 Prognozowana wielkość, przygotowanie danych i ocena dokładności 28 3.2.2 Proste modele bazowe........................ 29 3.2.3 Modele statystyczne......................... 30 3.2.4 Budowa oddzielnego modelu dla każdego użytkownika....... 32 3.2.5 Wnioski................................ 32 3.3 Badania innych metod predykcji prowadzone na danych testowych.... 33 3.3.1 Standardowe modele regresji (metody statystyczne i uczenia maszynowego).............................. 33 3.4 Metody uczenia maszynowego przeznaczone dla szeregów czasowych... 36 3.5 Wnioski.................................... 38 3.6 Przyszłe badania............................... 38 2

A Przedziały dyskretyzacji zmiennych w modelu cross-sellingowym 44 B Wyniki przedstawione w formie artykułów 46 3

Rozdział 1 Wstęp Praca niniejsza dotyczy ważnych aspektów analizy danych marketingowych, a w szczególności danych dotyczących rynku usług telekomunikacyjnych. Zagadnienia te są bezpośrednio związane z pracami wykonywanymi przez Zakład Zaawansowanych Technik Informacyjnych Instytutu Łączności dla Przedsiębiorstwa Telefonii Komórkowej Centertel. Rynek usług telekomunikacyjnych w ogólności, a telefonii komórkowej w szczególności, jest rynkiem szczególnym. W dziedzinie tej zachodzi bardzo szybki rozwój technologiczny, co owocuje ciągłym pojawianiem się nowych usług. Zjawisko to ulegnie w najbliższej przyszłości jeszcze większemu nasileniu z uwagi na pojawienie się telefonii komórkowej trzeciej generacji. Następuje też ciągłe obniżanie cen, a co za tym idzie ciągłe zmniejszanie się marży operatorów. Częste akcje promocyjne powodują znaczną migrację użytkowników między operatorami, zwłaszcza w najważniejszym obecnie systemie pre-paid. Te szczególne własności rynku telekomunikacyjnego zwiększają wagę pełnego wykorzystania posiadanych danych o klientach do celów marketingowych, a jednocześnie stawiają przed nim znaczne wyzwania, jak choćby konieczność radzenia sobie z ogromną ilością danych. Pierwszym rozpatrywanym zagadnieniem jest problem cross-sellingu, to znaczy sprzedaży dodatkowych usług dotychczasowym klientom firmy. Jest to problem szczególnie istotny, gdyż z im większej liczby usług dany klient korzysta, tym mniej prawdopodobne jest jego przejście do konkurencji. W pracy przedstawiono dwie metody rozwiązania problemu. Pierwsza jest oparta o analizę koszykową połączoną z metodą selekcji reguł opartą o wiedzę z dziedziny. W wyniku jej zastosowania otrzymuje się model probabilistyczny (sieć bayesowską) pozwalający na przewidywanie prawdopodobieństwa akceptacji konkretnych usług. Drugie podejście opiera się na zastosowaniu metod klasyfikacji. Drugim rozpatrywanym problemem jest prognozowanie wartości życiowej klienta. W większości firm, nie tylko telekomunikacyjnych, większa część zysków wytwarzana jest przez bardzo małą grupę klientów. Ważna jest więc identyfikacja klientów, którzy chociaż obecnie nie są rentowni, mogą w przyszłości przynosić firmie znaczne zyski. Ważne jest też ściśle z tym pozwiązane zagadnienie prognozowania kosztów i przychodów firmy związanych z różnymi segmentami rynku na najbliższe miesiące. W pracy przebadano przydatność szeregu metod predykcji pod kątem przydatności w prognozowaniu zysku firmy telekomunikacyjnej. Modele zostały przetestowane na rzeczywistych danych PTK Centertel a także na innych danych testowych. 4

Kolejnym podjętym w pracy tematem jest data-mining opraty o zdarzenia. Ma to szczególne znaczenie w sektorze telefonii komórkowej z uwagi na nieustannie pojawiające się promocje i akcje marketingowe, które wpływają na zachowanie rynku. Reagowanie na takie zdarzenia jest dla firm telekomunikacyjnych bardzo istotne. W ramach pracy powstał też szereg artykułów powiązanych z tematyką pracy. Trzy z nich zostały już opublikowane, a kolejna została przyjęta do publikacji. W projekcie wzięły również udział studentki-stażystki Izabela Windyga i Nada Atallah. 5

Rozdział 2 Cross-selling 2.1 Pojęcia cross-sellingu i up-sellingu i ich znaczenie w telekomunikacji Definicje pojęć cross-sellingu i up-sellingu przedstawione są poniżej (na podstawie Wikipedii) Cross-selling jest strategią sprzedaży innych produktów klientowi, który wcześniej dokonał już zakupu (lub wyrażał taki zamiar). Produkty te nie są zazwyczaj związane z produktem podstawowym i mają na celu zwiększenie zależności klienta od firmy, a co za tym idzie jego lojalności. Up-selling jest techniką sprzedaży polegającą na próbie skłonienia klienta do zakupu droższego produktu lub dodatkowych akcesoriów w celu zwiększenia wartości transakcji. Up-selling zazwyczaj oznacza próbę skłonienia klienta do zakupu produktów bardziej rentownych (dla sprzedającego), ale może też oznaczać zaproponowanie klientowi opcji, których wcześniej nie był świadomy lub które były dla niego niedostępne. W pracy niniejszej zajmiemy się głównie pojęciem cross-sellingu, z uwagi na większe zainteresowanie PTK Centertel. Rynek usług telekomunikacyjnych charakteryzuje się dużą dynamiką usług i małą lojalnością klientów. Z uwagi na ciągłe powstawanie nowych usług jak i częste i agresywne oferty promocyjne, następuje ciągła migracja klientów między konkurencyjnymi firmami. Dla PTK Centertel cross-selling ma więc duże znaczenie z dwóch powodów. Po pierwsze (efekt bezpośredni) powoduje zwiększenie sprzedaży. Po drugie, klienci korzystający z wielu różnorodnych usług stają się bardziej zależni od firmy i zmniejsza się prawdopodobieństwo ich przejścia do konkurencji. W przypadku firm telekomunikacyjnych kontakt z klientem może odbywać się za pomocą szeregu kanałów 1. propozycje składane klientowi, gdy kontaktuje się on z call-center, 2. kontakt telefoniczny z klientem, 3. kontakt z klientem za pomocą SMS, 6

4. kontakt z klientem za pomocą przesyłki pocztowej (oddzielnej lub przesyłanej łącznie z rachunkiem). Może się wydawać, że koszt niektórych z tych kanałów (zwłaszcza kontaktu z klientem za pomocą SMSa) jest znikomy, możliwe jest więc wysyłanie dużej liczby ofert crosssellingowych. Przekonanie to jest jednak błędne. Jest tak dlatego, że reakcja klienta na nadmierną ilość ofert jest w przeważającej mierze negatywna [4]. Potwierdziły to wcześniejsze badania prowadzone przez Zakład Zaawansowanych Technik Informacyjnych, w których stwierdzono, że w niektórych przypadkach wysyłanie SMSów z ofertą doprowadziło do obniżenia akceptacji usługi. Wynika stąd, iż liczba ofert cross-sellingowych jest ograniczona, a co za tym idzie, konieczny jest bardzo staranny wybór produktu oferowanego danemu użytkownikowi, aby zmaksymalizować prawdopodobieństwo trafienia. 2.2 Dostępne rozwiązania cross-sellingowe i przegląd literatury W tej części zostaną przedstawione dostępne na rynku, jak i opisane w literaturze rozwiązania cross-sellingowe. 2.2.1 Rozwiązania komercyjne Kilka firm oferuje gotowe produkty służące do cross-sellingu. Niestety rzadko dostępne są szczegółowe opisy metody działania systemów, niedostępne są też wersje testowe. Poniższy opis dwóch wybranych produktów będzie więc z konieczności skrótowy. SAS Up-sell, Cross-sell for telecommunications SAS oferuje gotowy produkt do Cross-sellingu w telekomunikacji [31]. Brak jest szczegółowych informacji na temat jego działania. Firma podaje jednak, że jest on oparty o analizę koszykową. Analiza ta jest używana do badania typowych ścieżek rozwoju klienta, np. od jednej linii telefonicznej do kilku linii wraz z internetem. Pozwala to identyfikować, którzy klienci są potencjalnie zainteresowanie zakupem nowych usług. System jest konstruowany przez specjalistów SASa i wymaga zakupu systemu tej firmy. IBM Guided Selling & Active Advisor Kompleksowe rozwiązanie cross-sellingowe, dostosowane w szczególności do handlu detalicznego. Nie dostosowany specyficznie do potrzeb telekomunikacji. Brak opisu stosowanych metod i algorytmów. 2.2.2 Rozwiązania przedstawione w literaturze W literaturze związanej z data-mining zostało przedstawionych tylko kilka prac na temat cross-sellingu. Zostaną one krótko scharakteryzowane poniżej. Przykładowa aplikacja cross-sellingowa w bankowości jest przedstawiona w książce [4]. Źródło to wyróżnia fakt, że podany został bardzo szczegółowy opis zarówno samej metody, jak i konkretnego przykładu zastosowania w sektorze bankowym. Zadaniem było 7

wytypowanie grupy klientów, którzy skłonni byliby skorzystać z oferty otwarcia rachunku brokerskiego (rachunku akcji). Użyta metoda polega na budowie klasyfikatora (drzewo decyzyjne) dla każdej usługi oddzielnie i oferowaniu klientowi usługi najbardziej prawdopodobnej. Jeżeli klient nie ma danej usługi i znajduje się w liściu drzewa, w którym wielu klientów z tej usługi korzysta, to prawdopodobieństwo, że on też z tej usługi skorzysta, jest uznawane za wysokie. Według danych autorów modelowi udało się osiągnąć o kilkadziesiąt procent wyższy odsetek akceptacji usługi niż w przypadku oferty losowej. Z powodu ograniczeń wewnętrznych klasyfikator budowany jest na podstawie wcześniej zgromadzonych danych klientów banku, którzy już z tej usługi skorzystali. Oczywiście, założenie to może okazać się błędne, gdyż potencjalni nowi klienci mogą być zupełnie niepodobni do klientów już korzystających z usługi. Lepszym rozwiązaniem byłoby wysłanie oferty pilotowej i budowa klasyfikatora na podstawie jej wyników. W ten sposób mamy większą szansę na dotarcie do zupełnie nowych grup klientów, jednak rozwiązanie to wiąże się z wydłużonym czasem akcji marketingowej i jej zwiększonymi kosztami, co nie zawsze jest do zaakceptowania. W pracy [32] autorzy używają reguł asocjacyjnych i modeli statystycznych do predykcji zakupów na podstawie logów z serwerów WWW. Reguły asocjacyjne stosowane są do generowania cech, które następnie są wejściami hybrydowego klasyfikatora. W pracy [19] probabilistyczny model z ukrytymi zmiennymi jest używany do przewidywania zachowań klientów na podstawie ich zakupów oraz danych z ankiet. Zaletą tego typu modeli jest duża elastyczność i możliwość uwzględniania zmiennych ukrytych. Wadą jest trudność w wykryciu nieznanych zależności nieuwzględnionych w modelu. W niniejszej problem dotyczący modeli probabilistycznych został rozwiązany przez połącznenie ich z analizą koszykową. W pracy [35] przedstawiono rozwiązanie umożliwiające wybór podzbioru usług na które powinna być skierowana akcja promocyjna tak, by zmaksymalizować całościowy zysk. Uwzględniany jest wpływ popularności jednych towarów na popularność innych. Analiza zależności między produktami oparta jest o analizę koszykową (reguły asocjacyjne). Udowodniono, że wybór optymalnego zbioru produktów jest NP-zupełny. Zaproponowano więc przybliżony algorytm zachłanny. Zbliżoną dziedziną analizy danych są tzw. systemy rekomendacji (ang. recommender systems) [1]. Systemy te starają się zaoferować klientowi towar na podstawie podobieństwa jego historii zakupów do historii zakupów innych klientów. Najbardziej chyba znanym przykładem takiego systemu jest strona księgarni wysyłkowej www.amazon.com, wyświetlająca informację ci, którzy kupili tę książkę często kupowali również.... Systemy takie są jednak przystosowane w szczególności do dużych sklepów wysyłkowych: nie wykorzystują danych klienta innych niż historia zakupów i działają na bardzo dużych bazach produktów (dziesiątki i setki tysięcy). Charakterystyka zadania cross-sellingowego w PTK Centertel jest diametralnie inna: oferowana jest względnie mała liczba usług, dane o historii zakupów klienta mają relatywnie małe znaczenie w przeciwieństwie do innych danych na jego/jej temat takich jak płeć, miejsce zamieszkania, historia połączeń, które mają znaczenie kluczowe. Powoduje to, że systemy rekomendacji nie nadają się do zastosowań w cross-sellingu telekomunikacyjnym. 8

Podsumowanie Z powyższej dyskusji wynika, że istnieją dwa główne podejścia do problemu cross-sellingu. 1. budowa oddzielnego klasyfikatora dla każdej z usług i oferowanie usługi, której klasyfikator przewiduje największe prawdopodobieństwo zakupu, 2. zastosowanie reguł asocjacyjnych (analiza koszykowa) do znalezienia związków między danymi klienta i usługami z których korzysta. Na podstawie tych reguł budowany jest następnie model sugerujący, które usługi należy zaoferować. W niniejszej pracy zastosowano i przeanalizowano obie te metody. 2.3 Dane testowe W tej części zostanie przedstawiony opis konkretnego problemu cross-sellingowego, na którym koncentrowaliśmy się w pracy. 2.3.1 Problem sprzedaży ofert promocyjnych dla użytkowników telefonów komórkowych W niniejszej pracy skupiono się na akcji cross-sellingowej nakierowanej na trzy usługi dodatkowe, które umożliwiają klientowi obniżenie kosztów połączeń. Są to następujące usługi: RL - rozmowy lokalne umożliwia klientowi wykonywanie rozmów lokalnych po obniżonej cenie TPG - taniej po godzinach umożliwia klientowi wykonywanie tańszych rozmów po godzinie 18. TPWS - tanie połączenia w sieci obniżka cen połączeń wewnątrz sieci Orange. Celem jest stworzenie systemu, który dla danego klienta zaproponuje jedną nową usługę, którą należy temu klientowi zaoferować (czy to w formie oferty SMSowej, czy też np. w czasie gdy klinet zadzwoni na linię obsługi technicznej). 2.3.2 Generator danych Z uwagi na ścisłe restrykcje w dostępie do rzeczywistych danych w PTK Centertel, testowanie algorytmów musiało być przeprowadzone na danych generowanych. Dołożono jednak wszelkich starań aby dane były zgodne z realiami danych telekomunikacyjnych. Dla zapewnienia bezstronności w analizie wyników, generator danych i ich analiza były wykonane przez różne osoby, przy czym osoba analizująca dane nie znała uprzednio reguł, na podstawie których aktywowane były usługi w generatorze danych. Dane były generowane tak, aby opracowane algorytmy można było w przyszłości łatwo zastosować na rzeczywistych danych PTK Centertel. Etapy działania generatora przedstawiono na rys. 2.1. Najpierw generowane są dane bilingowe klientów, na podstawie tych danych włączane są odpowiednie usługi danego 9

Rysunek 2.1: Etapy działania generatora danych Tablica 2.1: Charakterystyka profili klientów Profil 1 Profil 2 Profil 3 Profil 4 Profil 5 przewaga usług typu SMS 60-70% wszystkich wykorzystanych usług krótki czas połączeń - przewaga połączeń kilkuminutowych, połączenia telefoniczne rozkład jednostajny do wszystkich operatorów przewaga połączeń poza godzinami szczytu, sporadyczne rozmowy w szczycie duża ilość rozmów w szczycie zarówno do własnej sieci oraz do sieci stacjonarnych, nieznacznie mniej wieczorami przewaga rozmów w szczycie do telefonów stacjonarnych, 1 lub 2 numery kierunkowe, przewaga połączeń do własnej sieci przewaga połączeń do kilku wybranych numerów, rozkład innych połączeń dowolny, przewaga połączeń do własnej sieci klienta. Dane są następnie agregowane do formatu występującego w hurtowniach danych, tzn. każdy rekord zagregowanej bazy odpowiada jednemu klientowi. Aby oddać zróżnicowane zachowania klientów, zostali oni podzieleni na kilka profili. Klienci z każdego profilu mają odmienne charakterystyki korzystania z usług telefonii komórkowej. Tabela 2.1 przedstawia charakterystyki użytych profili, a rys. 2.2 ich udział procentowy w danych bilingowych. Dla każdego klienta wybierana jest też losowo (z uwzględnieniem profilu) jedna z sześciu taryf podstawowych. Ogólnie, im dłużej dany użytkownik rozmawia, tym wyższy jest numer jego taryfy (uznajemy, że wyższe numery taryf oznaczają wyższy abonament, ale też niższe koszty rozmów). Na podstawie danych bilingowych i odpowiednich reguł, generowane są następnie usługi z których korzysta każdy z użytkowników. Dane są następnie agregowane do formatu hurtowni danych. W formacie tym jeden rekord tabeli danych odpowiada jednemu użytkownikowi korzystającemu z telefonu komórkowego w danym miesiącu. Pola danych dostępne w tabeli zagregowanej podane są w tabeli 2.2. Dostępne są następujące rodzaje usług to: 1 SMS 2 połączenie do własnej sieci 3 połączenie do innej sieci komórkowej 4 połączenie do sieci stacjonarnej a doba jest podzielona na następujące trzy pory dnia : 10

Rysunek 2.2: Udział procentowy poszczególnych profili. Tablica 2.2: Zmienne tabeli zagregowanej (format hurtowni danych) pole user-id czas-polaczen ilosc-polaczen sr-dlug-pol pd_y-il-pol pd_y-czas-pol usl_y-czas-pol usl_y-il-pol taryfa rl tpg tpws opis identyfikator użytkownika suma czasu połączeń ilość połączeń wykonanych średnia długość połączenia ilość połączeń w porze dnia y suma czasu połączeń w porze y suma czasu połączeń dla usługi y ilość połączeń dla usługi y taryfa, z której korzysta przez abonenta aktywacja usługi rozmowy lokalne aktywacja usługi taniej po godzinach aktywacja usługi tańsze połączenia w sieci 11

1 8:00 17:59 2 18:00 23:59 3 0:00 7:59 Zmienne numeryczne zostały zdyskretyzowane. Przedziały dyskretyzacji zostały podane w dodatku A. Z uwagi na konieczność wygenerowania dużej liczby danych bilingowych dla każdego klienta, wynikowa tabela zagregowana zawiera 4920 rekordów. Dane the zostały podzielone na zbiór treningowy (4000 rekordów) i zbiór testowy (920 rekordów). Budowa modeli odbywać się będzie na zbiorze treningowym a testowane będą one na zbiorze testowym. W ten sposób zminimalizowane zostanie zjawisko tzw. przeuczenia, kiedy model zachowuje się znakomicie na danych, na których został skonstruowany, a nie jest w stanie poprawnie klasyfikować nowych przypadków. 2.4 Zastosowanie reguł asocjacyjnych interesujących względem sieci bayesowskich W tej części zostanie opisane podejście do cross-sellingu oparte o reguły asocjacyjne. Reguły asocjacyjne zostały po raz pierwszy wprowadzone przez Rakesha Agrawala i jego zespół do analizy danych z supermarketów [2]. W pierwotnym sformułowaniu reguły asocjacyjne zostały zdefiniowane dla tabeli binarnej, której każdy atrybut odpowiadał jednemu z produktów, a każdy rekord konkretnej transakcji. Atrybut miał w danym rekordzie wartość 1, jeżeli w odpowiadającej mu transakcji dokonano zakupu towaru odpowiadającego temu atrybutowi. Niech H = {A 1, A 2,...,A n } oznacza zbiór atrybutów tabeli. Weźmy dowolny podzbiór I = {A i1, A i2,..., A ik } H. Wsparcie (ang. support) zbioru atrybutów I w tabeli bazodanowej D jest zdefiniowane jako support D (I) = {t D : t[i] = (1, 1,..., 1)}, (2.1) D czyli jako odsetek rekordów bazy, w których wszystkie atrybuty I przyjmują jednocześnie wartość 1. Jeżeli I, J H i I J =, to możemy zdefiniować regułę asocjacyjną I J. Dla reguły takiej definiujemy dwie wielkości: wsparcie (ang. support) i zaufanie (ang. confidence). Wielkości te zadane są następującymi wzorami support D (I J) = support D (I J), (2.2) confidence D (I J) = support D(I J), support D (I) (2.3) to znaczy wsparcie oznacza, jak duży odsetek transakcji w bazie zawiera jednocześnie wszystkie towary w I oraz w J, a zaufanie oznacza odsetek klientów, którzy kupili wszystkie towary w I, kupili również wszystkie towary w J. W pracy [2] zaproponowano algorytm Apriori pozwalający na znalezienie wszystkich reguł asocjacyjnych o zadanym minimalnych wsparciu i zaufaniu. Minimalne wsparcie 12

gwarantuje nam, że znalezione reguły odnoszą się do często występujących sytuacji, a minimalne zaufanie, że gwarantują odpowiednią jakość predykcji. Reguły asocjacyjne zostały pierwotnie opisane dla tabel binarnych, po prostych konwersjach można je jednak zastosować także do atrybutów wielowartościowych oraz numerycznych (po dyskretyzacji). Zaletą reguł asocjacyjnych jest to, że istniejące algorytmy pozwalają znaleźć wszystkie reguły asocjacyjne o zadanych parametrach. Wadą jest często zbyt duża liczba znalezionych reguł, co tworzy wtórny problem analizy danych polegający na odfiltrowaniu reguł dla użytkownika nieinteresujących. Jedna z metod takiego filtrowania została w kolejnym rozdziale zastosowana do problemu cross-sellingu. 2.4.1 Metoda z użyciem sieci bayesowskiej jako wiedzy z dziedziny i metody filtrowania reguł asocjacyjnych Jak napisano wyżej, zastosowanie reguł asocjacyjnych wymaga odpowiednich metod filtracji reguł nieprzydatnych dla użytkownika. Jedna z takich metod została opracowana przez jednego z autorów pracy (we współpracy z innymi) i opublikowana w pracach [16, 15]. Metoda ta polega na uwzględnieniu dotychczasowej wiedzy użytkownika na temat analizowanej dziedziny. Wiedza ta jest reprezentowana przy pomocy formalnego modelu (sieć bayesowska). Reguły, które nie są z tą wiedzą zgodne, uznawane są za interesujące. Tak znalezione reguły są następnie używane do zmodyfikowania modelu i algorytm jest uruchamiany ponownie w celu znalezienia kolejnych interesujących reguł. Jako reprezentację wiedzy użytkownika wybrano sieci bayesowskie [23, 17, 11]. Sieci bayesowskie są modelami obrazującymi w formie grafu skierowanego zależności przyczynowe między atrybutami. Wierzchołki odpowiadają poszczególnym atrybutom, a krawędzie bezpośrednim zależnościom przyczynowym. Dodatkowo z każdym wierzchołkiem związany jest warunkowy rozkład prawdopodobieństwa. Sieć bayesowska w pełni określa łączny rozkład prawdopodobieństwa atrybutów, które opisuje. Przykładowa sieć bayesowska pokazana jest na rysunku 2.3. Zaletami sieci bayesowskich jako metody reprezentacji wiedzy jest przede wszystkich ich zrozumiałość. Zależności między atrybutami są przedstawione po prostu jako krawędzie w grafie. Sieć taka jest też łatwa w budowie. Wystarczy połączyć wierzchołki odpowiednimi krawędziami. Nie jest to zwykle trudne, gdyż ludzie zazwyczaj znakomicie radzą sobie z identyfikacją zależności przyczynowych [23]. Prawdopodobieństwa warunkowe można łatwo oszacować na podstawie danych. Dodatkową zaletą jest to, że sieć określa łączny rozkład prawdopodobieństwa, nie ma więc problemów z brakiem kompletności opisu. Niech będzie dane zdarzenie probabilistyczne A. Stopień w jakim zdarzenie to jest interesujące jest zdefiniowany następująco [16]: Inter(E) = P BN (E) P D (E), (2.4) to znaczy, bezwzględna różnica między prawdopodobieństwem tego zdarzenia obliczonego na podstawie sieci bayesowskiej i danych. Zdarzenia analizowane w pracy [16] mają postać atrybut 1 = wartość 1 atrybut 2 = wartość 2... atrybut k = wartość k. (2.5) 13

Rysunek 2.3: Przykład sieci bayesowskiej opisującej proste zdarzenia probabilistyczne. Algorytm przedstawiony w [16] pozwala na znalezienie wszystkich takich zdarzeń, które są w zadanym minimalnym stopniu interesujące. Głównym problemem z zastosowaniem sieci bayesowskich jest wysoka złożoność obliczeniowa znajdowania konkretnych prawdopodobieństw brzegowych, niezbędnych w równaniu 2.4. Problem ten jest bowiem NP-zupełny, a w czasie pracy algorytmu konieczne jest obliczenie tysięcy takich rozkładów brzegowych. Problem został rozwiązany poprzez obliczanie bezpośrednio z sieci tylko rozkładów o dużej liczbie atrybutów i obliczanie mniejszych rozkładów przez bezpośrednie sumowanie. Dodatkowo w pracy [15] przedstawiono przybliżony algorytm probabilistyczny, który działa dla sieci o nawet tysiącach atrybutów, dając jednak gwarancje dobrej jakości rozwiązań. Szczegółowy opis tych algorytmów wykracza poza ramy niniejszej pracy, można go znaleźć w [16, 15]. Zmiany których dokonano aby dostosować metodę do obecnie rozpatrywanego problemu Przedstawione wyżej algorytmy znajdowania interesujących koniunkcji względem sieci bayesowskich wymagały pewnych modyfikacji. Problem pojawił się w sytuacji, gdy do wierzchołka skierowana była duża liczba krawędzi. Wynikał z tego bardzo duży (rosnący wykładniczo) rozmiar warunkowego rozkładu prawdopodobieństwa w tym wierzchołku, co powodowało problemy dwojakiego rodzaju. Pierwszym problemem była duża zajętość pamięci. Drugim, trudności w wiarygodnym oszacowaniu tak dużej liczby wartości prawdopodobieństw. Na szczęście, większość z tych prawdopodobieństw jest równa zeru, problem zajętości pamięci został więc rozwiązany poprzez reprezentację rozkładu warunkowego jako listy niezerowych prawdopodobieństw. Drugi problem został rozwiązany przez zastosowanie tzw. korekty Laplace a, to znaczy, zastosowanie jednostajnego rozkładu a-priori. Ważną zaletą tego podejścia jest to, że w jego wyniku otrzymujemy gotowy model probabilistyczny (sieć bayesowską), który możemy następnie wykorzystać do wnioskowania probabilistycznego. Sieć bayesowska jest na tyle elastyczna, że można z niej odczytać 14

Tablica 2.3: Krawędzie odpowiadające trywialnym, znanym a-priori zależnościom między atrybutami wynikającym ze sposobu agregacji danych i doboru atrybutów dodane do sieci przed uruchomieniem algorytmu. od do uzasadnienie pd1-il-pol ilosc-polaczen Ilość połączeń jest sumą ilości połączeń we pd2-il-pol ilosc-polaczen wszystkich porach dnia. pd3-il-pol ilosc-polaczen usl1-il-pol ilosc-polaczen usl2-il-pol ilosc-polaczen Ilość połączeń jest sumą ilości połączeń wszystkich usl3-il-pol ilosc-polaczen usług. usl4-il-pol ilosc-polaczen pd1-czas-pol czas-polaczen Czas połączeń jest sumą czasu połączeń we pd2-czas-pol czas-polaczen wszystkich porach dnia. pd3-czas-pol czas-polaczen usl2-czas-pol czas-polaczen Czas połączeń jest sumą czasu połączeń wszystkich usl3-czas-pol czas-polaczen usług. usl4-czas-pol czas-polaczen usl2-il-pol usl2-czas-pol usl3-il-pol usl3-czas-pol usl4-il-pol usl4-czas-pol pd1-il-pol pd1-czas-pol Ilość połączeń wpływa na czas połączeń. pd2-il-pol pd2-czas-pol pd3-il-pol pd3-czas-pol ilosc-polaczen sr-dlug-pol Średnią długość połączeń można wyznaczyć na czas-polaczen sr-dlug-pol podstawie sumarycznej długości połączeń i liczby połączeń. praktycznie dowolne parametry modelu. Wykorzystano to w rozdziale poniżej do szacowania prawdopodobieństw akceptacji przez klienta usługi w ofercie cross-sellingowej. 2.4.2 Budowa sieci Bayesowskiej Opiszemy teraz przebieg budowy sieci bayesowskiej na podstawie zbioru treningowego. Przed pierwszym uruchomieniem algorytmu do sieci zostały dodane krawędzie odpowiadające trywialnym, znanym a-priori zależnościom między atrybutami wynikającym ze sposobu agregacji danych i doboru atrybutów. Krawędzie te zostały wymienione w tabeli 2.3. Zauważmy, że sieć bayesowska dobrze modeluje zależności między tymi atrybutami. Np. ilości połączeń w poszczególnych porach dnia są od siebie w przybliżeniu niezależne. Jeśli jednak znana jest całkowita ilość połączeń, to stają się one zależne, dokładnie tak, jak to interpretuje sieć. Poniższe tabele ilustrują proces budowy sieci Bayesowskiej opisującej zachowanie klientów. Każda nowa tabela przedstawia kolejne uruchomienie algorytmu i najbardziej 15

interesujące zdarzenie/zdarzenia (w sensie probabilistycznym), które zostały znalezione. Zdarzenia mają formę atrybut 1 = wartość 1 atrybut 2 = wartość 2... atrybut k = wartość k. Opis kolumn tabel: atrybuty atrybuty najbardziej interesującego zdarzenia, wartości wartości odpowiadające atrybutom w zdarzeniu, Inter. stopień w jakim zdarzenie jest interesujące, P BN prawdopodobieństwo zdarzenia obliczone na podstawie sieci bayesowskiej, P D prawdopodobieństwo zdarzenia w danych, wnioski interpretacja i wyjaśnienie zdarzenia, modyfikacje w sieci bayesowskiej dokonane na podstawie zdarzenia. pierwsze uruchomienie algorytmu najbardziej interesujące zdarzenia atrybuty wartości Inter. P BN P D wnioski iloscpolaczen, 2,N,N,N 0.200 0.1839 0.3845 Ilość połączeń wpływa na usługi dodatkowe klientów. Klienci, którzy rl, tpg, mało dzwonią nie korzystają z tpws tych usług. Dodano krawędzie od ilosc-polaczen do rl, tpg, tpws. kolejne uruchomienie algorytmu najbardziej interesujące zdarzenia atrybuty wartości Inter. P BN P D wnioski pd2-czaspol, 1,2,N,N,N 0.179 0.0362 0.2153 Powiązanie tych zmiennych wy- taryfa, daje się zgodne z intuicją. Aby rl, tpg, lepiej zrozumieć naturę tych zależności, tpws sprawdzono najbardziej in- teresujące pary atrybutów: sr-dlugpol, rl sr-dlugpol, rl 4,N 0.153 0.2215 0.068 Klienci prowadzący długie rozmowy, mają większe prawdopodobieństwo włączonej 3,N 0.140 0.2077 0.3478 usługi rozmowy lokalne. Wniosek uznano za wiarygodny i dodano krawędź od sr-dlug-pol do rl. kolejne uruchomienie algorytmu 16

najbardziej interesujące zdarzenia atrybuty wartości Inter. P BN P D wnioski pd2- czas-pol, taryfa, rl, tpg, tpws butów: usl4-il-pol, rl taryfa, pd2-czaspol 1,2,N,N,N 0.18011 0.0351 0.2153 Wzorzec ten ponownie był najbardziej interesującym, jednak ponownie sprawdzono pary atry- 2,T 0.15 0.1680 0.0183 Wpływ ilości rozmów stacjonarnych na włączoną usługę rozmowy lokalne wydaje się wiarygodny. Dodano krawędź od usl4-il-pol do rl 1,2 0.1425 0.0727 0.2153 Zależność czasu rozmów w ciągu dnia i taryfy. Dodano krawędź pd2-czas-pol do taryfa kolejne uruchomienie algorytmu najbardziej interesujące zdarzenia atrybuty wartości Inter. P BN P D wnioski taryfa, rl, 1,N,N,N 0.151 0.1549 0.3058 Wpływ taryfy na włączone usługi. tpg, tpws Klienci z tanią taryfą mało korzystają z telefonu, więc nie mają włączonych usług. Dodano krawędzie od taryfa do rl, tpg i tpws. kolejne uruchomienie algorytmu najbardziej interesujące zdarzenia atrybuty wartości Inter. P BN P D wnioski sr-dlug-pol, tpg, tpws 4,N,N 0.149 0.3134 0.1648 Klienci prowadzący długie rozmowy mają włączoną którąś z usług tpg lub tpws. Dodano krawędzie od sr-dlug-pol do tpg i tpws. kolejne uruchomienie algorytmu najbardziej interesujące zdarzenia atrybuty wartości Inter. P BN P D wnioski iloscpolaczen, pd2-il-pol, 2,2,N,N,N 0.167 0.1068 0.2738 Pora dnia 2 odpowiada za połączenia w ciągu dnia, więc mówi dużo o profilu klienta. Dodano krawędzie: rl, tpg, od pd2-il-pol do rl, tpg i tpws tpws. Sieć bayesowska powstała ostatecznie po zastosowaniu algorytmu została przedstawiona na rys. 2.4 17

pd_2-il-pol usl_1-il-pol pd_1-il-pol pd_3-il-pol usl_2-il-pol usl_3-il-pol usl_4-il-pol pd_2-czas-pol ilosc-polaczen pd_1-czas-pol pd_3-czas-pol usl_2-czas-pol usl_3-czas-pol usl_4-czas-pol czas-polaczen 18 taryfa sr-dlug-pol tpws tpg rl Rysunek 2.4: Sieć bayesowska skonstruowana na podstawie analizy danych o zachowaniu klientów. Kolorem czarnym oznaczono znane a-priori zależności, wynikające ze sposobu agregacji danych, kolorem czerwonym zależności odkryte przy pomocy algorytmu.

2.4.3 Testowanie rozwiązania Rzetelne przetestowanie jakości systemu cross-sellingowego w warunkach off-line owych jest trudne. Prawdziwy test powinien polegać na wysłaniu testowej grupie klientów ofert rekomendowanych przez system, a następnie zbadaniu, ilu z nich odpowiedziało na ofertę pozytywnie. Procedurę należy powtórzyć dla innej grupy klientów z ofertami wybranymi losowo (lub np. inną dotychczas używaną metodą). Wyniki obu grup są następnie porównywane, aby stwierdzić, czy system uzyskał wyniki lepsze od losowych (lub uzyskanych dotychczas stosowanymi metodami). Wykonanie podobnego testu w ramach pracy nie było, niestety, możliwe. Zastosowano więc symulację przybliżającą warunki rzeczywistego testu. Uznajemy, że oryginalny zestaw usług każdego użytkownika ze zbioru testowego obejmuje usługi, które użytkownik już ma aktywne, lub które byłby skłonny aktywować w wyniku kampanii reklamowej (zbiór A). Dla każdego klienta usuwano losowo część usług, z których korzystał (każda z usług była usuwana z 50% prawdopodobieństwem). Ten nowy zbiór (zbiór B) jest traktowany jako zbiór usług, które użytkownik ma aktywne już przed kampanią reklamową, nie należy mu ich więc oferować. Następnie, obliczano na podstawie sieci Bayesa prawdopodobieństwa, że dany klient będzie miał aktywowaną każdą z usług, z których nie korzystał (nie były elementami zbioru B). Usługa o największym prawdopodobieństwie była wybierana jako oferta dla klienta. Dla porównania wybierano też losowo jedną z ofert, której klient nie miał (spoza zbioru B). Oferta została uznana za przyjętą, jeśli znajdowała się w zbiorze A danego klienta (tzn. jeśli była aktywna u klienta w zbiorze testowym przed jej usunięciem). Na zbiorze testowym obliczono następnie procent ofert, które zostały przyjęte znajdowały się w zbiorze A danego klineta. Wyniki przedstawione są w tabeli poniżej: procent ofert na podstawie sieci Bayesa 22.84% procent przyjętych ofert losowych 12.83% Widać więc, że sieć Bayesa zapewniła prawie dwukrotnie wyższą skuteczność niż składanie losowych ofert. Należy też zaznaczyć, że w zbiorze testowym 53.59% klientów nie miało aktywnej żadnej z ofert, co w naszym teście odpowiada odrzuceniu przez klienta każdej możliwej oferty. Ponieważ ponad 50% ofert musiało się zakończyć odrzuceniem, skuteczność ponad 22% należy uznać za bardzo wysoką. 2.5 Cross-selling oparty na klasyfikatorach W niniejszym punkcie przedstawione zostanie drugie podejście do cross-sellingu oparte na klasyfikatorach. Dla każdej z usług, które chcemy promować, budowany jest model klasyfikacyjny, który szacuje prawdopodobieństwo, że dany klient posiada tą usługę. Jak już pisano wyżej, nie jest to optymalne rozwiązanie problemu. Potencjalni nowi klienci mogą być zupełnie niepodobni do klientów już korzystających z usługi. Lepszym rozwiązaniem byłoby wysłanie oferty pilotowej i budowa klasyfikatora na podstawie jej 19