# Previsione della domanda nella catena di distribuzione

La previsione della domanda nella catena di distribuzione è un insieme di metodi che prendono in esame la domanda di un certo prodotto in una rete logistica. Tali metodi sono alla base della progettazione e del riallestimento di una catena di distribuzione (Supply Chain).

## Generalità

Prevedere la domanda da soddisfare di un certo prodotto è fondamentale in ambito sia di produzione che di distribuzione: infatti se non siamo in ambito di gestione MTO (make to order, ovvero se non produciamo/distribuiamo in base agli ordini pervenuti) dovremmo produrre o ordinare (a seconda della nostra posizione nella filiera produttiva) in base ad una certa previsione di domanda del prodotto. È questo il caso tipico della produzione di beni a largo consumo, a basso valore unitario, tipicamente gestiti MTS (make to stock, ovvero prodotti per essere tenuti in una scorta ad aspettare l'acquisto, ad esempio su uno scaffale di un punto vendita). La previsione della domanda può essere effettuata tramite metodi:
* quantitativi
* qualitativi
Tali categorie di metodi sono considerati complementari nella formulazione della previsione, in quanto tengono conto di fattori diversi.

## Metodi qualitativi

I metodi qualitativi di previsione non si basano su un approccio matematico formalizzato. Essi presentano dei vantaggi rispetto agli altri in quanto essi:
* sono più flessibili, in quanto possono adattarsi anche a contesti nuovi
* possono tener conto di fattori difficilmente quantificabili, pure rilevanti nel processo di previsione
Gli svantaggi:
* essi soffrono spesso dell'errore umano a sovrastimare o sottostimare sistematicamente la domanda.
Esempi di metodi qualitativi:
* Ricerche di mercato;
* Metodo Delphi.

## Metodi quantitativi

I metodi quantitativi si basano su un approccio matematico formalizzato. Essi:
* sono più consistenti, cioè tendono a ridurre errori sistematici tipicamente umani
* soffrono della difficoltà di modellizzazione, dunque dell'aderenza solo parziale al fenomeno reale.

## Panoramica dei metodi quantitativi

In quanto formalizzabili, è possibile descrivere efficacemente i metodi quantitativi in modo sintetico. Tipicamente, tali metodi:
* postulano una domanda (descritta mediante una funzione matematica)
* generano una previsione della domanda mediante un algoritmo
Per generare un livello di domanda futura è necessario inizializzare l'algoritmo di previsione, ovvero calcolare un livello iniziale di domanda. Il livello iniziale di domanda è tipicamente basato sui dati storici della domanda passata: in questo caso si ipotizza implicitamente un legame tra la domanda osservata in passato e la domanda da prevedere. L'ipotesi di base, qua analizzata, prevede che il livello della domanda dipenda esclusivamente dal tempo. I metodi quantitativi fondamentali sono:
* la media mobile: è adatta in casi di domanda stazionaria, in quanto considera per la previsione un numero prefissato delle ultime osservazioni della domanda
* lo smorzamento esponenziale: esso considera per la previsione le osservazioni di domanda attribuendo un peso progressivamente minore alle osservazioni via via più vecchie
* regressione lineare: nel caso di una sola variabile esplicativa è possibile interpolare l'andamento della domanda: tale approccio è tanto più valido quanto più l'andamento della domanda è assimilabile a una retta
* regressione multipla: è l'estensione del caso precedente, da usarsi in presenza di più variabili esplicative del modello di previsione

### La media mobile

La media mobile assume la domanda come:
    $Y_{t}={\overline {d}}\ +\varepsilon _{t}$
* Y è la domanda nell'istante t
* d soprasegnato è la domanda attesa
* epsilon è la componente di rumore
Il passo dell'algoritmo è:
    $F_{t,h}=\sum _{i=t-k+1}^{t}{\frac {Y_{i}}{k}}$ per ogni h
* F è la previsione (forecasting) fatta in t per l'orizzonte temporale h, per le assunzioni del modello: $B_{t}=F_{t,h}\quad \forall h$
* k è un fattore adimensionale direttamente proporzionale all'inerzia della domanda

### Lo smorzamento esponenziale

Lo smorzamento esponenziale, a differenza della media mobile, considera tutte le osservazioni passate della domanda; la domanda è modellizzata come nel modello della media mobile.

#### Modello base

Il modello base effettua una previsione della domanda futura sulla base della media pesata delle osservazioni di domanda passate.
    $F_{t,h}=\alpha Y_{t-1}+(1-\alpha )F_{t-1,h}\quad 0\leqslant \alpha \leqslant 1$
può essere riscritta come:
    $B_{t}=\alpha Y_{t-1}+(1-\alpha )B_{t-1}\quad 0\leqslant \alpha \leqslant 1$
* alfa è un parametro compreso tra [0,1], determina la reattività della previsione, come k nella media mobile. Tanto più alfa è prossimo a uno, tanto più la previsione è reattiva. Tanto più alfa è prossimo a zero, tanto più la previsione filtra il rumore. Esiste un chiaro tradeoff nella scelta del parametro.
Essendo questo, un modello ricorsivo, genera una nuova stima della domanda in t con una stima del periodo precedente t-1. Quindi ha bisogno di un punto di partenza, in questo caso: $B_{0}$. Questa stima è molto importante soprattutto se si hanno a disposizione pochi dati e si sceglie un parametro alfa elevato. Supponendo di avere a disposizione Ie osservazioni di domanda:
* Porre la stima iniziale $B_{t-I}=0$, questo però rende la stima iniziale deviata.
* Porre la stima iniziale $B_{t-I}=Y_{t-I+1}$, questo però rende la prima stima della previsione inutilizzabile quando si misureranno gli errori.
* Dividere i dati in due set. Il primo composto dalle osservazioni di domanda, utilizzato per inizializzare la previsione, il secondo composto dalle osservazioni di domanda, su cui si andrà a misurare le performance della previsione. $B_{t-I}=\sum _{i=t-I+1}^{t-I+l}{\frac {Y_{i}}{l}}$.
Il modello a smorzamento esponenziale è in generale più adatto a prevedere la domanda di prodotti con ciclo di vita breve, dove l'informazione delle tendenze più recenti del mercato è evidentemente più importante.

#### Modello con tendenza

Il modello con tendenza ipotizza che la domanda tenda a crescere o a decrescere in modo costante al trascorrere del tempo. La previsione è una funzione che disaccoppia un livello base della domanda ed un fattore di trend proporzionale all'orizzonte temporale: questi due fattori sono aggiornati separatamente. La previsione è formulata:
    $F_{t,h}=B_{t}+hT_{t}$
* B è il livello base della domanda in t
* T è il fattore di trend
    $B_{t}=\alpha Y_{t-1}+(1-\alpha )(B_{t-1}+T_{t-1})\quad 0\leqslant \alpha \leqslant 1$
    $T_{t}=\beta (B_{t}-B_{t-1})+(1-\beta )(T_{t-1})\quad 0\leqslant \beta \leqslant 1$
* beta è un fattore adimensionato proporzionale alla reattività della previsione al variare del trend, in modo simile a come avviene per alfa.
Inizializzazione:
    $T_{o}=Y_{2}-Y_{1}$ Inizializza il fattore di Trend con il minimo set di dati.
Avendo invece a disposizione l dati per inizializzare:
    $B_{o}={\frac {\sum {(Y_{i}-iT_{o})}}{l}}$ per i=1...l
    $T_{o}={\frac {Y_{l}-Y_{1}}{l-1}}$ dove l-1 sono gli incrementi dei primi l periodi
Due limiti principali di questo modello sono:
* Se l'orizzonte di previsione h è troppo elevato e si è in presenza di un trend negativo, il modello può portare a previsioni negative.
* Se al periodo t-1 prevediamo un fattore di trend positivo pari a p e invece si ha un trend negativo pari a n, l'errore che si commette è pari a h(p+n), quindi si apre una "forbice" tra domanda e previsione. Da notare che questo errore è tanto più grande quanto più elevato è l'orizzonte per la quale si prevede.

#### Modello con stagionalità

Il modello con stagionalità prevede che il livello di domanda si ripresenti simile dopo un intervallo di tempo regolare, detto stagione. La previsione qua introduce un fattore S di stagionalità:
    $F_{t,h}=B_{t}S_{t+h-s}\quad$ per $h\leqslant s$
Se l'orizzonte eccede la stagione:
    $F_{t,h}=B_{t}S_{t+h-s\lfloor {\frac {h-1}{s}}+1\rfloor }$
* s è il numero di periodi di tempo della durata della stagione
* S (maiuscolo) è il fattore di stagionalità, coglie in media se una stagione ha un valore atteso più alto o basso delle altre
* gamma è anch'esso un parametro compreso tra [0,1], proporzionale alla reattività della previsione al variare della stagionalità, in modo simile a come avviene per alfa e beta.
    $B_{t}=\alpha {\frac {Y_{t}}{S_{t-s}}}+(1-\alpha )(B_{t-1})\quad 0\leqslant \alpha \leqslant 1$
    $S_{t}=\gamma {\frac {Y_{t}}{B_{t}}}+(1-\gamma )(S_{t-s})\quad 0\leqslant \gamma \leqslant 1$
Inizializzazione:
    $B_{o}=\sum _{i=1}^{l}{\frac {Y_{i}}{l}}$
con l=ks stagioni
    $S_{j-s}={\frac {\sum _{Y_{j}+ks}}{B_{o}*l/s}}$ per j=1,...,s dove j sono i periodi dove si effettua l'inizializzazione
Questo modello pone dei limiti riguardante il numero di fattori di stagionalità che si calcolano, se si pone come esempio una stagionalità a livello giornaliero, in un anno si devono calcolare 365 fattori di stagionalità diversi, il che, pone una difficoltà a livello computazionale.

#### Modello con tendenza e stagionalità

Il modello con tenenza e stagionalità combina il modello con trend e quello con stagionalità: esiste cioè una ciclicità della domanda che si sovrappone alla tendenza a crescere o a decrescere al trascorrere del tempo. La previsione è modellizzata:
    $F_{t}=(B_{t}+hT_{t})\left(S_{t+h-s\lfloor {\frac {h-1}{s}}+1\rfloor }\right)$
L'aggiornamento dei parametri del livello base di domanda, di trend e stagionalità si effettuano rispettivamente:
    $B_{t}=\alpha {\frac {Y_{t}}{S_{t-s}}}+(1-\alpha )(B_{t-1}+T_{t-1})\quad 0\leqslant \alpha \leqslant 1$
    $T_{t}=\beta (B_{t}-B_{t-1}+(1-\beta )(T_{t-1})\quad 0\leqslant \beta \leqslant 1$
    $S_{t}=\gamma {\frac {Y_{t}}{B_{t}}}+(1-\gamma )(S_{t-s})\quad 0\leqslant \gamma \leqslant 1$
L'inizializzazione prevede il calcolo di s+2 parametri, e per poter inizializzare occorono almeno s+1 dati di domanda:
    $T_{o}={\frac {\sum _{i=1}^{s}Y_{s+i}-Y_{i}}{s^{2}}}$
    $B_{o}=\sum _{i=1}^{l}{\frac {(Y_{i}-iT_{o})}{l}}$ se l=2s
    $S_{j-s}={\frac {\sum _{k=0}^{(l/s)-1}{\frac {Y_{j+ks}}{B_{0}+(j+ks)T_{0}}}}{l/s}}$ per j=1...s
Quest'ultimo modello soffre dei limiti dei modelli:
* Esponenziale con Stagionalità.
* Esponenziale con Trend.

### La regressione lineare

La regressione lineare è un approccio previsionale usato nel caso semplice in cui la domanda abbia un andamento che non si discosta dalla retta nel piano. È possibile formulare una previsione:
* calcolando i parametri a (intercetta sull'asse delle ordinate) e b (coefficiente angolare) della retta delle osservazioni passate
* calcolando la y (variabile dipendente della retta, nella fattispecie la domanda) in corrispondenza di x(variabile indipendente, in questo caso il tempo per cui si effettua la previsione: y è il valore atteso del livello di domanda previsto per l'istante x
* calcolando le See(Y) (acronimo di Standard Error Estimate), ovvero la stima della varianza della domanda.
Modello lineare generale:
    $Y=a+bx$
Stima puntuale della domanda Y:
    ${\hat {Y_{o}}}=a+bx_{o}$
    Stima della varianza della stima di Y:
    $See({\hat {Y_{o}}})=\sigma _{\varepsilon }{\sqrt {1+{\frac {1}{n}}+{\frac {(x_{o}-{\overline {x}})^{2}}{\sum _{i=1}^{n}{(x_{i}-{\overline {x}})^{2}}}}}}$
dove:
    ${\hat {\sigma _{\varepsilon }}}={\sqrt {\frac {\sum _{i=1}^{n}(Y_{i}-{\hat {Y_{o}}})}{n-2}}}$

## Errori

Può essere opportuno, alla fine della previsione, misurare gli errori commessi per due semplici motivi:
* Misurare le performance del modello utilizzato.
* Valutare se si è scelto un modello adeguato ai dati.
Al periodo t, l'errore che viene misurato è:
    $e_{t}=Y_{t}-F_{t}$
dove:
* $Y_{t}$ è l'osservazione di domanda al periodo t
* $F_{t}$ è la previsione effettuata per il periodo t, diverso da $F_{t,h}$ che rappresenta la previsione effettuata al periodo t con orizzonte h, quindi per il periodo t+h

### Assoluti

I primi tre indici, calcolano gli errori con la stessa scala della domanda, esempio: kg, pezzi.

#### Errore medio

Questo primo indice non è altro che la media degli errori, indica la deviatezza della previsione:
    $ME=\sum _{t=1}^{n}{\frac {e_{t}}{n}}$
Quanto più grande è l'errore medio, tanto più deviata risulta la previsione. Se questo indice è positivo (Yt>Ft), indica che si sta sottostimando la domanda, un errore medio negativo (Yt<Ft), indica che si sta sovrastimando la domanda.

#### Errore medio assoluto

A differenza del primo, questo secondo indice indica l'accuratezza della previsione, poiché va a sommare tutti gli errori dei periodi:
    $MAE=\sum _{t=1}^{n}{\frac {|e_{t}|}{n}}$

#### Errore quadratico medio

Questo terzo indice calcola l'accuratezza della previsione, ma a differenza dell'errore medio assoluto, da più peso agli errori grossi anche se sporadici, poiché sono elevati al quadrato. Se una previsione presenta tanti piccoli errori, sarà premiata da questo indice in confronto ad una previsione con pochi errori ma elevati.
    $RMSE={\sqrt {\sum _{t=1}^{n}{\frac {e_{t}^{2}}{n}}}}$

### Percentuali

Gli errori misurati in percentuale, danno una valutazione non condizionata dall'unità di misura della domanda, inoltre si può paragonare la deviatezza e l'accuratezza poiché sono numeri adimensionali. I limiti di questi due indici (MPE, MAPE), sono tutti legati al termine presente al denominatore, ovvero la domanda. Non possono essere usati nel caso in cui:
* Siano presenti forti fluttuazioni della domanda
* Ci siano periodi in cui la domanda è nulla

#### Mean Percentage Error

Questo quarto indice, misura la deviazione di una previsione.
    $MPE={\frac {1}{n}}\sum _{t=1}^{n}{\frac {e_{t}}{Y_{t}}}$

#### Mean Absolute Percentage Error

Questo quinto indice, misura l'accuratezza di una previsione.
    $MAPE={\frac {1}{n}}\sum _{t=1}^{n}{\frac {|e_{t}|}{Y_{t}}}$

#### ME%, MAE%

I problemi legati alla fluttuzione e all'azzeramento della domanda, sono risolti se viene considerata la domanda media:
    ${\overline {Y}}={\frac {\sum _{t=1}^{n}Y_{t}}{n}}$
    $ME\%={\frac {ME}{\overline {Y}}}$
    $MAE\%={\frac {MAE}{\overline {Y}}}$