• Non ci sono risultati.

Progettazione ed Implementazione di una Dashboard di Location Intelligence in Ambito Retail

N/A
N/A
Protected

Academic year: 2021

Condividi "Progettazione ed Implementazione di una Dashboard di Location Intelligence in Ambito Retail"

Copied!
198
0
0

Testo completo

(1)

SCUOLA DI SCIENZE

Corso di Laurea Magistrale in Informatica Curriculum B - Informatica per il Management

Progettazione ed Implementazione di una

Dashboard di Location Intelligence in

Ambito Retail

Relatore: Chiar.mo Prof. Marco di Felice Presentata da: Faienza Antonio Correlatore: Federico Sitta Sessione III Anno Accademico 2018/2019

(2)
(3)
(4)

The world’s most valuable resource is no longer oil, but data [1]. E’ così che intitola un articolo del The Economist, storico quotidiano inglese, incen-trato prevalentemente su temi di natura socio-economica. L’articolo oltre a toccare argomenti riguardanti privacy e regolarizzazione dei dati, asseri-sce come, solo nel 2017, le cinque società più importanti al mondo (Google, Amazon, Apple, Facebook e Microsoft), specializzate, ognuno a modo loro, nella gestione di grandi quantità di dati, abbiano avuto un utile nel primo trimestre di 25 miliardi di dollari.

Il valore dei dati è stato riconosciuto ormai da tutti. I dati possono essere analizzati per innumerevoli scopi, come ad esempio analisi delle performan-ce, decision making, valutazione dei rischi.

Nelle compagnie odierne, sono una delle pietre miliari su cui è centrato il loro profitto. Che sia il focus aziendale o meno, tutte le aziende, pianificano il loro futuro, a medio o lungo termine, sulla base dei dati di cui dispongono. Tradizionalmente tutti i tipi di dati vengono acquisiti in formato grezzo per poi essere lavorati al fine di ottenere uniformità a dispetto di quella che è la fonte di approvvigionamento. In quest’ottica, il concetto di Big Data si è evoluto, ed è diventato più specifico a seconda dei campi di applicazione in cui è coinvolto: medico, economico, agricolo/alimentare, manifatturiero e così via dicendo.

La BI, meglio conosciuta come Business Intelligence, standardizza e regola-menta i processi volti alla raccolta e gestione dei Big Data in ambito azienda-le. Provvede una serie di tecniche e best-practices col fine di poterne trarre vantaggio in termine economico, basandosi sul responso che sono in grado predire, analizzando prestazioni sia passate che presenti. Le tecniche di BI

(5)

sono andate sempre perfezionandosi negli anni, attraverso tool più specifici e performanti.

Una branca della BI più specifica è la Location Intelligence. In generale, rap-presenta il processo di estrazione di informazioni significative da dati spaziali mediante l’utilizzo di tool specifici (GIS) e di darne una visione d’insieme immediata e di impatto usufruendo di mappe. L’obiettivo della tesi mira a dare una chiara esemplificazione di come questo avvenga in un contesto pratico. Il tutto è avvenuto durante un periodo di tirocinio formativo presso una società di consulenza avente sede a Casalecchio di Reno (BO).

Iconsulting è un’azienda nata nei primi anni del 2000 specializzata nella pro-gettazione di sistemi best-in-class di Data Warehouse, Business Intelligence, Performance Management e Advanced Analytics. E’ l’idea di un gruppo di ricercatori, che trae dalla ricerca stessa la propria energia. Ad oggi è partner strategico dei vendor tecnologici di riferimento come IBM, Microsoft, Micro-strategy, Oracle, SAP e SAS. Ha sede a Bologna, Roma, Milano e Londra ed ha all’attivo più di 500 progetti di successo su un portfolio di oltre 150 clienti di elevato standing.

Cuore del modello di business è il laboratorio R&D a cui vengono dedica-te il 25% delle attività aziendali, in collaborazione con prestigiose Business School ed Università Italiane. Gli attuali studi sono focalizzati su: Big Data, Advanced Analytics, Location Intelligence e Performance Management. Il caso di studio preso in esame è stato incentrato attorno alla costruzione di una dashboard innovativa in ambito retail per un’azienda operante nel setto-re moda. Lo scopo, era quello di mostrasetto-re su mappa gli attuali punti vendita esistenti e cercare di predirne di nuovi per mezzo di un’analisi geo spaziale. Più specificatamente, sono state effettuate tre tipi di analisi. La prima è stata l’analisi descrittiva. In questo frangente viene offerta una panoramica riassuntiva della stato di salute dei punti vendita attuali, ponendo l’accento sui migliori negozi, i migliori Brand e il trend di vendita. E’ possibile inol-tre avere il dettaglio di ogni specifico punto vendita, relativo all’andamento generale, semplicemente cliccando su uno dei punti presenti sulla mappa. Parallelamente a quanto fatto per i singoli negozi, la dashboard evidenzia lo sviluppo anche a livello mondiale e regionale, mettendo in risalto i migliori paesi in termine di vendita.

(6)

La seconda parte è l’analisi del potenziale. Tale analisi individua la corre-lazione esistente tra vendite e caratteristiche dei beni venduti. Il tutto è coadiuvato da uno studio usando la Regressione Lineare. Per ogni Stato o Regione scelto è mostrato graficamente quale fattore incide maggiormente sulle vendite, così da poter appurare se le vendite sono in linea con quelle che sono le aspettative derivanti dallo studio di regressione. In caso contrario, il modello suggerisce graficamente quali possano essere i correttivi da adottare e su cui investire.

L’ultima parte, riguarda l’analisi predittiva.Avendo ora una panoramica del-la situazione degli attuali punti vendita, si pone l’accento su come identi-ficarne di nuovi. Quest’ultima fase del progetto prende in esame le carat-teristiche geospaziali di ogni punto vendita e li fonde con dati di natura statistica1.Viene quindi elaborato un modello di Machine Learning che

im-para dai punti esistenti quali sono le caratteristiche geospaziali e statistiche che incidono maggiormente sul fatturato. Una volta elaborato il modello, l’analisi della domanda mostra su mappa se uno specifica zona è potenzial-mente appetibile o meno; l’analisi dell’offerta,esclude le zone attualpotenzial-mente esistenti e che hanno costituito la base per costruire il modello predittivo. Si dividerà l’elaborato nel seguente modo: nel primo capitolo sarà descritta la Location Intelligence e la BI in termini non specifici, risaltando le tecniche attualmente in voga sul mercato. Nel secondo e nel terzo, sarà descritto il progetto e le tecnologie adoperate in termini tecnici. Nell’ultimo, si andrà ad argomentare riguardo i vari tipi di analisi effettuate. Nell’ultima parte saranno fatte considerazioni di quello che è stato il lavoro svolto e di possibili sviluppi futuri.

1Essendo quest’ultimo, uno studio fatto a livello nazionale, i dati in questione provengono dal sito Istat: http://dati.istat.it/

(7)
(8)

Introduzione i 1 I supporti alle decisioni aziendali 1

1.1 La Business Intelligence: Cos’è e da cosa nasce . . . 2

1.2 Location Intelligence: storia ed evoluzione dalla BI . . . 9

1.2.1 Dati Spaziali . . . 11 1.2.2 Indice spaziale . . . 13 1.2.3 SRID . . . 14 1.2.4 GeoJSON . . . 17 1.2.5 ShapeFile . . . 19 1.2.6 Casi di utilizzo . . . 19

2 Dashboard Retail: Architettura e Progettazione 28 2.1 Obiettivi e Requisiti . . . 28

2.2 Client side: Use Case & User Experience . . . 36

2.2.1 Features Descrittive . . . 36

2.2.2 Features Potenziali . . . 38

2.2.3 Features Predittive . . . 39

2.3 Server side: Database Spaziale . . . 40

2.3.1 Preparazione dei dati . . . 42

2.3.2 Popolamento del Database . . . 43

2.3.3 Creazione degli Shape File . . . 46

3 Implementazione 49 3.1 Tecnologie Usate . . . 49

3.2 Struttura del Progetto . . . 52 v

(9)

3.3 Angular . . . 61

3.3.1 Index.html . . . 61

3.3.2 AppModule . . . 62

3.3.3 Navbar & Sidebar . . . 67

3.3.4 Shared Modules . . . 69

3.3.4.1 Leaflet . . . 70

3.3.4.2 NgxChart & Angular Material . . . 85

3.3.4.3 Service Http . . . 88

3.3.5 Main Container . . . 90

3.4 Express.js . . . 102

3.4.1 Server Setting . . . 103

3.4.2 Routing & Views . . . 105

4 Validazione dei risultati 110 4.1 Analisi del potenziale . . . 110

4.1.1 Raccolta dei Dati . . . 111

4.1.2 Analisi . . . 114

4.1.3 Visualizzazione . . . 124

