CASO REAL 2 — DECISIÓN MULTIETAPA Startup de Tecnología — Lanzar vs. Pivotar vs. Cerrar Una startup tiene 3 opciones: Lanzar nacional (inversión $200k), Lanzar piloto ($60k, si exitoso puede escalar), o Cerrar ($0). El mercado puede ser Grande (p=0.30), Medio (p=0.50) o Pequeño (p=0.20). El piloto tiene 55% de éxito; si falla se recuperan $10k.

Análisis de Árbol Multietapa — Startup de Tecnología

Análisis de sensibilidad incluido

library(ggplot2); library(dplyr); library(tidyr)
## Warning: package 'ggplot2' was built under R version 4.5.2
## Warning: package 'dplyr' was built under R version 4.5.2
## 
## 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
# Parámetros base
inv_nac    <- 200000
inv_piloto <-  60000
p_mer      <- c(0.30, 0.50, 0.20)
payoff_mer <- c(800000, 300000, -50000)
p_exito    <-    0.55
recup_fall <-  10000
# Función de evaluación
eval_arbol <- function(p_ex=0.55, p_gr=0.30) {
  pm <- c(p_gr, 0.50, 1-p_gr-0.50)
  vme_nac    <- sum(payoff_mer * pm) - inv_nac
  vme_escal  <- sum(payoff_mer * pm) - inv_nac  # misma inversión
  vme_piloto <- p_ex*vme_escal + (1-p_ex)*recup_fall - inv_piloto
  list(Nacional=vme_nac, Piloto=vme_piloto, Cerrar=0,
       Optima=max(vme_nac, vme_piloto, 0),
       Decision=c("Nacional","Piloto","Cerrar")[which.max(c(vme_nac,vme_piloto,0))])
}

# Caso base
base <- eval_arbol()
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)

Análisis de Sensibilidad

# Sensibilidad: P(éxito piloto)
p_exitos <- seq(0.10, 0.90, 0.02)
sens <- lapply(p_exitos, function(p) {
  res <- eval_arbol(p_ex=p)
  data.frame(p_exito=p, Nacional=res$Nacional,
             Piloto=res$Piloto, Cerrar=0)
}) |> bind_rows()

# Punto de indiferencia Nacional vs Piloto
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

Visualización del Análisis de Sensibilidad

# Gráfico de sensibilidad
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) +
  geom_vline(xintercept=c(0.55, indiferencia),
             linetype=c("solid","dashed"), alpha=0.5) +
  scale_color_manual(values=c(Nacional="#3a7fbd",Piloto="#d97706",Cerrar="#8a9ab5")) +
  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()
## Warning: Removed 1 row containing missing values or values outside the scale range
## (`geom_vline()`).

Interpretacion:

El gráfico demuestra que la estrategia “Nacional” domina sobre el “Piloto”, pues su Valor Monetario Esperado (VME) es superior en todo el espectro de probabilidades, indicando que el costo de inversión del piloto no se justifica frente al potencial retorno del lanzamiento directo. Al no existir un punto de cruce, la decisión óptima permanece constante en “Nacional” sin importar la incertidumbre del éxito inicial. En resumen, bajo tus parámetros actuales, el modelo sugiere que probar mediante un piloto destruye valor en lugar de protegerlo frente al riesgo de mercado.