Funzione di rendimento delle scorte (catena logistica)

Funzione di rendimento delle scorte












Home » Risorse » Qui
di Joannès Vermorel, Dicembre 2015 (ultima revisione Febbraio 2017)

La funzione di rendimento delle scorte quantifica i ritorni previsti, sia positivi che negativi, del mantenimento a magazzino di un certo numero di scorte. Sostanzialmente, la funzione di rendimento delle scorte risponde alla domanda: cosa otterremmo se tenessimo un'altra unità in stock? La funzione può essere usata per creare una strategia di ordini per priorità, in cui tutte le unità sono classificate in ordine di priorità in base al ritorno economico che generano. Lokad raccomanda di ricorrere a questa funzione in quasi tutti i casi di ottimizzazione della gestione di magazzino.


Uno sguardo d'insieme

Da un punto di vista puramente previsionale, la domanda futura è rappresentata meglio attraverso una serie di probabilità associate a ogni possibile scenario futuro, ossia allo scenario che prospetta una domanda da 0 unità, allo scenario che prospetta una domanda da 1 unità, etc. Le probabilità, in questo caso, verrebbero calcolate per ogni singolo articolo (o prodotto, o SKU, o codice a barre) a seconda del contesto.

Le previsioni così ottenute ci danno un quadro esaustivo della domanda futura, certo, ma non ci suggeriscono quali decisioni prendere in materia di inventario. Per decidere quante scorte tenere a magazzino, infatti, non è possibile basarsi unicamente sulle probabilità: bisogna calcolare anche il rischio finanziario connesso a ogni nostra decisione.

Consideriamo, a titolo di esempio, due prodotti con le stesse probabilità di domanda: se il primo prodotto ha un ciclo di vita lungo, mentre l'altro ha vita più breve, dal punto di vista della gestione del magazzino ha più senso avere più scorte del primo prodotto.

La funzione di rendimento delle scorte è una funzione matematica che calcola, appunto, quanto conviene aggiungere in magazzino un'unità in più di un dato prodotto, tenendo conto delle previsioni probabilistiche della domanda futura, degli altri fattori economici che determinano il profitto previsto per la vendita dell'articolo e, infine, dei costi attesi in caso l'articolo fosse invenduto per assenza di domanda.

Lokad considera la funzione di rendimento delle scorte come la chiave di volta per la moderna ottimizzazione delle scorte. Le soluzioni offerte dalla funzione di rendimento delle scorte sono generalmente di qualità superiore rispetto a quelle ottenibili con approcci più semplici, basati su livelli di servizio e fill rate, che ignorano tutti gli scenari negativi, ossia i costi legati alla mancata vendita degli articoli in magazzino.

Fattori economici per il rendimento delle scorte

L'analisi del rendimento delle scorte è un'analisi economica, nel senso che tenta di stabilire i ritorni finanziari generati da una SKU. Per procedere a un'analisi di questo tipo, dobbiamo prima introdurre una serie di fattori economici che influiscono sui ritorni generati dal magazzino.

L'analisi in prospettiva economica non serve solo a massimizzare i profitti: anche i costi di una rottura di stock, ad esempio, vanno inclusi nell'analisi. Questo approccio serve infatti a fornire il quadro generale necessario a definire una strategia per equilibrare costi di magazzino e costi di una rottura di stock, anche se l'equilibrio in sé è di solito dettato da fattori specifici per ogni settore industriale.

Definiamo tre variabili associate a una singola SKU, considerando una durata pari al lead time:

  • Sia $M$ il margine lordo per 1 unità venduta;
  • sia $S$ lo svantaggio (valore negativo) dovuto a rottura di stock per non aver venduto 1 unità;
  • sia $C$ lo svantaggio (valore negativo) dovuto ai costi di magazzino per non aver venduto 1 unità in stock.