4.2 Analisi predittiva . . . 127

4.2.1 Point of Interest (POI) e manipolazione dei dati . . . 128

4.2.2 Comparazione di vari algoritmi di Machine Learning . 136 4.2.2.1 Logistic Regression . . . 136

4.2.2.2 KNN . . . 140

4.2.2.3 Decision Tree . . . 142

4.2.2.4 SVM . . . 145

4.2.2.5 Valutazione dei risultati . . . 147

4.2.3 Integrazione nella Dashboard . . . 155

Conclusioni 160 A Installazione PostGIS 164 A.1 Windows . . . 164 A.2 Linux . . . 164 A.2.1 Accedere al DB . . . 165 A.3 Configurazione DB . . . 165

(10)

A.3.1 Creare un DB da PgAdmin . . . 165

A.3.2 Creare un DB da Python . . . 166

A.3.3 Esportare Database in Postgres usando pgAdmin . . 168

A.3.4 Importare un Database usando pgAdmin . . . 168

A.3.5 Esportare tabelle in Postgres usando pgAdmin . . . . 169

A.3.6 Importare tabelle in Postgres usando pgAdmin . . . . 169

B Lavorare con Python 170 B.1 Lavorare con PostGIS tramite Python . . . 170

B.2 PostGIS: Query Utili . . . 170

B.3 Psql: comandi utili da Shell . . . 171

B.4 Python: Lettura degli Excel . . . 172

B.5 Python: Lavorare con i csv . . . 172

C QGIS 173 C.1 Dove Scaricare gli Shapefile . . . 173

C.2 Come caricare Shape File . . . 173

C.3 Verifica sistema coordinate dal BD . . . 174

(11)
(12)

1.1 Esempio di report che identifica fatti e dimensioni . . . 4

1.2 Un esempio di Start Schema per gli ordini . . . 5

1.3 Inmon’s Corporate Data warehouse Architecture . . . 6

1.4 Kimball’s Dimensional Data warehouse Architecture . . . 7

1.5 Stand-Alone Data Marts Architecture . . . 8

1.6 Multipli Stand-Alone data marts . . . 8

1.7 Overview Location Intelligence . . . 9

1.8 Diagramma di Voronoi per stimare il numero di morti nelle aree . . . 10

1.9 Componenti spaziali . . . 12

1.10 Rappresentazioni di MBR in geometrie spaziali . . . 13

1.11 Esempio di Indice spaziale . . . 13

1.12 Coordinate in un sistema di riferimento . . . 15

1.13 Esempio di rappresentazione su un piano 2D della Terra . . . 15

1.14 Proiezione Cilindrica, Conica e Azimutale . . . 17

1.15 Analisi spaziale per la scelta della locazione di un nuovo punto vendita . . . 21

1.16 Visualizzazione dei diversi Layer . . . 24

2.1 Esempio schermata Analisi Descrittiva . . . 37

2.2 Esempio schermata Analisi Potenziale . . . 39

2.3 Esempio schermata Analisi Predittiva . . . 40

2.4 Esempi di ShapeFile in QGIS . . . 47

3.1 Architettura del progetto client-server . . . 60

3.2 Interazione tra due Component utilizzando i Decorator . . . . 96 1

(13)

3.3 Interazione tra multipli Component utilizzando i Decorator . 97

3.4 Schermate Analisi Descrittiva . . . 102

4.1 Reppresentazione della regressione lineare . . . 115

4.2 Esempio grafico di regressione lineare . . . 115

4.3 Analisi del potenziale globale . . . 125

4.4 Analisi del potenziale regionale . . . 126

4.5 Rappresentazione di Outlier su Attributi . . . 134

4.6 Differenza fra Linear Regression e Logistic Regression . . . . 137

4.7 Soglia di appartenenza ad una categoria . . . 138

4.8 Rappresentazione grafica funzione sigmoidea . . . 139

4.9 Esempio funzionamento KNN . . . 140

4.10 Output accuratezza miglior KNN . . . 142

4.11 Esempio di Decision Tree . . . 143

4.12 Separazione attributi su piano 2D . . . 146

4.13 Separazione attributi su piano 3D . . . 146

4.14 Individuazione del piano . . . 147

4.15 Matrice di confusione risultante dal dataset Bilanciato . . . . 153

4.16 Predictive Analysis Italy: punti da predire . . . 155

4.17 Punti predetti dall’algoritmo di ML KNN . . . 157

4.18 Visualizzazione dei punti di interesse . . . 157

4.19 Analisi dell’offerta . . . 158

(14)

2.1 Benchmark tra Database Spaziali (Parte 1) . . . 30

2.2 Benchmark tra Database Spaziali (Parte 2) . . . 31

2.3 Benchmark tra Mappe . . . 34

2.4 Stack logico del progetto . . . 40

4.1 Esempio di Sell out estratti dal DB per analisi del Potenziale 112 4.2 Estrazione dei dati in forma trasposta . . . 113

4.3 Valori Sell out . . . 113

4.4 Matrice di correlazione . . . 119

4.5 Dati vendite, spaziali e demografici per l’analisi predittiva . . 130

4.6 Matrice di confusione . . . 149

4.7 Confronto tra gli algoritmi con dataset sbilanciato . . . 153 4.8 Confronto tra gli algoritmi con dataset bilanciato (SMOTE) . 153

(15)
(16)

I supporti alle decisioni

aziendali

Le organizzazione sono sempre alla ricerca di strategie che permettano di incrementare gli utili e che consentano loro di apportare un significativo miglioramento ai processi produttivi che ne sono alla base. Per raggiungere questo scopo, quasi sempre accompagnano l’utilizzo di nuove tecnologie, al dato.

Quest’ ultimo può essere di varia natura e di varia struttura. E’ possibile infatti avere a che fare con, ad esempio, dati economici, piuttosto che con dati sanitari; come allo stesso tempo, è possibile trovare dati di tipo testo, immagine, "bit" etc. Anche i database che li contengono non sono tutti uguali: relazionali, non-relazionali, colonnari ne sono un esempio. Ciò che conta però non sono solo i dati, ma come questi vengono adoperati: possede-re Big Data significa saperli analizzapossede-re per ottenepossede-re informazioni necessarie a prendere le migliori decisioni in contesti aziendali. Ogni dato, se non ac-compagnato da una fase di analisi, resta inutile. Per fare in modo che possa impattare positivamente, si devono considerare tre caratteristiche [2]:

• volume: ogni secondo attraversano la rete tanti dati, quanto era la totalità dei dati esistenti 20 anni fa. Dal 2012, vengono creati 2,5 Exabyte 1 al giorno e il numero raddoppia in circa ogni 40 mesi. Un 1Un Exabyte è uguale a 1018Byte. Il che tradotto in GB equivale 1 miliardo di Gigabyte

(17)

caso pratico, è rappresentato da Walmart2, la quale raccoglie ogni

secondo circa 2,5 Petabyte3;

• velocità: è importante almeno quanto il volume dei dati. Saper gesti-re grandi informazioni in poco tempo, può rappgesti-resentagesti-re un vantaggio competitivo notevole rispetto altre aziende. Da uno studio americano sui dati di vendita nel periodo natalizio, è stato possibile analizzare quante persone fossero presenti nei parcheggi di Macy4 nel giorno di

Natale, grazie alla velocità di localizzazione dei GPS. Durante il pe-riodo di tirocinio, ho potuto constatare personalmente, quanto fosse importante avere un dato sempre aggiornato, sebbene il gran numero fosse un vincolo considerevole;

• varietà: Come già anticipato, i dati assumono "forma" diversa a se-conda dei casi. Possono essere messaggi, immagini, testi scritti nei post di piattaforme social. Molte delle tecnologie che ci sembrano ormai obsolete, sono di pochi anni. I database devono saper gestire questa differenza di struttura e devono essere architetture scalabili che sappiano affrontare possibili fault tolerance5.

1.1

La Business Intelligence: Cos’è e da cosa nasce

L’opportunità legata all’analisi dei dati nelle aziende, per ottenere pro-fitto, ha generato un crescente interesse, facendo sì che potesse nascere la Business Intelligence [3]. Quest’ultima rappresenta una serie di tool e Best-Practiceche servono da supporto alle aziende per prendere decisioni [4]. La serie di tool e best-practices a cui si riferisce [4] comprende [5]:

• Data mining • Reporting

• Metriche e benchmarking delle prestazioni 2https://www.walmart.com/

3Un Petabyte equivale a 1 milione di Gigabyte. 4https://www.macys.com/

5Un sistema Fault Tolerance è un sistema che è in grado di funzionare anche in presenza di fallimenti di alcuni suoi componenti

(18)

• Analisi descrittiva • Query

• Analisi statistica • Visualizzazione dei dati • Preparazione dei dati

Le aziende si servono della BI per [5]:

