Il demand sensing si basa su indicatori anticipatori rilevanti per stimare una previsione di vendita. La velocità con cui vengono effettuati gli ordini dei clienti potrebbe essere uno di questi indicatori anticipatori della domanda a breve termine. In alcuni settori, come quello petrolchimico, i clienti in genere effettuano ordini da prenotare ogni mese con diverse settimane di anticipo. In questo articolo parliamo di un approccio di demand sensing basato sugli ordini dei clienti per un’azienda chimica.
In questo approccio, la premessa è che se gli ordini vengono effettuati a un ritmo più veloce nella fase iniziale rispetto alle tendenze storiche di collocamento degli ordini, la domanda mensile finale sarà elevata e viceversa. La proposta è quella di potenziare il tradizionale processo di previsione eseguendo l’analisi dell’andamento degli ordini dei clienti a metà di ogni mese per stimare la domanda di prodotti per il mese successivo. Questa intuizione iniziale sarebbe molto utile ai responsabili della catena di fornitura e dei prodotti per prendere decisioni sull’adeguamento della produzione e dei prezzi. L’analisi identificherebbe anche i clienti che probabilmente effettueranno ordini inferiori alle previsioni, rendendo il volume rimanente disponibile per i clienti che desiderano un prodotto aggiuntivo rispetto ai volumi previsti. Ciò consentirebbe di “scambiare” in modo proattivo il prodotto tra i due gruppi di clienti, riducendo i blocchi di ordini e i ritardi e arricchendo l’esperienza del cliente.
Per creare una soluzione di machine learning per Rilevamento della domanda caso d’uso, seguiamo una serie di passaggi tra cui la raccolta dei dati, l’analisi esplorativa dei dati, l’elaborazione dei dati (pulizia e ingegneria delle funzionalità), lo sviluppo e il perfezionamento del modello, approfondimenti utilizzabili e raccomandazioni. L’obiettivo principale è prevedere il mese corrente e successivo domanda con una determinata granularità (ad esempio famiglia di prodotti, categoria di cliente) in base agli attributi dell’ordine del cliente. I dettagli per ogni passaggio sono elencati di seguito:
UN. Raccolta di dati — in base a ciò che è tipico di questo caso d’uso in un contesto di società di materie prime, presupponiamo che ciascun prodotto (o famiglia di prodotti) abbia dozzine o centinaia di clienti che effettuano ordini in anticipo. Per acquisire le tendenze annuali e stagionali negli ordini dei clienti, raccogliamo dati almeno negli ultimi 36 mesi. Raccogliamo ordini di vendita che includono dati sui volumi richiesti, data dell’ordine di vendita, mese di prenotazione della domanda, informazioni sui clienti tra cui categoria e area geografica del cliente, attributi del prodotto tra cui famiglia di prodotti, segmento di mercato. Iniziamo con un mese di prenotazione della domanda e cerchiamo il volume totale del prodotto richiesto negli ordini di vendita su base giornaliera (giorni lavorativi esclusi fine settimana e festivi) per un periodo di due mesi a partire dal primo giorno lavorativo del mese precedente (CM-1) fino a la fine del mese di prenotazione della domanda (CM). Ciò presuppone che non vengano effettuati ordini prima di tale data (primo giorno lavorativo del mese precedente). Dobbiamo anche rimuovere dall’analisi gli ordini annullati o gli ordini restituiti. La tabella 1 mostra i dati di esempio in un dataframe.
*WD: giorno lavorativo
B. Analisi esplorativa dei dati – iniziamo con l’avere un’idea della dimensione dei dati (righe e colonne) e del numero e del tipo di caratteristiche (numeriche vs categoriche). Identifichiamo anche il numero di valori nulli in ciascuna colonna. Visualizziamo le colonne numeriche (tramite istogrammi, boxplot) per esaminare la forma dei dati (inclusi media, mediana, asimmetria, valori anomali) e i dati categorici (tramite grafici a barre) per confermare valori univoci e identificare eventuali valori irregolari che necessitano di essere indirizzato.
C. Elaborazione dati — in questo passaggio rimuoviamo i valori anomali (ad esempio, valori negativi o valori estremamente alti di colonne numeriche). Selezioniamo anche funzionalità ed eseguiamo l’ingegneria delle funzionalità. Per questo caso d’uso, selezioniamo funzionalità che presentano un’aggregazione superiore rispetto alla variabile prevista. Ad esempio, se prevediamo la domanda della famiglia di prodotti, selezioniamo il segmento di mercato, l’area geografica, i volumi degli ordini cumulativi e le previsioni di vendita mensili di base come caratteristiche del predittore. Gli ordini cumulativi per un determinato giorno lavorativo (Tabella 2) derivano dai volumi degli ordini giornalieri come parte dell’ingegneria delle funzionalità. La Figura 1 mostra un esempio di come gli ordini cumulativi possono variare in base al giorno lavorativo.
D. Sviluppo e perfezionamento del modello — Per questo caso d’uso si consiglia una regressione lineare multipla. Si prevede che questa sia una soluzione “a tratti”, in cui abbiamo diverse funzioni di regressione per ogni giornata lavorativa. Con 36 mesi di dati, centinaia di clienti per ciascuna famiglia di prodotti, avremmo migliaia di punti dati nel set di formazione per ciascuna famiglia di prodotti. Iniziamo con la definizione di una funzione di perdita per aiutarci a costruire il modello che fornisce le previsioni della domanda più accurate. Scegliamo diverse misure di precisione tra cui l’errore medio assoluto (MAE), l’errore percentuale medio assoluto (MAPE) e R2 e testiamo le prestazioni di diversi modelli attraverso questi parametri (vogliamo che R2 sia alto e che gli errori siano bassi). L’errore grezzo è semplicemente la differenza tra la previsione della domanda mensile e i dati storici a livello di famiglia di prodotti. In termini di preparazione dei dati, abbiamo innanzitutto suddiviso i dati in set di addestramento (80% dei dati) e set di test (20% dei dati). I valori mancanti o nulli vengono trattati separatamente per ciascun set per evitare perdite di dati. Se i valori mancanti costituiscono la maggioranza di una funzionalità, potremmo eliminare completamente la funzionalità poiché fornisce poco potere predittivo. Se i valori nulli sono presenti solo in poche righe, potremmo eliminare le righe con valori mancanti. Possiamo anche imputare i valori mancanti alle tendenze centrali come la mediana della colonna se è numerica, o la moda se è categoriale. Inoltre, convertiamo anche le variabili categoriali in formato numerico con codifica one-hot. Per ridimensionare i dati da inserire in un modello di regressione lineare, dividiamo la variabile dipendente (previsione della domanda mensile) per la previsione di vendita di base e gli ordini cumulativi (variabile indipendente) per la previsione di vendita di base. I coefficienti del modello di regressione forniscono il significato delle caratteristiche nello spiegare la variazione della variabile prevista.
e. Approfondimenti e raccomandazioni utilizzabili — la domanda prevista dall’applicazione AI potrebbe essere superiore o inferiore a una previsione di vendita di base. Per spiegare i risultati alle parti interessate, un approccio potrebbe essere quello di confrontare le curve degli ordini storici con gli ordini in tempo reale (vedere Figura 2).
*Solo 3 mesi di curve percentuali di ordini cumulativi storici sono mostrati qui a scopo illustrativo; in una discussione nel mondo reale, includeremmo almeno 12 mesi di dati.
In questa figura, le curve percentuali degli ordini cumulativi storici sono tracciate come linee continue, mentre gli ordini cumulativi in tempo reale (come percentuale delle previsioni di vendita di base per il mese successivo) sono tracciati come linea tratteggiata. Possiamo vedere che nei mesi storici selezionati, circa il 12% della domanda totale viene ordinata entro il decimo giorno lavorativo del mese precedente, ma la nostra tendenza è pari a circa il 5% della previsione, indicando che la domanda sta arrivando in modo più debole del previsto per la previsione di base . Per questo esempio, con il coinvolgimento delle parti interessate per aggiornare le previsioni della domanda, possiamo prendere decisioni informate sulla riduzione della produzione per la famiglia di prodotti in questione, identificando al tempo stesso i clienti che stanno ordinando quantità inferiori rispetto a quanto previsto. In generale, le previsioni possono essere eseguite quotidianamente per fornire segnali alla produzione sulla produzione e sulle scorte e ai team di vendita sulla debolezza o forza della domanda. I modelli AI/ML possono essere riqualificati una volta ogni trimestre o al momento della ristrutturazione aziendale.
Fonte: towardsdatascience.com