Die IT-Landschaft von Supply Chains ist fast immer komplex. Tatsächlich umfassen Supply Chains aufgrund ihrer Natur mehrere Akteure, mehrere Standorte, mehrere Systeme usw. Daher ist es eine Herausforderung, datengetriebene Erkenntnisse in Supply Chains zu gewinnen, aufgrund der schieren Heterogenität der IT-Landschaft. Zu oft liefern Supply Chain-Analysen unsinnige Ergebnisse genau wegen der zugrunde liegenden Probleme mit “Müll rein, Müll raus”.

Bei Lokad haben wir nicht nur eine Methode entwickelt, die die IT-Landschaft und die darin vorhandenen Datensätze gründlich untersucht, sondern wir haben auch einige Technologien entwickelt, um die Untersuchungsoperationen selbst zu erleichtern. In diesem Beitrag erläutern wir einen Schritt unserer Untersuchungsmethodik, der auf der Shannon-Entropie basiert. Wir haben die Entropieanalyse erfolgreich für mehrere groß angelegte Supply Chain-Initiativen genutzt.

Unser Untersuchungsprozess beginnt damit, alle Datenbanktabellen zu überprüfen, die für die Supply Chain-Initiative relevant sind. Supply Chains sind komplex und daher spiegeln die IT-Systeme, die die Supply Chains betreiben, diese Komplexität wider. Darüber hinaus könnten sich die IT-Systeme über mehrere Jahrzehnte weiterentwickelt haben, und Schichten von Komplexität neigen dazu, diese Systeme zu übernehmen. Daher ist es nicht ungewöhnlich, Dutzende von Datenbanktabellen zu identifizieren, wobei jede Tabelle Dutzende von Spalten, d.h. Feldern in der Datenbankterminologie, hat.

Bei großen Supply Chains haben wir Situationen beobachtet, in denen die Gesamtzahl der unterschiedlichen Felder über 10.000 liegt. Durch die Nutzung der Entropieanalyse können wir sofort die Hälfte der Spalten aus dem Bild entfernen und somit den verbleibenden Arbeitsaufwand erheblich reduzieren.

Der Umgang mit so vielen Spalten ist eine große Aufgabe. Das Problem sind nicht die Datenverarbeitungsfähigkeiten: Mit Cloud Computing und angemessenem Datenspeicher ist es relativ einfach, Tausende von Spalten zu verarbeiten. Die eigentliche Herausforderung besteht darin, all diese Felder sinnvoll zu interpretieren. Als Faustregel schätzen wir, dass eine gut geschriebene Dokumentation eines Feldes etwa eine Seite in Anspruch nimmt, wenn interessante Anwendungsfälle und Randfälle abgedeckt sind. Ohne eine ordnungsgemäße Dokumentation der Daten gehen die Datensemantik verloren, und die Wahrscheinlichkeit ist sehr hoch, dass jede komplexe Analyse, die auf den Daten durchgeführt wird, unter massiven Problemen mit “Müll rein, Müll raus” leidet. Somit stehen wir bei 10.000 Feldern vor der Produktion eines 10.000-seitigen Handbuchs, was einen wirklich monumental Aufwand erfordert.

Dennoch haben wir festgestellt, dass diese großen IT-Systeme auch eine massive Menge an Ballast enthalten. Obwohl die Rohzahl der Felder sehr hoch erscheint, bedeutet dies in der Praxis nicht, dass jede Spalte im System sinnvolle Daten enthält. Im Extremfall kann die Spalte vollständig leer oder konstant sein und somit keinerlei Informationen enthalten. Einige Felder können sofort verworfen werden, weil sie tatsächlich leer sind. Wir haben jedoch festgestellt, dass vollständig leere Felder tatsächlich ziemlich selten sind. Manchmal stammt die einzige nicht konstante Information in der Spalte vom Tag, an dem das System eingeschaltet wurde; das Feld wurde danach nie wieder verwendet. Während wirklich leere Felder relativ selten sind, beobachten wir in der Regel, dass degenerierte Felder äußerst zahlreich sind. Diese Felder enthalten Spalten mit fast keinen Daten, weit unterhalb eines vernünftigen Schwellenwerts, um diese Daten für Produktionszwecke zu nutzen.

Zum Beispiel könnte eine Tabelle “PurchaseOrders” mit über einer Million Zeilen eine Spalte “Incoterms” enthalten, die nur in 100 Zeilen nicht leer ist; außerdem sind alle diese Zeilen älter als fünf Jahre, und 90 Zeilen enthalten den Eintrag “thisisatest”. In diesem Fall ist das Feld Incoterms eindeutig degeneriert, und es macht keinen Sinn, diese Daten zu interpretieren. Eine naive SQL-Filterung würde eine solche Spalte jedoch nicht als degeneriert identifizieren.

Daher wird ein Tool benötigt, um degenerierte Spalten zu identifizieren. Es stellt sich heraus, dass Shannon-Entropie ein ausgezeichneter Kandidat ist. Shannon-Entropie ist ein mathematisches Werkzeug zur Messung der Menge an Information, die in einer Nachricht enthalten ist. Die Entropie wird in Shannons gemessen, einer Maßeinheit, die einer Bit-Information ähnelt. Indem wir die Werte in der Spalte selbst als Nachricht behandeln, liefert uns die Shannon-Entropie ein Maß für die in der Spalte enthaltene Information, ausgedrückt in Shannons.

Während all dies sehr theoretisch klingen mag, ist es äußerst einfach, diese Erkenntnis in die Praxis umzusetzen. Alles, was erforderlich ist, ist die Verwendung des von Envision bereitgestellten entropy()-Aggregators. Das folgende kleine Skript veranschaulicht, wie wir Envision verwenden können, um die Entropieanalyse einer Tabelle mit 3 Feldern durchzuführen.

read "data.csv" as T[*]
show table "Liste der Entropien" mit
  entropy(T.Field1)
  entropy(T.Field2)
  entropy(T.Field3)

Jedes Feld, das mit einer Entropie von weniger als 0,1 verbunden ist, ist ein sehr guter Indikator für eine degenerierte Spalte. Wenn die Entropie kleiner als 0,01 ist, ist die Spalte garantiert degeneriert.

Unsere Erfahrung zeigt, dass eine anfängliche Filterung basierend auf Entropiemessungen zuverlässig zwischen einem Drittel und zwei Dritteln der anfänglichen Felder aus dem Interessensbereich ausschließt. Die Zeit- und Aufwandsersparnis ist sehr erheblich: Bei großen Supply-Chain-Projekten sprechen wir von eingesparten Mannjahren durch diese Analyse.

Wir haben unbeabsichtigt eine positive Nebenwirkung der Entropie-Filterung entdeckt: Sie verringert die IT-Ermüdung, die mit der (Wieder-)Entdeckung der IT-Systeme verbunden ist. Die Untersuchung eines degenerierten Feldes erweist sich typischerweise als anstrengende Aufgabe. Da das Feld nicht verwendet wird - manchmal nicht mehr verwendet wird - ist niemand ganz sicher, ob das Feld wirklich degeneriert ist oder ob das Feld eine wichtige, aber obskure Rolle in den Supply-Chain-Prozessen spielt. Aufgrund der Komplexität von Supply Chains gibt es häufig niemanden, der positiv bestätigen kann, dass ein bestimmtes Feld nicht verwendet wird. Die Entropie-Filterung eliminiert sofort die schlimmsten Übeltäter, die uns garantiert auf eine wilde Gänsejagd führen würden.