• Identificare le aree o i modi per aumentare i profitti • Analizzare il comportamento dei clienti

• Confrontare i dati con la concorrenza • Monitorare le prestazioni

• Ottimizzare le operazioni

• Prevedere il successo di nuove iniziative • Identificare i trend del mercato

• Individuare eventuali problemi

Cosa prevede il ciclo di raccolta e produzione dei dati di output della BI? Per modellare la forza del modello di business adottato, esistono una serie di step.

Al fine di dare un esempio esplicativo, si immagini di rispondere alla doman-da di un manager ai suoi dipendenti: "Quanti sono gli ordini per categoria di prodotto di Gennaio ?"

In questa domanda, si deve saper distinguere:

• fatti: rappresentano tutte le misure quantitative da mostrare nel report;

• dimensioni: rappresentano tutti gli attributi che identificano il con-testo.

(19)

Nella precedente domanda è sia possibile estrapolare il contesto che iden-tifica la dimensione (ideniden-tificato dalla locuzione "per") sia l’istanza dalla dimensione (identificata dalla preposizione "di"). Il contesto e la sua istanza portano ad individuare il fatto, il quale risponde numericamente al quesito posto. Nella Fig. 1.1, le dimensioni sono "Category", "Product", "SKU";

Figura 1.1: Esempio di report che identifica fatti e dimensioni mentre le istanze della dimensione sono le tuple appartenenti ad ognuno di esso ("Packing", "Pens", etc.). Le colonne "Quantity Sold", "Cost", "Order Dollars" denotano le misure o fatti. Il processo di raccolta e pulizia vede nel report, l’output finale. Ciò espone nient’altro, che la rappresentazione empirica di una modellizzazione conosciuta come Star Schema. Il suo nome è da attribuire alla sua forma tipica tentacolare che ricorda una stella. La Fig. 1.2 permette di distinguere due tipi di tabelle. Il primo tipo, chiamato tabella delle dimensioni6, ne definisce il contesto, il secondo è la Fact Table responsabile della raccolta delle misure numeriche. Nello Star Schema sono presenti tutti gli attributi che saranno visualizzati nel report, tenendo conto anche del livello di granularità che è in grado di offrire. In fase di proget-tazione non è facile individuare univocamente i campi che determinano una 6La dimensione può essere riferito sia alla tabella che alla colonna. Di solito si usa per identificare dimensione degli attributi e dimensione della tabelle.

(20)

Figura 1.2: Un esempio di Start Schema per gli ordini

dimensione in quanto uno stesso campo può essere attinente a molteplici dimensioni. Generalmente si procede raggruppando gli attributi sulla base del loro clustering naturale, ma nulla toglie che, a seconda del contesto in cui deve essere integrato, una tabella può possedere raggruppamenti di di-versa natura. Inoltre, ognuna, possiede due tipi di chiavi: la Surrogate key, utilizzata per tracciare i valori dal Data warehouse da cui prende il dato, e la Natural key, la quale determina univocamente l’ID di un’istanza della tabella.

La Fact Table identificabile dalla presenza delle Surrogate key delle varie dimensioni, deve assumere delle caratteristiche che la rendono tale e che ne determinano il comportamento. Deve perciò essere in grado di offrire vari livelli di dettaglio (deep); evitare confusioni (grain); contenere misure apparentemente non necessarie, estrapolabili dalle tabella delle dimensioni, ma necessarie per conferire ordine (additivity) ed evirare un numero di join eccessivi fra le varie dimensioni (sparsity).

Lo Star Schema rappresenta solo la parte finale in un processo di BI. Il centro focale è incentrato sulle modalità di raccolta e pulizia dei dati. In questo caso il protagonista è il Data warehouse e le varie architetture che è

(21)

possibile trovare nei contesti aziendali.

E’ possibile suddividere i Data warehouse in tre categorie. Le prime due sono chiamate Enterprise Data warehousee sono associate rispettivamente a W. H. Inmon e Ralph Kimball. Ciò che preme sottolineare è che non esiste "una migliore architettura" rispetto ad un’altra. Ognuna ha delle peculia-rità che la caratterizza. Soffermandoci sull’architettura di Inmon chiamata

Figura 1.3: Inmon’s Corporate Data warehouse Architecture

Inmon’s Corporate Data warehouse, è possibile notare nella parte sinistra gli Operational System, i quali rappresentano la fonte di approvvigionamen-to dei dati: possono essere generati da dati gerarchici, dati relazionali o semplicemente da spreadsheet. Durante il processo di ETL (extract, tran-sform, load) vengono acquisite le informazioni dai vari Operational System e aggiunti nell’ Enterprise Data warehouse in forma atomica. Quest’ultimo infatti, rappresenta il repository centrale contenente tutti i tipi di dati con il massimo livello di dettaglio. La sua concreta rappresentazione è general-mente un database relazionale o colonnare a seconda dei casi7. Prima di

7SAP HANA è un esempio di DBMS colonnare in memory sviluppato e commercia-lizzato dalla società SAP. La sua struttura, conferisce enorme velocità nella gestione dei dati.

(22)

essere fruibili dagli utenti, i dati vengono aggregati in Data Mart, secondo quello che il livello di dettaglio richiesto. Un altro tipo di architettura è conosciuta come Kimball’s Dimensional Data warehouse.

Figura 1.4: Kimball’s Dimensional Data warehouse Architecture

Ugualmente a quanto visto all’architettura di Inmon, è possibile indivi-duare gli operational system che si occupano della raccolta dei dati. Anche in questo caso, tramite un processo di ETL i dati vengono immagazzinati in forma atomica all’interno del Dimensional Data warehouse. Ciò che diffe-renzia il Dimensional dall’Enterprise Data warehouse riguarda la possibilità di progettazione tramite Star Schema piuttosto che da un modello ER tipico nel caso precedente. Inoltre, come si può osservare dalla Fig. 1.4, è possibile accedervi in maniera diretta, senza passare tramite i Data Mart. L’ultimo tipo di architettura è denotato Stand-Alone Data Marts.

(23)

Figura 1.5: Stand-Alone Data Marts Architecture

L’architettura è Stand-Alone e quindi non associabile alle precedenti. Con questa espressione, si vuole intendere la sua propensione ad essere in-stallato in vari settori aziendali. La sua utilità è volta soprattutto ad offrire in maniera rapida e con poche risorse un’architettura solida. Ha sicuramente il vantaggio di offrire elevate performance e garantire una maggiore sicurez-za dovendo autorizsicurez-zare l’accesso ad un insieme minore di dati. Tra i lati negativi c’è la perdita di efficienza, sia per lo scarso storage di cui dispone, sia per la possibile ridondanza del dato che lo accompagna. Si immagini un contesto aziendale che utilizzi molteplici data mart, uno per ogni reparto. I vari processi di ETL che leggono dagli Operational System e trasportano il dato possono avere settaggi diversi. Ciò comporta ridondanza come già anticipato, ma anche un diverso livello di "atomicità" , il che può portare a difficoltà di comparazione delle informazioni.

(24)

1.2

Location Intelligence: storia ed evoluzione

dal-la BI

Questo appena visto, descrive succintamente il mondo legato alla BI. Lo scopo di questo elaborato, non è tanto dare delle chiare delucidazioni a riguardo, ma dare un overview generale della BI, per spostare il focus su un’altro aspetto ad esso correlato. Da qui in poi, ci si addentrerà infatti in una branca della BI, chiamata Location Intelligence, la quale partendo da quanto visto, fornisce agli utenti che ne usufruiscono informazioni aggiuntive che in un normale report non sono captabili.

Generalmente con Location Intelligence si intende l’insieme dei processi e delle tecniche utilizzate per ricavare informazioni significative da dati geo-spaziali ricavando modelli, tendenze, potenzialità non visibili con le normali tecnologie attualmente offerte dalla BI [6] . Può essere considerata come la sua estensione e che interagisce con i sistemi informativi attualmente in essere [7]. Ad oggi, non esiste una chiara descrizione degli elementi che la compongono.

In generale, mentre, le normali operazioni di Business Intelligence permet-tono di rispondere alle domande "Chi", "Cosa", "Quando", la LI si focalizza sul concetto di "Dove".

Figura 1.7: Overview Location Intelligence

Il primo caso nella storia di Location Intelligence è quello di John Snow. Snow è infatti considerato il pioniere di questa materia ed è attualmente ricordato soprattutto per questo. Gli viene dato merito, infatti, di aver

(25)

sa-puto individuare la ragione scatenante dell’epidemia di colera8[8] nel 1800 a

Soho9 quartiere di Londra. In quella circostanza, egli suppose che la

