Migrar un modelo de @RISK, ModelRisk o Analytic Solver
xellstorm abre sin el complemento un archivo creado para @RISK, ModelRisk o Analytic Solver, lee 164 de sus funciones de distribución y convierte cada una de esas fórmulas en una entrada cuyos parámetros siguen vinculados a sus celdas. Antes de ejecutar, enumera lo convertido y cada fórmula que dejó sin convertir, con su motivo.
De las 164 funciones, 53 son de @RISK, 62 de ModelRisk y 49 de Analytic Solver. También lee 65 formas que definen una distribución por sus percentiles, además de truncamientos, marcadores de salida, matrices de correlación y tablas de varias simulaciones.
Qué encuentra la importación en un archivo escrito para @RISK
El ejemplo es la estimación del edificio del ejemplo de contingencia de proyectos, escrita como lo estaría un modelo hecho para @RISK: cada partida de costo es =RiskPert(min, most likely, max, RiskName(label)) sobre las celdas de su fila, cada evento de riesgo es un RiskBernoulli sobre su probabilidad, el costo total y el exceso sobre el presupuesto se marcan con RiskOutput, Estructura y MEP se correlacionan con RiskCorrmat, tres presupuestos van en una sola RiskSimtable y una celda muestra el RiskMean del total. Una segunda hoja, “Demonstrations”, contiene cinco fórmulas independientes: dos formas aritméticas que sí se convierten y tres fórmulas que no. El archivo lo generó un script; xellstorm no necesita @RISK para leerlo, ni usted tampoco.
En la aplicación, Import from workbook (importar desde el archivo), en el paso Distributions (distribuciones), enumera las fórmulas que encontró (el comando xellstorm import de la línea de comandos imprime la misma lista). Para este archivo convierte 12 entradas: las 6 partidas de costo, los 4 eventos de riesgo y 2 demostraciones aritméticas. Las partidas de costo y los eventos de riesgo mantienen sus parámetros vinculados a las celdas, de modo que editar un mínimo o una probabilidad en el archivo cambia la siguiente ejecución, y RiskName(A3) nombra cada entrada con el texto de su fila. Las dos que se convierten son un valor Normal multiplicado por un factor y otra cuya media se calcula a partir de otra celda. Ninguna se usa en las salidas de la estimación.
| Celda | Fórmula en el archivo | Se convierte en |
|---|---|---|
| E3 | =RiskPert(B3, | Preparación del terreno: una PERT con mín. B3 (100), más probable C3 (120), máx. D3 (170) |
| E4 | =RiskPert(B4, | Cimentación: una PERT con mín. B4 (300), más probable C4 (340), máx. D4 (460) |
| E5 | =RiskPert(B5, | Estructura: una PERT con mín. B5 (760), más probable C5 (820), máx. D5 (1010) |
| E6 | =RiskPert(B6, | MEP: una PERT con mín. B6 (540), más probable C6 (610), máx. D6 (780) |
| E7 | =RiskPert(B7, | Acabados: una PERT con mín. B7 (400), más probable C7 (450), máx. D7 (560) |
| E8 | =RiskPert(B8, | Equipamiento: una PERT con mín. B8 (260), más probable C8 (280), máx. D8 (330) |
| D11 | =RiskBernoulli(B11, | Condiciones del terreno: una Bernoulli con probabilidad B11 (0,25) |
| D12 | =RiskBernoulli(B12, | Cambio de diseño: una Bernoulli con probabilidad B12 (0,35) |
| D13 | =RiskBernoulli(B13, | Retraso de proveedores: una Bernoulli con probabilidad B13 (0,2) |
| D14 | =RiskBernoulli(B14, | Clima adverso: una Bernoulli con probabilidad B14 (0,3) |
| Demonstrations!B3 | =RiskNormal(100, | una Normal con media 100 y desviación estándar 10, cuyo valor simulado se multiplica luego por 1,1; solo demostración, no se usa en la estimación |
| Demonstrations!B4 | =RiskNormal(Estimate!C3*1.1, | una Normal con media Estimate!C3*1.1 (132) y desviación estándar 10; solo demostración, no se usa en la estimación |
La misma importación lee el resto del modelo:
- Salidas. Las celdas marcadas con
RiskOutput("Total cost")yRiskOutput("Over budget")se convierten en salidas con esos nombres. El marcador suma 0, como en @RISK, para que las celdas se calculen. - Correlación.
RiskCorrmat(Correlation,1)yRiskCorrmat(Correlation,2)colocan a Estructura y MEP en la matriz llamada Correlation, con una correlación de rangos de 0,6 (solo se rellena el triángulo inferior; una celda en blanco se lee de su simétrica respecto de la diagonal). Al importar, el valor se lee de la matriz tal como está en el archivo, y la importación lo indica. - Simulaciones. En @RISK,
RiskSimtable({2900,3000,3100})da al presupuesto un valor por simulación. xellstorm mantiene el presupuesto en 2900 en la ejecución base y agrega los otros dos como escenarios, que usan los mismos números aleatorios que la ejecución base y por eso se diferencian solo en el presupuesto. - Estadísticas.
RiskMean, como las demás funciones que devuelven resultados a una celda, no es una distribución, por lo que no figura entre las no convertidas. No tiene valor fuera de @RISK (la comprobación de compatibilidad nombra la celda); la media está en los resultados de xellstorm.
También se enumeran las fórmulas que no se convierten. Las 3 de la segunda hoja traen el motivo que indica la importación, y para cada una hay una alternativa:
| Fórmula | Motivo indicado | Qué hacer |
|---|---|---|
=RiskBinomial(1, | las fórmulas con varias distribuciones no se convierten; dé a cada distribución su propia celda de entrada | Divídala: una celda =RiskBernoulli(0.3) para saber si el riesgo ocurre, otra =RiskTriang(20,40,80) para su impacto, y multiplíquelas en una tercera, como hacen los eventos de riesgo de la estimación. |
=RISKCOMPOUND(RiskPoisson(3), | RISKCOMPOUND no tiene un equivalente exacto en xellstorm | xellstorm no tiene una distribución compuesta. Modele la cantidad y los tamaños en celdas propias, o deje la celda fuera del modelo. |
=RISKPERTALT(10%, | RISKPERTALT no tiene un equivalente exacto en xellstorm | Escriba el mínimo, el más probable y el máximo de la PERT (RiskPert), o dé los percentiles a RiskTrigen, que sí se convierte. |
Ejecución del modelo convertido
Con la configuración importada y 5000 iteraciones, el costo total promedio es 2784,7 (miles de USD). La media exacta de las mismas distribuciones, es decir, las medias PERT (mín. + 4 × más probable + máx.) / 6 más la probabilidad de cada riesgo por su impacto, es 2784,7, y el error estándar de la media simulada es 1,7. Estructura y MEP alcanzan una correlación de rangos de 0,60. Los tres presupuestos de la RiskSimtable, ejecutados como caso base y dos escenarios:
| Ejecución | Presupuesto | Probabilidad de superarlo |
|---|---|---|
| Ejecución base (simulación 1) | 2900 | 17,7 % |
| Simulation 2 | 3000 | 5,2 % |
| Simulation 3 | 3100 | 0,7 % |
Un presupuesto mayor se supera con menos frecuencia y, como los escenarios usan los mismos números que la ejecución base, las diferencias entre filas se deben solo al presupuesto, no al muestreo.
¿Coincidirán los resultados con los del complemento?
El modelo es el mismo; los números aleatorios, no. Cada regla de la importación asigna a una función la distribución que describe, con los parámetros traducidos como los documenta el proveedor, y se prueba contra la distribución equivalente de scipy; el script que genera los datos de prueba también comprueba la media de cada asignación con la fórmula documentada por el proveedor. Por eso, cuando todas las distribuciones de un archivo se convierten, sus medias y percentiles difieren de los del complemento solo por el ruido de muestreo, que baja al ejecutar más iteraciones: el error estándar de arriba da el orden de magnitud que cabe esperar para la media.
Las correlaciones son correlaciones de rangos, como las definen @RISK y Analytic Solver, y xellstorm alcanza la correlación de rangos solicitada. Cada herramienta empareja a su manera los valores simulados para lograrlo, así que un modelo correlacionado puede diferir algo más en las colas de lo que explica el ruido de muestreo por sí solo. El archivo no se modifica: xellstorm lo lee, y su modelo sigue abriéndose en el complemento.
Qué se convierte
- Distribuciones y argumentos aritméticos. Una distribución puede ir sola, o con un multiplicador positivo seguido, como máximo, de un término sumado o restado:
RiskNormal(B1*1.1,B2)*C1+5y5+C1*RiskNormal(B1,B2)se convierten. Los argumentos, multiplicadores y términos sumados o restados pueden usar números, referencias a una sola celda, paréntesis y+,−,*,/. Los nombres definidos que se refieren a una celda pasan a ser su dirección. Estas expresiones siguen vinculadas y se evalúan después de aplicar las celdas fijas de cada escenario; toda referencia debe ser determinista. Las funciones marcadas con † en la tabla se convierten igualmente, pero solo con números. - Formas con percentiles. Las funciones
…Alty…AltDde @RISK y las funciones…Altde Analytic Solver (las de la tabla siguiente) definen una distribución mediante sus percentiles; al ejecutar, xellstorm resuelve la distribución exacta y muestra un error cuando ninguna distribución, o más de una, se ajusta a esos percentiles. - Truncamiento y desplazamiento.
RiskTruncate,RiskTruncate2,RiskTruncateP,RiskShift,VoseXBounds,VosePBounds,VoseShift,PsiTruncate,PsiTruncatePyPsiShift, aplicados en el orden que documenta cada complemento. Cualquier multiplicador y término sumado o restado fuera de la distribución se aplican después y se muestran por separado en la configuración de la entrada. - Nombres y bloqueos.
RiskName,PsiNameyVoseInputdan nombre a la entrada;RiskLockla mantiene en un valor. El catálogo también enumera propiedades que se ignoran (Static, Units, Category, Collect, Base, Seed, IsDiscrete, IsDate, Fit, FitInfo, Certify, BaseCase, Library y SixSigma, con el prefijo del proveedor).RiskSeedgenera una advertencia: sus ajustes del flujo aleatorio no se conservan, y los valores simulados dependen de la semilla de simulación y del orden de las entradas de xellstorm. - Salidas.
RiskOutput,VoseOutput,PsiOutputyPsiSimOutputmarcan salidas; en Analytic Solver una estadística comoPsiMean(B1)también convierte B1 en una salida, y aquí ocurre lo mismo. - Correlaciones y simulaciones.
RiskCorrmat,RiskDepCconRiskIndepC,PsiCorrMatrix,PsiCorrDepenconPsiCorrIndep;RiskSimtable,VoseSimTableyPsiSimParam. - Fórmulas propias de Excel.
NORM.INV(RAND(), mean, sd),RANDBETWEEN,IF(RAND() < p, 1, 0)y 18 fórmulas de este tipo en total, enumeradas más abajo.
Qué no se convierte
No se convierten varias distribuciones en una misma celda, una distribución dentro de otra función o en un denominador, la división directa de una distribución ni las cadenas que obligan a cambiar el orden de las operaciones aritméticas. Por ejemplo, (RiskNormal(0,1)+5)*2 y RiskNormal(0,1)*2*3 se dejan con un motivo. RiskNormal(0,1)*(1/C1) sí se convierte cuando C1 da un multiplicador finito y positivo, porque la fórmula calcula explícitamente el recíproco antes de multiplicar. Tampoco se admiten los multiplicadores que resultan cero o negativos, los argumentos que llaman a funciones o dependen de celdas aleatorias, las funciones sin equivalente exacto (distribuciones compuestas, funciones de series de tiempo, RiskPertAlt y las demás formas de percentiles con dos parámetros de forma), el argumento U y las cópulas de ModelRisk, ni las propiedades que no figuran en la tabla. El motor no puede calcular una fórmula de complemento que no admite; la comprobación de compatibilidad la nombra.
Funciones compatibles
Las tablas se generan a partir de la propia lista de reglas del importador, así que muestran exactamente lo que convierte. “Percentiles” marca las formas que definen una distribución mediante sus percentiles; † marca las funciones que se convierten solo con números. Bajo cada distribución figura su nombre en las especificaciones de xellstorm.
| Distribución (nombre en xellstorm) | @RISK | ModelRisk | Analytic Solver |
|---|---|---|---|
Bernoullibern | RiskBernoulli | VoseBernoulli | PsiBernoulli |
Betabeta | RiskBetaRiskBetaGeneralRiskBetaSubj† | VoseBetaVoseBeta4VoseBetaSubj† | PsiBetaPsiBetaGenPsiBetaSubj† |
Binomialbinom | RiskBinomial | VoseBinomial | PsiBinomial |
Burr XIIburr12 | RiskBurr12 | — | — |
Cauchycauchy | RiskCauchyPercentiles: RiskCauchyAltRiskCauchyAltD | VoseCauchy | — |
Chi cuadradochi2 | RiskChiSqPercentiles: RiskChiSqAltRiskChiSqAltD | VoseChiSq | PsiChiSquarePercentiles: PsiChiSquareAlt |
Chi, Maxwellchi | — | VoseChiVoseMaxwell | — |
Acumuladacumul | RiskCumulRiskCumulD† | VoseCumulAVoseCumulD†VoseOgive† | PsiCumul |
Dagum (Burr III)burr | RiskDagum | VoseDagum | PsiDagum |
Discretacustom | RiskDiscreteRiskDUniform | VoseDiscreteVoseDUniform | PsiDiscretePsiDisUniform |
Exponencialexpon | RiskExponPercentiles: RiskExponAltRiskExponAltD | VoseExponVoseExponential | PsiExponentialPercentiles: PsiExponentialAlt |
Valor extremo (máx., Gumbel)gumbel_r | RiskExtValuePercentiles: RiskExtValueAltRiskExtValueAltD | VoseExtValueMax | PsiMaxExtremePercentiles: PsiMaxExtremeAlt |
Valor extremo (mín.)gumbel_l | RiskExtValueMinPercentiles: RiskExtValueMinAltRiskExtValueMinAltD | — | PsiMinExtremePercentiles: PsiMinExtremeAlt |
Ff | RiskF | VoseF | PsiFDist |
Vida por fatiga (Birnbaum–Saunders)fatiguelife | RiskFatigueLifePercentiles: RiskFatigueLifeAltRiskFatigueLifeAltD | VoseFatigue | PsiFatigueLifePercentiles: PsiFatigueLifeAlt |
Fréchetinvweibull | RiskFrechetPercentiles: RiskFrechetAltRiskFrechetAltD | — | PsiFrechetPercentiles: PsiFrechetAlt |
Gamma, Erlanggamma | RiskGammaRiskErlangPercentiles: RiskGammaAltRiskGammaAltD | VoseGammaVoseErlang | PsiGammaPsiErlangPercentiles: PsiGammaAlt |
General (pesos relativos)general | RiskGeneral | VoseRelative | — |
Pareto generalizadagenpareto | — | VoseGPD | — |
Histogramahistogram | RiskHistogrm | VoseHistogram | PsiHistogram |
Secante hiperbólicahypsecant | RiskHypSecantPercentiles: RiskHypSecantAltRiskHypSecantAltD | VoseHS | PsiHypSecant |
Hipergeométricahypergeom | RiskHypergeo | VoseHypergeo | PsiHyperGeo |
Uniforme enterarandint | RiskIntUniform | VoseIntUniformVoseStepUniform† | PsiIntUniform |
Gaussiana inversainvgauss | RiskInvgaussPercentiles: RiskInvgaussAltRiskInvgaussAltD | VoseInvGauss | PsiInvNormal |
Johnson SBjohnsonsb | RiskJohnsonSB | VoseJohnsonB | PsiJohnsonSB |
Johnson SUjohnsonsu | RiskJohnsonSU | VoseJohnsonU | PsiJohnsonSU |
Kumaraswamykumaraswamy | RiskKumaraswamy | VoseKumaraswamyVoseKumaraswamy4 | PsiKumaraswamy |
Laplacelaplace | RiskLaplacePercentiles: RiskLaplaceAltRiskLaplaceAltD | VoseLaplace | — |
Lévylevy | RiskLevyPercentiles: RiskLevyAltRiskLevyAltD | VoseLevy | PsiLevyPercentiles: PsiLevyAlt |
Log-logísticafisk | RiskLogLogisticPercentiles: RiskLogLogisticAltRiskLogLogisticAltD | VoseLogLogistic | PsiLogLogisticPercentiles: PsiLogLogisticAlt |
Logísticalogistic | RiskLogisticPercentiles: RiskLogisticAltRiskLogisticAltD | VoseLogistic | PsiLogisticPercentiles: PsiLogisticAlt |
Lognormallognorm | RiskLognormRiskLognorm2Percentiles: RiskLognormAltRiskLognormAltD | VoseLognormalVoseLognormalE | PsiLogNormalPsiLognormPsiLognorm2Percentiles: PsiLogNormalAlt |
Binomial negativa, geométricanbinom | RiskGeometRiskNegbin | VoseGeometricVoseNegBinVoseNegBinomVosePolya† | PsiGeometricPsiNegBinomial |
Normalnorm | RiskNormalRiskErf†Percentiles: RiskNormalAltRiskNormalAltD | VoseNormalVoseErf† | PsiNormalPsiErf†Percentiles: PsiNormalAlt |
Paretopareto | RiskParetoPercentiles: RiskParetoAltRiskParetoAltD | VosePareto | PsiParetoPercentiles: PsiParetoAlt |
Pareto II (Lomax)lomax | RiskPareto2Percentiles: RiskPareto2AltRiskPareto2AltD | VosePareto2 | PsiPareto2Percentiles: PsiPareto2Alt |
Pearson V (gamma inversa)invgamma | RiskPearson5Percentiles: RiskPearson5AltRiskPearson5AltD | VosePearson5 | PsiPearson5Percentiles: PsiPearson5Alt |
Pearson VI (beta prima)betaprime | RiskPearson6 | VosePearson6 | PsiPearson6 |
PERTpert | RiskPert | VosePERTVoseModPERT | PsiPert |
Poissonpoiss | RiskPoisson | VosePoisson | PsiPoisson |
Rayleighrayleigh | RiskRayleighPercentiles: RiskRayleighAltRiskRayleighAltD | VoseRayleigh | PsiRayleighPercentiles: PsiRayleighAlt |
Recíproca (log-uniforme)loguniform | RiskReciprocal | VoseReciprocal | PsiReciprocal |
t de Studentt | RiskStudentPercentiles: RiskStudentAltRiskStudentAltD | VoseStudentVoseStudent3† | PsiStudentPercentiles: PsiStudentAlt |
Triangulartriang | RiskTriang | VoseTriangle | PsiTriangular |
Triangular a partir de percentiles (Trigen)trigen | RiskTrigenPercentiles: RiskTriangAlt | VoseTriangleAlt | PsiTriangGen |
Uniformeunif | RiskUniformPercentiles: RiskUniformAltRiskUniformAltD | VoseUniform | PsiUniform |
Weibullweibull_min | RiskWeibullPercentiles: RiskWeibullAltRiskWeibullAltD | VoseWeibullVoseWeibull3 | PsiWeibullPercentiles: PsiWeibullAlt |
| Fórmula | 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) |
| Función | Complemento | En xellstorm se convierte en |
|---|---|---|
RiskTruncate | @RISK | Truncamiento: truncate_min, truncate_max (antes de cualquier desplazamiento) |
RiskTruncate2 | @RISK | Truncamiento: truncate_min, truncate_max de los valores desplazados (se deshace el desplazamiento en los límites) |
RiskTruncateP | @RISK | Truncamiento: truncate_pmin, truncate_pmax (percentiles de la distribución) |
RiskShift | @RISK | Desplazamiento: shift |
RiskName | @RISK | Nombre: el nombre de la entrada |
RiskLock | @RISK | Bloqueo: un valor fijo (RiskLock(v), o el valor de RiskStatic) |
RiskCorrmat | @RISK | Correlación: correlaciones de rangos entre las entradas de una matriz |
RiskDepC | @RISK | Correlación: una correlación de rangos con la entrada que tiene el mismo nombre de par |
RiskIndepC | @RISK | Correlación: una correlación de rangos con la entrada que tiene el mismo nombre de par |
RiskSimtable | @RISK | Un valor por simulación: una celda fija en la ejecución base, un escenario por cada simulación adicional |
RiskOutput | @RISK | Salida: una salida con el nombre indicado |
VoseXBounds | ModelRisk | Truncamiento: truncate_min, truncate_max (antes de cualquier desplazamiento) |
VosePBounds | ModelRisk | Truncamiento: truncate_pmin, truncate_pmax (percentiles de la distribución) |
VoseShift | ModelRisk | Desplazamiento: shift |
VoseInput | ModelRisk | Nombre: el nombre de la entrada |
VoseSimTable | ModelRisk | Un valor por simulación: una celda fija en la ejecución base, un escenario por cada simulación adicional |
VoseOutput | ModelRisk | Salida: una salida con el nombre indicado |
PsiTruncate | Analytic Solver | Truncamiento: tipo 1 (el predeterminado): truncate_min, truncate_max antes de cualquier desplazamiento; -1: de los valores desplazados; 3: truncate_pmin, truncate_pmax |
PsiTruncateP | Analytic Solver | Truncamiento: truncate_pmin, truncate_pmax (percentiles de la distribución) |
PsiShift | Analytic Solver | Desplazamiento: shift |
PsiName | Analytic Solver | Nombre: el nombre de la entrada |
PsiCorrMatrix | Analytic Solver | Correlación: correlaciones de rangos entre las entradas de una matriz |
PsiCorrDepen | Analytic Solver | Correlación: una correlación de rangos con la entrada que tiene el mismo nombre de par |
PsiCorrIndep | Analytic Solver | Correlación: una correlación de rangos con la entrada que tiene el mismo nombre de par |
PsiSimParam | Analytic Solver | Un valor por simulación: una celda fija en la ejecución base, un escenario por cada simulación adicional |
PsiOutput | Analytic Solver | Salida: una salida: la propia celda, o las celdas a las que se refiere |
PsiSimOutput | Analytic Solver | Salida: una salida: la propia celda, o las celdas a las que se refiere |
PsiMean | Analytic Solver | Estadística: la celda de su primer argumento se convierte en una salida (como con toda estadística Psi de una salida) |
Preguntas
¿Necesito tener instalado @RISK, ModelRisk o Analytic Solver?
No. xellstorm lee las fórmulas del propio archivo .xlsx y calcula el modelo con su propio motor en el navegador, sin Excel ni el complemento. Guarde primero como .xlsx los archivos .xls y .xlsb.
¿xellstorm modifica mi archivo?
No. La importación convierte las fórmulas en entradas de la configuración propia de xellstorm; no se escribe nada en el archivo de su equipo, así que el modelo sigue abriéndose y ejecutándose en el complemento.
¿Qué pasa con una matriz de correlación?
Las entradas que comparten un rango RiskCorrmat o PsiCorrMatrix reciben las correlaciones de rangos de la matriz, leídas de sus celdas al importar; RiskDepC y PsiCorrDepen emparejan una entrada con la del mismo nombre. Los pares que no se pueden leer (una matriz que no es cuadrada, una posición fuera de ella, una celda sin número) se nombran en las notas de la importación, y una entrada que no se convirtió se enumera con su motivo y se excluye de sus pares. Si la matriz no es una matriz de correlación válida, xellstorm aplica la válida más cercana, y la aplicación la muestra antes de la ejecución.
¿En qué se convierte una RiskSimtable?
El primer valor fija la celda en la ejecución base y cada valor adicional se convierte en un escenario con el nombre Simulation 2, Simulation 3 y así sucesivamente. Los escenarios usan los mismos números aleatorios que la ejecución base, de modo que las diferencias entre ellos provienen solo de los valores de la tabla.
@RISK, ModelRisk y Analytic Solver son marcas comerciales de sus respectivos propietarios. xellstorm no está afiliado a ellos; sus nombres de función aparecen aquí solo para indicar lo que xellstorm lee.
Relacionados
- Costo y cronograma de proyectos
¿Cuánta contingencia necesita un proyecto de construcción?
Ejemplo resuelto: en el 94,2 % de los resultados simulados, el edificio cuesta más que la suma de sus costos más probables. Dimensione la contingencia de costos de construcción con Monte Carlo. - Guía
Simulación Monte Carlo en Excel, con o sin complementos
Tres formas de ejecutar una simulación Monte Carlo en un modelo de Excel: RAND() y una tabla de datos, un complemento o una herramienta en el navegador sin complemento. Incluye la fórmula PERT. - Guía
Distribución PERT en Excel: fórmula, media y cuándo usarla
Una PERT es una distribución beta de mín. a máx. con media (mín. + 4 × probable + máx.)/6. La fórmula BETA.INV de Excel, y PERT frente a triangular.
xellstorm es una herramienta de simulación Monte Carlo para modelos de Excel que funciona en el navegador: sin complemento, y el archivo nunca sale de su equipo.