Queste variabili sono fondamentali, nel senso che calcolarne una stima è necessario per poter ottimizzare la gestione di qualsiasi magazzino. Senza una stima, seppure vaga, di queste variabili, qualsiasi metodologia di ordine può presentare uno o più difetti, tra cui:

  • incapacità di riflettere i rischi legati a una domanda futura che potrebbe non avverarsi. In questo caso, il metodo suggerisce livelli di servizio adeguati, ma genera stock morto;
  • incapacità di riflettere i costi di una rottura di stock a livello di clientela e le opportunità di vendita perse per non aver servito i clienti;
  • incapacità di riflettere l'importanza della vendita dell'unità e del profitto così generato, che sostengono economicamente il magazzino stesso.

Sulla base di queste considerazioni, prendiamo in esame due semplici situazioni, in cui la domanda è superiore o inferiore alle scorte. Sia $k$ il numero di unità in stock e $y$ il numero di unità richieste dai clienti.

Se le scorte superano le unità richieste (se cioè $k \geq y$), allora il profitto immediato associato alle scorte sarà $yM+(k-y)C$. Infatti, $yM$ rappresenta le unità servite $y$ e i rispettivi profitti, mentre $(k-y)C$ rappresenta i costi di mantenimento a magazzino per le unità $(k-y)C$ non vendute alla fine del periodo.

Se la domanda supera le scorte (se cioè $k < y$), allora il profitto immediato potrà essere scritto come $kM+(y-k)S$. In questo caso, le prime unità $k$ vengono servite correttamente e rappresentano la parte di profitto in $kM$, mentre le unità restanti $y-k$ risultano mancanti e rappresentano una perdita $(y-k)S$ dovuta a una rottura di stock.

Funzione di rendimento delle scorte: definizione

Abbiamo appena visto cosa avviene per i profitti immediati. Sappiamo, però, che l'ottimizzazione delle scorte è un processo continuativo: le unità che non vengono vendute subito potrebbero essere vendute nel periodo successivo, generando così un profitto non immediato, oppure potrebbero restare invendute anche per il periodo seguente, aumentando così i costi di mantenimento a magazzino. La funzione di rendimento delle scorte serve proprio a risolvere questi problemi, considerando non solo il prossimo periodo, ma tutti i periodi futuri.

Definiamo la funzione di rendimento delle scorte come: $$R(t, k)= \begin{cases} kM+(y_t-k)S & \text{if $y_t \geq k$ (rottura di stock)} \\ y_tM+(k-y_t)C + \alpha R^*(t+1, k-y_t) & \text{if $y_t < k$ (rimanenze)} \end{cases}$$ Dove:

  • $k$ è il numero di unità in stock;
  • $y_t$ è la domanda per il periodo $t$;
  • $M$, $S$ e $C$ sono le variabili economiche introdotte prima;
  • $\alpha$ è un fattore di sconto che discuteremo più avanti;
  • $R^*$ è identico a $R$, ma con $S=0$. Anche di questo discuteremo più avanti.

A prima vista, la formula potrebbe sembrare complessa. In realtà, è un modello semplice di una singola SKU con $k$ unità in stock rispetto a una domanda di $y_t$ unità. Fatta eccezione per la componente $\alpha R^*(t+1, k-y_t)$, l'espressione è uguale a quella del profitto immediato che abbiamo visto prima.

Per prendere in considerazione tutti i periodi futuri, dobbiamo compiere due passi ulteriori. In primo luogo, abbiamo una chiamata ricorsiva alla funzione di rendimento stessa; in altre parole, il rendimento è la somma dei rendimenti (o delle perdite) del periodo immediatamente successivo, più i rendimenti (o le perdite) del periodo a esso seguente. Di primo acchito, potrebbe sembrare strano avere una funzione che procede indefinitamente nel futuro: in realtà, la funzione non fa altro che considerare il fatto che alcune unità invendute si trascinano da un periodo all'altro.