propa-gazione della malattia, fosse da attribuire all’utilizzo dell’acqua. Durante i suoi studi, per localizzare la fonte dell’insorgenza dell’epidemia, utilizzò una piantina del quartiere di Londra come strumento per circoscrivere le zone maggiormente colpite. Questo gli permise di notare che la maggior parte dei casi erano localizzati intorno una pompa di acqua nel distretto di Soho. Bloccando l’erogazione riuscì a contrastare il propagarsi della malattia. Do-po essere stato ampiamente criticato, gli fu successivamente riconosciuto il merito di questa scoperta [9].

Figura 1.8: Diagramma di Voronoi per stimare il numero di morti nelle aree

Per raggiungere questo scopo, come viene mostrato nell’articolo di Koche Denike, [9] , tassellò la superficie con un diagramma di Voronoi, stimando la concentrazione di mortalità grazie alla divisione del numero di morti per il numero di case presenti nell’area, moltiplicato per il numero di persone presenti per ogni abitazione, che a quei tempi si aggirava intorno alle 10 8Il colera è un’infezione causata da un batterio Vibrio Cholerae che ha come primi sintomi diarrea, vomito, crampi e acidosi. La sua trasmissione avviene per contatto orale, con alimenti contaminati. Nel 19 secolo si diffuse più volte in un’area circoscritta nei pressi del Gange.

(26)

unità.

Ovviamente John Snow non sapeva di essere il precursore di un processo quale la Location Intelligence. Ai giorni d’oggi, la tecnologia è sempre più performante e per ottenere risultati ci si avvale di strumenti migliori. Ciò che comunque ha permesso negli ultimi anni di favorire l’incremento in termini di utilizzo della LI sono i database spaziali.

Non esiste una definizione univoca che lo descrive. Secondo R. H. Güting [10] , per essere considerato tale deve possedere le seguenti caratteristiche:

1. Un database spaziale presenta innanzitutto le caratteristiche tipiche dei Database;

2. Offre tipi di dati chiamati spaziali (STD) sia nel modello dei dati e sian nel linguaggio di query;

3. L’utilizzo dei dati spaziali è correlato all’utilizzo di indici spaziali e di funzioni/algoritmi che consentono di effettuare operazioni di carattere geometrico quali intersezione tra tipi, unione fra geometrie, etc.

1.2.1 Dati Spaziali

La precedente definizione chiarisce il concetto di database spaziale ma lascia ancora dubbi riguardo la definizione delle sue componenti. Cosa sono i dati spaziali? E cos’è un indice spaziale? Andando con ordine, itipi spa-ziali sono gli elementi su cui è possibile effettuare operazioni di selezione, intersezione, unione su entità geometriche comunemente chiamate spaziali. Normalmente non tutti i database offrono gli stessi tipi, o le stesse opera-zioni di manipolazione su di essi10. I tipi più generici, che facile trovare fra

i vari DB spaziali sono [10] [7]:

• Il punto raffigura la rappresentazione geometrica di un oggetto. Per il suo utilizzo è rilevante solo la posizione nello spazio di riferimento, ma è trascurabile la sua estensione. Tutto può essere modellato come punto: una casa, una macchina, una scuola, una città e così via. Può 10Nel prossimo capitolo sarà fatto un confronto tra le features offerte dai vari database spaziali.

(27)

essere inteso come la componente spaziale più semplice e la sua rappre-sentazione è connotato all’utilizzo delle coordinate (x,y) per collocarle nello spazio

• Una linea è l’astrazione geometrica usata per connettere punti e muo-versi nello spazio. E’ data da una sequenza di segmenti o da una sequenza di punti. La linea può essere retta, alternativamente può essere curva o ancora composta: se formata da una retta e una curva. • Un poligono è l’astrazione geometrica per raffigurare una regione di spazio in cui collocare oggetti. E’ definito da varie linee spezzate in cui il vertice iniziale coincide con quello finale. Per definizione, inoltre, l’area di un poligono deve essere contigua e per questo si deve poter attraversare senza uscire dai confini che lo delimitano. Sono anche da considerarsi poligoni, le regioni di spazio che hanno le caratteristiche tipiche dei poligoni, ma che al loro interno presentano dei vuoti. • Una collezione presenta vari elementi geometrici. Può essere di due

tipi:

– omogenea: se gli elementi che compongono la collezione sono dello stesso tipo: due o più poligoni, due o più linee, duo o più punti – eterogenea: se composta da vari elementi geometrici: punti, linee

o poligoni.

Figura 1.9: Componenti spaziali

Tutti questi sono tipi spaziali in 2D. Molti database implementano anche tipi 3D quali superficie composta, solidi, collezione di solidi, ma la loro trattazione è stata volutamente omessa perché esula dal contesto11.

(28)

1.2.2 Indice spaziale

Avendo ora spiegato cosa siano i tipi spaziali, resta da spiegare la funzione dell’indice spaziale. Una premessa che vale la pena fare per poter consentire al lettore di capire il funzionamento dell’indice spaziale è l’MBR. MBR sta per Minimum Bounding Rectangle.

Come il nome suggerisce, l’MBR permette di definire il contenitore minimo che contiene la geometria a cui ci si riferisce.

Figura 1.10: Rappresentazioni di MBR in geometrie spaziali

La comprensione degli MBR permette di capire l’utilità dell’indice spa-ziale. Il vantaggio che offre è incentrato sul facilitare le operazioni eseguibili tramite query riducendo il costo computazionale. Se si sta lavorando con

Figura 1.11: Esempio di Indice spaziale

un set di punti, come nell’esempio preso da [7], si può avere l’esigenza di effettuare operazioni su di essi, come lo può essere il calcolo della distanza massima. Il database per operare dovrebbe, in condizioni normali, calcolare punto per punto la distanza che separa l’uno dagli altri e questo comporte-rebbe un best effort notevole.

(29)

Tuttavia questa casistica non si palesa, grazie al MBR, il quale consente di delimitare il range spaziale del set di punti. Per cui avremo, come si può vedere dalla Fig. 1.11, tre set di punti corrispondenti a tre collezioni diverse. La radice porta il riferimento ad ognuno di essa e solo dopo aver acceduto alla singola collezione di interesse, si può puntare ad un al singolo elemento contenuto nella collezione.

Oltre alla selezione spaziale, l’indicizzazione spaziale supporta anche altre operazioni come l’unione spaziale (unione di due rettangoli), intersezione spaziale (intersezione di due linee) ecc. Concretamente, l’indice viene im-plementato usando delle strutture ad albero chiamate R-Tree12. Le loro

elevate prestazioni soprattutto con dati reali, li ha resi adatti ai Database copiando in memoria i nodi solo quando servono ed evitando di prendere quelli superflui.

1.2.3 SRID

La parola SRID sta per Spatial Reference System e sottende la moda-lità in cui i dati astratti vengono espletati concretamente in un sistema di riferimento. Il sistema di riferimento in questione, banalmente, può essere accostato ai sistemi cartesiani. Le due linee rappresentate in Fig. 1.12, sono esattamente uguali, ma la loro raffigurazione nello spazio è diversa. Infatti la A avrà un sistema di coordinate diverso rispetto la B. Lo stesso concetto si pone nella proiezione della Terra, la quale possiede una forma ellissoidale, su una superficie piana in 2D. Come ciò avviene, non è univoco.

12Gli algoritmi di ricerca usano gli MBR per decidere se cercare o meno nel nodo figlio del nodo corrente. In questo modo la maggior parte dei nodi non viene esplorata dagli algoritmi. Per questo motivo, come per i B-tree, ciò rende gli R-tree adatti ai database, dove i nodi possono essere copiati in memoria solo quando necessario.

(30)

Figura 1.12: Coordinate in un sistema di riferimento

Figura 1.13: Esempio di rappresentazione su un piano 2D della Terra

La geocalizzazione di un punto, o una linea, o altro, può andare incontro a delle distorsioni rispetto la posizione reale che esso assumo nello spazio. La domanda che sorge spontanea è se è possibile rappresentare un oggetto senza distorsioni.

Esistono due approcci. Il primo ruota intorno alla possibilità di rappresenta-re la terra usando superfici ellissoidali e proiettarle dirappresenta-rettamente, in toto, su un piano 2D. Il secondo, invece, converge nella proiezione della terra usando solidi tridimensionali e solo successivamente su un piano 2D.

(31)

individuare la posizione di un punto su una superficie terrestre sia con-sono proiettare tutta la superficie terrestre su un piano 2D e succes-sivamente poter effettuare operazioni spaziali sui dati come il calcolo della distanza tra due punti. Ma ad oggi non esiste una rappresen-tazione conforme della superficie della terra, sia perché quest’ultima non è un’ellisse perfetto e sia perché non esiste, geometricamente par-lando, una rappresentazione univoca dell’ellisse. Infatti, di norma si individua il centro della terra con coordinate (0,0,0). La scelta di orientamento degli assi può differire a seconda dei casi. Il Geodetic Coordinate Systems non è nient altro che una convenzione, la quale prevede che l’asse z punti verso l’origine internazionale convenzionale (CIO), mentre l’asse x verso il meridiano di Greenwich. L’asse y invece andrà a completare con l’asse x la regola della mano destra13 [11].

