Analisi esplorativa
Caso Studio Churn
Obiettivi

Utilizzare Rialto per l’analisi di un caso
studio: Churn
Caso studio: Churn



E’ un dataset disponibile presso l’UCI
Repository
Contiene 20 attributi e 3333 tuple
Le informazioni sono relative al
fenomeno dell’attrition di una
compagnia telefonica
Attrition?

Customer attrition (o customer churn
nel caso di compagnie telefoniche)
indica il passaggio di clienti da una
azienda ad una concorrente
Dettagli (1/3)







State: categorico, codici relativi ai 50 stati USA più
quello del distretto della Columbia
Account length: integer, tempo di vita totale
dell’accunt
Area code: categorico
Phone number: essenzialmente si comporta alla
stregua di un ID
International Plan: binario dicotomico, yes o no
VoiceMail Plan: binario dicotomico, yes o no
Number of voice mail messages: integer
Dettagli (2/3)






Total day minutes: continuo, minuti usati dal cliente
durante il giorno
Total day calls: integer
Total day charge: continuo, addebito di una chiamata
durante il giorno
Total evening minutes: continuo, minuti usati dal
cliente durante la sera
Total evening calls: integer
Total evening charge: continuo, addebito di una
chiamata durante la sera
Dettagli (3/3)







Total night minutes: continuo, minuti usati dal cliente
durante la notte
Total night calls: integer
Total night charge: continuo, addebito di una
chiamata durante la notte
Total international minutes: minuti usati dal cliente
per fare chiamate internazionali
Total international calls: integer
Total international charge: continuo, probabilmente
basato su due precedenti variabili
Number of calls to customer service: integer
Correlazione tra variabili (1/2)



Il dataset contiene 3 variabili
potenzialmente correlate: minutes,
calls, and charge.
E’ molto probabile che la variabile
charge possa essere funzione di
minutes e call.
Per valutare possibili correlazioni
possiamo utilizzare lo scatter plot.
Correlazione tra variabili (2/2)

Esempio: day charge e day mins
Analisi Esplorativa degli
Attributi Categorici

In questa fase è interessante indagare
come questi attributi si distribuiscono
rispetto alla variabile obiettivo
Analisi Esplorativa degli
Attributi Categorici

International Plan:
InternationalPlan=yes
InternationalPlan=no
Churn? Count
Perc
Churn? Count
Perc
False
186
5.58
False
2664
79.93
True
137
4.11
True
346
10.38
Analisi Esplorativa degli
Attributi Categorici


In figura è mostrato un confronto tra la
percentuale di churners (rosso) e
nonchurners (blu) tra i clienti che avevano
scelto il piano internazionale (sì, 9,69% dei
clienti) o no (no, 90,31% dei clienti) .
Il grafico sembra indicare che una buona
percentuale di coloro i quali hanno un piano
internazionale sono “churning”, ma è difficile
esserne sicuri.
Cross Tabulation su
International Plan

Nella tabella è mostrato il risultato della
cross-tabulazione.
International Plan
Churn
No
Yes
False.
2664
186
True.
346
137
Analisi (1/2)



Si noti che la somma dei valori contenuti nella prima
colonna coincide col numero totale di coloro i quali
non erano titolari del piano internazionale, 3010
(2664 + 346) ; viceversa dicasi per la seconda
colonna.
La prima riga nella tabella mostra il numero di coloro
i quali non abbandonano la loro compagnia, mentre
la seconda riga mostra viceversa i rinunciatari.
Il dataset contiene un totale di 483 (346 + 137)
churners rispetto ai 2850 (2664 + 186) nonchurners; ossia il 14,5% (483 / (483 + 2.850)) dei
clienti totali sono churners.
Analisi (2/2)



Si noti che il 42,4% (137 / (137 + 186)) di coloro i quali che
sono titolari di un piano internazionale sono anche churned,
rispetto al solo 11.5% (346 / (346 + 2.664)) di coloro che non
ne sono titolari.
I clienti che hanno selezionato il piano internazionale e che
abbandonano la loro compagnia sono percentualmente il triplo
rispetto a quelli che non lo hanno selezionato.
Questa analisi sul piano internazionale indica che:


Forse dovremmo indagare sulle cause piano che inducono i clienti
con un piano internazionale a lasciare la loro compagnia!
Quello che ci aspettiamo è che utilizzando un algoritmo di data
mining per prevedere l’abbandono del servizio, il modello utilizzerà
la presenza o meno del piano internazionale nel profilo del cliente
per prevedere l’abbandono.
Analisi Esplorativa degli
Attributi Categorici

VoiceMail Plan
VoiceMail=yes
VoiceMail=no
Churn? Count
Perc
Churn? Count
Perc
False
842
25.26
False
2008
60.25
True
80
2.4
True
403
12.09
Cross Tabulation su VoiceMail
Plan

