Anteprima
Vedrai una selezione di 10 pagine su 83
Business Intelligence Pag. 1 Business Intelligence Pag. 2
Anteprima di 10 pagg. su 83.
Scarica il documento per vederlo tutto.
Business Intelligence Pag. 6
Anteprima di 10 pagg. su 83.
Scarica il documento per vederlo tutto.
Business Intelligence Pag. 11
Anteprima di 10 pagg. su 83.
Scarica il documento per vederlo tutto.
Business Intelligence Pag. 16
Anteprima di 10 pagg. su 83.
Scarica il documento per vederlo tutto.
Business Intelligence Pag. 21
Anteprima di 10 pagg. su 83.
Scarica il documento per vederlo tutto.
Business Intelligence Pag. 26
Anteprima di 10 pagg. su 83.
Scarica il documento per vederlo tutto.
Business Intelligence Pag. 31
Anteprima di 10 pagg. su 83.
Scarica il documento per vederlo tutto.
Business Intelligence Pag. 36
Anteprima di 10 pagg. su 83.
Scarica il documento per vederlo tutto.
Business Intelligence Pag. 41
1 su 83
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

CUMULATIVE GAIN

Partiamo dall’assunzione di classificazione binaria, che abbia come oggetto i clienti di una campagna

promozionale di marketing, assocerò 1 ad i clienti a cui deve essere inviato il messaggio pubblicitario

e 0 a quelli a cui non deve essere inviato.

L’azienda ha un totale di 1mln di clienti (dimensione del database) e rifacendosi sui risultati di una

campagna precedente la proporzione di clienti che si aspetta mediamente possa rispondere

positivamente accettando l’offerta sarà il 2%.

Quindi i messaggi della campagna pubblicitaria devono essere inviati ad un campione sul totale dei

clienti quando porto avanti una campagna pubblicitaria devo andare a selezionare una quota

parte di clienti, infatti se so che solo il 2% del totale (1 mln di clienti) risponderà positivamente alla

campagna, l’opzione migliore sarà individuare quel 2% di clienti ed inviare solo a loro l’offerta invece

che inviare il messaggio pubblicitario a tutto il database dei clienti. Così facendo ridurrò il numero di

comunicazioni/mail inviate agli utenti che non sono predisposti ad accettare l’offerta.

L’obiettivo che posso dunque pormi è individuare quel 2% di utenti senza spammare la mail di

offerta a tutto il milione affrontando dunque costi più elevati.

Se non utilizzo un modello di classificazione dovrò inviare l’offerta ad un milione di utenti ottenendo

solo il 2% di risposte...se invece faccio una classificazione (ossia cerco di individuare tra il mln di

clienti chi ha il valore 1 e chi ha il valore 0, ossia, chi accetta l’offerta e chi no) cerco individuare

direttamente quel 2% (ossia quelli che identifico come 1).

Dunque, cosa posso fare?

Prendo atto delle osservazioni passate, scelgo un modello (algoritmo), lo mando in run e ottengo il

risultato in termini di lista di clienti che identifico come 1 o 0. Ossia, ho una lista di clienti che

prevedo accetteranno l’offerta.

Una volta ottenuti i risultati posso tracciare una curva di questo tipo:

-sulle y avrò il tasso percentuale di risposte positive

-sulle x avrò i percentile dei clienti

Come traccio la curva?

Assumiamo di essere arrivati ad una lista di clienti che prevedo possano accettare l’offerta, vado a

classificare tali clienti dal primo (è quello con la più alta probabilità di accettare l’offerta, l’algoritmo

prevede che tale cliente la accetterà al 100%) all’ultimo (è quello che certamente non accetterà

l’offerta, 0% di probabilità).

Il risultato di una classificazione è dunque una lista di utenti, per ogni utente avrò “prevedo che

accetta” o “prevedo che non accetta” con in molti casi una probabilità associata. Quello che posso

fare con i risultati è metterli in ordine decrescente da quello con la probabilità più alta di accettare

