Continua a imparare con
LOKAD TV
// "PO" sta per PurchaseOrders (ordini di acquisto) Leadtime = forecast.leadtime( category: C1, C2, C3, C4 hierarchy: H1, H2, H3, H4 supplier: Supplier offset: 0 present: (max(Orders.Date) by 1) + 1 leadtimeDate: PO.Date leadtimeValue: PO.ReceivedDate - PO.Date + 1 leadtimeSupplier: PO.Supplier)
Leadtime
di tipo distribuzione (vedi anche Algebra delle distribuzioni). Le distribuzioni costituiscono un tipo di dati avanzati, che rappresentano le funzioni $p: \mathbb{Z} \to \mathbb{R}$. Più specificatamente, il nostro motore di previsione restituisce variabili casuali, ossia distribuzioni che sono positive e hanno una massa pari a 1. Nel nostro caso, $p(k)$ rappresenta il lead time probabile associato a $k$ giorni. Ogni articolo (nel senso usato in Envision del termine) viene associato alla propria distribuzione.forecast.leadtime
comprende numerosi argomenti, ma solo due sono obbligatori:present
(presente): valore scalare di una data;leadtimeDate
(data lead time): un vettore data con affinità con un articolo.present
è la data che indica il primo giorno da prevedere, partendo dal presupposto che i dati siano completi fino al giorno precedente. In realtà, alcune aziende sono chiuse un giorno a settimana, ad esempio la domenica: in questo caso, se la data più recente trovata nel set di dati è un sabato, potremmo chiederci se iniziare le previsioni dalla domenica o dal lunedì successivo. Nella sintassi di esempio mostrata sopra, usiamo max(Orders.Date) + 1
, ipotizzando che gli ordini vengano effettuati ogni giorno e che i dati di input risalgano al giorno precedente.leadtimeDate
e leadtimeValue
dovrebbero appartenere alla stessa tabella che mostra un'affinità con gli articoli, ossia Id, *
nella terminologia di Envision. Le date rappresentano i giorni di inizio delle osservazioni del lead time (inclusi). I valori dovrebbero essere espressi in giorni. Non sono supportate frazioni di giorni. La tabella contiene i dati storici reali sul lead time calcolati dal nostro motore di previsione. leadtimeValue
è omesso, sono usati come valori del lead time le durate successive comprese tra le date leadtimeDate
. Questo comportamento è necessario al fine di prevedere il lead time di ordine, che di solito è calcolato separatamente dal lead time di fornitura. leadtimeSupplier
(lead time, fornitore). Quando usiamo questo argomento, il motore di previsione sfrutta le informazioni così ottenute per stabilire se i lead time associati a un certo fornitore sono correlati oppure no. I dati sui fornitori offrono informazioni più dettagliate rispetto alle semplici categorie o gerarchie di prodotti, perché i prodotti potrebbero aver cambiato fornitore nel corso del tempo.supplier
(fornitore). Se usiamo questo argomento, il motore di previsione riesce ad anticipare che un particolare prodotto potrà essere soggetto a un'improvvisa variazione del lead time, perché il fornitore è appena stato cambiato. Ovviamente, il motore di previsione può gestire queste informazioni in modo accurato solo se i dati storici sul lead time sono stati correttamente categorizzati per fornitore, come abbiamo appena visto. present
. In alcuni casi, però, potremmo aver bisogno di far partire le previsioni da una data diversa. Se i lead time sono stagionali, infatti, la data di inizio del lead time può avere ripercussioni notevoli sulla distribuzione del suo valore. In casi come questo, dobbiamo ricorrere alla proprietà offset
. Questa proprietà, opzionale, prevede l'esistenza di un vettore numerico nella tabella articoli. I valori di questo vettore rappresentano lo sfasamento (espresso in giorni) da considerare per le previsioni del lead time. Ad esempio, se un articolo ha un valore offset pari a 10, il giorno di inizio per la previsione del lead time sarà present + 10
. Se il valore offset
è omesso, tutti i valori offset saranno considerati come pari a zero.