Ejercicio de clase

Una plataforma de streaming desea entender qué factores explican el ingreso mensual por usuario (IPU).

Para 300 clientes, se registraron:

La gerencia sospecha que los usuarios del plan Premium utilizan más horas el servicio, pero que los descuentos y promociones frecuentes en ese plan reducen su ingreso neto promedio en comparación con el plan Standard, una vez que se controla por el tiempo de uso. Realice los siguientes puntos.

#cargar base de datos IPU
library(readr)
datos <- read_csv("streaming_ipu.csv")
  1. Formule el modelo de regresión lineal adecuado.
  1. Variable dependiente: IPU (índice promedio de uso)
  2. Variables explicativas: Plan (categórica) y Horas_Activas (cuantitativa)

Modelo de regresión lineal: IPUi​=β0​+β1​(PlanPremium i​)+β2​(PlanStandard i​)+β3​(HorasActivas i​)+ε i​

  1. IPUi = facturación mensual promedio de cada usuario (i)
  2. Plan = tipo de plan al que pertenece (Basic, Standard, Premium)
  3. Horas Activas = horas activas de uso al mes
  4. εi​ = término de error aleatorio
# Fijar categoría de referencia + convertir la variable categórica "Plan" como factor
datos$plan <- relevel(as.factor(datos$plan), ref = "Basic")

# Modelo de regresión
modelo <- lm(ipu_usd ~ plan + horas_activas_mes, data = datos)

Hemos seleccionado el Plan “Basic” como categoría de referencia, ahora representa el nivel inicial de servicio, lo que significa que los coeficientes de los demás planes (“Standard” y “Premium”) se interpretan en relación al básico. Usarlo como referencia facilita la interpretación porque actúa como el punto base del modelo.

  1. Ajuste el modelo y analice la salida.
summary(modelo)
## 
## Call:
## lm(formula = ipu_usd ~ plan + horas_activas_mes, data = datos)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -8.1927 -2.0258  0.0218  2.1624 10.2951 
## 
## Coefficients:
##                   Estimate Std. Error t value Pr(>|t|)    
## (Intercept)        5.31963    0.75896   7.009 1.63e-11 ***
## planPremium        2.03619    0.74489   2.734  0.00664 ** 
## planStandard       3.26961    0.50047   6.533 2.81e-10 ***
## horas_activas_mes  0.16660    0.01664  10.010  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 3.36 on 296 degrees of freedom
## Multiple R-squared:  0.5561, Adjusted R-squared:  0.5516 
## F-statistic: 123.6 on 3 and 296 DF,  p-value: < 2.2e-16

Interpretación del modelo:

  1. El intercepto (β₀ = 5.32) representa el valor esperado del IPU para los usuarios del plan Basic que no registran horas activas (0 horas/mes).

  2. El planPremium (β1 = 2.04), indica que, en promedio, los usuarios del plan Premium tienen un IPU 2.04 unidades mayor que los del plan Basic.

  3. El planStandard (β2 = 3.27), indica que los usuarios del plan Standard presentan un IPU 3.27 unidades mayor que los del plan Basic.

  4. Las horas_activas_mes (β3 = 0.17) indica que por cada hora activa adicional, el IPU aumenta en promedio 0.17 unidades, sin importar el plan.

  5. El valor de R^2 = 0.5561 indica que el modelo explica aproximadamente el 55.6 % de la variabilidad del IPU en función del tipo de plan y del tiempo de uso mensual; 56% se encuentra en un rango de moderado a bueno.

Coeficiente Estimado
Basic Plan 5.32
Premium Plan 5.32 + 2.04
Standard Plan 5.32 + 3.27
  1. Genere predicciones con intervalo de confianza (90%).
#Escenarios manteniendo 60 horas activas
planes <- data.frame(
  plan = c("Basic", "Standard", "Premium"),
  horas_activas_mes = rep(60, 3)
)

# Predicciones con intervalo de confianza (90%)
pred_ipu <- predict(modelo, newdata = planes, interval = "confidence", level = 0.90)

# Tabla
cbind(planes, round(pred_ipu, 2))
##       plan horas_activas_mes   fit   lwr   upr
## 1    Basic                60 15.32 14.59 16.04
## 2 Standard                60 18.59 18.03 19.14
## 3  Premium                60 17.35 16.60 18.10
  1. Al mantener constante el número de horas activas en 60 horas mensuales, el ingreso promedio por usuario (IPU) varía de acuerdo con el tipo de plan contratado. El IPU estimado aumenta con el nivel del plan, alcanzando su valor más alto en el plan Standard, lo que confirma el efecto positivo de las características del plan sobre los ingresos.

  2. Comparando entre categorías, se observa que los usuarios del plan Standard presentan un IPU significativamente mayor que los del plan Basic y ligeramente superior al de los usuarios Premium, incluso bajo las mismas condiciones de uso. Esto sugiere que las promociones y descuentos frecuentes del plan Premium reducen parcialmente su ingreso neto promedio, a pesar de su mayor nivel de servicio.

  3. Los valores ajustados (fit) reflejan el IPU promedio esperado, mientras que los límites inferior (lwr) y superior (upr) del intervalo de confianza al 90% indican la incertidumbre asociada a estas estimaciones.

  4. En general, el modelo permite simular escenarios realistas y cuantificar diferencias entre planes: por ejemplo, un usuario del plan Standard con 60 horas activas genera un ingreso esperado de aproximadamente 18.6 dólares, mientras que un usuario Basic con las mismas horas produce cerca de 15.3 dólares.

  1. Elabore una breve conclusión sobre las siguientes preguntas.