La plataforma Lokad

Si bien una iniciativa de Quantitative Supply Chain (cadena de suministro cuantitativa) puede ejecutarse en cualquier plataforma que cuente con un lenguaje de programación, la plataforma Lokad ha sido diseñada específicamente para este tipo de iniciativas. Lokad es una plataforma dedicada al diseño y la implementación de aplicaciones a medida para la optimización predictiva de la cadena de suministro. Comparada con otras herramientas de desarrollo genéricas, Lokad ofrece mayor productividad, fiabilidad, mantenibilidad, seguridad y, por último, aunque no por eso menos importante, mejor rendimiento de la cadena de suministro.

ingeniero construye una flecha con bloques


En el centro de Lokad yace Envision, un lenguaje de programación específico de dominio (DSL). Este lenguaje está pensado para expertos de la cadena de suministro, no para ingenieros de software. Nuestro objetivo principal es poner la optimización de la cadena de suministro en las manos de aquellos que tienen conocimiento experto directo del tema. Al hacerlo, Lokad elimina capas de intermediarios entre empresas y TI y disminuye de esta manera el riesgo de las iniciativas de cadena de suministro.

A través de Envision, superamos ampliamente las capacidades de los APS (sistemas de planificación avanzados), "avanzados" solo en el nombre, la BI (inteligencia de negocios) e incluso de los kits de herramientas de pronóstico especializadas. Por último, aunque no por eso menos importante, comparada con los lenguajes de programación genéricos —como Python— Lokad ofrece aplicaciones que son más seguras y mantenibles.


Más allá de las hojas de cálculo

Excel es la herramienta más utilizada en la cadena de suministro. En Lokad, reconocemos que Excel tiene muchas grandes cualidades: es simple, expresivo, visual y, lo más importante, permite tener los datos siempre bajo control. Excel ha logrado el éxito mundial que se merece. Con Envision, hemos trabajado arduamente para preservar todas esas excelentes cualidades de Excel.

Pero, cuando se trata de la cadena de suministro, Excel no es precisamente la mejor herramienta en analíticas. La gran fortaleza de Excel es también su mayor debilidad: la lógica de cálculo y los datos se enredan sistemáticamente y esto resulta una fuente inagotable de problemas en cuanto las hojas comienzan a aumentar de tamaño. No obstante, las hojas de Excel grandes son, en general, inevitables en la cadena de suministro, que típicamente incluye cientos o incluso miles de productos por empresa.

Lamentablemente, este enredo de lógica y datos no puede resolverse en Excel, porque solucionarlo iría en contra de lo que hace de Excel una herramienta tan eficiente. Por esa razón, en Lokad, decidimos diseñar Envision, una tecnología que preserva las valiosas propiedades de Excel en lo que a cadena de suministro se refiere, pero que también admite el escalado a cientos de millones de pedidos o SKU, si es necesario.

La realidad es que las hojas de cálculo en general (no solo Excel) no están pensadas para realizar cálculos especializados que son esenciales para la optimización de las cadenas de suministro. Por ejemplo, las hojas de cálculo no cuentan con (prácticamente) ninguna función para gestionar pronósticos probabilísticos. Esto hace que estén limitadas a una mentalidad impulsada por los promedios que resulta dañina para las cadenas de suministro. De modo similar, las hojas de cálculo no tienen (prácticamente) ninguna función para realizar una optimización limitada en circunstancias inciertas. Como consecuencia, incluso algunas de las limitaciones típicas, como las MOQ, acaban siendo resueltas manualmente por los encargados de la cadena de suministro.

Envision entrega construcciones especializadas —como un álgebra de variables aleatorias— que son esenciales para la optimización predictiva de las cadenas de suministro y que simplemente no están disponibles en las hojas de cálculo. Las aplicaciones desarrolladas con Envision son mucho más mantenibles que las hojas de cálculo, que no escalan bien cuando se tratan problemas complejos.

No solo observación: ejecución basada en los datos

Las soluciones de inteligencia de negocios (BI) generalmente se venden como el paso que sigue en analíticas de negocio después de Excel. Sin embargo, en los años de experiencia de Lokad, hemos llegado a la conclusión de que, cuando se trata de la cadena de suministro, la BI casi nunca logra materializar los beneficios esperados. El problema no yace en la calidad de las herramientas de inteligencia de negocios: el mercado de BI ha llegado a su madurez y existen algunas soluciones excelentes. En cambio, la dificultad yace en el hecho de que observar datos por el simple hecho de "obtener información estratégica" resulta demasiado costoso para las empresas que tienen miles de productos y miles de clientes.

En la cadena de suministro, las herramientas de BI no logran escalar no porque no puedan procesar todos los datos disponibles —a diferencia de Excel, las buenas herramientas de BI pueden procesar grandes cantidades de datos—, sino porque lo realmente difícil es elaborar pocos números relevantes por día que valga la pena leer y sobre los que valga la pena actuar (como hemos dicho anteriormente, elaborar millones de números por día es económico, pero poco útil). A pesar de sus fallas, Excel aporta esa capacidad de permitir "finalizar tareas", mientras que la BI no.

