El panorama de TI de las cadenas de suministro casi siempre es complejo. De hecho, por naturaleza, las cadenas de suministro involucran múltiples actores, múltiples sitios, múltiples sistemas, etc. Como resultado, construir conocimientos basados en datos en las cadenas de suministro es un desafío debido a la pura heterogeneidad del panorama de TI. Con demasiada frecuencia, los análisis de la cadena de suministro entregan resultados sin sentido precisamente debido a problemas subyacentes de basura de entrada, basura de salida.

En Lokad, no solo hemos desarrollado una práctica que examina a fondo el panorama de TI y los conjuntos de datos que lo habitan, sino que también hemos creado algunas herramientas tecnológicas para facilitar las propias operaciones de examen. En esta publicación, detallamos un paso de nuestra metodología de examen, que se basa en la entropía de Shannon. Hemos utilizado con éxito el análisis de entropía en varias iniciativas de cadena de suministro a gran escala.

Nuestro proceso de examen comienza revisando todas las tablas de la base de datos que se consideran relevantes para la iniciativa de la cadena de suministro. Las cadenas de suministro son complejas y, en consecuencia, los sistemas de TI que operan las cadenas de suministro reflejan esta complejidad. Además, los sistemas de TI pueden haber estado evolucionando durante varias décadas, y las capas de complejidad tienden a apoderarse de esos sistemas. Como resultado, no es raro identificar docenas de tablas de bases de datos, y cada tabla tiene docenas de columnas, es decir, campos en la terminología de bases de datos.

Para cadenas de suministro grandes, hemos observado situaciones en las que el número total de campos distintos supera los 10,000. Al aprovechar el análisis de entropía, podemos eliminar la mitad de las columnas de inmediato y, en consecuencia, reducir significativamente la cantidad de trabajo restante.

Lidiar con tantas columnas es una tarea importante. El problema no son las capacidades de procesamiento de datos: con cloud computing y un almacenamiento de datos adecuado, es relativamente sencillo procesar miles de columnas. El verdadero desafío es dar sentido a todos esos campos. Como regla general, estimamos que la documentación bien escrita de un campo ocupa aproximadamente una página, cuando se cubren casos de uso interesantes y casos límite. Sin una documentación adecuada de los datos, se pierde la semántica de los datos, y las probabilidades de que cualquier análisis complejo realizado en los datos sufra de graves dolores de cabeza de basura de entrada, basura de salida son muy altas. Por lo tanto, con 10,000 campos, nos enfrentamos a la producción de un manual de 10,000 páginas, lo que requiere un esfuerzo realmente monumental.

Sin embargo, hemos observado que esos grandes sistemas de TI también llevan una cantidad masiva de peso muerto. Si bien el número total de campos parece ser muy alto, en la práctica, no significa que cada columna encontrada en el sistema contenga datos significativos. En el extremo, la columna podría estar completamente vacía o ser constante y, por lo tanto, no contener ninguna información en absoluto. Algunos campos se pueden descartar de inmediato porque están realmente vacíos. Sin embargo, hemos observado que los campos completamente vacíos son realmente raros. A veces, la única información no constante en la columna data del día en que se encendió el sistema; el campo nunca se reutilizó después. Si bien los campos realmente vacíos son relativamente raros, generalmente observamos que los campos degenerados son extremadamente numerosos. Estos campos contienen columnas con casi ningún dato, muy por debajo de cualquier umbral razonable para aprovechar estos datos con fines de producción.

Por ejemplo, una tabla PurchaseOrders que contiene más de un millón de filas podría tener una columna Incoterms que no está vacía en solo 100 filas; además, todas esas filas tienen más de cinco años y 90 filas contienen la entrada thisisatest. En este caso, el campo Incoterms es claramente degenerado, y no tiene sentido intentar darle sentido a estos datos. Sin embargo, un filtro SQL ingenuo no identificará esa columna como degenerada.

Por lo tanto, se necesita una herramienta para identificar columnas degeneradas. Resulta que la entropía de Shannon es un candidato excelente. La entropía de Shannon es una herramienta matemática para medir la cantidad de información que se encuentra en un mensaje. La entropía se mide en Shannons, que es una unidad de medida algo similar a los bits de información. Al tratar los valores encontrados en la columna misma como el mensaje, la entropía de Shannon nos brinda una medida de la información contenida en la columna expresada en Shannons.

Si bien todo esto puede sonar muy teórico, poner esta idea en práctica es extremadamente sencillo. Todo lo que se necesita es utilizar el agregador entropy() proporcionado por Envision. El pequeño script a continuación ilustra cómo podemos usar Envision para producir el análisis de entropía de una tabla con 3 campos.

read "data.csv" as T[*]
show table "Lista de entropías" with
  entropy(T.Campo1)
  entropy(T.Campo2)
  entropy(T.Campo3)

Cualquier campo asociado a una entropía menor que 0.1 es un muy buen indicador de una columna degenerada. Si la entropía es menor que 0.01, la columna está garantizada a ser degenerada.

Nuestra experiencia indica que realizar un filtrado inicial basado en medidas de entropía elimina de manera confiable entre un tercio y dos tercios de los campos iniciales del alcance de interés. Los ahorros en tiempo y esfuerzo son muy sustanciales: para proyectos de cadena de suministro grandes, estamos hablando de años-hombre que se ahorran a través de este análisis.

Descubrimos involuntariamente un efecto secundario positivo del filtrado de entropía: reduce la fatiga de TI asociada con el (re)descubrimiento de los sistemas de TI. De hecho, investigar un campo degenerado suele resultar una tarea agotadora. Como el campo no se utiliza, a veces ya no se utiliza, nadie está seguro de si el campo es verdaderamente degenerado o si el campo desempeña un papel crítico pero oscuro en los procesos de la cadena de suministro. Debido a las complejidades de las cadenas de suministro, a menudo no hay nadie que pueda afirmar positivamente que un campo determinado no se utiliza. El filtrado de entropía elimina de inmediato a los peores infractores que están garantizados a llevarnos a una búsqueda infructuosa.