Simulazione Monte Carlo con MS Excel

La simulazione Monte Carlo è un metodo di analisi statistica che può essere molto utile in tutte quelle circostanze in cui occorre basare il processo decisionale su dati attendibili e precisi.

Nella gestione di un progetto il metodo Monte Carlo può risultare utile nel valutare i rischi così come i tempi e costi di diverse impostazioni del progetto.

Svolgere una simulazione Monte Carlo richiede sicuramente delle conoscenze di base di analisi statistica mentre sul web è possibile reperire molte applicazioni commerciali e spreadsheet Excel già predisposti per casistiche specifiche.

Alcuni prodotti software di project management evoluti contengono al proprio interno strumenti per sviluppare un’analisi Monte Carlo di un progetto

Nel seguito viene descritta l’impostazione di base cui fanno riferimento molti fogli excel tra quelli disponibili in rete in modo che ne risulti semplificato l’utilizzo.

Introduzione alla simulazione Monte Carlo

Il metodo Monte Carlo è basato sulla generazione di una molteplicità di iterazioni per determinare il valore atteso di una determinata variabile.

Questo può essere ottenuto in MS Excel propagando una formula di base tante volte quante sono quelle richieste dal metodo.

variabili simulazione monte carloAd esempio, si prenda in considerazione un progetto che ha 6 attività.

In alcuni casi il costo di un’attività è certo ed è fisso (attività B della tabella a fianco). Invece nella maggior parte dei casi un’attività ha un costo stimato che varia all’interno di uno specifico intervallo.

La distribuzione possibile del costo di ciascuna attività può avere un andamento di tipo normale oppure uniforme o triangolare o discreto. In prima approssimazione potrà essere assunto un andamento normale senza compromettere il risultato.

Inoltre nell’esempio costituito dalle 6 attività di progetto riportate nella tabella si assumerà per semplicità che il costo di ciascuna attività sia indipendente da quello delle altre.

Pertanto anche il costo totale del progetto costituisce una variabile il cui valore è compresso in un intervallo tra un minimo ed un massimo. Tale variabile sarà distribuita normalmente in quanto somma di variabili random. Per questo motivo non è molto importante definire con precisione il tipo di distribuzione del costo di ciascuna attività.

Lo schema generale della simulazione Monte Carlo è il seguente:

  • vengono generati valori random per il costo di ciascuna delle 6 attività;
  • questi valori vengono sommati per ciascuna iterazione in modo da arrivare al costo totale del progetto per ciascuna delle iterazioni;
  • il costo atteso del progetto sarà pari alla media dei costi totali prodotti dalle varie iterazioni.

Per ottenere questo è necessario calcolare alcuni parametri che consento di garantire l’affidabilità del risultato. Tali parametri verranno descritti più avanti.

Il primo passaggio è costituito dalla generazione di valori random relativi al costo di ciascuna attività. Assumendo, come detto, una distribuzione normale, in MS Excel può essere utilizzata la funzione RAND() per generare valori casuali compresi tra 0 ed 1 che andranno moltiplicati per il range di ciascuna variabile (differenza tra valore massimo e valore minimo).

Il valore random del costo dell’attività A è pertanto dato dalla seguente formula: RAND()*(20000-10000) + 10000.

La formula genera quindi valori casuali distribuiti normalmente e compresi tra 20000 e 10000.

Se viene creata una formula come questa per ciascuna delle 6 attività, il costo totale del progetto per ciascuna delle iterazioni sarà pari alla somma dei valori relativi alle 6 attività.

Per ottenere il valore atteso del costo occorrerà propagare la formula per il numero di iterazioni necessarie che verrà calcolato più avanti.

La tabella sotto riportata mostra le prime 7 iterazioni riferite all’esempio che si sta seguendo (righe 4, 5, 6, 7, 8, 9, 10). La riga 4 costituisce il modello base che viene propagato. La colonna H presenta il costo totale del progetto per ciascuna iterazione.
esempio simulazione monte carlo

Calcolo del numero di iterazioni di una simulazione Monte Carlo

erroreIl metodo Monte Carlo fornisce una stima del valore atteso di una variabile ed è in grado di prevedere anche l’errore associato alla stima che è proporzionale al numero di iterazioni. Nella formula a lato è calcolato l’errore in funzione della deviazione standard e del numero N di iterazioni.

Pertanto occorre da un lato calcolare la deviazione standard ed ipotizzare una percentuale di errore ritenuta accettabile per ottenere il numero di iterazioni necessarie per rimanere dentro tale valore percentuale.

Con riferimento alla tabella sopra riportata, la deviazione standard può essere calcolata utilizzando la funzione STDEVP di Excel:
calcolo deviazione standard
 
 
Se si assume un errore pari al 2%, il valore assoluto di tale errore si ottiene dividendo per 50 la media tra valore massimo e valore minimo del costo totale attraverso la seguente formula:
calcolo errore
 
 
Pertanto in questa simulazione Monte Carlo il numero di iterazioni necessarie ad ottenere un risultato con un margine massimo di errore del 2% è pari a 362 come risulta dal seguente calcolo:
numero di iterazioni