logo

Introducción

En la práctica empresarial, muchas de las decisiones que se desean analizar o predecir no dependen únicamente de variables numéricas como el precio, los ingresos o las ventas. Factores como el tipo de cliente, el canal de distribución, la región de operación o la categoría del producto son variables categóricas que capturan diferencias sustanciales en el comportamiento del mercado. Ignorarlas podría llevar a conclusiones incompletas o incluso erróneas.

La regresión lineal con variables categóricas permite cuantificar esas diferencias de manera controlada. A través de un sistema de variables indicadoras (variables dummy), el modelo estima cómo varía el promedio de la variable dependiente entre categorías, manteniendo constantes las demás condiciones. En términos prácticos, ofrece una forma estadísticamente rigurosa de responder preguntas como:

  • ¿Los clientes que compran en línea gastan, en promedio, más que quienes lo hacen en tienda física?

  • ¿El nivel de satisfacción difiere entre regiones, una vez controlado el nivel de ingresos?

  • ¿Los empleados de un departamento tienen un desempeño significativamente mayor que los de otro, considerando el tiempo en la empresa?

Por ejemplo, en una cadena minorista se puede ajustar un modelo donde la variable dependiente sea el monto promedio de compra mensual y las variables explicativas incluyan el canal de compra (tienda física, en línea o mixto) y el segmento de cliente (regular o premium). El modelo mostrará, en términos cuantitativos, cuánto aumenta o disminuye el gasto promedio en cada grupo comparado con una categoría de referencia.

Este tipo de análisis es muy útil para diseñar estrategias de segmentación, evaluar campañas de marketing o optimizar precios y servicios por canal. En síntesis, convierte diferencias categóricas, que en principio parecen descriptivas, en información analítica capaz de guiar decisiones basadas en evidencia.

Variables categóricas

Una variable cualitativa no puede incluirse directamente en un modelo de regresión, ya que este requiere variables numéricas. Por esta razón, las variables categóricas se convierten en un conjunto de variables indicadoras (dummy), que representan las distintas categorías posibles.

Si una variable tiene \(k\) categorías, se crean \(k - 1\) variables dummy, definidas como:

\[ x_{ji} = \begin{cases} 1 & \text{si la observación } i \text{ pertenece a la categoría } j, \\ 0 & \text{en caso contrario.} \end{cases} \]

La categoría que no se representa explícitamente se denomina categoría de referencia, y su efecto se incluye en el intercepto \(\beta_0\). Los coeficientes de las demás categorías se interpretan como diferencias promedio en la variable dependiente respecto a esa categoría base.


Ejemplo conceptual:

Supongamos que una institución financiera desea analizar el gasto mensual promedio (\(y\)) de sus clientes según el tipo de cuenta que poseen. Los datos resumidos son los siguientes:

Tipo de cuenta Gastos promedio
Básica $120
Premium $160
Empresarial $190

Para incorporar esta variable en un modelo de regresión, se crean dos variables dummy:

\[ x_1 = \begin{cases} 1 & \text{si la cuenta es Premium}, \\ 0 & \text{en otro caso.} \end{cases} \quad \text{y} \quad x_2 = \begin{cases} 1 & \text{si la cuenta es Empresarial}, \\ 0 & \text{en otro caso.} \end{cases} \]

El modelo lineal se expresa como:

\[ \hat{y} = \beta_0 + \beta_1 x_1 + \beta_2 x_2 + \varepsilon \]

donde:

  • \(\beta_0\): representa el gasto promedio en la categoría Básica (la referencia).
  • \(\beta_1\): diferencia promedio entre Premium y Básica.
  • \(\beta_2\): diferencia promedio entre Empresarial y Básica.

Supongamos que los coeficientes estimados fueran:

\[ \hat{\beta}_0 = 120, \quad \hat{\beta}_1 = 40, \quad \hat{\beta}_2 = 70, \]

entonces las predicciones serían:

  • Básica: \(120\)
  • Premium: \(120 + 40 = 160\)
  • Empresarial: \(120 + 70 = 190\)

En este contexto, la interpretación sería, en promedio, los clientes con cuentas Premium gastan $40 más al mes y los Empresariales $70 más al mes que los de cuentas básicas.


Implementación en R

En R, las variables categóricas deben ser factores. El modelo crea internamente las dummies y toma como referencia el primer nivel del factor (por orden alfabético, salvo que se cambie explícitamente).