l’offerta a quello con la probabilità più bassa.

Dopo aver strutturato questa classifica posso prendere il primo 10% di clienti (il primo percentile) e

vedere quanti di questi accettano l’offerta. Inizio dunque a prendere il primo 10% di clienti che

l’algoritmo ha predetto avere la maggiore probabilità di accettare l’offerta e vado a misurare quanti

di questi accetteranno l’offerta.

Ad esempio, posso dire che del primo 10% di clienti avrò un tasso di risposte positive vicino al 20%.

In altre parole, dopo aver messo in ordine decrescente i clienti, prendo il primo 10% della lista (che

saranno quelli che più probabilmente accetteranno)a questo 10% lancio l’offerta e vedo quanti

rispondono (rispondono quasi il 30%). Proseguo poi prendendo il successivo 10% di clienti, noto che

rispondono un’altra percentuale di clienti (che cumulata con le precedenti risposte positive mi fa

arrivare al quasi 50%)questo sino ad arrivare al campione completo 100% (ossia il numero

complessivo di clienti nel dataset scelto come 2% del milione) del quale misuro il rate di risposte

positive.

Ciascun punto mi dice qual è il tasso di risposte positive associato ad una specifica % di clienti.

L’aspettativa è di ottenere una il più lontana possibile dalla diagonale che collega A e B. La diagonale

è una classificazione casuale che associa a ciascun percentile lo stesso tasso di risposte

positiveossia è un caso in cui non applico il modello di classificazione e dico in maniera casuale se i

clienti di quel percentile risponderanno o meno.

Più la curva è lontana dalla diagonale, migliori sono i miei risultati e dunque il mio modello (la

diagonale rappresenta il lancio della monetina con la quale randomicamente assegno ad un utente il

valore 1 o il valore 0). Dunque, più la curva è lontana dalla diagonale più il classificatore è stato bravo

nel trovare direttamente il mio 2% di clienti, tale curva è un metodo di valutazione ex-post

dell’algoritmo (ossia è una valutazione che posso fare dopo che ho lanciato l’algoritmo ed ho

ottenuto dei risultati). Tanto più è alta dunque la % in ordinata associata al percentile tanto più è

bravo il classificatore, poiché significa che i primi nella lista che ha messo il classificatore (ossia i

primi percentili), sono poi quelli che veramente hanno acquistato portandomi ad un’impennata della

curva. Questo perché i percentili li ottengo mettendo i clienti in ordine di probabilità di acquisto

calcolata utilizzando i classificatori (ossia metto prima tutti quelli classificati con 1 e poi quelli con 0,

a loro volta quelli con 1 avranno una score function associatametterò dunque ai primi posti quelli

che acquistano al 100% ecco perché i primi percentili mi danno un’impennata della curva).

Il fatto di aver messo in ordine decrescente in base alla percentuale di risposte positive è il motivo

per cui la curva è molto inclinata all’inizio e poi si appiattisce, infatti il primo percentile conterrà i

clienti con la probabilità maggiore di accettaredunque se voglio beccare l’80% (del 2% di risposte

positive che mi attendo) di risposte positive mi basterà contattare soltanto il primo 40% della mia

lista di clienti (anziché contattarne 1mln). È inutile a questo punto contattare il restane 60% dei

clienti per incrementare soltanto del 20% il numero di risposte positive.

Così facendo riduco il numero di mail che devo inviare per ricevere il mio 2% atteso di risposte

positive (n.b. nel grafico il 100% di risposte positive in ordinata corrisponde al 2% di un milione).

n.b. quando parlo di costo del contatto mi riferisco sia al costo monetario (che nel caso della mail è

nullo, ma per altre forme pubblicitarie non è così) sia al costo intangibile. Avrò un costo intangibile

nel momento in cui invio la mail al cliente sbagliato e quest’ultimo si cancellain media il costo per

riacquisire/convincere un cliente che si è cancellato dal servizio (ha abbandonato la nostra azienda) è