In secondo luogo, introduciamo $\alpha$ come fattore di sconto per i profitti futuri. L'approccio è ispirato al flusso di cassa attualizzato, o discounted cash flow, usato per indicare che il profitto generato in un futuro remoto ha meno valore del profitto generato in un futuro più prossimo. La stessa logica può essere applicata ai costi: un costo immediato pesa più di un costo in un futuro remoto.

Infine, la ricorsione avviene attraverso $R^*$, che ignora i costi di una rottura di stock, al posto di $R$, per indicare che le scorte attuali non possono prevenire rotture di stock se non per il periodo del lead time attuale. Per definizione, infatti, il lead time rappresenta la durata da coprire con le scorte attuali. Per il periodo successivo, si saranno presentate altre occasioni per riapprovvigionare il magazzino (vedremo in seguito come adattare la formula al caso di un mancato riordino) e, quindi, se dovesse verificarsi una rottura di stock, questa sarebbe la conseguenza di decisioni successive.

Stima probabilistica della funzione di rendimento delle scorte

L'espressione della funzione di rendimento delle scorte $R$ dipende dalla domanda futura $y_t$, che, di solito, è ignota. Tuttavia, se abbiamo a disposizione delle previsioni, $R$ può essere calcolato comunque. Per calcolare $R$, consigliamo una previsione probabilistica della domanda futura, ossia non una semplice stima della domanda futura, ma una stima dell'intera distribuzione di probabilità. A questo punto, possiamo introdurre $\hat{R}$, una stima empirica di $R$ basata su una previsione probabilistica della domanda. La funzione $\hat{R}$ è scritta come: $$ \begin{align} \hat{R}(t,k)= & \sum_{y |y \geq k} \mathbf{P}(Y_t=y) ( kM+(y-k)S ) \\ & + \sum_{y|y < k} \mathbf{P}(Y_t=y) ( yM+(k-y)C + \alpha \hat{R}^*(t+1, k-y) ) \end{align} $$ Questa espressione traduce l'espressione originale $R$ in probabilità condizionali. La prima riga riflette i possibili scenari di rottura di stock, mentre la seconda riga riflette gli scenari legati alle rimanenze. Entrambe le righe sono confrontate rispetto alle rispettive probabilità.

Come vedremo più avanti, $\hat{R}$ può essere calcolato a scopi pratici. Lokad fornisce la funzione integrata stockrwd che implementa proprio questa formula e di cui discuteremo più avanti in dettaglio.

Sul piano pratico, l'unico calcolo possibile è quello di $\hat{R}$ ($R$ non può essere calcolato, poiché la domanda futura è ancora ignota). Quindi, quando parliamo di funzione di rendimento delle scorte, ci riferiamo alla stima di $\hat{R}$, più che alla funzione reale $R$. L'accuratezza della stima di $\hat{R}$ non è oggetto di questo articolo: basti sapere, però, che la stima sarà più o meno accurata, naturalmente, a seconda di quanto sono accurate le previsioni probabilistiche della domanda su cui la stima è basata.

Proprietà della funzione di rendimento delle scorte

La funzione di rendimento delle scorte può essere scritta come $R(k, M, S, C)$ per dare maggior risalto alle variabili economiche. La funzione è additiva rispetto alle componenti seguenti: $$\begin{align} R(k, M, S, C) = & R(k, M, 0, 0) + \\ & R(k, 0, S, 0) + \\ & R(k, 0, 0, C) \end{align}$$ La funzione è inoltre lineare rispetto ai parametri $M$, $S$ e $C$: $$\begin{align} R(k, aM, bS, cC) = & aR(k, M, 0, 0) + \\ & bR(k, 0, S, 0) + \\ & cR(k, 0, 0, C) \end{align}$$ Queste proprietà sono naturalmente estese anche a stockrwd, la funzione Envision offerta da Lokad.

Le funzioni stockrwd in Envision