A continuación, ejemplificamos cómo se implementaría un modelo con variables categóricas en R.

Datos

Cargamos los datos. Para este ejemplo, tomaremos una base de datos pequeña y bastante sencilla.

# Datos
clientes <- data.frame(
  gasto        = c(120,180,190,130,170,210,155,200,140,165),
  cuenta  = c("Basica","Premium","Empresarial","Basica","Premium",
                  "Empresarial","Basica","Empresarial","Basica","Premium"))

# Convertir a factor si es necesario
clientes$cuenta <- factor(clientes$cuenta)

# Revisar los niveles (la primera es la referencia)
levels(clientes$cuenta)
## [1] "Basica"      "Empresarial" "Premium"

Es importante tener en cuenta que el primer nivel, será el nivel de referencia.


Modelo ajustado

Ajustamos un modelo lineal, donde la variable independiente es categórica.

# Ajuste del modelo con factor
mod1 <- lm(gasto ~ cuenta, data = clientes)
summary(mod1)
## 
## Call:
## lm(formula = gasto ~ cuenta, data = clientes)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -16.2500  -6.5625  -0.8333   7.1875  18.7500 
## 
## Coefficients:
##                   Estimate Std. Error t value Pr(>|t|)    
## (Intercept)        136.250      5.932  22.967 7.52e-08 ***
## cuentaEmpresarial   63.750      9.062   7.035 0.000205 ***
## cuentaPremium       35.417      9.062   3.908 0.005836 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 11.86 on 7 degrees of freedom
## Multiple R-squared:  0.8782, Adjusted R-squared:  0.8434 
## F-statistic: 25.23 on 2 and 7 DF,  p-value: 0.0006307

Notemos que la estructura es la misma ya usada para modelos lineales.

Lectura de la salida del modelo:

  • Intercepto (referencia): 136.25 ⇒ (\(\widehat{\mu}_{\text{Basico}}=136.25\) ).
  • Empresarial: gasta en promedio 63.75 más que la referencia ⇒ \(\widehat{\mu}_{\text{Emp}} =136.25 + 63.75 = 200\).
  • Premium: gasta en promedio 35.42 más que la referencia ⇒ \(\widehat{\mu}_{\text{Prem}} =136.25 + 35.42 = 171.67\)
  • \(R^2 = 0.878\): el 87.8 % de la variación del gasto se explica por el tipo de cuenta.
  • Conclusión: las diferencias por tipo de cuenta son grandes y significativas; tiene sentido segmentar estrategias (precios/beneficios) por cuenta.

Matriz de diseño

¿Dónde están las variables dummies?

lm() crea internamente las variables dummies. Podemos ver esta estructura mediante la función model.matrix(), para ver explícitamente las columnas indicadoras.

# Matriz de diseño 
dummy <- model.matrix(gasto ~ cuenta, data = clientes)
cbind(clientes, as.data.frame(dummy))
##    gasto      cuenta (Intercept) cuentaEmpresarial cuentaPremium
## 1    120      Basica           1                 0             0
## 2    180     Premium           1                 0             1
## 3    190 Empresarial           1                 1             0
## 4    130      Basica           1                 0             0
## 5    170     Premium           1                 0             1
## 6    210 Empresarial           1                 1             0
## 7    155      Basica           1                 0             0
## 8    200 Empresarial           1                 1             0
## 9    140      Basica           1                 0             0
## 10   165     Premium           1                 0             1
  • Intercepto: 1 en todas las filas → constante \(\beta_0\).
  • 2 dummies porque cuenta tiene 3 niveles \(k-1\).
  • Nivel de referencia es “Básica”: aparece en filas con Empresarial = 0 y Premium = 0.
  • Empresarial: 1 predice \(\beta_0+\beta_{\text{Emp}}\).
  • Premium: 1 predice \(\beta_0+\beta_{\text{Prem}}\).

Categoría de referencia

¿Cómo cambiar la categoría o nivel de referencia?

Podemos fijar la categoría de referencia explícitamente y cambiarla a la que se requiera o desee.

clientes$cuenta <- relevel(clientes$cuenta, ref = "Premium")

