Quando un’azienda cresce, oltre ai suoi profitti e ai beni immobili, aumenta anche la sua fame di dati. I processi aziendali vengono scandagliati per mettere in luce know how e KPI guida, ed è proprio durante questa caccia al tesoro che spesso ci si rende conto di quanto le informazioni in proprio possesso non siano sufficienti allo scopo.
Le sorgenti che prima alimentavano in maniera soddisfacente report e cruscotti BI, all’improvviso sembrano offrire insight poco significativi sulle decisioni da prendere per raggiungere obiettivi trimestrali sempre più ambiziosi. Questa situazione porta le aziende a interrogarsi sulla necessità di implementare una Big Data Strategy, ossia un piano completo che delinei il modo in cui l’organizzazione possa approcciare la gestione di grandi volumi di dati al fine di raggiungere i propri scopi di crescita.
L’infrastruttura per i dati
Una Big Data strategy richiede la gestione di set di dati complessi, come record di transazioni, interazioni sui social media, dati di sensori e registri di siti web.
Occorre pianificare l’implementazione di una pipeline di estrazione, aggregazione e trasformazione dei dati partendo da sorgenti e tipologie di informazioni molto diverse tra loro. Per raggiungere questo scopo, di fondamentale importanza è la scelta di un’infrastruttura che soddisfi requisiti di integrazione e fruibilità. Una strategia vincente è quella di abbinare un Data Lake a una Data Warehouse, in modo da dare alla propria pipeline sia la capacità di integrare dati destrutturati e diversi tra loro, ma anche di renderli fruibili a software di Business Intelligence e reportistica aziendale tramite API semplici e sicure.
Data Lake e Data Warehouse
Questi due strumenti sono simili, ma presentano delle importanti differenze. Un Data Lake acquisisce dati sia relazionali che non relazionali da una varietà di fonti (applicazioni aziendali, app mobili, dispositivi IoT, social media o streaming), e non ha bisogno di definire la struttura o schema dei dati, almeno fino a quando una API non richieda la fruizione di un contenuto. È uno strumento di gestione dati flessibile e che si presta ottimamente a essere utilizzato in applicazioni moderne e performanti. Un Data Warehouse, invece, è di natura relazionale e presenta uno schema modellato in base ai requisiti richiesti dal Data Scientist per impiegare i dataset nelle sue presentazioni di Business Intelligence.
Data scientist o sviluppatore?
Impegnativo definire il miglior approccio ETL (Extract, Transform, Load) ai dati. Un data scientist solitamente lavora con strumenti mainstream, consolidati ma meno flessibili, mentre il team di sviluppatori preferirebbe puntare su un framework totalmente custom, per un risultato finale più impegnativo in termini di effort tecnico, ma tagliato su misura sulle nostre esigenze.
La scelta vincente consiste nell’evitare di alzare un muro tra questi due mondi, ma favorire sinergia e comunicazione tra il team di sviluppo e il data scientist, entrambe figure chiave per il benessere dei propri dati. Infatti, “Data is king”, ma senza una logica di business appropriata regnare diventa complicato.
Un buon soft landing potrebbe essere costituito da un software flessibile come Python, ricco di librerie potenti per l’elaborazione, ma anche di strumenti dedicati al layer di presentation capaci di dare soddisfazione agli statistici più esigenti.
Pensiamo ad esempio a uno dei tool più utilizzati in Python per l’analisi dati: il Notebook Jupiter. Semplice da installare e configurare, disponibile sia come soluzione cloud sia on premise, è uno spazio di collaborazione ideale tra data scientist e sviluppatore, dove queste due figure possono davvero comunicare e creare entusiasmanti sinergie.
Quali librerie software?
L’universo della Data Science è ricco di librerie dedicate alla gestione dei dati e alla loro presentazione. Alcune librerie sono scelte obbligate per il neofita, sia per la morbidezza della curva di apprendimento, sia per l’abbondanza di documentazione disponibile nella variegata community. Una delle librerie più famose è Pandas, uno strumento di analisi e manipolazione dei dati open source veloce, potente, e flessibile da usare. Se ogni programmatore che abbia operato nel mondo della Data Science ha scritto almeno una volta nel proprio codice la linea “Import Pandas as PD” (una tipica sintassi Python che apre i listati con l’inclusione delle librerie che verranno poi richiamate nella restante logica), meno ovvia è la scelta di migrare in un secondo tempo a una libreria più performante, come ad esempio Polaris. Occorre considerare attentamente il rapporto tra i benefici delle maggiori prestazioni nella gestione di grandi volumi di dati con la curva di apprendimento e l’effort richiesto dalla conversione di pipeline magari già consolidate nel tempo.
Il confine tra BI e Machine Learning
L’evoluzione del cloud e della ricerca sull’intelligenza artificiale ha fatto sì che oggi anche una PMI abbia accesso a strumenti di forecasting considerabili fantascientifici fino a un decennio fa. La spontaneità con cui un framework nato per fare Business Intelligence possa aprirsi ad integrare soluzioni di Machine Learning, è un grande valore aggiunto per la propria strategia dati aziendale. Il passo da Pandas a PyTorch o a Tensor può sembrare molto impegnativo, ma in realtà è più breve di quanto ci si possa immaginare, soprattutto se il proprio business ha caratteristiche che possano beneficiare delle capacità previsionali di una soluzione di Machine Learning. Scrivendo il piano iniziale della propria strategia Big Data, un CIO non dovrebbe precludere nulla e lasciare una porta aperta anche a questo mondo, che ormai è sempre più compenetrato nei framework BI.