Un team di dipendenti di Lokad, nello specifico Rafael de Rezende (leader), Ignacio Marín Eiroa, Katharina Egert e Guilherme Thompson 1, si è classificato al 6º posto nella competizione di previsione M5 su 909 squadre partecipanti. È un risultato impressionante e sono orgoglioso di ciò che questo team ha raggiunto. Costruire una cultura orientata ai risultati quantitativi è stato un obiettivo a lungo termine per Lokad e il risultato di questa competizione dimostra quanto abbiamo progredito in questo percorso.

Lokad si è classificato al 6º posto nella competizione di previsione M5 su 909 squadre

A mia conoscenza, questa è la prima volta che una competizione pubblica di previsione della domanda ha coinvolto previsioni quantili, una conoscenza che è direttamente correlata al lavoro di Lokad nel 2012. Sebbene siano passati 8 anni affinché l’accademia si mettesse al passo con i quantili, ciò non rende questo risultato meno significativo. Le previsioni “classiche” nude sono praticamente fallimentari per quanto riguarda la supply chain. Le previsioni quantili non sono la soluzione definitiva, ma funzionano dove le scorte di sicurezza non funzionano. Questo lo considero un passo importante nella giusta direzione.

Per quanto riguarda i risultati, le squadre classificate dal 1º al 6º posto sono incredibilmente vicine. La squadra al primo posto2 è riuscita a superare di qualche percentuale le altre. Tuttavia, la mia esperienza personale indica che, anche per una grande rete di vendita al dettaglio come Walmart, una riduzione del 5% delle perdite di pinball - una metrica che può essere utilizzata per valutare l’accuratezza delle previsioni quantili - sarebbe quasi impercettibile in termini di errori monetari. Infatti, a questo livello di precisione, i modelli di previsione sono essenzialmente equivalenti e altri aspetti (che non sono stati considerati nella competizione M5) dominano, come la capacità di gestire stockout, assortimenti variabili, cannibalizzazioni, tempi di consegna erratici, ecc. Queste preoccupazioni fanno una differenza molto maggiore rispetto a una manciata di punti percentuali di perdita di pinball.

Per quanto riguarda il modello, il team di Lokad ha utilizzato un modello parametrico a bassa dimensionalità che includeva le ciclicità rilevanti (giorno della settimana, giorno del mese, mese dell’anno) a livello di negozio/categoria, una linea di base che eliminava le ciclicità e il rumore delle mancanze di stock e un modello di spazio di stato a 2 parametri per trasformare la linea di base in traiettorie giornaliere (con contributi moltiplicativi delle ciclicità). Inoltre, come la squadra vincitrice, Lokad non ha utilizzato dati sui prezzi né dati esterni. La maggior complicazione per il team di Lokad è stata gestire le mancanze di stock che dovevano essere previste: si trattava di un esercizio di previsione delle vendite, non di previsione della domanda. Questo sarà discusso in maggiori dettagli in seguito quando esamineremo i dettagli di questo modello.

In generale, se un modello parametrico a bassa dimensionalità ben scelto, come quello utilizzato da Lokad nella competizione M5, può avvicinarsi a pochi punti percentuali di accuratezza rispetto al metodo all’avanguardia - che si rivela essere alberi potenziati con gradienti aumentati - allora in produzione, questo modello è garantito di comportarsi molto meglio rispetto a modelli non parametrici o iperparametrici, ed è molto più facile da modificare strutturalmente [^modifiche] quando necessario.

Inoltre, le prestazioni di calcolo del modello tendono ad essere un fattore operativo non così sottile. La squadra al primo posto ha riferito che l’esecuzione delle loro previsioni richiedeva “un paio di ore” (sic) su una configurazione di workstation con 10+10 CPU. Questo potrebbe sembrare veloce, ma tenete presente che il dataset M5 era di soli 30k SKU, che è molto piccolo rispetto al numero di SKU nella maggior parte delle reti di vendita al dettaglio (alcune categorie su alcuni negozi). Stimo che Walmart abbia oltre 100M di SKU da gestire a livello globale, quindi stiamo parlando di decine di migliaia di ore di calcolo per previsione 3. Le reti di vendita al dettaglio che Lokad serve di solito ci danno una finestra di circa 2 ore ogni giorno per aggiornare le nostre previsioni, quindi i modelli che scegliamo devono essere compatibili con questo programma sia per l’addestramento che per la previsione [^isolamento]. Implementare il modello della squadra al primo posto è certamente possibile a livello di Walmart, ma gestire il cluster di calcolo da soli richiederebbe un team dedicato.

La competizione M5 è stata un miglioramento significativo rispetto alle sue precedenti edizioni. Tuttavia, il dataset è ancora lontano dall’avvicinarsi a una situazione di vendita al dettaglio reale. Ad esempio, le informazioni sui prezzi erano disponibili solo per il passato. Nella pratica, le promozioni non avvengono casualmente: sono pianificate. Pertanto, se i dati sui prezzi fossero stati forniti per il periodo di tempo da prevedere, la competizione sarebbe stata orientata verso modelli che effettivamente utilizzano queste informazioni anziché scartarle immediatamente.

Oltre ai prezzi futuri, due importanti dati mancavano nella competizione M5: i livelli di stock e le transazioni disaggregate, entrambi quasi sempre disponibili nelle catene di vendita al dettaglio. I livelli di stock sono importanti perché ovviamente senza stock non ci sono vendite (bias di censura). Le transazioni disaggregate sono importanti perché, secondo la mia esperienza, è quasi impossibile valutare qualsiasi tipo di cannibalizzazione o sostituzione senza di esse - mentre un’osservazione occasionale degli scaffali dei negozi al dettaglio indica chiaramente che svolgono un ruolo importante. Il modello che il team di Lokad ha utilizzato per classificarsi sesto non aveva nulla in questo senso, e nemmeno il modello che si è classificato al primo posto.

In conclusione, è un risultato fantastico per Lokad. Sebbene ci sia sicuramente margine di miglioramento per rendere le competizioni di previsione più realistiche, invito i miei lettori a non prendere questi risultati troppo alla lettera, M5 è una competizione di previsione. Nel mondo reale, le mancanze di stock, i lanci di prodotti, le promozioni di prodotti, i cambiamenti nell’assortimento, i problemi dei fornitori, gli orari di consegna, devono tutti essere presi in considerazione. La sfida più grande non è ridurre di qualche punto percentuale l’errore a sinistra o a destra, ma assicurarsi che la ricetta numerica end-to-end non abbia punti ciechi che possano rovinare l’intera iniziativa di ottimizzazione della supply chain.


  1. Tecnicamente un ex dipendente di Lokad al momento della competizione. ↩︎

  2. Il team vincente includeva Northquay (pseudonimo) e Russ Wolfinger. Il loro team è stato chiamato Everyday Low SPLices per questa competizione M5. Per chiarezza, qui li chiamo semplicemente il team arrivato primo. ↩︎

  3. Il team arrivato primo ha utilizzato LightGBM, una libreria C++ in grado di offrire prestazioni algoritmiche all’avanguardia per questa classe di modelli. Inoltre, il team ha utilizzato trucchi numerici avanzati come l’uso di numeri a precisione ridotta. Quando si passa a un ambiente di produzione, le prestazioni di calcolo per SKU probabilmente diminuiranno a causa della complessità / eterogeneità aggiuntiva impostata da un ambiente di produzione effettivo. ↩︎