# Ajustar modelo 
mod2 <- lm(gasto ~ cuenta, data = clientes)
summary(mod2)
## 
## Call:
## lm(formula = gasto ~ cuenta, data = clientes)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -16.2500  -6.5625  -0.8333   7.1875  18.7500 
## 
## Coefficients:
##                   Estimate Std. Error t value Pr(>|t|)    
## (Intercept)        171.667      6.850  25.060 4.11e-08 ***
## cuentaBasica       -35.417      9.062  -3.908  0.00584 ** 
## cuentaEmpresarial   28.333      9.688   2.925  0.02219 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 11.86 on 7 degrees of freedom
## Multiple R-squared:  0.8782, Adjusted R-squared:  0.8434 
## F-statistic: 25.23 on 2 and 7 DF,  p-value: 0.0006307
  • Intercepto: 171.667 → media de Premium (nueva categoría de referencia).
  • Básica: Básica gasta 35.417 menos que Premium ⇒ \(\widehat{\mu}_{\text{Basica}} = 171.667 - 35.417 = 136.25\).
  • Empresarial: Empresarial gasta 28.333 más que Premium ⇒ \(\widehat{\mu}_{\text{Emp}} = 171.667 + 28.333 = 200.000\).
  • \(R^2 = 0.878\) no cambia respecto al modelo anterior; solo cambia la interpretación al usar otra referencia.

Modelos con predictores mixtos

En muchos análisis de negocio la respuesta depende simultáneamente de factores cualitativos (tipo de cliente, canal, región) y predictores numéricos (edad, ingresos, visitas). La regresión lineal con variables mixtas permite estimar diferencias promedio entre categorías mientras controla por predictores continuos, y viceversa.

Este tipo de modelo resulta especialmente útil cuando el fenómeno de interés combina segmentos o canales con variables numéricas relevantes, ya que permite realizar comparaciones entre categorías de manera justa al controlar otras variables. También ayuda a ajustar por factores de confusión, como la edad o el ingreso, y a obtener estimaciones más precisas sobre los efectos individuales de cada predictor.

En la gestión empresarial, su aplicación permite estimar diferencias ajustadas entre grupos, lo que resulta valioso para la segmentación de clientes y la definición de estrategias de precios. Además, posibilita cuantificar efectos marginales de variables continuas en un contexto real, apoyando la planeación y el establecimiento de metas. Sus resultados ofrecen métricas claras y fácilmente comunicables, como diferencias de medias y cambios promedio.

Para un uso adecuado, es recomendable definir la categoría de referencia de acuerdo con la comparación que más interese al negocio, verificar los supuestos del modelo lineal y en caso de variables continuas con rangos muy distintos, reescalar para mejorar la estabilidad del modelo.

Es importante destacar que en este tipo de modelos, un coeficiente de determinación alto no siempre es el objetivo principal; lo importante es que los coeficientes sean estadísticamente y conceptualmente coherentes con la teoría o la lógica del problema.


Ejemplos prácticos

Para ilustrar con claridad la regresión lineal con variables mixtas (numéricas y categóricas), se generó un conjunto de datos simulado que imita un escenario de negocio verosímil:

  • Unidad de análisis: clientes de una institución financiera.
  • Variable respuesta (gasto): monto mensual promedio (en unidades monetarias).
  • Factor cuenta: tres categorías — Básica, Premium y Empresarial, con proporciones realistas (40%, 35%, 25%). La hipótesis de negocio es que Premium y, sobre todo, Empresarial, gastan más que Básica.
  • Predictor continuo edad: edades entre 22 y 68 años (distribución uniforme), asumiendo que clientes mayores tienden a gastar un poco más (efecto positivo suave).
  • Predictor continuo ingreso: distribución log-normal (asimétrica a la derecha) centrada alrededor de $35,000, para reflejar la dispersión típica de ingresos.
  • Modelo lineal con:
    • Intercepto ≈ 130 (gasto esperado de la categoría de referencia).
    • Efecto Empresarial ≈ +60 y Premium ≈ +35 (diferencias de medias frente a la referencia Básica).
    • Efecto de edad ≈ +0.6 por año (cambio promedio dentro de cada categoría).
    • Efecto de ingreso ≈ +0.005 por unidad monetaria (incremento pequeño pero consistente).
    • Ruido aleatorio con desviación estándar ≈ 18.
