Capire il motore di previsione

Come funziona il motore di previsione












Home » Risorse » Qui

Il motore di previsione è la specifica componente di Lokad che si occupa di eseguire le previsioni vere e proprie. In sostanza, si tratta di un software avanzato che può essere inserito nella categoria del machine learning ed è quindi ben diverso dalle soluzioni più classiche usate per le previsioni tradizionali ottenute a partire dalle serie temporali. In questo articolo, vedremo cosa fa esattamente il motore, in cosa differisce dalle altre soluzioni e perché queste differenze sono essenziali nell'ottica della catena logistica.

Previsioni integrate e previsioni probabilistiche

Le previsioni realizzate a partire dalle serie temporali pongono l'accento su previsioni periodiche giornaliere, settimanali o mensili. In questo caso, i dati storici sono rappresentati da serie temporali periodiche, ragion per cui ci si aspetta che le previsioni siano rappresentate anch'esse come serie temporali. Questo approccio è appropriato per alcuni settori, come le previsioni del consumo di energia elettrica o del traffico autostradale, ma non è l'ideale per la catena logistica.

Le previsioni periodiche, infatti, non riescono a catturare la realtà che è alla base della gestione logistica: ad esempio, se il lead time considerato è di 10 giorni, dobbiamo sommare le previsioni giornaliere per i prossimi 10 giorni? Oppure dobbiamo sommare 1 previsione settimanale e 3 previsioni giornaliere? In linea di massima, sommare le previsioni è uno degli errori più grandi che si possano commettere in statistica, perché la previsione della somma è ben diversa dalla somma delle previsioni. Per cui, se il lead time è pari a 10 giorni, lo strumento di previsione dovrà essere in grado di fornire una previsione che sappia guardare avanti di 10 giorni, e non una serie di previsioni intermedie da ricomporre nella previsione desiderata.

Il motore di previsione di Lokad non produce previsioni giornaliere, settimanali o mensili. Al contrario, calcola direttamente le previsioni della domanda per il lead time atteso. Inoltre, il lead time in sé è una previsione probabilistica. Anche se il procedimento delle previsioni probabilistiche potrebbe sembrare bizzarro, quello di ricomporre una previsione dalla somma di più previsioni periodiche non è purtroppo applicabile a quasi nessuna situazione legata alla catena logistica.

Previsioni probabilistiche e previsioni medie

Le soluzioni tradizionali di previsione utilizzano il metodo della media o, talvolta, della mediana. Quando però parliamo di ottimizzazione della catena di distribuzione, i costi aziendali si concentrano agli estremi: se si verifica una rottura di stock, è perché la domanda è inaspettatamente alta; allo stesso modo, se si verificano problemi di stock morto, è perché la domanda è inaspettatamente bassa. Quando la domanda si mantiene più o meno sullo stesso livello delle previsioni, i livelli di scorte fluttuano leggermente, ma, in generale, la catena logistica non subisce forti contraccolpi. Le previsioni “medie” (medie o mediane) sono soggette all'effetto lampione, per cui, per quanto l'analisi statistica alla base possa essere accurata, le previsioni partono comunque dal presupposto sbagliato.

Il motore di previsione di Lokad, invece, offre previsioni probabilistiche, che cioè stimano le probabilità associate a ogni possibile scenario futuro (1). Queste probabilità tracciano un quadro molto più preciso del futuro rispetto alle previsioni a un solo valore, come quelle medie o mediane. Le previsioni probabilistiche consentono di regolare rischi e opportunità connessi alla catena logistica: più precisamente, per ogni possibile decisione relativa alla catena (come acquistare una ulteriore unità di una certa SKU), è possibile, per un dato livello di domanda futura, calcolarne il risultato a livello finanziario (2); diventa allora possibile ordinare per priorità tutte le possibili decisioni future (3) sulla base unicamente del risultato finanziario, “soppesato” combinando stime finanziarie e probabilità.

(1) Nella pratica, però, le probabilità considerate troppo basse sono arrotondate a zero, al fine di mantenere i calcoli fattibili. Quindi, nella realtà solo un numero finito di configurazioni viene preso in esame.

(2) Ad esempio, immaginiamo di acquistare subito 1 unità, che la domanda futura sia pari a 5 (nel senso che venderemo 5 unità) e che avremo 2 scorte in magazzino alla fine del periodo. Se ipotizziamo che il margine lordo sia 10 e che i costi di magazzino a periodo per ogni unità invenduta sia 15, allora il profitto netto sarà pari a 5 x 10 – 2 x 15 = 20.

(3) Ordinare per priorità tutte le decisioni future potrebbe sembrare un compito molto complesso, ma la tecnologia di Lokad è costruita proprio per far fronte a questi problemi. Si tratta di una tecnologia specifica, a latere del motore di previsione.

Dati “giocattolo” e dati sintetici

Chi ha già usato in passato altre soluzioni di previsione sarà probabilmente tentato di testare le capacità di Lokad con una serie temporale di pochi punti, solo per vedere come funziona, oppure di vedere come Lokad reagisce a pattern di comportamento semplici, come un trend lineare o una serie temporale perfettamente stagionale. Il nostro motore di previsione, però, in queste situazioni dà risultati insoddisfacenti: potrebbe sembrare un controsenso, ma in realtà si tratta dello scotto da pagare per ottenere risultati accurati nella vita di tutti i giorni.

