¿Qué es una simulación de Monte Carlo? (explicada con dados)
Probablemente hayas visto el término pegado a los pronósticos del tiempo, a los plazos de un proyecto o a las probabilidades de que tu equipo entre a los playoffs. La simulación de Monte Carlo suena a que hace falta una licenciatura en matemáticas. No hace falta: la idea central es algo que ya entiendes por instinto y cabe en una frase. Cuando un problema es demasiado enredado para resolverlo, pruébalo miles de veces y cuenta lo que pasa.
Una simulación de Monte Carlo responde preguntas con datos inciertos ejecutando el mismo escenario miles de veces, eligiendo cada vez valores al azar dentro de rangos realistas, y mirando después cómo se reparten los resultados. En lugar de una sola predicción que casi seguro está equivocada, obtienes una distribución: qué es probable, qué es posible y con qué probabilidad ocurre cada cosa.
La analogía de los dados: tirar gana a calcular
Supón que quieres saber la probabilidad de sacar un total de 7 con dos dados. Podrías calcularlo como corresponde: listar las 36 combinaciones, contar las seis que suman 7 y concluir que es 6/36 = 16,7%. Es limpio, exacto y toma un minuto.
O podrías tirar dos dados 10.000 veces y anotar los resultados. Encontrarías que unos 1.670 salieron 7, y llegarías a la misma respuesta sin hacer ni una sola operación.
Con dos dados, el cálculo es obviamente el camino más inteligente. Lo puedes comprobar en segundos con una calculadora de probabilidad de dados y listo.
Pero ahora complica la pregunta. Cinco dados, en los que vuelves a tirar cualquier 1 una vez, y si el total pasa de 20 restas el dado más bajo. El cálculo exacto se convierte en un problema de combinatoria genuinamente difícil. El enfoque de tirar no se complica ni un poco: sigue siendo "hazlo muchas veces y cuenta".
Esa asimetría es todo el sentido de Monte Carlo. A medida que los problemas se enredan, las matemáticas exactas se vuelven exponencialmente más difíciles mientras que las tiradas al azar siguen siendo igual de fáciles. Pasado cierto nivel de desorden, tirar deja de ser la opción perezosa y se convierte en la única practicable.
¿Por qué se llama Monte Carlo?
El nombre viene de un casino, y el método viene de un juego de cartas.
En 1946 el matemático Stanislaw Ulam se recuperaba de una enfermedad y pasaba el rato jugando al solitario. Le picó la curiosidad con una pregunta sencilla: ¿qué probabilidad hay de ganar una mano determinada? Intentó resolverlo con combinatoria, no llegó a ningún lado útil, y entonces tuvo la idea que fundó todo un campo: sería mucho más fácil jugar cien manos y contar las victorias.
Ulam trabajaba por entonces en Los Álamos, en el Proyecto Manhattan, donde el problema urgente era el comportamiento de los neutrones: partículas rebotando por un material siguiendo trayectorias demasiado caóticas para resolverlas con ecuaciones. La intuición del solitario se aplicaba directamente. Junto con John von Neumann empezó a simular miles de trayectorias aleatorias de neutrones en algunas de las primeras computadoras electrónicas.
El trabajo era secreto y necesitaba un nombre en clave. Su colega Nicholas Metropolis sugirió "Monte Carlo", por el casino de Mónaco donde el tío de Ulam pedía dinero prestado a los familiares para jugar. El nombre quedó, y por eso una técnica estadística seria que se usa en física nuclear e ingeniería aeroespacial lleva el nombre del vicio de apostar de un pariente.
Cómo funciona realmente una simulación de Monte Carlo
Toda simulación de Monte Carlo, por sofisticada que sea, son los mismos tres pasos.
Paso 1 — Cambiar cada suposición por un rango
Normalmente, cuando estimas algo incierto, te comprometes con un solo número. Una tarea "va a tomar 5 días". Monte Carlo te pide que seas honesto en cambio: va a tomar entre 3 y 10 días, lo más probable 5.
Ese rango es el dato clave, y es de donde el método saca su honestidad. Ya no estás fingiendo saber algo que no sabes: estás diciendo lo que realmente crees, incluido cuánto podrías estar equivocándote.
Paso 2 — Ejecutar el escenario miles de veces, tirando dados para cada incógnita
Ahora la computadora representa el escenario completo una vez, eligiendo un valor al azar de cada rango sobre la marcha. La tarea uno cae en 4 días, la dos en 9, la tres en 13. Total: algún número. Anótalo.
Después lo hace otra vez, con tiradas nuevas. Y otra. Diez mil veces. Cada ejecución es una versión plausible de cómo podrían darse las cosas: algunas optimistas, otras desastrosas, la mayoría en algún punto intermedio.
Paso 3 — Mirar la forma de todos esos resultados
Ahora tienes diez mil resultados posibles en vez de una predicción. Ordénalos y preguntas que antes no tenían respuesta se convierten en simples ejercicios de contar:
- ¿Cuál es el resultado más común?
- ¿Cuál es el peor caso realista?
- ¿Qué probabilidad hay de terminar en una fecha concreta?
- ¿Cuánto margen necesitamos para tener un 90% de confianza?
Esa última pregunta es la que Monte Carlo responde mejor que cualquier otro método, y es la razón por la que la usan los planificadores.
Un ejemplo trabajado: ¿cuánto va a durar realmente este proyecto?
Un equipo pequeño rediseña un sitio web. Cuatro tareas, una después de otra. Nadie sabe con exactitud cuánto va a tomar cada una, pero todos tienen una idea decente del rango.
| Tarea | Mejor caso | Más probable | Peor caso |
|---|---|---|---|
| Investigación y wireframes | 3 | 5 | 10 |
| Diseño visual | 4 | 6 | 12 |
| Desarrollo | 8 | 12 | 25 |
| Pruebas y arreglos | 2 | 4 | 12 |
| Suma de "lo más probable" | 17 | 27 | 59 |
Lo obvio es sumar la columna del medio. Cinco más seis más doce más cuatro son 27 días. Ese es el número que va al plan, el que se le promete al cliente y el que termina en una invitación de calendario.
También está casi con seguridad equivocado. Veamos cuánto.
Ejecuta la simulación
Each trial rolls a random duration for all four tasks and adds them up. One bar = one range of total durations. Add tiradas and watch a shape emerge from pure randomness.
Real simulation, not an animation: every bar is generated by actual random sampling in your browser, so your numbers will differ slightly from the ones quoted in the article — which is itself a useful thing to notice.
Simulación real, no una animación: cada barra se genera con muestreo aleatorio de verdad en tu navegador, así que tus números van a diferir un poco de los que cita el artículo, algo que en sí mismo es útil de notar.
¿Por qué sumar las estimaciones da la respuesta equivocada?
Lleva la simulación a unos cuantos miles de tiradas y el resultado incomoda. El proyecto medio toma unos 34 días, no 27. Solo alrededor del 5% de los proyectos simulados termina dentro de los 27 días planificados. El plan no era ligeramente optimista: era un resultado de uno entre veinte presentado como si fuera lo esperable.
La razón se ve en la forma del histograma. No es simétrico. Tiene un muro a la izquierda y una cola larga que se estira hacia la derecha, y esa asimetría viene directamente de las estimaciones.
Mira la tarea de desarrollo: mejor caso 8 días, lo más probable 12, peor caso 25. Puede terminar 4 días antes. Puede terminar 13 días tarde. Todas las tareas de la tabla tienen esa misma forma desbalanceada, porque así es como se comporta el trabajo de verdad: hay un límite para lo rápido que algo puede ir, y ningún límite para lo mal que puede salir.
Así que el valor "más probable" no está en el medio del rango. Está bastante por debajo del resultado promedio. Suma cuatro de esos y obtienes un número que es sistemática y predeciblemente demasiado bajo.
Esto es lo más valioso que Monte Carlo hace por la planificación corriente, y no tiene nada que ver con matemáticas sofisticadas. Simplemente se niega a dejarte descartar en silencio la mitad mala de cada rango.
Leer los resultados: qué significa P90
Una vez que tienes la distribución, dejas de dar plazos como números sueltos y empiezas a darlos como niveles de confianza. A partir de la simulación de arriba:
| Promesa | Probabilidad de cumplirla | Qué significa |
|---|---|---|
| 27 días | 5% | El plan original. Casi una fantasía. |
| 34 días | 50% | Cara o cruz. Bien para uso interno, arriesgado como promesa. |
| 38 días | 80% | Un compromiso razonable con margen real. |
| 41 días | 90% | La cifra "P90". Lo bastante segura para firmar. |
Fíjate en que pasar del 50% de confianza al 90% cuesta apenas 7 días extra. Es un trato que la mayoría de los equipos aceptaría al instante si alguien se lo planteara así, y nadie puede planteárselo así sin una distribución delante.
Estas cifras de percentiles no son más que posiciones ordenadas en una lista de resultados, así que puedes sacar los mismos números de cualquier conjunto de datos con una calculadora de estadística y percentiles. Y para correr una simulación completa con tus propias tareas o costos en vez de este ejemplo, usa el simulador de riesgo de Monte Carlo.
¿Cuántas simulaciones hacen falta realmente?
Menos de las que la gente supone. Ejecuta el widget por pasos y lo ves ocurrir: con 10 tiradas el histograma es ruido, con 100 la forma ya se reconoce, con 1.000 es estable, y para 10.000 la respuesta apenas se mueve por muchas más que agregues.
Para la mayoría del trabajo práctico, 10.000 tiradas sobran y toman una fracción de segundo. La precisión mejora con la raíz cuadrada del número de tiradas, lo que significa que pasar de 10.000 a 1.000.000 —cien veces más trabajo— solo hace la respuesta diez veces más precisa. Mucho antes de ese punto, el factor limitante deja de ser la cantidad de tiradas y pasa a ser la calidad de tus rangos de entrada.
Dónde se usa la simulación de Monte Carlo
Una vez que conoces el patrón, empiezas a verlo en todas partes. Cualquier disciplina con una incertidumbre que puede describir pero no resolver termina aquí:
- Ingeniería y manufactura: acumulación de tolerancias, donde miles de piezas varían un poco cada una y necesitas saber con qué frecuencia el ensamblaje no encaja.
- Meteorología y clima: los pronósticos se corren muchas veces con condiciones iniciales ligeramente distintas. El "60% de probabilidad de lluvia" de tu teléfono es un conteo de cuántas de esas corridas produjeron lluvia.
- Física y biología: la aplicación original, que sigue vigente: transporte de partículas, comportamiento molecular, propagación de epidemias. Es también como los físicos juzgan si un pico en los datos es real, que es la aritmética detrás de la anomalía de 4 sigma del LHC.
- Videojuegos: tanto en gráficos, donde la iluminación realista se calcula trazando enormes cantidades de rayos de luz aleatorios, como en la inteligencia artificial, donde un programa evalúa una jugada jugando miles de partidas al azar desde esa posición.
- Finanzas y seguros: el uso más conocido y la razón por la que el término se escapó al vocabulario general. Pasar los flujos de caja de un proyecto por aquí convierte una cifra única de VAN en un rango con probabilidades asociadas.
- Planificación de proyectos: el ejemplo de arriba, usado de forma rutinaria en cronogramas grandes de construcción y de software.
Lo que Monte Carlo no puede hacer
Una limitación honesta, porque se vende de más.
Una simulación de Monte Carlo produce resultados con pinta de seguros: curvas suaves, porcentajes precisos, un número con dos decimales. Pero cada uno de esos dígitos descansa por completo en los rangos que tecleaste. Si tu "peor caso" era optimista, la simulación reproducirá fielmente tu optimismo en alta resolución y te lo devolverá con aspecto de evidencia.
También da por sentado que le dijiste cómo se relacionan las variables. En el ejemplo del proyecto, cada tarea se sorteó de forma independiente, pero en la realidad lo que retrasa la fase de diseño (un cliente difícil, un compañero enfermo) suele ser lo mismo que retrasa el desarrollo. Los riesgos reales están correlacionados, y una simulación que ignora eso subestima lo malos que llegan a ser los casos malos.
Monte Carlo no crea conocimiento. Toma lo que ya crees sobre la incertidumbre y calcula las consecuencias de esas creencias mucho mejor de lo que puede hacerlo tu intuición. Eso es algo genuinamente poderoso, siempre que recuerdes qué parte aporta la máquina y qué parte aportas tú.
Para llevarse
La simulación de Monte Carlo es la versión formal de un instinto que ya tienes: cuando algo es demasiado complicado para razonarlo, pruébalo muchas veces y mira qué pasa habitualmente. Un hombre jugando al solitario en una cama de hospital en 1946 convirtió ese instinto en un método, y hoy está debajo de los pronósticos del tiempo, del renderizado de películas, de los ensayos clínicos y de los cronogramas de construcción.
La lección práctica es más pequeña y más útil que la historia. Cada vez que te descubras sumando una columna de mejores suposiciones y tratando el total como un plan, ese total no es el resultado probable: está cerca del mejor caso realista. La respuesta honesta no es un número. Es un rango, y las probabilidades que lleva pegadas.
Córrelo con tus propios números
Carga el mejor caso, el más probable y el peor para cada una de tus variables y recibe la distribución completa con sus percentiles. Gratis, sin registro y funciona en tu navegador.
El ejemplo trabajado se contrastó con una corrida independiente de 200.000 tiradas: media de 34,3 días, P50 34,1, P90 40,8 y un 5,2% de proyectos terminando dentro de los 27 días planificados. Es contenido educativo sobre el método, no asesoría de gestión de proyectos.
¿Te sirvió este artículo? Puedes invitarme un café.