set.seed(1234)
n <- 180
cuenta   <- factor(sample(c("Basica","Premium","Empresarial"), n, replace=TRUE, prob=c(0.4,0.35,0.25)))
edad     <- sample(22:68, n, replace=TRUE)
ingreso  <- round(rlnorm(n, log(35000), 0.35), 0)
b0       <- 130
b_emp    <- 60
b_prem   <- 35
b_edad   <- 0.6
b_ing    <- 0.005
sigma    <- 18
error    <- rnorm(n, 0, sigma)

gasto    <- round(b0 + ifelse(cuenta=="Empresarial", b_emp, 0) + ifelse(cuenta=="Premium", b_prem, 0) +
            b_edad*edad + b_ing*ingreso + error,2)

clientes_ex <- data.frame(gasto, cuenta, edad, ingreso)
head(clientes_ex, n=10)
##     gasto      cuenta edad ingreso
## 1  287.54      Basica   40   25698
## 2  295.21     Premium   28   22017
## 3  336.05     Premium   30   32493
## 4  457.93     Premium   61   47455
## 5  330.22 Empresarial   56   26581
## 6  356.29     Premium   47   32522
## 7  366.50      Basica   37   45589
## 8  311.33      Basica   43   32376
## 9  441.31     Premium   44   55687
## 10 297.34     Premium   49   22580

Ejemplo 1

Comparar categorías controlando una variable numérica:

La oficina de análisis quiere saber si el tipo de cuenta (Básica, Premium, Empresarial) se asocia con el gasto mensual, controlando por edad para evitar comparaciones sesgadas por demografía.

# Referencia
clientes_ex$cuenta <- relevel(as.factor(clientes_ex$cuenta), ref = "Basica")

# Modelo con variable mixta (factor + numérica)
mod_mix1 <- lm(gasto ~ cuenta + edad, data = clientes_ex)
summary(mod_mix1)
## 
## Call:
## lm(formula = gasto ~ cuenta + edad, data = clientes_ex)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -146.147  -56.602   -7.936   47.042  222.456 
## 
## Coefficients:
##                   Estimate Std. Error t value Pr(>|t|)    
## (Intercept)       329.4340    21.5358  15.297  < 2e-16 ***
## cuentaEmpresarial  71.4293    14.8584   4.807 3.27e-06 ***
## cuentaPremium      50.3047    12.8121   3.926 0.000124 ***
## edad                0.3010     0.4374   0.688 0.492201    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 75.54 on 176 degrees of freedom
## Multiple R-squared:  0.1422, Adjusted R-squared:  0.1276 
## F-statistic: 9.724 on 3 and 176 DF,  p-value: 5.696e-06

Interpretación:

  • Intercepto: 329.43 → media de la categoría Básica cuando edad es 0 (puede pasar como este ejemplo que el intercepto no es directamente interpretativo; lo usamos como punto de referencia del modelo).
  • Empresarial: +71.43 y Premium = +50.30. Son diferencias de medias vs. Básica ajustadas por edad.
    Es decir, a la misma edad, Empresarial gasta en promedio 71.43 más que Básica y Premium 50.3 más que Básica.
  • Todas las categorías de la variable cuenta son relevantes para el modelo.
  • Edad: +0.301. El efecto lineal de la edad no es estadísticamente significativo.
  • \(R^2=0.142\): el modelo explica aproximadamente el 14% de la variación del gasto; aquí el principal aporte lo da el tipo de cuenta.

En conclusión, controlar por una variable numérica significa comparar categorías manteniendo constante la variable numérica. En términos de medias ajustadas: \[\begin{align*} \hat\mu_{\text{Basica}}(x) & =\beta_0+\beta_{\text{edad}}\,x\\ \hat\mu_{\text{Prem}}(x) & =\beta_0+\beta_{\text{Prem}}+\beta_{\text{edad}}\,x\\ \hat\mu_{\text{Emp}}(x) & =\beta_0+\beta_{\text{Emp}}+\beta_{\text{edad}}\,x \end{align*}\]

La diferencia Premium − Básica es \(\beta_{\text{Prem}}\) y Empresarial − Básica es \(\beta_{\text{Emp}}\), independientes del valor de edad (porque no hemos incluido interacción).


Ejemplo 2

Comparar categorías controlando dos variables numéricas:

La oficina de finanzas sospecha que el ingreso también impacta el gasto. Se busca comparar categorías de cuenta ajustando simultáneamente por edad e ingreso.