6 volte quello iniziale (per convincerlo la prima volta).

LIFT CURVE

È un’altra opzione, in cui per ciascun valore sull’asse orizzontale (in cui ho sempre i percentili) avrò il

rapporto tra la proporzione di risposte positive ottenute dallo score generato dal classificatore e la

proporzione di risposte positive ottenute da una classificazione randomica.

È dunque, un’altra rappresentazione della Cumulative gain Chart.

Come la costruisco?

Assumiamo di far partire l’algoritmo (classifier), avrò come mostrato in tabella su 100000 clienti

contattati un numero di risposte positive pari a 5800questa è dunque la prima associazione tra

numero di clienti contattati e numero di risposte positive usando il classificatore. Non ho fatto altro

che contattare il primo 10% della mia lista dei clienti messi in ordine decrescente. Così proseguendo

con il secondo percentile se contatto 200000 clienti le risposte positive saranno 10500 (quelle nette

del secondo percentile di fatto sono 10500-5800 = 4700, come mi aspettavo sono meno di quelle del

percentile precedente).

N.B. Quelle in tabella sono dunque le performance del classificatore.

Adesso vado a rapportare tali performance con quelle randomiche, quindi se so che il tasso di

risposta globale atteso è del 2% e contatto 100000 clienti, le risposte positive senza il classifier

saranno proprio 100000*0,2.

Dunque, ciascun punto sarà costruito usando tale equazione: (numero di risposte ottenute usando il

classificatore/numero di clienti contattati con il classificatore) / (numero di risposte positive che mi

aspetto senza l’utilizzo del classificatore/numero di contatti che ho senza il classificatore).

Più elevato è il rapporto tra questi due valori (valore di “Lift”) migliore è il classificatore.

Quello che faccio è contattare 100000 persone dalla mia lista ordinata e vedo che con il classificatore

hanno risposto positivamente 5800. Se invece ne contatto 100000 casualmente, mi aspetto che mi

rispondano il 2% di 100000Faccio il rapporto fra i due ottengo il valore di Lift da piazzare sul

grafico. Così facendo continuo con gli altri percentili sino a 1000000.

Dunque, nello scegliere l’opzione migliore, andrò a valutare come tale la curva (Cumulative Gain) che

ha l’aria maggiore sottesa alla diagonale, ossia la curva migliore è la più alta.

In alcuni casi può però accadere che il metodo che da origine ad una curva con un elevata aria

sottesa può essere associata ad un basso valore di lift ad un fissato valore di “percentile”. Anche se

un modello da origine ad una Cumulative Gain Chart, migliore di un altro, quando vado a

rappresentare le curve di Lift per i due modelli, può capitare che il modello “peggiore” abbia un

valore di lift più alto associato ad uno specifico percentile fissato. In questo caso è proprio quello che

mi da un valore di lift più alto (per quel fissato valore di percentile) che devo andare a scegliere.

In altre parole, per quei due stessi classificatori, in esame se mi vado a calcolare le curve di lift potrei

avere che ad un dato percentile (fissato valore di percentuale di contatti) il valore di lift della curva

peggiore risulta maggiore del valore di lift della curva migliore. In quel caso è meglio scegliere al quel

fissato valore di lift il metodo che mi da il valore maggiore. Questo può succedere, perché in alcuni

casi ho un vincolo, per esempio la percentuale di contatti (se mi dicono che posso contattare solo il

primo 40% di clienti) in questo caso ho un vincolo in input e vado a vedere la lift curve per

scegliere il modello con il miglior valore di lift a quel percentile di clienti oltre la quale non posso

andare. Cioè prendo le curve di lift dei

Dettagli
Publisher
A.A. 2018-2019
83 pagine
SSD Scienze economiche e statistiche SECS-P/08 Economia e gestione delle imprese

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher ValCan10 di informazioni apprese con la frequenza delle lezioni di Business Intelligence e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Politecnico di Bari o del prof Paniello Umberto.