Contexto del Problema

TechParts S.A. debe decidir la capacidad de su nueva planta de producción (Grande, Mediana o Pequeña). El éxito de esta inversión depende de la demanda del mercado, la cual es incierta.

Para reducir el riesgo, la empresa considera contratar a una consultora que emitirá un informe: Favorable (F) o Desfavorable (D). Sin embargo, la consultora no es infalible; su informe es “información imperfecta”.


  1. Configuración de Datos y Matriz de Pagos

La matriz de pagos representa el beneficio neto esperado para cada combinación de tamaño de planta y estado del mercado.

library(ggplot2)
library(tidyr)
library(dplyr)

# Filas: Tamaño de Planta | Columnas: Estados del Mercado (Bajo, Medio, Alto)
pagos <- matrix(c(
  -200000, 100000, 500000,  # Grande
   -50000, 200000, 300000,  # Mediana
   100000, 150000, 180000   # Pequeña
), nrow=3, byrow=TRUE)

rownames(pagos) <- c("Grande", "Mediana", "Pequeña")

# Probabilidades Iniciales (Creencia actual del mercado)
prior   <- c(0.20, 0.45, 0.35)

# Probabilidades Condicionales (Fiabilidad de la consultora)
# P(Informe Favorable | Estado del Mercado)
likel_F <- c(0.10, 0.40, 0.90) 
likel_D <- 1 - likel_F

Comentario: Nota que la consultora es muy buena detectando mercados altos (90% de probabilidad de decir “Favorable”), pero muy propensa a fallar en mercados bajos (solo 10% de probabilidad de decir “Favorable”).

  1. El Motor de BayesCalculamos las probabilidades revisadas. Si la consultora dice que el panorama es “Favorable”, ¿qué tan seguros podemos estar de que el mercado será realmente “Alto”?Utilizamos la actualización bayesiana:\[P(Estado | Informe) = \frac{P(Informe | Estado) \cdot P(Estado)}{P(Informe)}\]
actualizar <- function(prior, likel) {
  conj <- prior * likel
  list(post = conj / sum(conj), P_E = sum(conj))
}

bF <- actualizar(prior, likel_F) # Resultados si el informe es Favorable
bD <- actualizar(prior, likel_D) # Resultados si el informe es Desfavorable
  1. Valor Monetario Esperado (VME) y VEIICalculamos el mejor curso de acción para cada escenario de información. El VEII nos dirá el precio máximo que TechParts debería pagar por el estudio de la consultora.
vme_all <- function(p) {
  v <- pagos %*% p
  list(vme = as.vector(v), mejor = rownames(pagos)[which.max(v)],
       max_vme = max(v))
}

# 1. Decisión sin la consultora
r_prior <- vme_all(prior)

# 2. Decisiones condicionadas al informe
r_F     <- vme_all(bF$post)
r_D     <- vme_all(bD$post)

# 3. Valor con información imperfecta
vme_con_info <- bF$P_E * r_F$max_vme + bD$P_E * r_D$max_vme
veii         <- vme_con_info - r_prior$max_vme

cat("Resultados del Análisis:\n")
## Resultados del Análisis:
cat("--------------------------------------------\n")
## --------------------------------------------
cat(sprintf("Sin consultora, la mejor opción es [%s] con un VME de $%s\n", 
            r_prior$mejor, format(round(r_prior$max_vme), big.mark=",")))
## Sin consultora, la mejor opción es [Mediana] con un VME de $185,000
cat(sprintf("Si el informe es FAVORABLE, lo óptimo es [%s]\n", r_F$mejor))
## Si el informe es FAVORABLE, lo óptimo es [Grande]
cat(sprintf("Si el informe es DESFAVORABLE, lo óptimo es [%s]\n", r_D$mejor))
## Si el informe es DESFAVORABLE, lo óptimo es [Pequeña]
cat("--------------------------------------------\n")
## --------------------------------------------
cat(sprintf("VALOR DE LA INFORMACIÓN (VEII): $%s\n", format(round(veii), big.mark=",")))
## VALOR DE LA INFORMACIÓN (VEII): $51,300
  1. Visualización: Impacto de la InformaciónEste gráfico compara cómo cambia la rentabilidad esperada de cada tamaño de planta según lo que diga la consultora.
df_vme <- data.frame(
  Alternativa  = rownames(pagos),
  Sin_info     = r_prior$vme,
  Favorable    = r_F$vme,
  Desfavorable = r_D$vme
)
df_long <- pivot_longer(df_vme, -Alternativa, names_to="Escenario", values_to="VME")

ggplot(df_long, aes(x=Alternativa, y=VME/1000, fill=Escenario)) +
  geom_col(position="dodge", width=0.7) +
  geom_hline(yintercept=0, color="black", alpha=0.3) +
  scale_fill_manual(values=c("Sin_info"="#3a7fbd", "Favorable"="#0f7a52", "Desfavorable"="#b0305a")) +
  labs(title="Impacto del Informe de Consultoría en la Decisión",
       subtitle="El informe cambia la alternativa ganadora (barras más altas)",
       x="Tamaño de Planta", y="VME (Miles de $)") +
  theme_minimal()

Interpretación de ResultadosCambio de Estrategia: - Sin información, TechParts elegiría una planta r r_prior\(mejor.Si el informe es Favorable, la confianza en el mercado alto crece tanto que la opción r r_F\)mejor se vuelve la más rentable.Si es Desfavorable, la empresa debe protegerse eligiendo una planta r r_D$mejor.Valor del Asesoramiento (VEII):El VEII calculado es de $r format(round(veii), big.mark=“,”).¿Qué significa? Si la consultora cobra menos de esta cifra, el contrato es rentable. Si cobra más, el “ruido” de su información imperfecta no compensa el costo y es mejor decidir basándose solo en los datos internos iniciales.Riesgo: Observa en el gráfico que la opción “Grande” bajo un escenario desfavorable tiene pérdidas masivas (barra roja hacia abajo). La consultora es valiosa precisamente porque nos ayuda a evitar ese escenario negativo.