La funzione stockrwd è una delle funzioni di Envision, il linguaggio di programmazione di Lokad, che implementa la funzione di rendimento delle scorte o, in caso siano disponibili previsioni probabilistiche, la sua stima probabilistica. Poiché siamo interessati all'aumento del profitto per la  kesima unità in stock, definiamo la funzione di Envision come $$\text{stockrwd}: k \to R(k)-R(k-1)$$

La sintassi corrispondente in Envision è:
// rendimento margine
RM = stockrwd.m(Demand, AM) * M
// svantaggio rottura di stock
RS = stockrwd.s(Demand) * S
// costi di mantenimento a magazzino
RC = stockrwd.c(Demand, AC) * C
// il rendimento delle scorte è ricomposto
// con addizioni punto per punto
R = RM + RS + RC
Envision scompone la funzione in tre componenti. Le componenti sono lineari rispetto alle variabili economiche cui corrispondono, ragion per cui le variabili economiche non sono inserite nella chiamata alla funzione stockrwd(). Questa scomposizione rende più semplice analizzare le quantità generate dalla funzione e regolare le ipotesi economiche alla base del calcolo.

Il primo argomento, Demand (domanda), deve essere una distribuzione. La distribuzione rappresenta una domanda probabilistica, generalmente prodotta dal motore di previsione. Di conseguenza, Demand non è solo una distribuzione, ma anche una variabile casuale (massa uguale a 1).