Una delle caratteristiche del nostro motore è che funziona perfettamente senza alcuna regolazione di tipo statistico. Per ottenere questo risultato, Lokad ha già tarato il motore di previsione utilizzando centinaia di set di dati tratti dalla vita reale e ben qualificati. I pattern di dati sintetici, come un trend perfettamente lineare, o una serie temporale perfettamente ciclica, sono ben diversi da quelli che si trovano nella vita reale. È per questo che i dati sintetici non vengono neanche considerati, nonostante sembrino molto semplici da gestire. In fondo, a che pro dare risultati “buoni” con dati “finti”, se questo non ci consente di dare risultati “buoni” con dati “reali”? La nostra esperienza ci ha insegnato che un buon motore di previsione sceglie sempre gli stessi modelli di previsione: introdurre un nuovo modello di regressione lineare “perfetto” solo per avere buoni risultati con un set di dati giocattolo è, alla lunga, pericoloso, perché il modello potrebbe poi essere riutilizzato in situazioni per cui non è adeguato.

Inoltre, al fine di saltare il passaggio dell'aggiustamento manuale, abbiamo fatto sì che il nostro motore di previsione fosse basato quasi interamente su algoritmi di apprendimento automatico. Per questo il motore di previsione ha bisogno di un set di dati notevole per poter funzionare: il motore stabilisce infatti le proprie impostazioni eseguendo diversi test statistici sui set di dati. Se però il set di dati è limitato, il motore di previsione non sarà in grado di avviare le operazioni. In linea di massima, per iniziare ad avere risultati sensati sono necessari almeno 1000 dati storici su oltre 100 SKU: per fare un paragone, una piccola impresa di e-commerce, con un fatturato annuo inferiore al milione di euro, accumula di solito più di 10.000 dati su più di 200 SKU. In realtà, quindi, i requisiti del motore di previsione non sono eccessivi, solo quel tanto che basta perché il motore non lavori su dati costruiti a tavolino.

I dati richiesti dal motore di previsione

Qui di seguito riassumiamo i dati minimi richiesti dal nostro motore di previsione:

  • articoli: minimo 100, meglio 500, perfetto oltre 2000
  • attributi articolo: minimo 1, meglio 3, perfetto oltre 5
  • ordini di vendita passati: minimo 1.000, meglio 10.000, perfetto oltre 50.000
  • ordini di acquisto passati: minimo 50, meglio 500, perfetto oltre 2000
  • profondità cronologia in mesi: minimo 3, meglio 18, perfetto più di 36

Per “articoli” intendiamo SKU, prodotti, numero di pezzo, codice a barre o qualsiasi altro elemento da prevedere, a seconda della situazione specifica.

Gli ordini di acquisto sono richiesti per prevedere i lead time: sebbene non siano obbligatori all'inizio, i lead time vanno comunque stimati con esattezza per non scompigliare la catena di distribuzione, per cui consigliamo di fornire questi dati ove possibile.

I dati di input possono poi essere arricchiti con una cronologia delle rotture di stock e delle promozioni. Il motore di previsione supporta inoltre scenari molto più avanzati, che omettiamo in questa sezione per maggiore concisione.

Previsioni macro e previsioni ad alta frequenza

Destinato a imprese commerciali e aziende di produzione, il motore di previsione di Lokad si focalizza sulle situazioni che si presentano nella gestione della catena logistica, quindi su situazioni caratterizzate da numerose SKU e domanda irregolare. Ed è proprio in questi casi che il nostro motore di previsione dà il meglio di sé. Certo, ci sono altri tipi di previsione per cui la nostra tecnologia non può fare molto.

Le previsioni macro, che comportano la previsione di serie temporali altamente aggregate, di solito molto lunghe e piuttosto lisce (una volta sistemate le ciclicità), non sono il nostro forte. Esempi di questo tipo di previsione sono le previsioni dei consumi di energia, del traffico autostradale, dei flussi di cassa o del traffico di telefonate in entrata. Il nostro motore di previsione si basa infatti sulle correlazioni tra elementi diversi, il che lo rende più adatto alle situazioni che prevedono più articoli.

Lokad non gestisce neanche le previsioni ad alta frequenza, che comportano invece serie temporali con granularità intra-day, come la maggioranza delle previsioni finanziarie, incluse le previsioni relative a materie prime e borse. In questo caso, la sfida consiste nel fatto che i pattern di comportamento statistico sono già sfruttati da altri e hanno un impatto sul futuro stesso. Per le catene di distribuzione, il discorso è diverso, perché le previsioni della domanda hanno un impatto molto più contenuto (4) sulla domanda futura osservata.

(4) Non sarebbe corretto dire che le previsioni della domanda non hanno alcun impatto sul futuro (ad esempio, prevedere una maggiore domanda per un certo prodotto in un dato punto vendita significa favorire tale prodotto e, in ultima analisi, incoraggiarne la domanda), ma nella catena distributiva questi effetti sono piuttosto marginali.