• Projected Coordinate Systems: quest’ altro tipo di approccio par-te dal presupposto che nell’effettuare un’operazione tra due figure geo-metriche, siano considerata sempre una porzione della superficie terre-stre e non il tutto. In questo modo la proiezione su spazio 2D dovreb-be essere più accurata. Anche in questo contesto, il suo utilizzo non è univoco in considerazione della grandezza dei punti, la distanza, la direzione o generalmente l’utilizzo che se ne deve fare. Per tale moti-vo, esistono vari sistemi di proiezione come la Marcator Projection la quale prevede l’ausilio di un cilindro per la raffigurazione sulla terra e solo in un secondo momento la sua rappresentazione su uno spazio 2D. Avere una riproduzione della terra sotto forma di cilindro è utile se si deve effettuare operazioni spaziali nei pressi dell’equatore, perché altri-menti, per altre porzioni terrestri, eventuali operazioni risulterebbero distorte per via dell’eccessivo schiacciamento della terra sui meridiani troppo distanti dall’equatore [12] . La Conic Projection è un’alterna-tiva alla Marcator. Come si può immaginare, in questo caso la terra viene proiettata con l’ausilio di un cono. La proiezione risulta essere meno distorta per via dell’utilizzo del centro del cono usato a mò di asse terrestre. In questo modo i meridiani e i paralleli non sono altro 13https://www.evl.uic.edu/ralph/508S98/coordinates.html

(32)

che un approssimazione sulla base dell’asse terrestre [13]. Infine un ul-timo tipo di proiezione, è chiamata Azimuthal Projection. Essa, ha la caratteristica, di mantenere inalterato rispetto altre zone sia l’angolo di proiezione (azimuth) che la distanza permettendo la ricollocazione relativa di tutti i punti che compongono la terra [13] .

Figura 1.14: Proiezione Cilindrica, Conica e Azimutale

La Fig. 1.14 presa dal sito dell’università Humboldt State University14

rias-sume i vari tipi di proiezioni sferiche utilizzando i sistemi di coordinate. Gli ultimi due concetti che vale la pena introdurre, utili ai fini di questo lavoro di tesi, riguardano una struttura dati frequentemente usata per la manipolazioni dei dati spaziali nelle applicazioni Web: i GeoJSON e un formato dato geospaziale utilizzato dai software GIS: gli ShapeFIle.

1.2.4 GeoJSON

Fin ora si è argomentato di dati, Sistemi di proiezione e indici ma non si è ancora discusso delle modalità di rappresentazione degli oggetti spaziali sulle mappe. Non esiste una modalità univoca, ma per gli scopi del progetto si è utilizzato forse una delle più famose strutture dati che assolve a questo scopo: il formato GeoJSON. Il GeoJSON è un estensione del famoso Json15: un formato file aperto creato inizialmente per essere usato nelle

14http://gis.humboldt.edu/OLM/Lessons/GIS/03%20Projections/ProjectionFamilies3.html 15https://www.json.org/

(33)

comunicazioni client-server nelle applicazioni AJAX. E’ stato sviluppato in Javascript e la sua diffusione è avvenuta sia per la facilità di utilizzo e di parsing sia per la leggibilità che lo rendono una valida alternativa ad XML. La sua struttura tipica è la seguente:

1 { 2 "name": "Mario", 3 "surname": "Rossi", 4 "active": true, 5 "favoriteNumber": 42, 6 "birthday": { 7 "day": 1, 8 "month": 1, 9 "year": 2000 10 }, 11 "languages": [ " it ", "en" ] 12 }

In questo scorcio sono presenti tutti i tipi che è possibile usare: oggetti, ar-ray, valori, numeriInteri, decimali, etc) , whitespace, booleani e json stessi. Per ognuno di esso è associabile una chiave definita "attributo" denotata da una stringa.

Il GeoJSON parte da questa struttura e la caratterizza con degli attributi specifici. Come si può apprendere dal sito16, viene descritto come "un

forma-to per codificare una varietà di strutture di dati geografici." I dati geografici a cui fa riferimento sono: punti, linee, multi linee, poligoni e multipoligono che come visto sono i tipi di dati tipici dei database spaziali. Un esempio pratico è il seguente: 1 { 2 "type": "Feature", 3 "geometry": { 4 "type": "Point", 5 "coordinates": [125.6, 10.1] 6 }, 7 "properties": {

8 "name": "Dinagat Islands"

9 }

10 }

Da come si può vedere per ogni dato spaziale sono mappate le coordinate x,y che lo collocano nello spazio. Nell’esempio è un punto, ma vale lo stesso discorso per le linee e i poligoni o qualsiasi altra struttura supportata. Nel caso, ad esempio, fosse una linea, sarebbero contenute nella struttura tutte le coppie di punti che ne sanciscono la composizione. E’ inoltre possibile

(34)

caratterizzare la struttura con altre informazioni che la identificano.

1.2.5 ShapeFile

Gli ShapeFile è un file con estensione .hsp contenente delle geometrie vettoriali, le quali sono usate per raffigurare i vari dati spaziali all’interno di software GIS17. Per correttezza, quando si parla di questi tipi di file si

tende ad escludere i file con estensione .shx e quelli con estensione .dbf. In realtà per operare con i software GIS è fondamentale avere tutti i tipi. La ragione sta nel fatto che i .shx sono degli indici che hanno metadati sulle figure contenuti nei file .shp. Per ognuna di essa infatti, esiste l’indice di riferimento nel suddetto file. Inoltre è contenuta la sua lunghezza. Invece i file.dbf contengono informazioni aggiuntive, non strettamente correlate agli shape. E’ da sottolineare che ogni file può contenere solo una geometria specifica e non geometrie eterogenee. Se uno shape contiene punti, conterrà solo punti e non anche linee o poligoni [14].

1.2.6 Casi di utilizzo

Attualmente i settori che adoperano la Location Intelligence sono: • Servizi Finanziari: Gli account dei clienti sono monitorati ed

uti-lizzati nel settore finanziario, in cui le normative volte a prevenire le frodi e il riciclaggio di denaro impongono agli enti di comprendere correttamente i collegamenti tra diversi account e identificare compor-tamenti potenzialmente fraudolenti. Questo può essere fatto indivi-duando clienti e transazioni, incidenti e aree di rischio e identificando le relazioni geografiche tra i conti.

• Settore Assicurativo: I dati di posizione geocodificati con preci-sione possono fare la differenza nella valutazione di un bene in una particolare area geografica. Questa differenza può essere anche di po-che centinaia di metri ma comporta enormi implicazioni in termini di 17Rappresenta un sistema che permette acquisizione e analisi di componenti spaziali. Opera sia con immagini vettoriali che raster. E’ quindi un sistema informativo che estrae informazioni dalla rappresentazioni di dati spaziali su mappe

(35)

costi. Da un lato c’è il rischio che l’assicuratore sottoponga al cliente una polizza che ha un rischio maggiore di quello stimato; dall’altro vi è il rischio che un cliente possa pagare un prezzo eccessivo rispetto il rischio esistente con una conseguente perdita di clientela.

• Retail: I rivenditori che utilizzano beacon Bluetooth a bassa energia interni, RFID o Wi-Fi in combinazione con un’app basata sulla posi-zione corrente, possono essere in grado di analizzare il comportamento di acquisto dei clienti in negozio in una data area e, di conseguenza, ottimizzare l’inventario del negozio. Questo tipo di coinvolgimento del cliente nel punto di acquisto può aumentare gli acquisti e fidelizzare il negozio quando le offerte vengono offerte al momento giusto.

• Customer Experience: Le esperienze degli ospiti possono essere gestite in luoghi di grandi dimensioni, come stadi o resort, o per mi-gliorare le esperienze negli aeroporti e nei viaggi. La ricerca di strade, l’ordinazione e persino la gestione delle code per servizi richiesti come servizi igienici o bevande possono essere migliorate con i dati e l’analisi della posizione e con i risultati prodotti nelle zone in cui si è agito. Per avere un caso empirico del suo funzionamento, come R. Kothuri, A. Godfrind e E. Beinat spiegano nel loro libro [7] , si immagini di voler indivi-duare il sito più adatto per aprire un nuovo centro commerciale. Si supponga inoltre, che la sua individuazione, presenti dei vincoli:

• deve essere locato in un’area in cui è consentita la costruzione; • debba avere delle dimensioni adeguate;

• non sia esposto a rischi;

• debba essere situato nei pressi di strade per favorire una buona acces-sibilità.

Escludendo i problemi legati alla componente demografica, gli autori indi-cano gli step per una corretta analisi:

