• Non ci sono risultati.

IL CASO DI STUDIO

INFORMATICA CLOUD

Informatica Cloud è una piattaforma completa per l'integrazione del cloud e la gestione dei dati. Per lo svolgimento di queste attività, Informatica Cloud necessita di un agente sicuro che:

 si collega a dati on-premise18 e cloud;

 esegue le attività di integrazione configurate in Informatica-Cloud;

 elabora i dati aziendali localmente e in sicurezza in quanto i server di Informatica memorizzano solo i metadati.

Per poter iniziare il nostro lavoro, è stato in primo luogo necessario installare l'agente e, in seguito, configurare le connessioni per lavorare con applicazioni, database e file.

Una volta configurata la connessione ODBC19 alle tabelle del database relazionale DB220,

e la connessione alla macchina locale, è stato possibile svolgere la sincronizzazione dei dati attraverso una procedura guidata (Figura 4-1).

I primi tre passi della procedura guidata, oltre a consentire la scelta del nome e la defini- zione dell'operazione richiesta (1 Definition), permettono di scegliere la connessione alla tabella da scaricare (2 Source) e l'indicazione del file di destinazione (3 Target).

Attraverso i due passi successivi è stato possibile impostare il filtro che ci permettesse di scaricare solo i dati riferiti all'ultimo trimestre 2017 (4 Data Filter) e mappare i campi delle

18 On-premise: installazione e esecuzione del software direttamente su macchina locale.

19 Open DataBase Connectivity (ODBC) è un driver o connettore attraverso un'API standard per la connes-

sione dal client al DBMS.

46

tabelle con quelli del file di destinazione (5 Field Mapping). Terminata la convalida della mappatura, si è proceduto con l'esecuzione e estrazione della tabella.

Per lo svolgimento di questo progetto le tabelle son state convertite in formato CSV e, successivamente, scaricate in locale.

Figura 4-1 Panoramica di Informatica Cloud.

KNIME

Per la fase di preprocessing, che comprende la pulizia del file log e l'individuazione delle sessioni, per le analisi di clustering, e per la ricerca di regole di associazione e sequenze frequenti è stato utilizzato Knime.

Knime è una piattaforma open source di analisi dati, reportistica e integrazione, con al suo intento anche componenti di machine learning e Data mining.

La sua interfaccia grafica permette di assemblare i nodi per la pre-processazione dei dati (ETL: Extraction, Transformation, Loading), per la modellazione, l'analisi dei dati e la vi- sualizzazione21.

47

4.2 Preparazione dati

La fase di preparazione dei dati ha lo scopo di rendere i dati idonei all'analisi. Si tratta di una fase molto importante in quanto da questa dipendono i risultati dei passi successivi.

4.2.1 Tabella Access_Log

Durante questa fase iniziale ci siamo concentrati sulla pulizia della tabella contenente le richieste registrate nel file log. Il primo passo ha richiesto l'eliminazione di alcune righe contenenti informazioni non necessarie ai fini dell'analisi.

Una volta terminata la pulizia, i passi successivi hanno riguardato l'identificazione dei diversi utenti che hanno visitato il sito e delle sessioni.

Cleaning

Con l'utilizzo del nodo Row Filter presente nel software Knime, sono state escluse tutte le righe considerate non rilevanti per la nostra analisi. In particolare, sono state eliminate le righe riguardanti le richieste effettuate da robot, le righe che riguardavano richieste di file immagine e le richieste con status HTTP corrispondente a un errore22.

Inoltre, essendo interessati solo alle richieste degli utenti riferite alla normale naviga- zione, sono state eliminate le richieste riguardanti l'amministrazione del sito.

User identification

Poiché il sito web aziendale permette la navigazione all'interno delle pagine più rilevanti soltanto agli utenti autenticati, abbiamo eliminato le richieste che nel campo RE- MOTE_USER23 contenevano il valore “-“.

Questa operazione ha eliminato circa il 33% delle righe, lasciando comunque un numero di richieste significativo ai fini della nostra analisi. Il numero di diversi utenti autenticati che

22 Sono state eliminate le richieste con status maggiore o uguale a 400.

48

hanno visitato il sito durante il periodo di riferimento è pari a 16.818, ma solo 16.274 utenti sono stati analizzati.

Session identification

L'ultimo passo della fase di pulizia riguarda l'identificazione delle sessioni. Per fare ciò abbiamo utilizzato alcuni nodi presenti all'interno del software Knime. Nel dettaglio, ab- biamo prima utilizzato il nodo Sorter per ordinare i dati in base al nome utente e alla data, e, successivamente, abbiamo utilizzato il nodo Date&Time Difference per calcolare la diffe- renza tra le date24 . Alla fine di questo passaggio, i nostri dati si presentavano arricchiti di una nuova tabella contenente la differenza tra le date calcolata in secondi.

La nuova tabella, grazie all'utilizzo del nodo Rule Engine, è stata sfruttata per calcolare quali richieste si riferivano a una nuova sessione25. Il nodo in questione ha permesso di at- tribuire il valore 1 alle richieste corrispondenti all'inizio di una nuova sessione e il valore 0 alle richieste che si riferivano a sessioni in corso.

Questa informazione è stata utilizzata per attribuire ad ogni richiesta il corrispondente numero di sessione attraverso l'utilizzo di un programma Java realizzato per tale scopo. Il numero di sessioni complessive superava le 540.000, numero più che sufficiente per i nostri scopi.

4.2.2 Tabella Order

Una volta terminata la fase di preprocessing della tabella contenente i dati del file log, ci siamo concentrati sulla pulizia della tabella ORDER.

24 La granularità scelta è in secondi.

25Ricordiamo che vengono considerate nuove sessioni anche le richieste con un intervallo di 30 minuti tra la

49

L'operazione più importante effettuata sulla tabella riguarda sicuramente l'eliminazione degli ordini con status R26. Questi ordini presentavano all'interno dei campi solo valori 0 e

non sarebbero stati utili ai fini della nostra analisi.

Un'altra considerazione importante riguarda il campo LASTSTATUSCHG. Avendo sca- ricato i dati durante il 2018, alcuni ordini presentavano una data di modifica dello stato suc- cessiva all'anno 2017. Questi ordini sono stati considerati ancora aperti in quanto si era in- teressati esclusivamente agli ordini completati durante il trimestre di riferimento.

Infine, sono stati esclusi dall'analisi alcuni ordini contenenti valori negativi.

Il numero dei clienti per i quali sono stati registrati degli ordini durante il periodo di rife- rimento è 5.468 corrispondente a circa il 32,50% degli utenti che hanno effettuato l'accesso durante i tre mesi oggetto di analisi. Questo dato è molto significativo in quanto evidenzia che solo meno di un terzo degli utenti che hanno navigato il sito hanno poi effettivamente evaso un ordine online. Tuttavia, solo 4.936 clienti sono stati presi in considerazione per la nostra analisi.

50

Capitolo 5

CLUSTERING IN BASE AD ACCESSI E

Documenti correlati