Nella tabella è mostrato il risultato della
cross-tabulazione.
VoiceMail Plan
Churn
No
Yes
False.
2008
842
True.
403
80
Analisi (1/2)



Prima di tutto, possiamo notare che 922 (842 + 80)
clienti hanno il piano VoiceMail, mentre il 2411 (2008
+ 403) non lo hanno.
Possiamo quindi individuare che il 16.7% (403/2411)
di coloro i quali non possiedono il piano VoiceMail
sono churners, rispetto allo 8,7% (80/922) dei clienti
che hanno il piano VoiceMail.
In prima istanza possiamo dire che i churners senza
la tariffa VoiceMail sono percentualmente il doppio
rispetto ai churners con questo piano.
Analisi (2/2)

Questa analisi del piano VoiceMail ha
indicato che:


Forse dovremmo diffondere maggiormente
questa tariffa al fine di migliorare la
fidelizzazione.
Ci aspettiamo che un qualsiasi algoritmo di
data mining, per predire churn, tenga in
considerazione l’attributo che indica la
presenza del piano tariffario VoiceMail
Dati Anomali


La prima situazione anomala riguarda l’area
code : questo campo contiene solo attributi
numerici, ma viene trattato come nominale.
Il motivo di tale scelta dipende dal fatto che
ognuno dei valori (408, 415 e 510)
rappresenta una corrispondente area
geografica.
Dati Anomali 1/2


I codici corrispondono ad aree geografiche
presenti in California
Problema:

La cross tabulation con state ci indica che
quei codici sono sparsi su tutti gli stati
membri degli USA


E’ possibile che un esperto di dominio sia in grado di
spiegare questa situazione o che effettivamente che il
campo contenga dati errati.
In prima analisi i due attributi per le ragioni
descritte saranno omessi
Dati Anomali 2/2
Analisi Esplorativa degli
Attributi Numerici

Per l’analisi ovvero la valutazione degli
attributi numerici saranno utilizzate
alcune misure come:

Il massimo, il minimo, la media, la
deviazione standard, e la mediana.
Analisi Esplorativa degli
Attributi Numerici
Massimo
Minimo
Media
Dev. St.
Mediana
Account Length
243
1
101,0648
39,81613
101
VMail Message
51
0
8,09901
13,68631
0
Day Mins
350,8
0
179,7751
54,45922
179,4
Day Calls
165
0
100,4356
20,06607
101
Day Charge
59,64
0
30,56231
9,258045
30,5
Eve Mins
363,7
0
200,9803
50,70624
201,4
Eve Calls
170
0
100,1143
19,91964
100
Eve Charge
30,91
0
17,08354
4,310021
17,12
Night Mins
395
23,2
200,872
50,56626
201,2
Night Calls
175
33
100,1077
19,56567
100
17,77
1,04
9,039325
2,275531
9,05
Intl Mins
20
0
10,23729
2,791421
10,3
Intl Calls
20
0
4,479448
2,460845
4
5,4
0
2,764581
0,75366
2,78
9
0
1,562856
1,315294
1
Night Charge
Intl Charge
CustServ Calls
Analisi Esplorativa degli
Attributi Numerici



In prima istanza possiamo osservare che il
campo Account Length ha come valore
minimo 1, come valore massimo 243, mentre
media e mediana assumono valori all’incirca
uguali (101)
Tale valori ci indicano una simmetria nei dati
Le stesse osservazioni si possono effettuare
su diversi campi, tra cui tutti i minutes,
charge, e call.
Analisi Esplorativa degli
Attributi Numerici

Gli altri campi voice mail messages e
customer service calls non sembrano
mostrare alcuna simmetria. In particolare:


La mediana per voice mail messages è zero, ciò
sta ad indicare che almeno metà dei cliente non
hanno messaggi voicemail.
Questo risultato, naturalmente, indica che
meno della metà dei clienti scelgono il piano
VoiceMail, come visto sopra.
Analisi Esplorativa degli
Attributi Numerici

La media di chiamate al servizio clienti
(1.563) è superiore alla mediana (1.0),
mostrando una certa simmetria destra,
come anche indicato dal numero massimo
di chiamate il servizio clienti ossia 9.
Analisi Esplorativa degli
Attributi Numerici
Analisi Esplorativa degli
Attributi Numerici
Analisi Esplorativa degli
Attributi Numerici


I clienti che hanno chiamato il servizio clienti meno di tre volte
hanno un tasso di abbandono marcatamente inferiore a quello
dei clienti che hanno chiamato il servizio clienti di quattro o più
volte.
Questo analisi sulle chiamate al servizio clienti ha indicato che:


Dobbiamo monitorare attentamente il numero di chiamate al
servizio clienti per ciascun cliente. Alla terza chiamata, dovrebbero
essere offerti forti incentivi per conservare la fidelizzazione dei
clienti.
Ci dobbiamo aspettare che qualunque algoritmo di data mining che
venga usato per prevedere se il cliente è churn, probabilmente
utilizzerà il numero di chiamate al servizio clienti per effettuare la
predizione.
Riassunto dei risultati
dell’analisi condotta
Account length
Nessuna ovvia relazione con churn, ma mantenuto
Area code
Anomalo. Omesso dal modello.
Phone number
Si comporta come un ID. Omesso dal modello.
International Plan
Predittivo di Churn. Mantenuto.
VoiceMail Plan
Predittivo di Churn. Mantenuto.
Number of voice mail messages
Nessuna ovvia relazione con churn, ma mantenuto
Total day minutes
Predittivo di Churn. Mantenuto.
Total day calls
Nessuna ovvia relazione con churn, ma mantenuto
Total day charge
Funzione di minutes. Omesso dal modello.
Total evening minutes
Predittivo di Churn. Mantenuto.
Total evening calls
Nessuna ovvia relazione con churn, ma mantenuto
Total evening charge
Funzione di minutes. Omesso dal modello.
Total night minutes
Nessuna ovvia relazione con churn, ma mantenuto
Total night calls
Nessuna ovvia relazione con churn, ma mantenuto
Total night charge
Funzione di minutes. Omesso dal modello.
Total international minutes
Nessuna ovvia relazione con churn, ma mantenuto.
Total international calls
Nessuna ovvia relazione con churn, ma mantenuto
Total international charge
Funzione di minutes. Omesso dal modello.
Customer service calls
Predittivo di Churn. Mantenuto.
Binning

Il binning è un insieme di tecniche volte alla
categorizzazione dei dati:

Discretizzazione di dati numerici in classi



Esempio 1: possiamo suddividere l’attributo day minutes in tre
classi: low, medium, high
Esempio 2: possiamo suddividere le età di una popolazione
nelle classi: bambino, adulto, anziano
Raggruppamento di dati categorici in classi

Esempio: possiamo decidere di raggruppare i valori
dell’attributo state in macro regioni, e di sostiuire quest’ultimo
con un nuovo attributo che chimeremo region. Quindi i valori
“California”, “Oregon”, “Washington”, “Alaska” e “Hawai”
verranno convertiti nel singolo valore “Pacific”, ad indicare che
per la nostra analisi serve solo sapere la regione territoriale di
interesse e non il singolo stato di appartenenza (stiamo
aumentando la granularità)
Binning


Il binning è un insieme di tecniche a cavallo tra
l’analisi ed il pre – processamento dei dati.
Esistono tante strategie per il binning di dati
numerici:



Creare classi di uguale estensione, così come abbiamo visto
per gli istogrammi di uguale estensione (equal-width
histograms).
Provare a creare classi che contengano lo stesso numero di
tuple.
Provare a partizionare i dati in funzione della variabile target
di tutta l’analisi di mining.

In questo modo cerchiamo di identificare comportamenti
comuni all’interno dei dati che riferiscono ad uno stesso valore
di attributo target
Binning sull’esempio proposto


Come presentato prima i clienti, che hanno effettuato
meno di 4 chiamate al servizio clienti, hanno un tasso
di abbandono più basso di quelli che hanno chiamato
il servizio clienti 4 o più volte.
Potremmo decidere di raggruppare il valore di
customer service calls in due classi: low e high.
Binning sull’esempio proposto

Questa figura mostra che il tasso di abbandono degli
utenti con un basso numero di chiamate al servizio utenti
è di 11.25%, mentre il tasso di abbandono degli altri
utenti è del 51.69%, quasi 5 volte più grande.
Binning con Rialto

L’operazione proposta può essere
eseguita in Rialto utilizzando il filtro
Custom Discretizer
Suddivisione del dataset

Utilizzando il filtro Splitter dividiamo il
dataset iniziale in 2 sotto dataset


Il primo conterrà il 66% delle tuple e sarà
utilizzato in fase di training del modello
Il secondo che conterrà le rimanenti tuple
sarà utilizzato per la fase di validazione
Creazione del modello

La scelta del modello da utilizzare è
ricaduta sul RuleLearner, un
classificatore a regole disponibile in
Rialto
Motivazioni

Il motivazioni della scelta di tale
algoritmo sono molteplici:


Il RuleLerner è particolarmente efficace
nell’identificare classi di minoranza;
Il modello generato è facilmente
comprensibile.
Il modello
Risultati (1/2)

Utilizzando il classificatore a regole
otteniamo
Risultati (2/2)
Class
TP Rate
FP Rate
Precision
Recall
F-Measure
False
0.983
0.275
0.954
0.983
0.968
True
0.725
0.017
0.882
0.725
0.796
Matrice di confusione
classified as
False.
True.
False
1396
24
True
68
179