mod_mix2 <- lm(gasto ~ cuenta + edad + ingreso, data = clientes_ex)
summary(mod_mix2)
## 
## Call:
## lm(formula = gasto ~ cuenta + edad + ingreso, data = clientes_ex)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -49.719 -12.240  -1.164  11.486  46.585 
## 
## Coefficients:
##                    Estimate Std. Error t value Pr(>|t|)    
## (Intercept)       1.204e+02  6.590e+00  18.263  < 2e-16 ***
## cuentaEmpresarial 5.518e+01  3.643e+00  15.150  < 2e-16 ***
## cuentaPremium     3.470e+01  3.144e+00  11.038  < 2e-16 ***
## edad              7.171e-01  1.071e-01   6.693 2.84e-10 ***
## ingreso           5.127e-03  9.734e-05  52.674  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 18.45 on 175 degrees of freedom
## Multiple R-squared:  0.9491, Adjusted R-squared:  0.9479 
## F-statistic: 815.9 on 4 and 175 DF,  p-value: < 2.2e-16

Interpretación:

  • Intercepto: 120.4 → representa el gasto base estimado para la categoría de referencia (Básica) cuando las variables numéricas (edad e ingreso) toman el valor 0. Aunque ese punto, nuevamente no tiene significado práctico, sirve como punto de partida para las comparaciones.

  • Empresarial: +55.18 y Premium: +34.7 → diferencias promedio frente a la categoría Básica, una vez ajustadas simultáneamente por edad e ingreso. Es decir, a igual edad e ingreso, los clientes Empresariales gastan en promedio 55.18 unidades más que los Básicos y los Premium 34.7 unidades más.

  • Edad: +0.72 → el gasto aumenta aproximadamente 0.72 unidades por cada año adicional, manteniendo fija la categoría de cuenta y el ingreso.

  • ingreso: +0.0051 → el gasto crece en promedio 0.0051 unidades por cada unidad monetaria adicional de ingreso (lo que equivale a 5 unidades de gasto por cada 1 000 unidades de ingreso).

  • \(R^2 = 0.95\): indica que el modelo explica aproximadamente el 95 % de la variación del gasto mensual; un ajuste excelente que refleja la fuerte relación entre gasto e ingreso.

  • Todas las categorías de la variable cuenta y las variables continuas son relevantes para el modelo.

Al incluir edad e ingreso, las diferencias entre tipos de cuenta se mantienen, pero el poder explicativo del modelo aumenta drásticamente. El tipo de cuenta sigue siendo un factor relevante incluso después de considerar la edad y el nivel de ingreso del cliente.


Predicciones 1

Predicción e interpretación práctica del modelo mixto

Con el modelo ajustado (mod_mix2), el equipo de marketing desea estimar el gasto promedio esperado para diferentes combinaciones de tipo de cuenta, edad e ingreso, con el fin de proyectar metas o simular escenarios.

# Escenarios variados
escenarios <- data.frame(
  cuenta  = c("Basica", "Basica", "Premium", "Premium", "Empresarial", "Empresarial"),
  edad    = c(30, 55, 30, 55, 30, 55),
  ingreso = c(30000, 55000, 30000, 55000, 30000, 55000))

pred1 <- predict(mod_mix2, newdata = escenarios, interval = "confidence", level=0.99)
cbind(escenarios, round(pred1, 2))
##        cuenta edad ingreso    fit    lwr    upr
## 1      Basica   30   30000 295.69 288.53 302.84
## 2      Basica   55   55000 441.80 434.17 449.42
## 3     Premium   30   30000 330.39 322.23 338.54
## 4     Premium   55   55000 476.50 468.78 484.22
## 5 Empresarial   30   30000 350.87 341.41 360.34
## 6 Empresarial   55   55000 496.98 487.91 506.05
library(plotly)

pred_df <- cbind(escenarios, pred1)

# Calcular barras de error (IC95%)
err_up   <- pred_df$upr - pred_df$fit
err_down <- pred_df$fit - pred_df$lwr

# Gráfico 3D con puntos, líneas y barras de error
plot_ly(pred_df, x = ~edad, y = ~ingreso, z = ~fit,
        color = ~cuenta, colors = "Set1",
        type = "scatter3d", mode = "lines+markers",
        marker = list(size = 5),
        line = list(width = 3),
        error_z = list(array = err_up, arrayminus = err_down, visible = TRUE)) %>%
  layout(
    scene = list(
      xaxis = list(title = "Edad"),
      yaxis = list(title = "Ingreso"),
      zaxis = list(title = "Gasto estimado (IC95%)")
    ),
    legend = list(title = list(text = "Cuenta")))

