Big Data: questa buzzword è ormai diventata il simbolo della modernizzazione digitale. In realtà non si può sempre parlare di Big Data in senso letterale, ma si usa questo termine anche per sottolineare il valore dei dati. I Big Data sono archivi di informazioni con tre caratteristiche principali: la velocità con cui vengono generate, il conseguente volume del loro storico e, non ultimo, la varietà delle informazioni contenute. Ne deriva che, un semplice archivio storico di una piccola azienda non rientra a pieno titolo nella categoria Big Data. Al contrario però, quello che si può ottenere dalle informazioni in esso contenute può essere altrettanto importante. Le caratteristiche dei Big Data richiedono quindi strumenti specifici che permettano di lavorare con le informazioni: server di grande capienza, strutturati con software in grado di effettuare inserimenti ed interrogazioni con buone performance e algoritmi in grado di estrarre conoscenza da insiemi di dati così variabili e veloci. Alcuni nomi delle tecnologie adottate per i Big Data sono: Hadoop, Kafka, BigQuery, MongoDB e tanti altri.
Il valore dei dati
Che siano Big Data o no, l’obiettivo è di riuscire ad estrarre conoscenza da informazioni grezze, con un processo di analisi. Tipicamente mettiamo questa attività sotto il cappello di “Analytics”. Le attività di analisi dati sono fondamentali sui Big Data, poiché non è possibile fisicamente scorrere tutti i dati o elaborare statistiche con metodi ordinari. La cosa interessante è che possiamo sfruttare comunque le nuove tecnologie sviluppate per interpretare i Big Data, estraendo informazioni raffinate anche da altri archivi di tipo classico. Non solo: con le nuove tecnologie di analisi per i Big Data, possiamo far rientrare nel loop delle informazioni che normalmente non potremmo permetterci di utilizzare. Vedi per esempio gli archivi storici delle temperature, piuttosto che altri archivi più specifici come quelli relativi a trend di tecnologie, di moda, traffico ecc. Incrociando gli archivi, anche un semplice storico vendite può assumere un valore molto importante per una piccola azienda, ancora di più per le grandi compagnie.
La data preparation
Se con archivi di dimensioni ragionevoli, spesso non è necessario intervenire sui dati prima di analizzarli, con i Big Data, o comunque quando vogliamo incrociare più archivi di differente provenienza, dobbiamo preparare i nostri dati per poter procedere con le analisi. Spesso è necessario massaggiare le informazioni per estrarre dei parametri più semplici per gli algoritmi: per esempio aggregare i dati che riceviamo in maniera casuale, su base giornaliera, oppure oraria. Oppure mettere in scala alcuni valori che provengono da due archivi differenti per poterli controllare. O ancora eliminare eventuali valori errati o poco significativi. Altro caso è l’interpretazione di documenti non strutturati, ovvero file il cui contenuto non rispecchia una struttura preordinata: immagini, PDF, HTML, ecc. In questo caso vanno estratte le informazioni e messe in un database che possiamo dare in pasto ad un algoritmo di analisi. In generale verranno effettuate delle operazioni cosiddette di ETL (Extract, Transform and Load) per ottenere i dati in una forma che ci sia più utile.
La data exploration
L’analisi dei dati presuppone che abbiamo già capito come sono immagazzinate le informazioni, quali sono le relazioni tra i vari tipi di dato ed il loro significato. Quindi presumiamo che l’analisi riuscirà ad estrarre indicatori sui quali prendere decisioni ponderate: normalmente si parla di KPI (Key Performance Indicator) che possono rappresentare i valori ottenuti da diversi livelli di informazione, le cosiddette “dimensioni”. In realtà non sempre è così semplice: spesso dobbiamo prima verificare di quali dati disponiamo, della loro accuratezza e del loro significato e solo dopo potremo decidere quali analisi possiamo effettuare e quali KPI produrre. La fase di exploration è fondamentale, poiché ci permette di scoprire qual è la conoscenza presente nei dati grezzi che poi potremmo estrarre con le analisi. Normalmente sarà necessario mettere tutti i dati in un unico archivio, decidere quali relazioni sono presenti nelle informazioni fare della data preparation, dopodiché potremo procedere a navigare nei nostri dati e interpretarli. Per esempio, se abbiamo un archivio sulle vendite ed uno sugli acquisti, potremmo capire come metterli in relazione e prevedere l’approvvigionamento, magari integrando la decisione in base all’andamento del clima o alle festività. Oppure potremmo implementare un sistema di raccomandazioni in base alle categorie di prodotti venduti ed alle recensioni positive. In ogni caso dobbiamo prima esplorare come è possibile sfruttare il valore dei nostri dati e poi potremmo proseguire nell’analisi: le operazioni di data preparation ed exploration normalmente richiedono più tempo dell’analisi stessa.
Analytics
Questa parola è diventata sempre più simbolo della digital transformation, perché sottintende l’importanza di analizzare i dati e di prendere delle decisioni in base a questi. Con l’analisi dei dati, siamo in grado di interpretare le informazioni a nostra disposizione, scoprendone gli schemi e quindi cercando di ipotizzare cosa succederà nel futuro. Gli analytics sono un grande cappello sotto il quale ci sono diverse tecnologie di analisi a vantaggio del business: dalla statistica, fino al Machine Learning. Fare analytics significa prendere i dati che abbiamo preparato, utilizzare le relazioni tra i dati che abbiamo compreso nella fase di data exploration e quindi applicare dei calcoli per estrarre l’informazione raffinata che ci permette di prendere le decisioni.
Data visualization
Non sempre è facile interpretare una serie di dati in forma numerica e organizzata in maniera tabellare. Per questo motivo la Business Intelligence, ovvero quell’insieme di strategie per guidare il business di un’azienda, deve necessariamente appoggiarsi a degli strumenti di data visualization. Poter visualizzare su un grafico gli andamenti e magari anche delle previsioni di un certo KPI, ci permette di prendere delle decisioni molto più facilmente che scorrendo una serie di numeri. Senza contare che alcuni schemi sono riconoscibili solo rappresentando visivamente l’informazione. Inoltre, la visualizzazione dei dati permette la presentazione di un progetto e quindi la condivisione e la fase di approvazione delle decisioni nel caso ci siano più parti coinvolte nella scelta della strategia di business.
Cosa abbiamo fatto con Esplores
Quando abbiamo avviato il progetto Esplores, l’idea guida è stata quella di realizzare un tool completo a disposizione di analisti e data scientist, per i quali gli step che ho appena descritto sono una sfida quotidiana, un tool che permettesse loro di velocizzare al massimo quelle che sono le fasi preordinate agli analytics veri e propri, liberando tempo per dedicarsi agli analytics veri e propri, per i quali abbiamo sviluppato funzioni avanzate che includesse anche elementi di compliance. Il tutto, cercando di semplificare determinati passaggi così da renderli gestibili anche da personale non esperto (vista la carenza di competenze digitali). Oggi abbiamo un prodotto in grado di interfacciarsi a una moltitudine di sorgenti dati e di tecnologie di database semplicemente inserendo i parametri di connessione, così si è pronti in pochi minuti a leggere gli archivi dati, sia che si trovino sul nostro PC, sul database aziendale, su quello di un fornitore, o nel cloud, anche nel caso di dati in streaming. Grazie poi al query builder automatico, siamo in grado di navigare tra le diverse sorgenti dati senza scrivere comandi complicati o richiedere un’estrazione dati da parte di personale IT specializzato, risparmiando tempo nella fase di data preparation. Tra le feature avanzate di esplorazione, siamo molto orgogliosi del join recommender, che permette di scoprire eventuali relazioni tra archivi database scollegati, e l’interaction model engine, che ci da piena libertà di collegare i dati senza doverli riversare in un unico database, semplicemente dichiarandone la relazione nello strumento e non toccando la configurazione della sorgente dati. La data preparation è ridotta ulteriormente, grazie alla possibilità di accedere anche a file disco, come CSV o XML ed eseguire direttamente nell’interfaccia i calcoli ed i filtri solitamente eseguiti durante un ETL. Ci sono molte altre feature di cui siamo orgogliosi in Esplores: la funzione Data Hub, che permette di generare una tabella riassuntiva di tutti i nostri archivi per poter rilevare degli schemi nei dati senza impattare direttamente sulle sorgenti dati, riducendo i tempi ed aumentando le performance degli strumenti già a nostra disposizione; un algoritmo in grado di rilevare il dominio di un campo dati ci permette di decidere con alta confidenza quali sono i dati sensibili in un database e possiamo anche mascherarli per permettere all’analista di lavorare su dati statisticamente corretti, ma senza violare le leggi sul GDPR; in relazione al GDPR, è anche possibile navigare i dati mascherandoli on the fly, senza dover intervenire sulla fonte dati, impegnando personale IT e appesantendo i server; eseguiamo attività di text mining direttamente dall’interfaccia su documenti non strutturati; è anche possibile eseguire programmi personalizzati da Esplores, passare al processo esterno tutti i dati calcolati e filtrati e rivedere i risultati su un dashboard o in una tabella caricata da file disco. Infine, le funzioni di data visualization a supporto dell’analista sono tantissime, performanti e semplici da utilizzare anche per il personale non specializzato.
Machine learning e semplicità d’uso
Lo sviluppo di Esplores, da ‘tecnico’ che sono, è stata una grande sfida, molto coinvolgente per tutto il nostro team. Ci siamo resi conto del potenziale straordinario del Machine Learning, tecnologia di cui siamo tutti consapevoli in astratto, ma che va poi applicata a casi d’uso concreti. Le feature di Esplores basate su Machine Learning permettono di concentrarsi sulle analisi e sugli algoritmi, visualizzando i risultati delle nostre interpretazioni con pochi clic e quindi chiudendo facilmente il giro che parte dai dati grezzi per arrivare alla loro comprensione. E ci siamo resi conto che la semplicità d’uso nello sviluppo di nuovi applicativi deve essere sempre il principio ispiratore, perché le aziende oggi sono tutte investite dalla trasformazione digitale e devono rafforzare la loro componente tecnologica, ma questo non significa che debbano e che possano diventare delle nuove tech company, rafforzando la presenza di tecnici iper specializzati nelle risorse umane. Marco Abiuso, CTO – R&D di Esplores
© RIPRODUZIONE RISERVATA