1. dalla mappa, vengono selezionate tutte le aree edificabili etichettabili come "aree commerciali";

(36)

2. usufruendo di una mappa fornita ipoteticamente da un agenzia im-mobiliare, si selezionano tutti gli edifici sufficientemente grandi in vendita;

3. partendo da una mappa dei rischi, che indica le aree di sicurezza intorno ai fiumi, si eliminano tutte quelle zone soggette ad inondazioni; 4. Sovrapponendo le varie selezioni, alla fine, si considerino solo quelle

aree che sono nella vicinanza di strade.

Figura 1.15: Analisi spaziale per la scelta della locazione di un nuovo punto vendita

Questo appena descritto viene riassunto dalla Fig. 1.15. Fino al passaggio 8, sono selezionate le aree che rispecchiano i vincoli che ci si era prefissati inizialmente. Nel passaggio 9 sono raffigurati i papabili nuovi centri com-merciali. E’ da notare che quest’ultimo è frutto della sovrapposizione tra il 5, il quale tende a scremare le aree commericale non idonee, con il 6. Si può notare come soltanto 5, dei centri commerciali di partenza, sono conformi ai vincoli. Successivamente, incrociando il passaggio 9 con il 10 e l’11 emerge che dei siti presenti in partenza, soltanto due sono conformi alle specifiche e rappresentano due candidati ideali ad ospitare un centro commerciale. Esistono studi scientifici che sfruttano le tecnologie moderne per mettere in

(37)

piedi sistemi di Location Intelligence avanzati con l’ausilio di tool di appog-gio come Foursquare18 per l’inquadramento del posizionamento ottimale di

un punto vendita su un’area definita [15] , oppure come mezzo sostitutivo a tecniche più dispendiose a livello economico e temporale, come lo può es-sere un piano urbano per la raccolta dati sulla domanda dell’utilizzo delle biciclette, bike trip demand (BTD) [16].

Tutte le operazioni da effettuare, atte a trovare la giusta locazione, sono il frutto di query SQL e i risultati non sono nient’altro che tuple (punti, poli-goni, linee, griglie e così via) di ogni tabella adoperata per questo processo di selezione. L’analisi della posizione utilizza i dati provenienti da diverse fonti per comprendere diversi fattori geografici e spaziali e utilizza tecniche statistiche per prevedere la posizione migliore per ciascun negozio [17]. Volendo porre l’accento sugli aspetti più generali della Location Intelligence è possibile distinguere 3 core [6]:

• Analisi Descrittiva • Analisi del Potenziale • Analisi Predittiva

La fase di Analisi Descrittiva è strettamente legata al Geocoding19. Lo

scopo primario è quello di associare le coordinate geografiche per mezzo di un indirizzo. Inoltre, un altro scopo a cui assolve, è legato alla correzione di eventuali errori nell’indirizzo. In questo caso si parla di Address norma-lization: correzione degli errori facendo in modo che tutti gli indirizzi siano chiari e comprensibili. La normalizzazione prevede anche l’eliminazione di eventuali duplicati che sarebbero trattate come voci separate nel database [7] .

In questo contesto, come visto nei precedenti paragrafi, ogni oggetto rap-presentabile su mappa, ha almeno o più (se è una linea o poligono) coppie di coordinate (x,y) assegnate in un database Geospaziale. A questo punto, i dati assumono significato se visualizzati con una logica alla base. Selezione, unione, interazione sono solo alcune delle operazioni utilizzabili grazie alle

18https://it.wikipedia.org/wiki/Foursquare 19Detta anche Georeferenziazione

(38)

quali è possibile escludere aree a fronte di altre. Tale processo prende il nome di "Data Refining" . Per esempio, si immagini di voler mostrare su mappa le aziende che hanno un ROI20 superiore ad una certa soglia, escludendone

delle altre. Per raggiungere questo scopo, si può usufruire di:

• Visualizzazione (Mapping): grazie alla quale si può offrire una rappresentazione colorata agli utenti in maniera non convenzionale. E’ permesso quindi zoomare, selezionare ed escludere aree. Non com-prende solo informazioni alfanumeriche, ma anche quelle spaziali al-l’interno dei report. Ovviamente, può essere accompagnata a grafici che consentono di interpretare al meglio il significato che la proiezione su mappa offre.

• Analisi delle aree: la quale da l’autonomia a scegliere una specifica visualizzazione piuttosto che un altra. Questa fase si cela dietro l’u-tilizzo di diversi layer disponibili. Normalmente in un’analisi generica di BI è possibile scegliere il livello di dettaglio delle informazioni che si desidera. Ciò è la conseguenza delle varie forme di aggregazione che è possibile dare al dato. Se un’azienda agroalimentare volesse analizzare il consumo di carboidrati in un’area geografica, potrebbe scegliere di vedere in generale per ogni area qual sia il consumo associato, ma allo stesso tempo potrebbe voler soffermarsi su uno specifico tipo di car-boidrato escludendone degli altri. Analogamente nella LI è concesso avere un livello più generico di visualizzazione, come ad esempio la mappa della città, ma anche specificare solamente la rete stradale, la rete fluviale che scorre nei confini o solo il flusso di congestione del traffico e così via. Tali operazioni, sono realizzate utilizzando query soventi nei DB spaziali (Join, Disjoin, Intersection, within).

20Return of Investment: è un indice di bilancio che indica la redditività e l’efficienza economica delle aziende

(39)

Figura 1.16: Visualizzazione dei diversi Layer

L’Analisi del Potenziale, può essere applicata a problemi analitici, e con-temporaneamente, incorporata nei processi Real Time aziendali, come ad esempio nella gestione dei processi relazionali con i clienti. L’ottimizzazione può consentire ad una compagnia che sfrutta la Location Intelligence di in-dividuare, sulla base dei suo profili schedulati, di ottimizzare le performance dei risultati attualmente esistenti e capire se si sta operando nel migliore dei modi o se si necessita di apportare dei correttivi. Il tutto può e deve avve-nire, incrociando sia i risultati di vendita sia l’analisi del territorio in cui si sta operando. Questo aspetto può comprendere anche materie di carattere economico-strategico, come lo può essere la Basket Analysis.

L’Analisi Predittiva o Forecast Analysis rappresenta il fulcro della LI. Con essa è possibile riconoscere nuovi trend, fare previsioni su ipotetici andamenti futuri. La conoscenza e l’influenza di fattori spaziali sono un elemento fon-damentale nell’applicazione dei "modelli predittivi". La considerazione di tali fattori porta ad una maggiore trasparenza (cosa succede? dove?) e dà anche la possibilità all’utente fare previsioni migliori. Ad esempio, sapendo quale sia l’andatura media degli automobilisti e sapendo quelle che sono le aree con il maggior numero di incidenti stradali, si determinano le aree più soggette ad incidenti. Si immagini che lo Stato voglia disporre delle normati-ve che limiti la normati-velocità. Tramite un’analisi predittiva sarà possibile stimare,

(40)

e graficamente rendere visibile su mappa come tali direttive impatteranno sul numero di incidenti. Per effettuare un’analisi predittiva di questo ge-nere occorrono una serie di variabili, alcune delle quali esterne al dominio applicativo aziendale:

• Dati demografici come la popolazione totale per codice postale, genere e stato di occupazione;

• Fattori economici come dati di vendita e indici di prezzi;

• Altri dati come informazioni geografiche o sul terreno e posizione del concorrente.

L’accuratezza del modello predittivo può essere valutato sulla base di indi-catori come ad esempio:

• Mean Absolute Percentage Error (MAPE): • Root Mean Square Error (RMSE)

• Scarto Quadratico Medio

Grazie alla LI, i rivenditori possono rimanere all’avanguardia e ottenere il sopravvento sui concorrenti. I dati utilizzati possono includere dati interni sulle vendite, dettagli demografici e profili della popolazione. Altri indica-tori macroeconomici come il potere d’acquisto della popolazione, l’indice di crescita economica e i costi connessi alla creazione di nuovi negozi, e così via, possono risultare utili per il raggiungimento dell’obiettivo [17].

Le aziende che al giorno d’oggi sono impegnate nella Location Intelligence sono in costante crescita. Sicuramente degna di menzione è CARTO21.

Essa consente alle organizzazioni di ottimizzare le prestazioni operative e gli investimenti strategici. CARTO prevede inizialmente di caricare i pro-pri dati (Shapefiles, GeoJSON, etc) su un database spaziale22. Una volta

caricati, è possibile visualizzarli su mappa utilizzando il layout e le mappe che il software offre, potendo anche personalizzare o costruirne di proprie.

21https://carto.com/

22dalla documentazione, si evince come il database utilizzato sia PostGIS: https://cartodb.readthedocs.io/en/latest/install.html# postgis

(41)

