Archivio per la Categoria ‘Gestione scorte’ Category

scritto da | on | Nessun commento

In tempi di crisi la prima cosa che si fa è quella di tagliare le spese, in realtà l’azione corretta che andrebbe sempre perseguita non solo in tempo di crisi è quella di ridurre gli sprechi. In questo post vedremo come impostare un piano volto a ridurre il valore delle scorte (ricordiamo che il magazzino costituisce una voce dello stato patrimoniale dell’impresa).
Possiamo individuare i seguenti punti per il piano di riduzione delle scorte:

  1. Valutare i principali KPI
  2. Analizzare le principali cause di formazione delle scorte
  3. Definire un piano d’azione
  4. Implementare il piano d’azione
  5. Monitorare il piano d’azione

Valutare i principali KPI: In questa prima fase calcoliamo i principali indicatori come il valore mensile delle scorte suddiviso per depositi e famiglie di prodotto, l’indice di rotazione, l’incidenza degli obsoleti, il lead time, la puntualità di consegna, effettuiamo una analisi tramite la matrice scorte fatturato.
Analizzare le principali cause di formazione delle scorte: Attraverso lo strumento del digramma di Ishikawa individuiamo le principali cause che generano le scorte in azienda suddivise per aree aziendali (logistica, acquisti, produzione, vendite, ufficio tecnico), selezioniamo quindi le cause più determinati sulle quali andremo ad agire.
Definire un piano d’azione: Per ogni causa individuata nel punto precedente individuiamo una o più azioni che possono risolvere il problema. Ad esempio se un problema sono le distinte base non aggiornate, una soluzione potrebbe essere quella di rivedere il processo di creazione delle distinte o implementarne uno nel caso non esista. Se ad esempio un problema sono gli errori nei prelievi una soluzione potrebbe essere quella di introdurre un sistema in radiofrequenza in magazzino. A questo punto per ogni causa indichiamo gli obiettivi di miglioramento, ad esempio ridurre la percentuali di prelievi errati del 10% entro il prossimo semestre. Per ogni azione indichiamo il responsabile e la data entro cui deve essere portata a termine.
Implementare il piano d’azione: A questo punto ogni responsabile attua quanto indicato dal piano del punto precedente individuando eventuali errori di valutazione commessi nelle fasi precedenti.
Monitorare il piano d’azione: Periodicamente il gruppo di lavoro sulla riduzione delle scorte si riunisce per valutare lo stato d’avanzamento delle azioni del piano e gli eventuali miglioramenti, indicando le correzioni di rotta necessarie.

scritto da | on | Nessun commento

L’individuazione del tipo di domanda è di grande importanza per la successiva fase di previsione e poi di gestione delle scorte, i principali metodi si applicano per i codici che hanno una domande regolare, pertanto è necessario individuare per ogni codice il tipo di domanda, come visto in un precedente post possiamo individuare quattro tipi di domanda: Regolare, intermittente , erratica e lumpy. Per individuare a quale categoria il codice appartenga dobbiamo calcolare due indicatori:

  1. ADI (avarage demand interval): L’intervallo medio fra due consumi successivi del codice
  2. CV2 (Coefficiente di variazione al quadrato): Il quadrato del rapporto tra domanda non nulla e la domanda media.

Incrociando i due indicatori (Livello alto e basso) otteniamo una matrice con la quale ricavare la tipologia della domanda.
Per calcolare il primo indicatore consideriamo una tabella in cui sono presenti i seguenti campi: CODICE,DATA,QT. Partendo da questa tabella ed applicando la seguente funzione possiamo derivare una tabella con l’indicatore ADI calcolato.

Public Function ADI(Chiave, CampoData, NomeTabella)
Dim db As DAO.Database
Dim tabella As DAO.Recordset
Dim c1 As DAO.Field
Dim c2 As DAO.Field
Dim codes(2000000, 3)
Dim DATI(100000, 3)
Set db = CurrentDb
Set tabella = db.OpenRecordset(NomeTabella, dbOpenDynaset)
Do Until tabella.EOF
    t = t + 1
    codes(t, 1) = tabella.Fields(Chiave)
    codes(t, 2) = tabella.Fields(CampoData)
    tabella.MoveNext
