El futuro es incierto. Sin embargo, casi todas las soluciones predictivas de la cadena de suministro hacen la suposición opuesta: asumen que sus pronósticos son correctos y, por lo tanto, desarrollan sus simulaciones basadas en esos pronósticos. Implícitamente, se asume que el futuro es cierto y surgen complicaciones.

Desde una perspectiva histórica, los ingenieros de software no hacían esas suposiciones sin motivo: un futuro determinista era la única opción que las computadoras tempranas - y no tan tempranas - podían procesar en el mejor de los casos. Por lo tanto, aunque tratar con un futuro incierto se sabía que era el mejor enfoque en teoría, en la práctica ni siquiera era una opción.

Además, se encontraron algunos trucos matemáticos a principios del siglo XX para evitar este problema. Por ejemplo, el análisis clásico de existencias de seguridad asume que tanto los tiempos de entrega como la demanda siguen un patrón de distribución normal. La suposición de distribución normal es conveniente desde el punto de vista informático porque solo se necesitan dos variables para modelar el futuro: la media y la varianza.

Sin embargo, una vez más, la suposición de distribución normal, tanto para los tiempos de entrega como para la demanda, resultó ser incorrecta en casi todas las situaciones, y surgieron complicaciones.

En 2012, en Lokad, nos dimos cuenta de que el enfoque clásico de pronóstico de inventario simplemente no funcionaba: los pronósticos de media o mediana no estaban abordando el problema correcto. No importaba cuánta tecnología aplicáramos al caso, no iba a funcionar satisfactoriamente.

Por lo tanto, nos pasamos a los pronósticos de cuantiles, que se pueden interpretar como pronosticar el futuro con un sesgo intencionado. Pronto nos dimos cuenta de que los cuantiles eran invariablemente superiores al análisis clásico de existencias de seguridad, simplemente porque los cuantiles se centraban en lo que realmente importaba desde una perspectiva de la cadena de suministro.

Sin embargo, al pasar a los cuantiles, nos dimos cuenta de que habíamos perdido varias cosas en el proceso. De hecho, a diferencia de los pronósticos clásicos de media, los pronósticos de cuantiles no son aditivos, por lo que no era posible dar sentido a la suma de esos cuantiles, por ejemplo. En la práctica, la pérdida no fue demasiado grande porque, dado que los pronósticos clásicos no tenían mucho sentido en primer lugar, sumarlos no era una opción razonable de todos modos.

Con el paso de los años, mientras trabajábamos con cuantiles, nos dimos cuenta de que muchas de las cosas que dábamos por sentado se habían vuelto mucho más complicadas: las cantidades de demanda ya no se podían sumar, restar o ajustar linealmente. En resumen, al avanzar hacia un futuro incierto, habíamos perdido las herramientas para operar en este futuro incierto.

En 2015, introdujimos las cuadrículas de cuantiles. Si bien las cuadrículas de cuantiles no eran exactamente iguales a nuestros pronósticos probabilísticos completos en ese momento, nuestro motor de pronóstico ya estaba comenzando a proporcionar probabilidades en lugar de estimaciones de cuantiles. Las distribuciones de probabilidades son mucho más expresivas que las simples estimaciones de cuantiles, y resulta que es posible definir un álgebra sobre las distribuciones.

Si bien el término álgebra puede sonar técnico, no es tan complicado; significa que una operación simple como la suma, el producto, la diferencia, …, se puede definir de formas que no solo son matemáticamente consistentes, sino también altamente relevantes desde la perspectiva de la cadena de suministro.

Como resultado, hace apenas unas semanas, integramos un álgebra de distribuciones directamente en Envision, nuestro lenguaje específico de dominio dedicado a la optimización del comercio. Gracias a este álgebra de distribuciones, se vuelve sencillo llevar a cabo operaciones aparentemente simples, como sumar dos tiempos de entrega inciertos (por ejemplo, un tiempo de producción incierto más un tiempo de transporte incierto). La suma de esos dos tiempos de entrega se realiza a través de una operación conocida como convolución. Si bien el cálculo en sí mismo es bastante técnico, en Envision, todo lo que se necesita es escribir A = B +* C, donde +* es el operador de convolución utilizado para sumar variables aleatorias independientes (*).

A través de este álgebra de distribuciones, la mayoría de las operaciones “intuitivas” que eran posibles con los pronósticos clásicos están de vuelta: las variables aleatorias se pueden sumar, multiplicar, estirar, exponenciar, etc. Y si bien se están llevando a cabo cálculos relativamente complejos detrás de escena, las fórmulas probabilísticas no son más complicadas que las fórmulas de Excel simples desde la perspectiva de Envision.

En lugar de desear que los pronósticos sean perfectamente precisos, este álgebra de distribuciones nos permite abrazar futuros inciertos: los tiempos de entrega de los proveedores tienden a variar, las cantidades entregadas pueden diferir de las cantidades pedidas, la demanda de los clientes cambia, los productos se devuelven, el inventario puede perderse o dañarse… A través de este álgebra de distribuciones, se vuelve mucho más sencillo modelar la mayoría de esos eventos inciertos con un esfuerzo de codificación mínimo.

En el fondo, el procesamiento de distribuciones es bastante intensivo; y una vez más, nunca nos aventuraríamos en estos territorios sin una plataforma de computación en la nube que maneje este tipo de carga de trabajo, en nuestro caso, Microsoft Azure. Sin embargo, los recursos informáticos nunca han sido más baratos, y es probable que la próxima orden de compra de su empresa por $100,000 valga la pena gastar unas pocas horas de CPU, que cuestan menos de $1 y se ejecutan en solo unos minutos, para asegurarse de que las cantidades pedidas sean correctas.

(*) Una variable aleatoria es una distribución que tiene una masa de 1. Es un tipo especial de distribución. Envision puede procesar distribuciones de probabilidades (también conocidas como variables aleatorias), pero también distribuciones más generales.