Il futuro è incerto. Eppure, quasi tutte le soluzioni predictive per la supply chain fanno l’assunzione opposta: assumono che le loro previsioni siano corrette e quindi basano le loro simulazioni su tali previsioni. Implicitamente, si assume che il futuro sia certo e ne derivano complicazioni.

Dal punto di vista storico, gli ingegneri del software non facevano queste assunzioni senza motivo: un futuro deterministico era l’unica opzione che i primi - e non così recenti - computer potessero elaborare al meglio. Pertanto, sebbene affrontare un futuro incerto fosse noto come il miglior approccio in teoria, in pratica non era nemmeno un’opzione.

Inoltre, sono stati trovati alcuni trucchi matematici all’inizio del XX secolo per aggirare questo problema. Ad esempio, l’analisi classica delle scorte di sicurezza assume che sia i tempi di consegna che la domanda seguano un modello di distribuzione normale. L’assunzione della distribuzione normale è conveniente dal punto di vista del calcolo perché tutto ciò che serve sono due variabili per modellare il futuro: la media e la varianza.

Tuttavia, l’assunzione della distribuzione normale - sia per i tempi di consegna che per la domanda - si è rivelata errata in quasi tutte le situazioni, ad eccezione di poche, e ne sono derivate complicazioni.

Nel 2012, da Lokad, ci siamo resi conto che l’approccio classico alla previsione delle scorte semplicemente non funzionava: le previsioni di media o mediana non stavano affrontando il problema giusto. Non importa quanto tecnologia abbiamo applicato al caso, non avrebbe funzionato in modo soddisfacente.

Pertanto, ci siamo spostati verso le previsioni di quantili, che possono essere interpretate come prevedere il futuro con un bias intenzionale. Presto ci siamo resi conto che i quantili erano invariabilmente superiori all’analisi classica delle scorte di sicurezza, se solo perché i quantili si concentravano su ciò che era davvero importante dal punto di vista della gestione della supply chain.

Tuttavia, mentre passavamo ai quantili, ci siamo resi conto che avevamo perso parecchie cose nel processo. Infatti, a differenza delle previsioni di media classiche, le previsioni di quantili non sono additive, quindi non era possibile dare un senso alla somma di quei quantili, ad esempio. In pratica, la perdita non era troppo grande perché poiché le previsioni classiche non avevano molto senso in primo luogo, sommarle non era comunque un’opzione ragionevole.

Nel corso degli anni, lavorando con i quantili, ci siamo resi conto che molte delle cose che davamo per scontate erano diventate molto più complicate: le quantità di domanda non potevano più essere sommate o sottratte o regolate linearmente. In breve, mentre ci muovevamo verso un futuro incerto, avevamo perso gli strumenti per operare su questo futuro incerto.

Nel 2015, abbiamo introdotto le griglie di quantili. Sebbene le griglie di quantili non fossero esattamente le stesse delle nostre previsioni probabilistiche complete, il nostro motore di previsione stava già iniziando a fornire probabilità invece di stime di quantili. Le distribuzioni di probabilità sono molto più espressive delle semplici stime di quantili e, si scopre che è possibile definire un’algebra sulle distribuzioni.

Anche se il termine algebra può sembrare tecnico, non è così complicato; significa che un’operazione semplice come la somma, il prodotto, la differenza, …, può essere definita in modi che non sono solo matematicamente coerenti, ma anche altamente rilevanti dal punto di vista della supply chain.

Di conseguenza, solo poche settimane fa, abbiamo integrato un’algebra delle distribuzioni direttamente in Envision, il nostro linguaggio di dominio specifico dedicato all’ottimizzazione del commercio. Grazie a questa algebra delle distribuzioni, diventa semplice eseguire operazioni apparentemente semplici come sommare due tempi di consegna incerti (ad esempio un tempo di produzione incerto più un tempo di trasporto incerto). La somma di questi due tempi di consegna viene eseguita attraverso un’operazione nota come convoluzione. Sebbene il calcolo stesso sia piuttosto tecnico, in Envision, tutto ciò che serve è scrivere A = B +* C, dove +* è l’operatore di convoluzione utilizzato per sommare variabili casuali indipendenti (*).

Attraverso questa algebra delle distribuzioni, la maggior parte delle operazioni “intuitive” che erano possibili con le previsioni classiche sono tornate: le variabili casuali possono essere sommate, moltiplicate, estese, elevate a potenza, ecc. E sebbene calcoli relativamente complessi avvengano dietro le quinte, le formule probabilistiche non sono più complicate delle semplici formule di Excel dal punto di vista di Envision.

Invece di desiderare che le previsioni siano perfettamente accurate, questa algebra delle distribuzioni ci permette di abbracciare futuri incerti: i tempi di consegna dei fornitori tendono a variare, le quantità consegnate possono differire dalle quantità ordinate, la domanda dei clienti cambia, i prodotti vengono restituiti, l’inventario può andare perso o danneggiarsi… Attraverso questa algebra delle distribuzioni diventa molto più semplice modellare la maggior parte di questi eventi incerti con minimi sforzi di codifica.

Sotto il cofano, l’elaborazione delle distribuzioni è piuttosto intensiva; e ancora una volta, non ci saremmo mai avventurati in questi territori senza una piattaforma di cloud computing che gestisce questo tipo di carico di lavoro - Microsoft Azure nel nostro caso. Tuttavia, le risorse di calcolo non sono mai state così economiche e l’ordine di acquisto successivo della tua azienda di $100k vale probabilmente la pena di spendere qualche ora di CPU - costando meno di $1 ed eseguito in pochi minuti - per assicurarsi che le quantità ordinate siano corrette.

(*) Una variabile casuale è una distribuzione che ha una massa di 1. È un tipo speciale di distribuzione. Envision può elaborare distribuzioni di probabilità (chiamate anche variabili casuali), ma anche distribuzioni più generali.