Para Envision, quisimos preservar esta capacidad de "finalizar tareas". El objetivo de Envision es realizar aplicaciones. Por ejemplo, Envision puede generar listas de acción priorizadas, como las siguientes:

  • Lista de principales artículos que deben almacenarse a bajo margen bruto para presionar a competidores.
  • Generación de las cantidades necesarias para llenar exactamente el próximo contenedor que debe pedirse.
  • Lista de los principales artículos que deben liquidarse para despejar el almacén.
  • Lista de principales artículos que los clientes devuelven constantemente y que deben retirarse del catálogo.

Las decisiones cuantitativas generadas por Envision pueden luego reimportarse automáticamente al ERP, o descargarse como hojas de cálculo. El alcance exacto de Envision en realidad depende de las prioridades establecidas para cada negocio.

Su empresa no podrá evitar la programabilidad

Envision es un lenguaje de programación. Para la mayoría de quienes no son desarrolladores de software, esto podrá parecer "mu" técnico; la mayoría de los ejecutivos de negocios, incluso en grandes empresas, se preguntan si su equipo podrá ser productivo con una herramienta tan avanzada. Nuestra experiencia nos dice que la cadena de suministro es irremediablemente compleja. Hemos visto a algunos proveedores prometer herramientas tan simples que"hasta un niño de nueve años podría utilizarla", para luego entregar resultados que "un niño de nueve años" hubiera podido entregar.

La cadena de suministro implica miles de productos y, a menudo, muchos más. Cada precio, cada nivel de stock, cada surtido debe ajustarse constantemente. No hay esperanza de lograr esto con un nivel satisfactorio de productividad sin automatizar todas esas tareas rutinarias. No obstante, la automatización por sí sola no es suficiente: debe ser una automatización inteligente que esté profundamente alineada con sus impulsores de negocio específicos. Y es la parte "programable" es la que permite lograr esta alineación.

Cada vez que alguien crea una fórmula compleja en una hoja de cálculo en alguna parte de su organización, esa persona está aprovechando la expresividad programática de la hoja de cálculo. Y es imposible deshacerse del descontrol de las hojas de cálculo si los equipos no tienen una mejor alternativa para introducir su conocimiento experto del dominio en los sistemas. Envision está precisamente pensado como una alternativa superior.

Más allá de Python

A pesar de la creciente popularidad de las iniciativas de Data Science (ciencia de datos), la dura realidad es que la gran mayoría de esas iniciativas no están a la altura de las expectativas: si bien los prototipos iniciales a menudo son prometedores, en general no logran llegar a la producción. En cambio, Envision ha sido desarrollado pensando en la producción de la cadena de suministro, para mitigar específicamente esos problemas en la mayor medida posible. Son dos las causas principales de esos fracasos. Desarrollar los pros y los contras de todas las alternativas a Envision resultaría bastante tedioso, por lo que, para ser claros, hablaremos de la decisión de elegir Python o Envision.

En primer lugar, Python requiere ingenieros de software. De hecho, Python, como cualquier lenguaje de programación completo, presenta muchas complejidades técnicas para quien escriba el código en este lenguaje. Esperar que el personal sea experto en ingeniería de cadena de suministro y también experto en ingeniería de software es demasiado. Las funcionalidades programáticas deben ser accesibles a un amplio espectro de personas con formación técnica, no solo a ingenieros de software profesionales.

En segundo lugar, los costos de mantenimiento de prototipos de Python realizados de modo apresurado aumentan de drásticamente. Los costos de mantenimiento deben mantenerse bajo control. Python está lejos de ser lean desde un punto de vista de hardware. Encontrar la solución a los problemas de optimización de la cadena de suministro es, de por sí, un proceso complejo: los datos de muchos sistemas (poco) fiables deben colocarse en un pipeline fiable; es preciso documentar y modelizar procesos imperfectos y cambiantes; las métricas de optimización deben reflejar una estrategia de negocio en un estado de flujo constante, etc. Python no ofrece, por diseño, casi ningún nivel de corrección para respaldar esos esfuerzos.

Envision es nuestra respuesta a esos desafíos. Este lenguaje se destaca en formas que Python jamás podría, por ejemplo:

  • Defensa en profundidad, evitando categorías enteras de problemas de seguridad que surgen cuando se utiliza un lenguaje de programación genérico.
  • Rendimiento transparente, evitando que se escriban programas que resultarían muy lentos en la producción.
  • Actualización transparente. Siendo igual de complejas que un blanco móvil, las actualizaciones deberían deberían entregarse automáticamente, en general a través de reescrituras de código de fondo.
  • Stack empaquetado, en el que se elimina la carga de ensamblar docenas de piezas de software, incluso en el caso de la aplicación más simple.

En conclusión, si bien Python es genial (porque lo es), no es una respuesta satisfactoria para la optimización de cadena de suministro como lo es Envision. Realizar y mantener una aplicación de machine learning de nivel de producción en Python es posible, pero acarrea costos altos y, a menos que la empresa esté preparada para tener a un equipo de ingeniería de software dedicado exclusivamente al mantenimiento de esa aplicación, es una solución que no funcionará en producción.