Come il sito ufficiale riporta23, tutto il software è open-source ed installabile

gratuitamente sulle proprie macchine. La componente Enterprise è concen-trata su un assistenza costante (anche da remoto) e sulla gestione ottimale delle prestazioni che è in grado di mettere in atto. Oltre a questo aspetto, viene tenuta in debita considerazione, la questione legato alla sicurezza, tut-te tut-tematiche centrali all’intut-terno di un core business aziendale. Geoblink24

è una startup spagnola con sede a Madrid impegnata nell’erogare servizi le-gati al mondo della LI incentrati prevalentemente sul mondo delle vendite al dettaglio, Real-Estate25 and FMCG (Fast Moving Consumer Goods)26.

Recentemente selezionata da Bloomberg come una delle 50 startup più pro-mettenti al mondo, Geoblink è una soluzione di Location Intelligence basata su SaaS che aiuta i professionisti a prendere decisioni sulle proprie strategie di business. Combina tecniche di analisi avanzate tradizionali e non tradizio-nali su dati grandi e piccoli, insieme a una ricca interfaccia utente basata su mappe per visualizzare più tipi di statistiche in un modo semplice da usare e facile da capire. Grazie i dati pubblici e privati di cui dispone, analizza e incrocia informazioni con l’ausilio di tecniche di Machine Learning al fine di far ottenere il massimo dalle aziende che ne usufruiscono.

urbanData Analytics27è una società digitale specializzata nell’analisi dei

dati, dedicata alla conoscenza in tempo reale del mercato immobiliare. In meno di cinque anni, l’UDA si è affermata come leader nel settore immobi-liare Big Bata in Spagna ed è stata premiata a livello internazionale. Offre prodotti e servizi a società consolidate nel settore immobiliare: consulen-ti, sviluppatori, fondi di investimento, società, banche, investitori, portali, periti etc. Utilizza uno strumento che, segmenta e localizza il mercato rac-cogliendo, strutturando, analizzando informazioni da varie fonti: (privato, open data, social network, propri etc). La raccolta e l’elaborazione dei dati è

23https://carto.com/help/getting-started/os-vs-commercial-onprem/ 24https://www.geoblink.com/

25Per Real-Estate si intende tutto il movimento legato al settore immobiliare che comprende la compravendita di beni o di terreni (JAMES CHEN 2019).

26I FMCG rappresentano prodotti a basso consumo che vengono venduti rapidamente e consumati in un arco temporale che va da pochi giorni ad un anno Fanno parte di questa categoria alimenti come bevande, latticini, farmaci da banco etc.

(42)

organizzata in 160 dataset, classificati in aree: Urban People, Urban Econo-mics, Urban Shape, Urban Move. Una volta analizzati, vengono visualizzati i dati georeferenziati attraverso mappe, grafici e infografiche, consentendo una rapida comprensione. In questo modo, sono in grado di rivelare modelli di comportamento, anomalie e variabili identificative con l’ausilio di indi-catori (urbanData Insights) che consentono una concentrazione dinamica di un grande volume di dati in un unico valore.

Queste appena menzionate sono solo tre esempi di aziende che sfruttano la LI. Ci si sarebbe potuto soffermare su aziende come Qliko Esri, ormai multinazionali, ma le aziende di di cui si è parlato, hanno avuto la bravura di affermarsi in poco tempo, riuscendo ad entrare a far parte delle top 100 startup del 2019 [18] perseguendo il loro ideale aziendale. Ciò che hanno in comune, al di là dell’idea su cui stanno investendo è la raccolta del "dato" e la sua divulgazione nei termini più chiari possibili. Tutto questo, è reso possibile dalle tecniche di visualizzazione offerte dalla Spatial Analysis. Lo stesso obiettivo, è quanto si è cercato di perseguire nell’implementazione di questo progetto, partendo inizialmente dalla raccolta del dato per poi porre l’accento e trarre vantaggio da esso.

Avendo per cui cercato di dare un’esaustiva panoramica dell’argomento ge-nerale, di qui in avanti sarà descritto il progetto nella sua interezza: dalla raccolta alla visualizzazione, passando per l’implementazione e la valuta-zione dei risultati delle macro aree che mettono in luce tutti gli aspetti peculiari della Location Intelligence: analisi descrittiva, analisi potenziale e soprattutto analisi predittiva.

(43)

Dashboard Retail:

Architettura e Progettazione

Il progetto in esame che ci si appresta a descrivere rappresenta il frutto di lungo lavoro realizzato all’interno di Iconsulting1: azienda di

consu-lenza con sede legale a Casalecchio di Reno. Specializzata in metodologie, algoritmi e tecnologie capaci di dare valore al più grande asset del mercato disponibile al giorno d’oggi: ildato. Nata nel 2000, dall’idea di un gruppo di ricercatori, rappresenta una Vendor indipendente con 4 sedi rispettivamente di Bologna, Milano, Roma e Londra. E’ un azienda in forte espansione con una propensione alla BI affiancata da branche come il Machine Learning, BlockChain e con una forte propulsione alla Location Intelligence. Ad oggi opera nei più svariati settori che vanno dall’ Automotive, al Fashion Retail, passando per Healthcare, Manufacturing e Media. Vanta una collaborazione tra le tante con IBM, Microsoft, Oracle, CARTO.

2.1

Obiettivi e Requisiti

La finalità del lavoro svolto è volta alla progettazione e successiva im-plementazione di un PoC2 che permetta di valutare le potenzialità di una

1https://www.iconsulting.biz/

2PoC è l’acronimo di Proof of Concept. Riguarda la creazione di un progetto (a volte anche non completo) che mira a verificare il grado di fattibilità in un contesto reale. Un

(44)

Dashboard per un cliente impegnato nel settore del Fashion Retail con l’ausilio di dati open (numero di abitanti, popolazione maschile e femminile, reddito percepito etc), e dati custom del cliente, integrandoli con informa-zioni sul territorio. Il tutto per una duplice funzionalità: sia per analizzare e valutare l’andamento e le performance sulle base delle informazioni di-sponibili (analisi descrittiva), cercando anche di porre in rilievo se la resa fosse in linea con le aspettative aziendali (analisi del potenziale); e sia per l’individuazione di potenziali nuovi punti vendita (analisi predittiva). In una prima istanza, per far fronte alle esigenze del cliente, sono state effet-tuate varie sessioni di analisi con lo scopo di individuare le migliori tecnologie che meglio si adattassero alle richieste del cliente. Quest’ultimo infatti op-tava per una soluzione a basso costo che non implicasse l’utilizzo tool3 con

licenza a pagamento.

Per questo motivo, nella prima fase di analisi, l’attenzione si è soffermata sull’individuazione di quale Database, in particolare Database Spaziale, po-tesse essere utile alla causa. Lo stesso, è stato fatto per trovare la "migliore" tecnologia che fosse in linea con i vincoli prestabiliti.

Esistono varie tipologie di database spaziali che il mercato offre. Di segui-to, un confronto fra le principali soluzioni che offre il mercasegui-to, focalizzando l’attenzione sulle caratteristiche spaziali, geometriche e sull’eventuale inte-grazione con gli Shapefile.

sinonimo spesso usato è "prototipo"

3Con tool in questa circostanza sono intesi sia database ma anche programmi o librerie di vario genere

(45)

Oracle DB Spatial MongoDB RethinkDB Geo Couch Open Source X X X BI X X X X Point X X X X Line X X X X Multilinee X X X X Poligoni X X X X Collezioni X X X MBR X SRID X (WGS84) (WGS84) (GCS) (WGS84) Intersect sdo_intersection $geoIntersects get_intersecting,

get_intersecting $geoIntersects Union sdo_union

Difference sdo_difference polygon_sub

XOR sdo_xor

Centroid sdo_centroid $center $center

Distance sdo_within_distance $geoWithin,$box distance $geoWithin,$box Distance from Object sdo_nn $near, $nearSphere, $maxDistance, $minDistance get_nearest $near, $nearSphere $maxDistance, $minDistance relation inside, contains, coveredby, on_cover, touch, overlap, equal, anyinteract join, disjoin include TURF X X X Shapefile X X

(46)

H2Gis Redis Neo4j PostGIS Open Source X X X X BI X X X X Point X X X Line X X X Multilinee X X X Poligoni X X X Collezioni X X MBR X

SRID ALL ALL

Intersect ST_Intersection sinter spatial.intersects ST_Intersect

Union ST_Union unionAll ST_Union

Difference ST_Difference, ST_SymDifference ST_Difference,

ST_SymDiffference XOR

Centroid toCentroid ST_Centroid

Distance ST_Dwithin,

