Migrer un modèle depuis @RISK, ModelRisk ou Analytic Solver
xellstorm ouvre sans le complément un fichier conçu pour @RISK, ModelRisk ou Analytic Solver. Il lit 164 de leurs fonctions de distribution et fait de chaque formule une entrée dont les paramètres restent liés à vos cellules. Avant le lancement, il liste ce qu’il a converti et chaque formule laissée de côté, avec la raison.
Ces 164 fonctions se répartissent ainsi : 53 pour @RISK, 62 pour ModelRisk et 49 pour Analytic Solver. xellstorm lit aussi 65 formes qui donnent une distribution par ses centiles, ainsi que la troncature, les marqueurs de sortie, les matrices de corrélation et les tables multi-simulations.
Ce que l’import trouve dans un fichier écrit pour @RISK
Le fichier reprend l’estimation de bâtiment de l’exemple sur la provision pour aléas d’un projet, écrite comme le serait un modèle conçu pour @RISK : chaque poste de coût est un =RiskPert(min, most likely, max, RiskName(label)) sur les cellules de sa ligne, chaque événement de risque un RiskBernoulli sur sa probabilité, le coût total et le dépassement portent un RiskOutput, Structure et MEP sont corrélés par RiskCorrmat, trois budgets figurent dans un RiskSimtable et une cellule donne le RiskMean du total. Une seconde feuille, « Demonstrations », contient cinq formules isolées : deux formes arithmétiques qui se convertissent et trois qui ne se convertissent pas. Nous avons généré le fichier par script : xellstorm n’a pas besoin de @RISK pour le lire, et vous non plus.
Dans l’application, Import from workbook, à l’étape Distributions, liste les formules trouvées (en ligne de commande, xellstorm import affiche la même liste). Pour ce fichier, il convertit 12 entrées : les 6 postes de coût, les 4 événements de risque et 2 démonstrations arithmétiques. Les postes de coût et les événements de risque gardent leurs paramètres liés aux cellules : modifier un min ou une probabilité dans le fichier change donc l’exécution suivante, et RiskName(A3) nomme chaque entrée d’après le texte de sa ligne. Les deux démonstrations converties sont un tirage normal multiplié par un facteur et un tirage dont la moyenne est calculée à partir d’une autre cellule. Aucune des deux n’intervient dans les sorties de l’estimation.
| Cellule | Formule dans le fichier | Devient |
|---|---|---|
| E3 | =RiskPert(B3, | Aménagement du site : une PERT de min B3 (100), de plus probable C3 (120), de max D3 (170) |
| E4 | =RiskPert(B4, | Fondations : une PERT de min B4 (300), de plus probable C4 (340), de max D4 (460) |
| E5 | =RiskPert(B5, | Structure : une PERT de min B5 (760), de plus probable C5 (820), de max D5 (1 010) |
| E6 | =RiskPert(B6, | MEP : une PERT de min B6 (540), de plus probable C6 (610), de max D6 (780) |
| E7 | =RiskPert(B7, | Finitions : une PERT de min B7 (400), de plus probable C7 (450), de max D7 (560) |
| E8 | =RiskPert(B8, | Équipements : une PERT de min B8 (260), de plus probable C8 (280), de max D8 (330) |
| D11 | =RiskBernoulli(B11, | Conditions du sol : une loi de Bernoulli de probabilité B11 (0,25) |
| D12 | =RiskBernoulli(B12, | Changement de conception : une loi de Bernoulli de probabilité B12 (0,35) |
| D13 | =RiskBernoulli(B13, | Retard de fournisseur : une loi de Bernoulli de probabilité B13 (0,2) |
| D14 | =RiskBernoulli(B14, | Fortes intempéries : une loi de Bernoulli de probabilité B14 (0,3) |
| Demonstrations!B3 | =RiskNormal(100, | une loi normale de moyenne 100 et d’écart type 10, avec le tirage multiplié par 1,1 ; démonstration seulement, non utilisée par l’estimation |
| Demonstrations!B4 | =RiskNormal(Estimate!C3*1.1, | une loi normale de moyenne Estimate!C3*1.1 (132) et d’écart type 10 ; démonstration seulement, non utilisée par l’estimation |
Le même import lit le reste du modèle :
- Sorties. Les cellules marquées
RiskOutput("Total cost")etRiskOutput("Over budget")deviennent des sorties portant ces noms. Le marqueur ajoute 0, comme dans @RISK, de sorte que les cellules se calculent. - Corrélation.
RiskCorrmat(Correlation,1)etRiskCorrmat(Correlation,2)placent Structure et MEP dans la matrice nommée Correlation, avec une corrélation de rang de 0,6 (seul le triangle inférieur est rempli ; une cellule vide se lit dans son symétrique par rapport à la diagonale). xellstorm lit la valeur dans la matrice telle que le fichier la contient au moment de l’import, et l’import le signale. - Simulations.
RiskSimtable({2900,3000,3100})donne au budget une valeur par simulation dans @RISK. xellstorm maintient le budget à 2 900 dans l’exécution de référence et ajoute les deux autres valeurs comme scénarios, qui tirent les mêmes nombres aléatoires que l’exécution de référence : ils ne diffèrent donc que par le budget. - Statistiques.
RiskMean, comme les autres fonctions qui rapportent un résultat dans une cellule, n’est pas une distribution : elle ne figure donc pas parmi les formules non converties. Hors de @RISK, elle n’a pas de valeur (le contrôle de compatibilité nomme la cellule) ; la moyenne se lit dans les résultats de xellstorm.
L’import liste aussi les formules qu’il ne convertit pas. Pour les 3 formules de la seconde feuille, il donne la raison, et chacune a une issue :
| Formule | Raison donnée | Que faire |
|---|---|---|
=RiskBinomial(1, | « multiple distributions in one formula are not converted; give each distribution its own input cell » (plusieurs distributions dans une même formule ne sont pas converties : donnez à chacune sa propre cellule d’entrée) | Séparez-la : une cellule =RiskBernoulli(0.3) pour savoir si le risque survient, une cellule =RiskTriang(20,40,80) pour son impact, et multipliez-les dans une troisième, comme le font les événements de risque de l’estimation. |
=RISKCOMPOUND(RiskPoisson(3), | « RISKCOMPOUND has no exact xellstorm equivalent » (aucun équivalent exact dans xellstorm) | xellstorm n’a pas de distribution composée. Modélisez le nombre d’événements et leurs montants dans des cellules distinctes, ou laissez la cellule hors du modèle. |
=RISKPERTALT(10%, | « RISKPERTALT has no exact xellstorm equivalent » (aucun équivalent exact dans xellstorm) | Saisissez le min, le plus probable et le max de la PERT (RiskPert), ou donnez les centiles à RiskTrigen, qui est converti. |
Exécution du modèle converti
Avec la configuration importée et 5 000 itérations, le coût total moyen est de 2 784,7 (milliers de dollars US). La moyenne exacte des mêmes distributions, soit les moyennes PERT (min + 4 × plus probable + max) / 6 plus la probabilité de chaque risque multipliée par son impact, vaut 2 784,7 ; l’erreur type de la moyenne simulée est de 1,7. Structure et MEP atteignent une corrélation de rang de 0,60. Voici les trois budgets du RiskSimtable, lancés comme exécution de référence et deux scénarios :
| Exécution | Budget | Probabilité de dépassement |
|---|---|---|
| Exécution de référence (simulation 1) | 2 900 | 17,7 % |
| Simulation 2 | 3 000 | 5,2 % |
| Simulation 3 | 3 100 | 0,7 % |
Un budget plus élevé est dépassé moins souvent, et comme les scénarios tirent les mêmes nombres que l’exécution de référence, les écarts entre les lignes viennent du seul budget, et non de l’échantillonnage.
Les résultats seront-ils identiques à ceux du complément ?
Le modèle est le même ; les nombres aléatoires, non. Chaque règle de l’import associe une fonction à la distribution qu’elle décrit, avec des paramètres traduits comme l’éditeur les documente, et se vérifie sur la distribution scipy équivalente ; le script qui produit les données de test contrôle aussi la moyenne de chaque correspondance d’après la formule de l’éditeur. Dès que toutes les distributions d’un fichier sont converties, ses moyennes et ses centiles ne diffèrent donc de ceux du complément que par le bruit d’échantillonnage, qui diminue quand vous lancez plus d’itérations : l’erreur type ci-dessus donne l’ordre de grandeur à attendre pour la moyenne.
Il s’agit de corrélations de rang, comme dans @RISK et Analytic Solver, et xellstorm atteint la corrélation de rang demandée. Chaque outil apparie les tirages à sa façon pour y parvenir : un modèle corrélé peut donc différer un peu plus dans les queues de distribution que le seul bruit d’échantillonnage ne l’explique. Votre fichier n’est pas modifié : xellstorm le lit seulement, et le modèle s’ouvre toujours dans le complément.
Ce qui est converti
- Distributions et arguments arithmétiques. Une distribution peut figurer seule, ou être suivie d’un multiplicateur positif puis d’au plus un décalage ajouté ou retranché :
RiskNormal(B1*1.1,B2)*C1+5et5+C1*RiskNormal(B1,B2)sont convertis. Arguments, multiplicateurs et décalages s’écrivent avec des nombres, des références à une seule cellule, des parenthèses et+,−,*,/. Un nom défini qui désigne une seule cellule est remplacé par son adresse. Ces expressions restent liées et sont évaluées après application des cellules fixes de chaque scénario ; toute référence doit être déterministe. Les fonctions marquées † dans le tableau se convertissent encore, mais avec des nombres seulement. - Formes par centiles. Les fonctions
…Altet…AltDde @RISK et les fonctions…Altd’Analytic Solver (celles du tableau ci-dessous) donnent une distribution par ses centiles ; xellstorm résout exactement la distribution au lancement et signale une erreur quand aucune distribution, ou plusieurs, ne correspondent. - Troncature et décalage.
RiskTruncate,RiskTruncate2,RiskTruncateP,RiskShift,VoseXBounds,VosePBounds,VoseShift,PsiTruncate,PsiTruncatePetPsiShift, appliqués dans l’ordre que documente chaque complément. Un multiplicateur ou un décalage placé hors de la fonction s’applique ensuite et s’affiche à part dans les réglages de l’entrée. - Noms et verrous.
RiskName,PsiNameetVoseInputnomment l’entrée ;RiskLockla fixe à une valeur. Le catalogue liste aussi des propriétés ignorées (Static, Units, Category, Collect, Base, Seed, IsDiscrete, IsDate, Fit, FitInfo, Certify, BaseCase, Library et SixSigma, avec le préfixe de l’éditeur).RiskSeedproduit un avertissement : ses réglages de flux aléatoire ne sont pas conservés, et les tirages de xellstorm dépendent de sa graine de simulation et de l’ordre des entrées. - Sorties.
RiskOutput,VoseOutput,PsiOutputetPsiSimOutputmarquent des sorties ; dans Analytic Solver, une statistique telle quePsiMean(B1)fait aussi de B1 une sortie, et xellstorm fait de même. - Corrélations et simulations.
RiskCorrmat,RiskDepCavecRiskIndepC,PsiCorrMatrix,PsiCorrDepenavecPsiCorrIndep;RiskSimtable,VoseSimTableetPsiSimParam. - Formules propres à Excel.
NORM.INV(RAND(), mean, sd),RANDBETWEEN,IF(RAND() < p, 1, 0)et, au total, 18 formes de ce type, listées ci-dessous.
Ce qui n’est pas converti
Plusieurs distributions dans une même cellule, une distribution dans une autre fonction ou au dénominateur, la division directe d’une distribution et les chaînes qui obligent à changer l’ordre des opérations ne sont pas converties. Par exemple, (RiskNormal(0,1)+5)*2 et RiskNormal(0,1)*2*3 sont laissés de côté, avec une raison. RiskNormal(0,1)*(1/C1) est en revanche converti quand C1 donne un multiplicateur positif fini, car la formule calcule explicitement l’inverse avant de multiplier. Restent aussi non prises en charge : les multiplicateurs dont la valeur est nulle ou négative, les arguments qui appellent des fonctions ou dépendent de cellules aléatoires, les fonctions sans équivalent exact (distributions composées, fonctions de séries temporelles, RiskPertAlt et les autres formes par centiles à deux paramètres de forme), l’argument U de ModelRisk et les copules, ainsi que les propriétés absentes du tableau. Le moteur ne sait pas calculer une formule de complément non prise en charge ; le contrôle de compatibilité la nomme.
Fonctions prises en charge
Les tableaux viennent directement de la liste de règles de l’importeur : ils indiquent donc exactement ce qu’il convertit. « Centiles » marque les formes qui donnent une distribution par ses centiles ; † marque les fonctions converties avec des nombres seulement. Sous chaque distribution figure son nom dans les spécifications de xellstorm.
| Distribution (nom dans xellstorm) | @RISK | ModelRisk | Analytic Solver |
|---|---|---|---|
Bernoullibern | RiskBernoulli | VoseBernoulli | PsiBernoulli |
Bêtabeta | RiskBetaRiskBetaGeneralRiskBetaSubj† | VoseBetaVoseBeta4VoseBetaSubj† | PsiBetaPsiBetaGenPsiBetaSubj† |
Binomialebinom | RiskBinomial | VoseBinomial | PsiBinomial |
Burr XIIburr12 | RiskBurr12 | — | — |
Cauchycauchy | RiskCauchyCentiles : RiskCauchyAltRiskCauchyAltD | VoseCauchy | — |
Khi-deuxchi2 | RiskChiSqCentiles : RiskChiSqAltRiskChiSqAltD | VoseChiSq | PsiChiSquareCentiles : PsiChiSquareAlt |
Khi, Maxwellchi | — | VoseChiVoseMaxwell | — |
Cumulativecumul | RiskCumulRiskCumulD† | VoseCumulAVoseCumulD†VoseOgive† | PsiCumul |
Dagum (Burr III)burr | RiskDagum | VoseDagum | PsiDagum |
Discrètecustom | RiskDiscreteRiskDUniform | VoseDiscreteVoseDUniform | PsiDiscretePsiDisUniform |
Exponentielleexpon | RiskExponCentiles : RiskExponAltRiskExponAltD | VoseExponVoseExponential | PsiExponentialCentiles : PsiExponentialAlt |
Valeur extrême (max, Gumbel)gumbel_r | RiskExtValueCentiles : RiskExtValueAltRiskExtValueAltD | VoseExtValueMax | PsiMaxExtremeCentiles : PsiMaxExtremeAlt |
Valeur extrême (min)gumbel_l | RiskExtValueMinCentiles : RiskExtValueMinAltRiskExtValueMinAltD | — | PsiMinExtremeCentiles : PsiMinExtremeAlt |
Ff | RiskF | VoseF | PsiFDist |
Durée de vie en fatigue (Birnbaum–Saunders)fatiguelife | RiskFatigueLifeCentiles : RiskFatigueLifeAltRiskFatigueLifeAltD | VoseFatigue | PsiFatigueLifeCentiles : PsiFatigueLifeAlt |
Fréchetinvweibull | RiskFrechetCentiles : RiskFrechetAltRiskFrechetAltD | — | PsiFrechetCentiles : PsiFrechetAlt |
Gamma, Erlanggamma | RiskGammaRiskErlangCentiles : RiskGammaAltRiskGammaAltD | VoseGammaVoseErlang | PsiGammaPsiErlangCentiles : PsiGammaAlt |
Générale (poids relatifs)general | RiskGeneral | VoseRelative | — |
Pareto généraliséegenpareto | — | VoseGPD | — |
Histogrammehistogram | RiskHistogrm | VoseHistogram | PsiHistogram |
Sécante hyperboliquehypsecant | RiskHypSecantCentiles : RiskHypSecantAltRiskHypSecantAltD | VoseHS | PsiHypSecant |
Hypergéométriquehypergeom | RiskHypergeo | VoseHypergeo | PsiHyperGeo |
Uniforme entièrerandint | RiskIntUniform | VoseIntUniformVoseStepUniform† | PsiIntUniform |
Gaussienne inverseinvgauss | RiskInvgaussCentiles : RiskInvgaussAltRiskInvgaussAltD | VoseInvGauss | PsiInvNormal |
Johnson SBjohnsonsb | RiskJohnsonSB | VoseJohnsonB | PsiJohnsonSB |
Johnson SUjohnsonsu | RiskJohnsonSU | VoseJohnsonU | PsiJohnsonSU |
Kumaraswamykumaraswamy | RiskKumaraswamy | VoseKumaraswamyVoseKumaraswamy4 | PsiKumaraswamy |
Laplacelaplace | RiskLaplaceCentiles : RiskLaplaceAltRiskLaplaceAltD | VoseLaplace | — |
Lévylevy | RiskLevyCentiles : RiskLevyAltRiskLevyAltD | VoseLevy | PsiLevyCentiles : PsiLevyAlt |
Log-logistiquefisk | RiskLogLogisticCentiles : RiskLogLogisticAltRiskLogLogisticAltD | VoseLogLogistic | PsiLogLogisticCentiles : PsiLogLogisticAlt |
Logistiquelogistic | RiskLogisticCentiles : RiskLogisticAltRiskLogisticAltD | VoseLogistic | PsiLogisticCentiles : PsiLogisticAlt |
Log-normalelognorm | RiskLognormRiskLognorm2Centiles : RiskLognormAltRiskLognormAltD | VoseLognormalVoseLognormalE | PsiLogNormalPsiLognormPsiLognorm2Centiles : PsiLogNormalAlt |
Binomiale négative, géométriquenbinom | RiskGeometRiskNegbin | VoseGeometricVoseNegBinVoseNegBinomVosePolya† | PsiGeometricPsiNegBinomial |
Normalenorm | RiskNormalRiskErf†Centiles : RiskNormalAltRiskNormalAltD | VoseNormalVoseErf† | PsiNormalPsiErf†Centiles : PsiNormalAlt |
Paretopareto | RiskParetoCentiles : RiskParetoAltRiskParetoAltD | VosePareto | PsiParetoCentiles : PsiParetoAlt |
Pareto II (Lomax)lomax | RiskPareto2Centiles : RiskPareto2AltRiskPareto2AltD | VosePareto2 | PsiPareto2Centiles : PsiPareto2Alt |
Pearson V (gamma inverse)invgamma | RiskPearson5Centiles : RiskPearson5AltRiskPearson5AltD | VosePearson5 | PsiPearson5Centiles : PsiPearson5Alt |
Pearson VI (bêta prime)betaprime | RiskPearson6 | VosePearson6 | PsiPearson6 |
PERTpert | RiskPert | VosePERTVoseModPERT | PsiPert |
Poissonpoiss | RiskPoisson | VosePoisson | PsiPoisson |
Rayleighrayleigh | RiskRayleighCentiles : RiskRayleighAltRiskRayleighAltD | VoseRayleigh | PsiRayleighCentiles : PsiRayleighAlt |
Réciproque (log-uniforme)loguniform | RiskReciprocal | VoseReciprocal | PsiReciprocal |
t de Studentt | RiskStudentCentiles : RiskStudentAltRiskStudentAltD | VoseStudentVoseStudent3† | PsiStudentCentiles : PsiStudentAlt |
Triangulairetriang | RiskTriang | VoseTriangle | PsiTriangular |
Triangulaire à partir de centiles (Trigen)trigen | RiskTrigenCentiles : RiskTriangAlt | VoseTriangleAlt | PsiTriangGen |
Uniformeunif | RiskUniformCentiles : RiskUniformAltRiskUniformAltD | VoseUniform | PsiUniform |
Weibullweibull_min | RiskWeibullCentiles : RiskWeibullAltRiskWeibullAltD | VoseWeibullVoseWeibull3 | PsiWeibullCentiles : PsiWeibullAlt |
| Formule | xellstorm |
|---|---|
=NORM.INV(RAND(), | norm (loc, scale) |
=NORMINV(RAND(), | norm (loc, scale) |
=mean + sd*NORM.S.INV(RAND()) | norm (loc, scale) |
=LOGNORM.INV(RAND(), | lognorm (mu, sigma) |
=LOGINV(RAND(), | lognorm (mu, sigma) |
=GAMMA.INV(RAND(), | gamma (a, scale) |
=GAMMAINV(RAND(), | gamma (a, scale) |
=BETA.INV(RAND(), | beta (a, b) |
=BETA.INV(RAND(), | beta (a, b, min, max) |
=BETAINV(RAND(), | beta (a, b, min, max) |
=BINOM.INV(n, | binom (n, p) |
=CRITBINOM(n, | binom (n, p) |
=RANDBETWEEN(a, | randint (min, max) |
=a + (b - a)*RAND() | unif (min, max) |
=a + s*RAND() | unif (loc, scale) |
=RAND() | unif |
=IF(RAND() < p, | bern (p) |
=IF(RAND() < p,† | custom (x, prob) |
| Fonction | Complément | Devient dans xellstorm |
|---|---|---|
RiskTruncate | @RISK | Troncature : truncate_min, truncate_max (avant tout décalage) |
RiskTruncate2 | @RISK | Troncature : truncate_min, truncate_max des valeurs décalées (ramenées avant le décalage) |
RiskTruncateP | @RISK | Troncature : truncate_pmin, truncate_pmax (centiles de la distribution) |
RiskShift | @RISK | Décalage : shift |
RiskName | @RISK | Nom : le nom de l’entrée |
RiskLock | @RISK | Verrou : une valeur fixe (RiskLock(v), ou la valeur de RiskStatic) |
RiskCorrmat | @RISK | Corrélation : corrélations de rang entre les entrées d’une même matrice |
RiskDepC | @RISK | Corrélation : corrélation de rang avec l’entrée de même nom de paire |
RiskIndepC | @RISK | Corrélation : corrélation de rang avec l’entrée de même nom de paire |
RiskSimtable | @RISK | Une valeur par simulation : une cellule fixe dans l’exécution de référence, un scénario par simulation supplémentaire |
RiskOutput | @RISK | Sortie : une sortie portant le nom indiqué |
VoseXBounds | ModelRisk | Troncature : truncate_min, truncate_max (avant tout décalage) |
VosePBounds | ModelRisk | Troncature : truncate_pmin, truncate_pmax (centiles de la distribution) |
VoseShift | ModelRisk | Décalage : shift |
VoseInput | ModelRisk | Nom : le nom de l’entrée |
VoseSimTable | ModelRisk | Une valeur par simulation : une cellule fixe dans l’exécution de référence, un scénario par simulation supplémentaire |
VoseOutput | ModelRisk | Sortie : une sortie portant le nom indiqué |
PsiTruncate | Analytic Solver | Troncature : type 1 (par défaut) : truncate_min, truncate_max avant tout décalage ; -1 : des valeurs décalées ; 3 : truncate_pmin, truncate_pmax |
PsiTruncateP | Analytic Solver | Troncature : truncate_pmin, truncate_pmax (centiles de la distribution) |
PsiShift | Analytic Solver | Décalage : shift |
PsiName | Analytic Solver | Nom : le nom de l’entrée |
PsiCorrMatrix | Analytic Solver | Corrélation : corrélations de rang entre les entrées d’une même matrice |
PsiCorrDepen | Analytic Solver | Corrélation : corrélation de rang avec l’entrée de même nom de paire |
PsiCorrIndep | Analytic Solver | Corrélation : corrélation de rang avec l’entrée de même nom de paire |
PsiSimParam | Analytic Solver | Une valeur par simulation : une cellule fixe dans l’exécution de référence, un scénario par simulation supplémentaire |
PsiOutput | Analytic Solver | Sortie : la cellule elle-même, ou les cellules auxquelles elle renvoie |
PsiSimOutput | Analytic Solver | Sortie : la cellule elle-même, ou les cellules auxquelles elle renvoie |
PsiMean | Analytic Solver | Statistique : la cellule de son premier argument devient une sortie (comme pour toute statistique Psi d’une sortie) |
Questions
Faut-il avoir installé @RISK, ModelRisk ou Analytic Solver ?
Non. xellstorm lit les formules dans le fichier .xlsx lui-même et calcule le modèle avec son propre moteur dans votre navigateur, sans Excel ni complément. Enregistrez d’abord les fichiers .xls et .xlsb au format .xlsx.
xellstorm modifie-t-il mon fichier ?
Non. L’import transforme les formules en entrées dans la configuration de xellstorm ; le fichier sur votre ordinateur reste intact, et le modèle s’ouvre et s’exécute toujours dans le complément.
Que devient une matrice de corrélation ?
Les entrées qui partagent une plage RiskCorrmat ou PsiCorrMatrix reçoivent les corrélations de rang de la matrice, lues dans ses cellules à l’import ; RiskDepC et PsiCorrDepen associent une entrée à celle de même nom. Les paires illisibles (matrice non carrée, position hors matrice, cellule sans nombre) sont signalées dans les notes de l’import ; une entrée non convertie figure dans la liste avec sa raison et sort de ses paires. Si la matrice n’est pas une matrice de corrélation valide, xellstorm applique la plus proche qui le soit, et l’application la montre avant l’exécution.
Que devient un RiskSimtable ?
La première valeur fixe la cellule dans l’exécution de référence et chaque valeur suivante devient un scénario, nommé Simulation 2, Simulation 3, et ainsi de suite. Les scénarios tirent les mêmes nombres aléatoires que l’exécution de référence : les différences entre eux viennent donc des seules valeurs de la table.
@RISK, ModelRisk et Analytic Solver sont des marques de leurs propriétaires respectifs. xellstorm n’est affilié à aucun d’eux ; leurs noms de fonctions n’apparaissent ici que pour dire ce que xellstorm lit.
À lire aussi
- Coût et planning du projet
Quelle provision pour aléas faut-il pour un projet de construction ?
Exemple traité : dans 94,2 % des résultats simulés, une estimation de bâtiment coûte plus que la somme de ses coûts les plus probables. Dimensionnez la provision pour aléas d’un projet de construction par simulation de Monte-Carlo. - Guide
Simulation de Monte-Carlo sur Excel, avec ou sans complément
Trois façons de lancer une simulation de Monte-Carlo sur un modèle Excel : RAND() et une table de données, un complément, ou un outil dans le navigateur sans complément. Formule PERT incluse. - Guide
Distribution PERT dans Excel : formule, moyenne et quand l’utiliser
Une PERT est une distribution bêta de min à max, de moyenne (min + 4 × probable + max)/6. La formule Excel BETA.INV, et PERT contre triangulaire.
xellstorm est un outil de simulation de Monte-Carlo qui fonctionne dans le navigateur, pour les modèles Excel : aucun complément, et votre fichier ne quitte jamais votre ordinateur.