Conclusiones del escenario 1 (escenarios variados):

  • Al mantener constante la edad y el ingreso dentro de cada categoría, el gasto estimado aumenta con la edad y con el ingreso, lo que confirma los efectos positivos de ambas variables continuas.
  • Comparando entre categorías, se observa que los clientes con cuentas Premium y Empresarial presentan niveles de gasto claramente superiores a los de la categoría Básica, incluso bajo las mismas condiciones de edad e ingreso.
  • Los valores ajustados reflejan el gasto promedio esperado, mientras que lwr y upr (límites del IC95%) indican la incertidumbre de esas estimaciones.
  • El modelo permite simular escenarios realistas y cuantificar diferencias: por ejemplo, un cliente Empresarial de 55 años con ingreso 55,000 tendría un gasto esperado cercano a 497 unidades, mientras que un cliente Basico con las mismas características rondaría 442 unidades.

Predicciones 2

# Escenarios cambiando edad
edades <- data.frame(
  cuenta  = rep("Premium", 5),
  edad    = seq(25, 65, by = 10),
  ingreso = rep(45000, 5))

pred2 <- predict(mod_mix2, newdata = edades, interval = "confidence")
cbind(edades, round(pred2, 2))
##    cuenta edad ingreso    fit    lwr    upr
## 1 Premium   25   45000 403.71 397.22 410.20
## 2 Premium   35   45000 410.88 405.60 416.17
## 3 Premium   45   45000 418.05 413.29 422.82
## 4 Premium   55   45000 425.22 420.09 430.36
## 5 Premium   65   45000 432.40 426.15 438.64
library(ggplot2)
pred_df <- cbind(edades, pred2)
ggplot(pred_df, aes(x = edad, y = fit, color = cuenta)) +
  geom_line(linewidth = 1) +
  geom_point(size = 3) +
  geom_errorbar(aes(ymin = lwr, ymax = upr), width = 1) +
  labs(
    x = "Edad del cliente",
    y = "Gasto promedio estimado",
    color = "Tipo de cuenta") +
  theme_minimal()

Conclusiones del escenario 2 (cambiando edad):

  • En este análisis se mantiene fijo el tipo de cuenta (Premium) y el ingreso (45,000), variando solo la edad del cliente.
  • El gasto estimado crece gradualmente con la edad: desde 404 unidades a los 25 años hasta 432 unidades a los 65 años.
  • Este incremento confirma que el efecto de edad en el modelo es lineal positivo, aunque su magnitud es moderada.
  • La amplitud reducida de los intervalos de confianza (lwrupr) sugiere baja incertidumbre en las predicciones, lo que refuerza la estabilidad del modelo.
  • En términos de negocio, esto implica que clientes más adultos tienden a tener un gasto mayor, incluso dentro de la misma categoría y a ingreso constante, un patrón útil para segmentación y proyecciones de consumo.

Ejercicio de clase

Una plataforma de streaming desea entender qué factores explican el ingreso mensual por usuario (IPU). Los datos se encuentran en la plataforma de Moodle.

Para 300 clientes, se registraron:

  • Plan (categórica): Basic, Standard, Premium.

  • Horas activas al mes (continua): tiempo de uso mensual.

  • IPU (continua): facturación mensual por usuario.

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.

  1. Formule el modelo de regresión lineal adecuado.

    • Indique cuál categoría usará como referencia y justifique la elección.
  2. Ajuste el modelo y analice la salida.

    • Interprete el significado de los coeficientes asociados al plan y a las horas activas.
    • Explique qué representa el intercepto en este modelo.
    • Comente el valor del \(R^2\) obtenido y qué tan bien explica la variabilidad del IPU.
  3. Genere predicciones con intervalo de confianza (90%).

    • Calcule el IPU esperado para usuarios con 60 horas activas al mes para los tres planes.
    • Compare los resultados y analice las diferencias entre planes.
  4. Elabore una breve conclusión sobre las siguientes preguntas.

    • ¿Qué factores influyen más en el ingreso promedio de los usuarios?
    • ¿Se mantiene el efecto del tipo de plan al controlar por horas de uso?
    • ¿Qué implicaciones tienen los resultados para la estrategia de precios o promociones de la empresa?