1. Introducción

En el contexto actual de innovación y emprendimiento, las startups tecnológicas enfrentan altos niveles de incertidumbre al momento de tomar decisiones estratégicas, especialmente en lo relacionado con inversiones iniciales y expansión de mercado.

La evaluación de alternativas como el lanzamiento directo de un producto, la implementación de un proyecto piloto o la decisión de no invertir, requiere un análisis estructurado que considere tanto los posibles escenarios como las probabilidades asociadas a cada uno.

En este sentido, los árboles de decisión multietapa constituyen una herramienta fundamental dentro de la investigación de operaciones, ya que permiten modelar problemas complejos de decisión bajo incertidumbre. A través del uso del Valor Monetario Esperado (VME), es posible cuantificar los resultados económicos esperados de cada alternativa y seleccionar la opción más conveniente.

El presente estudio tiene como objetivo analizar la decisión óptima para una startup tecnológica, incorporando además un análisis de sensibilidad que permita evaluar cómo cambios en la probabilidad de éxito del piloto afectan la decisión final.


2. Marco Teórico

2.1 Toma de decisiones bajo incertidumbre

La toma de decisiones bajo incertidumbre ocurre cuando no se conocen con certeza los resultados futuros de una acción, pero sí se pueden asignar probabilidades a los diferentes escenarios posibles. Este tipo de problemas es común en áreas como negocios, economía e ingeniería.


2.2 Árboles de decisión

Los árboles de decisión son representaciones gráficas que permiten descomponer un problema en etapas secuenciales, facilitando el análisis de decisiones complejas. Están compuestos por:

  • Nodos de decisión: indican los puntos donde se debe elegir entre varias alternativas.
  • Nodos de probabilidad: representan eventos aleatorios con probabilidades asociadas.
  • Ramas: muestran las posibles acciones o resultados.
  • Resultados (payoffs): beneficios o costos asociados a cada camino.

Los árboles de decisión permiten visualizar claramente las consecuencias de cada elección y evaluar alternativas de forma sistemática.


2.3 Valor Monetario Esperado (VME)

El Valor Monetario Esperado es un criterio de decisión que combina los posibles resultados con sus respectivas probabilidades. Se calcula mediante la expresión:

\[ VME = \sum_{i=1}^{n} p_i \cdot x_i \]

donde:

  • \(p_i\) es la probabilidad del evento \(i\)
  • \(x_i\) es el resultado económico asociado

El objetivo es seleccionar la alternativa que maximiza el VME, ya que representa el mayor beneficio esperado en promedio.


2.4 Modelos multietapa

Un modelo multietapa implica decisiones que se toman en diferentes momentos del tiempo, donde cada decisión puede depender de los resultados obtenidos en etapas anteriores.

En el caso de una startup, por ejemplo, se puede decidir primero realizar un piloto y, dependiendo de su éxito o fracaso, tomar decisiones posteriores como escalar el proyecto o abandonarlo.


2.5 Análisis de sensibilidad

El análisis de sensibilidad consiste en estudiar cómo cambian los resultados de un modelo cuando se modifican sus parámetros de entrada.

Este análisis es especialmente importante en contextos de incertidumbre, ya que permite identificar variables críticas que influyen en la decisión final. En este estudio, se analiza la variación del VME en función de la probabilidad de éxito del piloto.


2.6 Aplicación en startups tecnológicas

Las startups operan en entornos altamente dinámicos, donde la información es limitada y los riesgos son elevados. Por ello, herramientas como los árboles de decisión y el análisis de sensibilidad resultan clave para:

  • Evaluar inversiones
  • Reducir riesgos
  • Optimizar la asignación de recursos
  • Tomar decisiones estratégicas fundamentadas

3. Desarrollo

# ====================================================
# ÁRBOL MULTIETAPA — Startup de Tecnología
# Análisis de sensibilidad incluido
# ====================================================

# 1. CARGA DE LIBRERÍAS
# ----------------------------------------------------
library(ggplot2) # Para crear gráficos de alta calidad
library(dplyr)   # Para manipulación de datos (uso de bind_rows)
## 
## Adjuntando el paquete: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(tidyr)   # Para transformar datos de formato ancho a largo (pivot_longer)

# 2. PARÁMETROS BASE (DATOS FINANCIEROS Y PROBABILIDADES)
# ----------------------------------------------------
inv_nac    <- 200000   # Inversión necesaria para lanzamiento nacional directo
inv_piloto <-  60000   # Inversión para la fase de prueba (piloto)
p_mer      <- c(0.30, 0.50, 0.20)         # Probabilidades: [Mercado Grande, Medio, Pequeño]
payoff_mer <- c(800000, 300000, -50000)   # Ganancias brutas según el tamaño del mercado
p_exito    <- 0.55     # Probabilidad de que el piloto sea exitoso (valida el mercado)
recup_fall <- 10000    # Valor residual/recuperación si el piloto falla y cerramos

