Il panorama IT delle supply chain è quasi sempre complesso. Infatti, per natura, le supply chain coinvolgono attori multipli, siti multipli, sistemi multipli, ecc. Di conseguenza, costruire intuizioni basate sui dati nelle supply chain è una sfida a causa dell’eterogeneità del panorama IT. Troppo spesso, le analisi delle supply chain forniscono risultati senza senso proprio a causa dei problemi di garbage in, garbage out sottostanti.

Da Lokad, non solo abbiamo sviluppato una pratica che esamina attentamente il panorama IT e i dataset che lo abitano, ma abbiamo anche creato alcuni strumenti tecnologici per facilitare le operazioni di esame stesse. In questo post, dettagliamo uno dei passaggi della nostra metodologia di esame, che si basa sull’entropia di Shannon. Abbiamo utilizzato con successo l’analisi dell’entropia per diverse iniziative di supply chain su larga scala.

Il nostro processo di esame inizia con la revisione di tutte le tabelle del database che sono ritenute rilevanti per l’iniziativa della supply chain. Le supply chain sono complesse e, di conseguenza, i sistemi IT che gestiscono le supply chain riflettono questa complessità. Inoltre, i sistemi IT potrebbero essere evoluti per diverse decadi e strati di complessità tendono a sovrapporsi a tali sistemi. Di conseguenza, non è raro identificare decine di tabelle del database, con ciascuna tabella che ha decine di colonne, cioè campi nella terminologia del database.

Per le grandi supply chain, abbiamo osservato situazioni in cui il numero totale di campi distinti supera i 10.000. Sfruttando l’analisi dell’entropia, siamo in grado di rimuovere immediatamente la metà delle colonne dall’immagine e di conseguenza ridurre significativamente la quantità di lavoro rimanente.

Affrontare così tante colonne è un’impresa importante. Il problema non sono le capacità di elaborazione dei dati: con il cloud computing e uno spazio di archiviazione dati adeguato, è relativamente semplice elaborare migliaia di colonne. La vera sfida è dare un senso a tutti quei campi. Come regola generale, stimiamo che la documentazione ben scritta di un campo richieda circa una pagina, quando vengono coperti casi d’uso interessanti e casi limite. Senza una documentazione adeguata dei dati, la semantica dei dati viene persa e le probabilità che qualsiasi analisi complessa eseguita sui dati soffra di enormi problemi di garbage in garbage out sono molto alte. Pertanto, con 10.000 campi, ci troviamo di fronte alla produzione di un manuale di 10.000 pagine, che richiede uno sforzo davvero monumentale.

Tuttavia, abbiamo osservato che questi grandi sistemi IT portano anche un’enorme quantità di peso morto. Sebbene il numero totale di campi sembri molto elevato, nella pratica ciò non significa che ogni colonna trovata nel sistema contenga dati significativi. All’estremo, la colonna potrebbe essere completamente vuota o costante e, quindi, non contenere alcuna informazione. Alcuni campi possono essere immediatamente scartati perché sono veramente vuoti. Tuttavia, abbiamo osservato che i campi completamente vuoti sono effettivamente piuttosto rari. A volte, l’unica informazione non costante nella colonna risale al giorno in cui il sistema è stato acceso; il campo non è mai stato riutilizzato successivamente. Sebbene i campi veramente vuoti siano relativamente rari, di solito osserviamo che i campi degeneri sono estremamente numerosi. Questi campi contengono colonne con quasi nessun dato, ben al di sotto di qualsiasi soglia ragionevole per sfruttare questi dati per scopi produttivi.

Ad esempio, una tabella PurchaseOrders contenente oltre un milione di righe potrebbe avere una colonna Incoterms non vuota solo in 100 righe; inoltre, tutte queste righe sono più vecchie di cinque anni e 90 righe contengono l’ingresso thisisatest. In questo caso, il campo Incoterms è chiaramente degenere e non ha senso cercare di dare un senso a questi dati. Tuttavia, un filtro SQL ingenuo non riuscirà a identificare una colonna del genere come degenere.

Pertanto, è necessario uno strumento per identificare le colonne degeneri. Si scopre che l’entropia di Shannon è un candidato eccellente. L’entropia di Shannon è uno strumento matematico per misurare la quantità di informazione contenuta in un messaggio. L’entropia è misurata in Shannons, che è un’unità di misura simile ai bit di informazione. Trattando i valori trovati nella colonna stessa come il messaggio, l’entropia di Shannon ci fornisce una misura dell’informazione contenuta nella colonna espressa in Shannons.

Sebbene tutto ciò possa sembrare molto teorico, mettere in pratica questa intuizione è estremamente semplice. Tutto ciò che serve è utilizzare l’aggregatore entropy() fornito da Envision. Lo script di esempio qui sotto illustra come possiamo utilizzare Envision per produrre l’analisi dell’entropia di una tabella con 3 campi.

read "data.csv" as T[*]
show table "Elenco delle entropie" with
  entropy(T.Field1)
  entropy(T.Field2)
  entropy(T.Field3)

Qualsiasi campo associato a un’entropia inferiore a 0,1 è un ottimo indicatore di una colonna degenere. Se l’entropia è inferiore a 0,01, la colonna è garantita essere degenere.

La nostra esperienza indica che effettuare un filtraggio iniziale basato sulle misurazioni di entropia elimina in modo affidabile tra un terzo e due terzi dei campi iniziali dal campo di interesse. I risparmi in termini di tempo e sforzi sono molto consistenti: per grandi progetti di supply chain, stiamo parlando di anni-uomo che vengono risparmiati attraverso questa analisi.

Abbiamo scoperto involontariamente un effetto collaterale positivo del filtraggio dell’entropia: riduce la fatica informatica associata alla (ri)scoperta dei sistemi informatici. Infatti, investigare un campo degenere si rivela tipicamente un compito estenuante. Poiché il campo non viene utilizzato - a volte non viene più utilizzato - nessuno è sicuro se il campo sia veramente degenere o se il campo svolga un ruolo critico, ma oscuro, nei processi di supply chain. A causa delle complessità delle supply chain, spesso non c’è nessuno che possa affermare positivamente che un determinato campo non viene utilizzato. Il filtraggio dell’entropia elimina immediatamente i peggiori colpevoli che sono garantiti a condurci in un inseguimento selvaggio.