Le tre variabili M, S e C rappresentano le variabili economiche che abbiamo definito precedentemente. Gli argomenti AM e AC sono due diversi fattori di sconto. Ci aspettiamo che S e C siano valori negativi, e che i valori AM e AC siano compresi nel segmento $[0;1[$.

La funzione restituisce R, una distribuzione che riflette $k \to R(k) - R(k-1)$: attenzione, perché questa distribuzione non è una variabile casuale, ma una funzione di rendimento economico. In realtà, secondo la definizione formale non sarebbe neanche una distribuzione a supporto compatto. Envision dispone di algoritmi specifici per gestire proprio questo tipo di distribuzioni non compatte.

Vediamo ora una definizione tipica di variabili economiche:
M = SellPrice - BuyPrice
// 0,5 arbitrario
S = -0.5 * (SellPrice - BuyPrice)
// 0,3 arbitrario
C = -0.3 * BuyPrice * mean(Leadtime) / 365
// "AM" per componente margine
AM = 0.3
// "AC" per componente costo di mantenimento
AC = 1 - 0.2 * mean(LeadTime) / 365
Avremo:

  • M definito come margine lordo per unità (prezzo di vendita - prezzo di acquisto).
  • S arbitrariamente definito come 0,5 volte il margine lordo. Ovviamente, le conseguenze variano da un settore all'altro, a seconda della tolleranza dei clienti verso le rotture di stock.
  • C espresso come costo di mantenimento a magazzino annuo, pari al 30% del prezzo annuo iniziale di acquisto. Il fattore C indica che stiamo considerando periodi di durata pari al mean(LeadTime) (lead time medio), invece che periodi annuali.
  • AM, il fattore di sconto per il rendimento di margine, espresso come calo graduale del 70% da un periodo all'altro.
  • AC, fattore di sconto per i costi di mantenimento a magazzino, espresso come sconto annuo del 20% sui profitti futuri. Il valore è regolato per adattarsi al lead time attraverso Leadtime / 365.

Nella pratica, ci si aspetta che il lead time probabilistico sia anche una previsione probabilistica. Su queste basi, nello script sopra diamo per scontato che Leadtime sia una distribuzione.

Fattori di sconto per margine e costi di mantenimento a magazzino

Il fattore di sconto A descritto sopra va utilizzato in modo diverso per ognuna delle tre componenti della funzione.

Per la componente margine, l'opportunità consiste nell'acquistare una quantità maggiore di scorte in un futuro più lontano. Il fattore di sconto, quindi, penalizza fortemente le quantità acquistate che potrebbero generare margine solo in un futuro più lontano (per definizione, infatti, l'opportunità consiste nell'acquistare altre scorte per affrontare i periodi futuri). Per questi motivi, suggeriamo di impostare un valore elevato di sconto, come AM = 0,3.

Per la componente svantaggio rottura di stock, il fattore di sconto è per definizione pari a zero e non ha quindi alcun impatto.

Per la componente costi di mantenimento a magazzino, le scorte sono un attivo finanziario in declino. Per AC, suggeriamo uno sconto annuo del 20%, in primo luogo perché, con il tempo, le scorte tenute a magazzino generano solo costi e, in secondo luogo, perché va considerato il costo opportunità: il denaro investito ora per acquistare le scorte non sarà disponibile più avanti, una volta osservata la domanda futura.

Ordini arretrati e rendimento delle scorte

Gli ordini arretrati complicano ulteriormente la situazione. Se sono presenti ordini arretrati, la domanda futura è solo parzialmente ignota, poiché le quantità degli ordini arretrati dovrebbero essere conosciute. Inoltre, poiché i clienti hanno avuto la pazienza di attendere più a lungo per ricevere l'ordine, evadere gli ordini arretrati è di solito considerato anche più importante che soddisfare gli ordini "normali". Lo script qui sotto mostra come la funzione di rendimento delle scorte può essere applicata agli ordini arretrati.
MB = 0.5 * SellPrice // arbitrario
SB = 0.5 * SellPrice // arbitrario

MBU = MB * uniform(1, Backorder)
SBU = SB * uniform(1, Backorder)

RM = MBU + (stockrwd.m(Demand, AM) * M) >> Backorder
RS = SBU + zoz(stockrwd.s(Demand) * S) >> Backorder
RC = (stockrwd.c(Demand, AC) * C) >> BackOrder
R = RM + RS + RC // ricomposizione semplice
Le due variabili economiche MB e SB rappresentano il margine per unità e lo svantaggio rottura di stock per le unità in ordine arretrato. Avremmo anche potuto usare M e S, ma, come dicevamo prima, gli ordini arretrati sono solitamente prioritari rispetto agli altri ordini.

Lo script fa largo uso dell'operatore >> offerto da Envision. Dato che le quantità in ordine arretrato si danno per scontate, la distribuzione dei rendimenti è di conseguenza fatta slittare verso destra. Attenzione, però, perché far slittare Demand non darebbe lo stesso risultato: in questo modo, infatti, la funzione darebbe per scontato che gli ordini arretrati (Backorder) siano sempre, in qualsiasi momento futuro, parte della domanda.

Rappresentazione visiva del rendimento delle scorte

A questo punto, lo script potrebbe apparire un po' criptico. Diamo quindi una rappresentazione visiva delle trasformazioni della domanda attraverso l'analisi del rendimento delle scorte in presenza di ordini arretrati.

Image

Il primo grafico (Future demand, domanda futura) rappresenta una previsione probabilistica della domanda associata a una data SKU. La curva rappresenta una distribuzione di probabilità, dove l'area totale sotto la curva è pari a uno. Questa domanda futura è implicitamente associata a una previsione probabilistica del lead time, anche questa rappresentata da una distribuzione di probabilità. La distribuzione è solitamente generata attraverso un motore di previsione probabilistica.

Il grafico Marginal fill rate (fill rate marginale) rappresenta la frazione di domanda aggiuntiva catturata da ogni unità aggiuntiva di scorte. In altre parole, il grafico dimostra cosa succede al fill rate all'aumentare delle scorte. Poiché in questo caso rappresentiamo un fill rate marginale, l'area totale sotto la curva è ancora uguale a uno. La distribuzione del fill rate marginale può essere calcolata con la funzione fillrate().

Il grafico Demand with backorders (domanda con ordini arretrati) è identico al grafico sulla domanda futura: l'unica differenza è che sono state introdotte altre 8 unità, per rappresentare un ordine arretrato. L'ordine arretrato corrisponde a una domanda garantita, poiché queste unità sono già state acquistate dai clienti. Di conseguenza, quando introduciamo unità corrispondenti a un ordine arretrato, la distribuzione di probabilità relativa alla domanda si sposta verso destra, poiché, appunto, le unità in arretrato sono domanda sicura. Tra gli strumenti della nostra algebra delle distribuzioni, è disponibile un operatore di shift >> per calcolare trasformazioni di questo tipo rispetto alla distribuzione iniziale.

Il grafico Fill rate with backorders (fill rate con ordini arretrati) è molto simile al grafico Marginal fill rate precedente, ma, anche in questo caso, è stato spostato verso destra di 8 unità. Qui, il fill rate tracciato è associato solo alla domanda incerta, per cui la forma della distribuzione rimane la stessa.

Il grafico Margin (margine) rappresenta il rendimento economico del margine, calcolato attraverso la funzione di rendimento delle scorte a partire dai dati Demand with backorders. Il rendimento delle scorte può essere visualizzato come una distribuzione, ma non di probabilità, in questo caso: l'area sotto la curva non è uguale a uno, ma è uguale al margine totale che si sarebbe potuto catturare con scorte illimitate. Sulla sinistra del grafico, ogni unità relativa a un ordine arretrato comporta lo stesso margine, com'è ovvio che sia, dato che le unità sono state già vendute e il margine non è più incerto.

Il grafico Stockout penalty (svantaggio per rottura di stock) rappresenta la seconda componente della funzione di rendimento delle scorte. La forma della distribuzione potrebbe apparire inaspettata: in realtà, questa forma non fa altro che riflettere la costruzione della funzione di rendimento delle scorte, per cui l'area totale sotto la curva è pari a zero. A livello intuitivo, se partiamo da un livello di scorte pari a zero, abbiamo la somma di tutti gli svantaggi da rotture di stock, poiché non riusciamo a servire nessuna parte della domanda. Spostandoci verso destra, all'aumentare delle scorte, riusciamo a servire una parte sempre più consistente di domanda, riducendo quindi gli svantaggi per rotture di stock, fino ad azzerarli del tutto quando l'intera domanda viene soddisfatta. Lo svantaggio per rottura di stock per non aver soddisfatto gli ordini arretrati è rappresentato come maggiore rispetto allo svantaggio per non aver servito la domanda seguente. In questo modo, illustriamo l'assunto secondo cui i clienti che hanno un ordine arretrato hanno aspettative più alte sul servizio rispetto ai clienti che non hanno ancora effettuato degli acquisti.

Il grafico Carrying costs (costi di mantenimento a magazzino) rappresenta la terza e ultima componente della funzione di rendimento delle scorte. Poiché i costi di mantenimento a magazzino non hanno un limite massimo, la distribuzione è divergente e, sulla destra, tende all'infinito negativo. Da un punto di vista teorico, l'area totale sotto la curva corrisponde a un infinito negativo. Sulla destra, i costi di mantenimento a magazzino associati alle unità in arretrato sono pari a zero: poiché si tratta di unità già acquistate dai clienti, infatti, non genereranno costi di mantenimento a magazzino, dato che verranno spedite ai clienti al più presto possibile.

Il rendimento delle scorte finale (che non abbiamo illustrato con un grafico) sarà ottenuto sommando le tre componenti della funzione di rendimento delle scorte. La distribuzione risultante sarà interpretata come il ritorno sull'investimento generato da ogni unità aggiuntiva di scorte acquisita. La distribuzione inizia solitamente con i valori positivi, ossia con le prime unità di scorte a essere redditizie, ma converge verso l'infinito negativo man mano che i livelli di scorte aumentano, poiché i costi di mantenimento a magazzino sono potenzialmente illimitati.

In matematica, il termine supporto fa tradizionalmente riferimento ai livelli di domanda associati alle probabilità diverse da zero. Nel grafico sopra, il termine _support_ è usato in senso più ampio, per indicare l'intero intervallo di valori che devono essere elaborati da Envision come diversi da zero. In particolare, vale la pena ricordare che molti calcoli richiedono che il supporto della distribuzione sia esteso, per fare in modo che la distribuzione finale risultante non sia troncata.

  • L'operazione di shift, che avviene quando sono presenti ordini arretrati, richiede che il supporto sia aumentato del numero di unità in arretrato.
  • Le componenti della funzione relative al margine e ai costi di mantenimento a magazzino non hanno alcun limite a destra, a livello teorico, e possono richiedere estensioni del supporto arbitrariamente ampie.
  • In presenza di vincoli di approvvigionamento, come i quantitativi minimi di ordine, è possibile che i livelli di scorte debbano essere superiori ai livelli raggiunti con le distribuzioni sottoposte a shift. Valutare correttamente la coda della distribuzione è fondamentale per stabilire se i quantitativi minimi di ordine possono essere soddisfatti con un rendimento soddisfacente oppure no.

Dall'illustrazione che abbiamo appena analizzato, appare evidente la necessità di estendere il calcolo della funzione oltre la domanda diversa da zero. Quando, infatti, sono presenti quantitativi minimi di ordine, l'azienda potrebbe essere obbligata ad acquistare merci oltre un livello di servizio del 100% per la domanda del periodo successivo. La funzione di rendimento delle scorte è in grado di gestire anche queste situazioni (per una spiegazione dettagliata dell'impatto dei quantitativi minimi di ordine, rimandiamo al paragrafo successivo). Nella pratica, Envision, durante l'esecuzione, regola automaticamente il supporto per far sì che le distribuzioni non siano troncate nei calcoli.

Possibili applicazioni

La funzione di rendimento delle scorte è piuttosto semplice, nel senso che riflette il risultato finanziario della situazione di un magazzino in modo piuttosto generico. Infatti, come abbiamo visto prima, le tre variabili economiche di cui abbiamo parlato sono tutte imprescindibili per indicare i tre possibili stati di una unità di SKU (venduta, mancante o in stock) e toglierne anche solo una sarebbe poco prudente. Regolando queste tre variabili, inoltre, possiamo regolare anche la funzione di rendimento delle scorte per adattarla di volta in volta al settore che ci interessa.

Aeronautica

Nell'industria aeronautica, i pezzi di ricambio sono essenziali per la corretta manutenzione di un velivolo. Se manca un pezzo di ricambio NO-GO (fondamentale per il funzionamento dell'aereo), si crea una situazione di AOG (Aircraft On Ground, aeromobile al suolo), con un costo ben più elevato rispetto al costo del pezzo di ricambio.

In un contesto simile, possiamo così adattare la nostra funzione:

  • M=0. A meno che i pezzi di ricambio non siano serviti per un prezzo, non c'è differenza di profitto per i vari pezzi.
  • S= costante. Dal momento che tutti i pezzi NO-GO possono generare una situazione di AOG, lo svantaggio dovuto a una rottura di stock è uniforme.
  • C= costante (su base annua). Visto che molti dei pezzi di ricambio hanno vita lunga, possiamo, almeno inizialmente, approssimare il costo annuo di mantenimento a magazzino e indicarlo come valore costante.

Quotidiani

Nel caso dei quotidiani, ogni articolo può essere venduto al massimo entro il periodo successivo, altrimenti perde tutto il suo valore di mercato. I quotidiani sono l'esempio più lampante, ma non sono certo l'unico caso. Fanno parte di questa stessa categoria di prodotti anche gli articoli altamente stagionali e le merci deperibili, che possono essere venduti solo in un arco di tempo piuttosto breve.

In un contesto simile avremo:

  • M, il margine lordo;
  • S, una frazione del margine lordo;
  • C = 0, poiché nessun articolo può essere venduto nel periodo successivo;
  • A = 0, poiché, allo stesso modo, nessun profitto potrà essere generato nei periodi successivi.