# 3. FUNCIÓN DE EVALUACIÓN DEL ÁRBOL
# ----------------------------------------------------
# Esta función calcula el Valor Monetario Esperado (VME) de cada opción
eval_arbol <- function(p_ex=0.55, p_gr=0.30) {
  
  # Definimos las probabilidades de mercado (Grande, Medio, Pequeño)
  pm <- c(p_gr, 0.50, 1-p_gr-0.50)
  
  # VME Nacional: Suma de (Probabilidades * Ganancias) - Inversión inicial
  vme_nac    <- sum(payoff_mer * pm) - inv_nac
  
  # VME Escalar: Valor de lanzar nacionalmente DESPUÉS de un piloto exitoso
  vme_escal  <- sum(payoff_mer * pm) - inv_nac  
  
  # VME Piloto: Prob(Exito) * VME_Escalar + Prob(Fallo) * Recuperación - Inversión Piloto
  vme_piloto <- p_ex*vme_escal + (1-p_ex)*recup_fall - inv_piloto
  
  # Retornamos los resultados en una lista organizada
  list(Nacional = vme_nac, 
       Piloto   = vme_piloto, 
       Cerrar   = 0, # La opción de no hacer nada siempre vale 0
       Optima   = max(vme_nac, vme_piloto, 0), # La mayor ganancia esperada
       Decision = c("Nacional","Piloto","Cerrar")[which.max(c(vme_nac,vme_piloto,0))]) # Nombre de la mejor opción
}

# 4. EJECUCIÓN DEL CASO BASE
# ----------------------------------------------------
base <- eval_arbol() # Calculamos con los parámetros iniciales

cat("===== STARTUP — CASO BASE =====\n")
## ===== STARTUP — CASO BASE =====
cat(sprintf("VME Nacional:  $%s\n", format(round(base$Nacional), big.mark=",")))
## VME Nacional:  $180,000
cat(sprintf("VME Piloto:    $%s\n", format(round(base$Piloto),   big.mark=",")))
## VME Piloto:    $43,500
cat(sprintf("Decisión óptima: %s ($%s)\n", 
    base$Decision, format(round(base$Optima), big.mark=",")))
## Decisión óptima: Nacional ($180,000)
# 5. ANÁLISIS DE SENSIBILIDAD: P(éxito piloto)
# ----------------------------------------------------
# ¿Cómo cambia la decisión si el piloto tiene más o menos probabilidad de éxito?
p_exitos <- seq(0.10, 0.90, 0.02) # Rango de 10% a 90%

sens <- lapply(p_exitos, function(p) {
  res <- eval_arbol(p_ex=p)
  # Creamos una fila de datos para cada probabilidad probada
  data.frame(p_exito=p, Nacional=res$Nacional, Piloto=res$Piloto, Cerrar=0)
}) |> bind_rows() # Unimos todas las filas en una sola tabla

# 6. CÁLCULO DEL PUNTO DE INDIFERENCIA
# ----------------------------------------------------
# Buscamos el punto exacto donde el VME de Piloto es igual al VME Nacional
indiferencia <- approx(sens$Piloto - sens$Nacional, 
                        sens$p_exito, xout=0)$y

cat(sprintf("\nPunto de indiferencia: P(éxito)=%.2f\n", indiferencia))
## 
## Punto de indiferencia: P(éxito)=NA
cat(sprintf("Si P(éxito) > %.2f → Piloto es mejor que Nacional\n", indiferencia))
## Si P(éxito) > NA → Piloto es mejor que Nacional
# 7. GRÁFICO DE SENSIBILIDAD
# ----------------------------------------------------
# Reestructuramos los datos para que sean compatibles con el gráfico (formato long)
sens_long <- pivot_longer(sens, -p_exito, 
                           names_to="Alternativa", values_to="VME")

ggplot(sens_long, aes(x=p_exito, y=VME/1000, color=Alternativa)) +
  geom_line(linewidth=1.2) + # Dibujamos las líneas de beneficio
  # Añadimos líneas verticales para marcar el caso base y el punto crítico
  geom_vline(xintercept=c(0.55, indiferencia), 
             linetype=c("solid","dashed"), alpha=0.5) +
  # Colores personalizados para cada estrategia
  scale_color_manual(values=c(Nacional="#3a7fbd", Piloto="#d97706", Cerrar="#8a9ab5")) +
  # Formato de porcentaje en el eje X
  scale_x_continuous(labels=scales::percent) +
  labs(title="Análisis de Sensibilidad — Startup",
       subtitle=sprintf("Indiferencia en P(éxito)=%.0f%%. Caso base=55%% (línea sólida)", 
                         indiferencia*100),
       x="P(Éxito Piloto)", y="VME (miles $)") +
  theme_minimal() # Tema visual limpio y moderno
## Warning: Removed 1 row containing missing values or values outside the scale range
## (`geom_vline()`).

# Árbol de Decisión (Referencia)
knitr::include_graphics("arbolimagen.png")

4. Interpretación de Resultados

A partir de la ejecución del modelo de árbol de decisión multietapa, se obtienen los Valores Monetarios Esperados (VME) para cada alternativa: lanzamiento nacional, implementación de un piloto y la opción de no invertir.

En el caso base, donde la probabilidad de éxito del piloto es del 55%, se observa que:

La comparación de estos valores permite identificar la alternativa con mayor rentabilidad esperada, la cual constituye la decisión óptima.

El análisis de sensibilidad muestra cómo varía el VME del piloto en función de la probabilidad de éxito. A medida que esta probabilidad aumenta:

Por otro lado, el punto de indiferencia representa el valor crítico de la probabilidad de éxito en el cual ambas alternativas (piloto y lanzamiento nacional) generan el mismo VME. Este punto divide el espacio de decisión en dos regiones:

El gráfico de sensibilidad permite visualizar claramente este comportamiento, mostrando la intersección entre ambas alternativas y facilitando la interpretación de la decisión bajo distintos escenarios.

Finalmente, la alternativa de no invertir (cerrar) mantiene un VME igual a cero, por lo que solo sería óptima en escenarios donde las demás opciones generen pérdidas esperadas.


5. Conclusiones