• Non ci sono risultati.

3.3 Estrazione dei modelli di data mining

Per concludere la fase di progettazione del data mining è opportuno compiere uno studio di fattibilità. In particolare, utilizzando lo

strumento Clementine, distribuito da SPSS, sono stati costruiti dei modelli, con lo scopo di realizzare dei prototipi per l’analisi degli attributi del database, che in futuro saranno utilizzati nella

sperimentazione vera e propria. I modelli in questione rappresentano graficamente un flusso di informazioni, da una sorgente dei dati (un database) a un output (una tabella, un database, uno strumento di analisi…), passando per diversi nodi, che rappresentano operazioni fatte sul flusso, dalle semplici select SQL alle operazioni di tipizzazione o di aggregazione.

cliente. Lo scenario originario ci offre, per quanto riguarda la granularità degli scontrini, una finestra temporale giornaliera, dal giorno 1/10/2005 al giorno 12/09/2006. Disponiamo inoltre di tutte le tabelle del database Coop. Durante il percorso che porterà all’ottenere tutti gli attributi che caratterizzano il cliente, passeremo

inevitabilmente attraverso modelli intermedi di supporto e utilità. Di seguito saranno riportati alcuni schemi che hanno contribuito

significativamente allo studio della fattibilità e alla preparazione dei dati.

Il primo schema è dettScontrini, come suggerisce il nome si tratta di un’analisi in dettaglio degli scontrini emessi in un certo periodo di tempo.

Figura 8 : modelli clementine - dettaglio scontrini

In figura mostriamo un esempio semplificato del modello: a sinistra, i nodi tondi rappresentano i nodi di input, mentre la tabella “Frequenze”, evidenziata sulla destra, rappresenta l’output. Per maggiori dettagli, in appendice sarà riportata una descrizione completa del modello.

La tabella delle testate degli scontrini fornisce la correlazione tra carta (e quindi cliente) e scontrino; la tabella dei dettagli degli scontrini fornisce le informazioni riguardo il dettaglio dello scontrino, cioè cosa ha acquistato e in quali condizioni di offerta. Infine la tabella delle

offerte speciali (Righe_OS) fornisce le informazioni dettagliate riguardo la promozione attiva al momento della vendita e mi permette di

calcolare un attributo derivato, Valore, che mi fornisce una "pesatura" della spesa effettuata e quindi della frequenza. Da un punto di vista

puramente tecnico, le tabelle sono tutte sottoposte ad una “filter”, un vero e proprio filtro, che permette di eliminare dal contesto gli attributi inutilizzati, mentre, nei casi in cui un attributo che verrà utilizzato per aggregazioni presenta valori nulli, è necessaria una selezione che elimini appunto questi valori, che possono essere fonte di problemi in fase di elaborazione. Inoltre è presente un ulteriore select che funge da eliminatore degli outlier così che valori poco interessanti e ingannevoli possano essere eliminati dall'analisi.

Negli scontrini il campo che identifica l’offerta in corso al momento dell’acquisto di un singolo articolo può avere valore ”null”: in tal caso tale valore verrà sostituito con un valore convenzionale che non

disturbi l'elaborazione. Infine con due diversi processi di aggregazione vengono create due tabelle che contengono le informazioni che ci

servono. La prima è un’”aggregazione” su data,scontrino e codice della carta, e rappresenta una singola spesa effettuata (identificata appunto dalla terna di attributi citati) e visualizza l'importo della spesa e la

frequenza relativa associata a quella spesa (da 0.70 a 1).

La seconda aggregazione è sulle carte, cioè per ogni cliente, per un dato periodo di tempo, viene fatta una valutazione globale, che comprende numero di spese fatte (frequenza) e frequenza relativa, spesa totale e spesa media.

Il secondo schema, dettSacchetti, analizza invece i sacchetti, ossia pone attenzione sull’ acquisto dei prodotti appartenenti alla categoria del "fresco".

Figura 9 : modelli clementine - dettaglio sacchetti

Rispetto il precedente schema, abbiamo utilizzato la tabella dei dettagli dei sacchetti del fresco, e le tabelle degli articoli e della suddivisione degli articoli (in settori, reparti, categorie e sottocategorie), che ci

servono per risalire a partire dal codice articolo presente sullo scontrino a che prodotto si riferisce. A noi interessano quelli che fanno parte del settore del fresco, e più in particolare distinguiamo tra pane (e simili), pesce, carne e ortofrutta.

Elaboriamo due tabelle differenti, che ci consentono di visualizzare al meglio le informazioni di interesse.

La prima, denominata "spese x settori", fornisce per ogni cliente in un periodo di tempo indicato quanto ha speso nei reparti del fresco

(attributo Spesa Totale) e in particolare quanto nei vari reparti.

La seconda, di rilevante importanza, è la tabella "frequenza x settori", che ci consente di analizzare l'andamento di ogni cliente, in termini di spese effettuate nei reparti del fresco, e in particolare in ciascuno di

essi. Ci consente quindi di analizzare, come richiesto da Coop, gli

acquisti (in numero, non in valore) di ogni cliente in ciascun reparto del fresco che intendiamo analizzare.

Un terzo modello, IndicatoriCliente, è in grado di calcolare, per ogni cliente, gli attributi a-temporali che lo definiscono.

Figura 10 : modelli clementine – indici “statici” per cliente

Si tratta di parametri che mi definiscono quanto il socio in questione utilizzi il sistema Coop, attraverso lo studio del periodo di tempo da quando è socio e sfruttando le informazioni relative all'attivazione o meno dello strumento del salvatempo o altro ancora; gli attributi ricavati rappresentano l'affidabilità, cosi come descritta nel paragrafo relativo agli indici, la data dell'ultimo movimento effettuato all'interno

di Coop, e la vita del socio, espressa in mesi e anni. Il modello in

questione è rappresentato da una “join” a tre livelli, ossia un unione di tabelle, che combina le tre tabelle di interesse della base di dati ,e, nello specifico, si tratta della tabella dei clienti-soci, quella delle carte e quella della attivazioni del salvatempo. La tabella risultante ci fornisce in conclusione, per ogni cliente (in realtà per ogni carta, ma ogni carta è associata a un solo cliente), i parametri di interesse.

Successivamente sono stati costruiti schemi per simulare la creazione di una tabella contenente tutti gli attributi d’interesse per singolo socio.

Bisogna quindi anche generare i coefficienti di regressione lineare che ci interessano: per fare ciò, una parte del modello si occupa, partendo dal dettaglio settimanale delle spese fatte da ciascun cliente, di

calcolare il valore del coefficiente per quanto riguarda la serie delle frequenze e la serie delle frequenze limitate ai soli reparti del fresco.

La formula in questione è:

dove m è il coefficiente che ci interessa calcolare.

Per quanto riguarda gli altri attributi, utilizzeremo alcuni di quelli introdotti nei precedenti schemi. Il risultato finale sarà la creazione di una Tabella Finale.

Documenti correlati