ST_MaxDistance geodist spatial.withinDistance ST_Distance Distance from Object ST_ClosestCoordinate, ST_ClosestPoint, ST_FurthestCoordinate spatial.closest ST_Dwithin relation ST_Contains, ST_Covers, ST_Crosses, ST_Disjoint, ST_Equals, ST_Intersects, ST_Overlaps, ST_Touches, ST_Within geoadd, geodist, geohash, geopos, georadius, georadiusbymember Contain, Cover, Covered, Cross, Disjoint, Intersect, Intersect, Overlap, Touch, Within, Within Distance, ST_Within, ST_Containt, ST_Disjon, ST_Covers, ST_Equals, ST_Touches TURF X Shapefile X X X

Tabella 2.2: Benchmark tra Database Spaziali (Parte 2)

Le precedenti due tabelle raccolgono ed esplicitano le caratteristiche sa-lienti dei database spaziali. Anche se è stato premesso che la richiesta del committente fosse rivolta alla scelta di una tecnologia open, è stato inclusa in questa cernita anche Oracle DB Spatial perché dalla letteratura, essendo considerato uno dei più completi, può essere usato come metro di paragone con gli altri.

Vediamo ora in cosa differiscono i vari database:

• Oracle DB Spatial:4 è parte del DBMS Oracle con licenza separata.

Viene usato per gestire dati geografici e di localizzazione in manie-4https://www.oracle.com/database/

(47)

ra nativa all’interno del database Oracle, potenzialmente supportando un’ampia gamma di applicazioni come i Sistemi Informativi Geografici (GIS). Come già accennato è il più completo tra i database spaziali. Supporta tutte le features spaziali tipici come, Linea, Poligono, Punto oltre che tutti i formati di proiezione del dato. Presenta una vasta im-plementazioni delle funzioni geometriche disponibili. Inoltre permette l’interazione con ShapeFile.

• MongoDB:5 è un DBMS non relazionale, orientato ai documenti.

Classificato come un database di tipo NoSQL, MongoDB si allontana dalla struttura tradizionale basata su tabelle dei database relazionali in favore di documenti in stile JSON con schema dinamico. Supporta tutte le caratteristiche spaziali principali fatta eccezione per gli MBR. Tra gli SRID disponibili comprende solo i (WGS84) e pecca per il numero di geometrie offerte.

• RethinkDB:6 è un database open source e gratuito creato dalla

com-pagnia che porta il suo stesso nome. Il database memorizza i docu-menti JSON con schemi dinamici. Non permette l’integrazione degli Shapefile e anche in questo caso offre poche funzioni geometriche. • Geo Couch: 7 è un database NoSQL che utilizza JSON per

me-morizzare i dati, JavaScript come linguaggio di interrogazione e che utilizza MapReduce e HTTP come API. E’ l’estensione di CouchDB ed è stato distribuito per la prima volta nel 2005 ed è successivamen-te diventato un progetto Apache nel 2008. Offre soprattutto funzioni legate alla vicinanza e la distanza da essa. Anche in questo caso non è supportata l’integrazione con gli shapefile.

• H2Gis:8 o più semplicemente H2 è un gestore di basi di dati

relazio-nale scritto in linguaggio Java con tecnologia In memory. Può essere incapsulato in applicazioni java o eseguito in modalità client-server. G2Gis è un estensione spaziale del database H2. Supporta tutte le

5https://www.mongodb.com/ 6https://rethinkdb.com/

7https://gdal.org/drivers/vector/couchdb.html 8http://www.h2gis.org/

(48)

principali features presenti anche in Oracle con annessa integrazione agli shapefile. Può essere considerato una valida opzione.

• Redis:9 è un è un archivio di strutture di dati in memoria open

source (con licenza BSD), utilizzato come database, cache e broker di messaggi. Supporta strutture di dati come stringhe, hash, elenchi, set, set ordinati con query di intervallo, bitmap, hyperloglog, indici geospaziali con query di raggio e flussi. Non supporta l’integrazione con gli Shapefile.

• Neo4j Spatial è una libreria di Neo4j10 che facilita l’abilitazione

di operazioni spaziali sui dati. In particolare, permette l’aggiunta di indici spaziali ai dati già localizzati e l’esecuzione di operazioni spaziali su di essi come la ricerca di punti in aree di interesse o entro una certa distanza da un punto di interesse. Inoltre vengono fornite classi per esporre i dati a tool come GeoTools11 e GeoServer12.

• PostGIS rappresenta l’estensione spaziale per il database Postgre-SQL distribuito con licenza GPL. Fornisce i tipi di dati specificati negli standard dell’Open Geospatial Consortium 13.

Avendo avuto modo di testare e prendere visione di come questi database si comportassero, si è scelto di optare per PostGIS per due motivazioni principali. La prima perché open, ma a dispetto degli altri, la sua diffusione è stato un fattore incentivante anche in previsione di problemi. Cosa non

9https://redis.io/

10Neo4j è un database basato sui grafi. E’ open-source ed è sviluppato in Java. Può essere utilizzato sia in stand-alone sia integrabile con altre applicazioni. La sua peculia-rità riguarda l’immagazzinamento dei dati in cartelle. Per maggiori informazioni si può consultare https://neo4j.com/

11GeoTools è una libreria scritta in Java. Permette la lettura, la manipolazioni e l’analisi dei dati. E’ distribuita con licenza LGPL. Per info consultare https://geotools.org/

12GeoServer è un server open source per la condivisione di dati geospaziali scritto in Java. E’ interoperabile e pubblica i dati da tutte le principali fonti di dati spaziali (OpenLayers, Google Maps, Bing Maps o anche Google Earth, NASA World Wind) utilizzando standard aperti. Per maggiori dettagli http://geoserver.org/

13L’Open Geospatial Consortium (OGC) è un consorzio che comprende più di 530 im-prese, agenzie governative e organizzazioni di ricerca. Ha lo scopo di rendere liberi i dati e i servizi geospaziali.

(49)

da poco, supporta tutte le principali funzioni presenti anche in Oracle, che ne ha sancito la scelta.

Quanto fatto lato Server, è stato anche realizzato per il front-end. La sele-zione non è stata rivolta al tipo di linguaggio di programmasele-zione per l’imple-mentazione ma al tipo di mappa da utilizzare e all’eventuale integrazione con Turf.js14, oltre che con altri software potenzialmente utilizzabili (Power

BI, Tableau).

Leaflet MapBox MapNik OpenLayer

Open Source YES NO YES YES

Spatial Features

Point YES YES YES YES

Line YES YES YES YES

Multiline YES YES YES YES

Poligon YES YES YES YES

GeoJson YES YES YES YES

TURF YES YES NO YES

Include Shapefile YES YES YES YES

Maps Features

Heatmap YES YES ? YES

Cluster YES YES ? YES

Markers YES YES YES YES

Tabella 2.3: Benchmark tra Mappe

Come è possibile osservare dalla tabella, tutte sembrano offrire le mede-sime soluzioni, ma la scelta si è incentrata tra Leaflet.js e OpenLayers, principalmente perché MapBox (fornitore di mappe online americano), of-fre una soluzione parzialmente open-source15, mentre MapNik (toolkit di

mapping basato su utilizzo Desktop e Server) pecca principalmente, ad og-14libreria per l’analisi geospaziale su client

15Esiste sia una versione open, sia una versione Enterprise. Tuttavia quella open è limitata al numero di utilizzi offerti. Infatti dopo un certo numero utilizzi, diventa a pagamento.

Figura

Figura 1.1: Esempio di report che identifica fatti e dimensioni mentre le istanze della dimensione sono le tuple appartenenti ad ognuno di esso ("Packing", "Pens", etc.)
Figura 1.2: Un esempio di Start Schema per gli ordini
Figura 1.3: Inmon’s Corporate Data warehouse Architecture
Figura 1.4: Kimball’s Dimensional Data warehouse Architecture
+7

Riferimenti

Documenti correlati

Overall, the respondents considered the presence of adverse events, duration of treatment effect, reduction of symptom intensity, speed of effect and cost born by the patient as

• Allerta basata sulla predizione ai nodi della rete dell’impatto in termini di PGA (PGV,IMM). • SI localizzazione,

Queste tipologie di attributi temporali sono applicabili sempre e a tutti i tipi di oggetto spazio- temporale; per particolari tipologie di oggetti si possono

In questo caso, si può annullare un atto di vendita perché una delle due parti è stata costretta a sottoscriverlo: la conclusione del contratto, infatti, deve essere libera

Lo schema seguente mostra il processo decisionale che porta alla scelta della politica manutentiva più opportuna, tra quella a guasto, preventiva programmata e

Nella prima fase di progetto il team si è focalizzato sullo studio della situazione AS IS, sia per avere una visione di quali fossero gli strumenti di reportistica utilizzati

Risposte senza giustificazione non saranno ritenute valide. Prova scritta di Analisi Matematica 1

Spiegare perche’ si puo’ affermare che la funzione ammette massimo e minimo assoluti e