La stock reward function è un ingrediente fondamentale per sfruttare al massimo le previsioni probabilistiche al fine di potenziare le prestazioni della tua supply chain performance.

La funzione stock reward è espressiva e può essere utilizzata come un mini-framework per affrontare molteplici situazioni. Tuttavia, come piccolo svantaggio, non è sempre facile comprendere i calcoli eseguiti con la funzione stock reward. Di seguito trovi un breve elenco di grafici che rappresentano le varie trasformazioni applicate alle previsioni.

Il primo grafico - intitolato Domanda futura - rappresenta una previsione probabilistica della domanda associata a un determinato SKU. La curva rappresenta una distribuzione di probabilità, con l’area totale sotto la curva uguale a uno. In secondo piano, questa domanda futura è implicitamente associata a una previsione probabilistica del lead time, anch’essa rappresentata come una distribuzione di probabilità. Tale distribuzione è tipicamente generata attraverso un motore di previsione probabilistica.

Il grafico Marginal fill rate rappresenta la frazione di domanda extra che viene soddisfatta da ogni unità aggiuntiva di stock. In altre parole, questo grafico dimostra cosa accade al fill rate man mano che lo stock aumenta. Poiché qui rappresentiamo un marginal fill rate, l’area totale sotto la curva rimane uguale a uno. La distribuzione del marginal fill rate può essere calcolata con la fillrate() function.

Il grafico Demand with backorders è identico al grafico Domanda futura, eccetto per il fatto che sono state introdotte 8 unità per rappresentare un ordine arretrato. Il backorder rappresenta una domanda garantita, poiché queste unità sono già state acquistate dai clienti. Di conseguenza, quando vengono introdotte unità arretrate, la distribuzione di probabilità della domanda si sposta verso destra in quanto le unità arretrate rappresentano una domanda garantita. L’operatore di shift » è disponibile come parte dell’algebra delle distribuzioni per calcolare tale trasformazione sulla distribuzione iniziale.

Il grafico Fill rate with backorders è anch’esso molto simile al grafico originale Marginal fill rate, ma è stato anch’esso spostato di 8 unità verso destra. Qui, il fill rate rappresentato è associato solo alla domanda incerta, pertanto la forma della distribuzione rimane invariata.

Il grafico Margin rappresenta il reward economico del margine, così come calcolato dalla funzione stock reward prendendo in input il Demand with backorders. La stock reward può essere visualizzata come una distribuzione, ma non si tratta di una distribuzione di probabilità: l’area sotto la curva non è uguale a uno, ma corrisponde al margine totale che verrebbe ottenuto con un inventario illimitato. Sul lato sinistro del grafico, ogni unità arretrata produce lo stesso margine, il che non sorprende, dato che non c’è incertezza nel catturare il margine poiché le unità sono già state acquistate.

Il grafico Stockout penalty rappresenta il secondo componente della funzione stock reward. La forma della distribuzione potrebbe sembrare un po’ inaspettata, ma essa riflette semplicemente che, per come è costruita la funzione stock reward, l’area totale sotto la curva è zero. Intuitivamente, partendo da un livello di stock pari a zero, abbiamo la somma di tutte le penalità di stockout poiché manchiamo tutta la domanda. Successivamente, spostandoci verso destra con livelli di stock più elevati, soddisfiamo sempre di più la domanda riducendo ulteriormente le penalità di stockout, fino a quando non vi è più alcuna penalità perché l’intera domanda è stata soddisfatta. La penalità da stock-out per non servire gli ordini arretrati è rappresentata come maggiore rispetto alla penalità per non servire la domanda che segue. Qui, stiamo illustrando l’ipotesi che i clienti che hanno già effettuato un backorder abbiano tipicamente aspettative di servizio maggiori rispetto ai clienti che non hanno ancora acquistato alcun articolo.

Il grafico Carrying costs rappresenta il terzo e ultimo componente della funzione stock reward. Poiché non esiste un limite superiore per i carrying costs - è sempre possibile mantenere un’unità in più in stock, aumentando ulteriormente i carrying costs - la distribuzione è divergente: tende a meno infinito verso destra. L’area totale sotto la curva è a meno infinito, sebbene questa sia una prospettiva piuttosto teorica. A destra, i carrying costs associati alle unità arretrate sono zero: infatti, poiché tali unità sono già state acquistate dai clienti, non comporteranno alcun costo di carrying, dal momento che saranno spedite ai clienti il prima possibile.

Il reward finale dello stock - non rappresentato sopra - verrebbe ottenuto sommando i tre componenti della funzione stock reward. La distribuzione risultante verrebbe interpretata come il ROI per ogni unità aggiuntiva di stock da acquisire. Tale distribuzione tipicamente inizia con valori positivi, con le prime unità di stock che risultano profittevoli, ma converge a meno infinito man mano che si raggiungono livelli di stock più elevati a causa dei carrying costs illimitati.

Il termine support (matematica) si riferisce classicamente ai livelli di domanda associati a probabilità non nulle. Nei grafici sopra, il termine support è usato in senso lato per indicare l’intero intervallo che deve essere trattato come valori non nulli da Envision. In particolare, vale la pena menzionare che ci sono calcoli multipli che richiedono l’estensione del support della distribuzione per assicurarsi che la distribuzione finale risultante non venga troncata.

  • L’operazione di shift, che si verifica quando sono presenti backorders, richiede che il support venga aumentato del numero di unità arretrate.
  • I componenti del margin e dei carrying costs della funzione stock reward non hanno limiti teorici sul lato destro, e possono richiedere estensioni arbitrariamente grandi del support.
  • I vincoli d’ordine, come ad esempio MOQs, possono richiedere livelli di inventario ancora maggiori rispetto a quelli raggiunti dalle distribuzioni spostate. Valutare correttamente la coda della distribuzione è fondamentale per stimare se il MOQ possa essere soddisfatto in modo profittevole o meno.

In pratica, il runtime Envision si occupa di regolare automaticamente il support per assicurarsi che le distribuzioni non vengano troncate durante i calcoli.