Loop
tabella.Close
db.Close
For x = 1 To t
    If codes(x, 1) = codes(x + 1, 1) Then
        codes(x, 3) = codes(x + 1, 2) - codes(x, 2)
    Else
        codes(x, 3) = 0
    End If
Next x
For x = 1 To t
    If codes(x, 1) <> codes(x - 1, 1) Then
        s = codes(x, 3)
        j = 0
    Else
        s = s + codes(x, 3)
        j = j + 1
        If codes(x, 1) <> codes(x + 1, 1) Then
            k = k + 1
            DATI(k, 1) = codes(x, 1)
            DATI(k, 2) = s
            DATI(k, 3) = j
        End If
    End If
Next x
SvuotaTab "ADI"
Set db = CurrentDb
Set tabella = db.OpenRecordset("ADI", dbOpenDynaset)
Set c1 = tabella.Fields("CODICE")
Set c2 = tabella.Fields("ADI")
For x = 1 To k
    tabella.AddNew
    c1 = DATI(x, 1)
    c2 = DATI(x, 2) / DATI(x, 3)
    tabella.Update
Next x
tabella.Close
db.Close
End Function

Il valori che bisogna passare alla funzione sono il nome del campo dove è contenuto il codice articolo, il nome del campo dove è indicata la data ed il nome della tabella dove sono contenuti i codici con lo storico della domanda. La funzione ha bisogno che sia presente una tabella chiamata ADI che abbia i campi CODICE e ADI, la funzione infatti ogni volta che viene lanciata svuota questa tabella ed accoda i nuovi valori calcolati. La funzione per svuotare la tabella richiama una funzione SvotaTab così definita:

Public Function SvuotaTab(nomeTab)
   DoCmd.SetWarnings False
   DoCmd.RunSQL "DELETE * FROM [" & nomeTab & "];"
   DoCmd.SetWarnings True
End Function

Per il calcolo del secondo indicatore possiamo procedere attraverso una serie di query che partono dalla tabella movimenti formata dai seguenti campi: CODICE, DATA, SEGNO, QT.
Query MMD

SELECT MOVIMENTI.CODICE, MOVIMENTI.DATA, MOVIMENTI.QT
FROM MOVIMENTI
WHERE (((MOVIMENTI.SEGNO)="-"))
ORDER BY MOVIMENTI.CODICE, MOVIMENTI.DATA, MOVIMENTI.SEGNO DESC;

Query calcola CV

SELECT MMD.CODICE, StDevP([QT]) AS DEV, Avg(MMD.QT) AS MEDIA
FROM MMD
GROUP BY MMD.CODICE
HAVING (((Avg(MMD.QT))>0));

Query AGG CV2

SELECT [Calcola CV].CODICE, ([DEV]/[MEDIA])^2 AS CV2 INTO CV2
FROM [Calcola CV];

scritto da | on , , | Nessun commento

Un problema che si può porre nel caso vengano gestite delle lavorazioni esterne è quello relativo al bilanciamento dei magazzini dei terzisti nel caso si segua per alcuni materiali una politica di alimentazione del terzista a dotazione, in modo particolare per quei materiali di base, comuni a più lavorazioni per cui non conviene contare ogni singolo pezzo da inviare al terzista. In questo caso si può verificare che alcuni codici hanno una giacenza inferiore all’ordinato in certi depositi mentre in altri può verificarsi il caso opposto. In questa condizione potrebbe non essere conveniente alimentare dal magazzino centrale quei depositi con disponibilità di materiale negativa ma potrebbe essere più utile spostare dei codici da un magazzino ad un altro. Lo schema proposto permette di determinare quali spostamenti è conveniente effettuare.

Sono necessarie le seguenti tabelle

Saldi: CODICE, COSTO,GIACENZA, IMPEGNO, DISPONIBILITA (l’impegno è dato dall’ordinato più la scorta di sicurezza) || Continua a leggere

Pagina 3 di 3123

News