datos <- data.frame(
Mes = 1:12,
Canal = c("Tienda fisica", "Tienda virtual", "Distribuidor",
"Tienda fisica", "Tienda virtual", "Distribuidor",
"Tienda fisica", "Tienda virtual", "Distribuidor",
"Tienda fisica", "Tienda virtual", "Distribuidor"),
Tipo_cliente = c("Minorista", "Mayorista", "Minorista",
"Mayorista", "Minorista", "Mayorista",
"Minorista", "Mayorista", "Minorista",
"Mayorista", "Minorista", "Mayorista"),
Compro = c("Si", "Si", "No", "Si", "No", "Si",
"Si", "No", "No", "Si", "No", "Si"),
Precio = c(12,14,16,18,20,22,24,26,28,30,32,34),
Demanda = c(95,88,82,76,70,65,59,54,48,43,38,32)
)
datos
## Mes Canal Tipo_cliente Compro Precio Demanda
## 1 1 Tienda fisica Minorista Si 12 95
## 2 2 Tienda virtual Mayorista Si 14 88
## 3 3 Distribuidor Minorista No 16 82
## 4 4 Tienda fisica Mayorista Si 18 76
## 5 5 Tienda virtual Minorista No 20 70
## 6 6 Distribuidor Mayorista Si 22 65
## 7 7 Tienda fisica Minorista Si 24 59
## 8 8 Tienda virtual Mayorista No 26 54
## 9 9 Distribuidor Minorista No 28 48
## 10 10 Tienda fisica Mayorista Si 30 43
## 11 11 Tienda virtual Minorista No 32 38
## 12 12 Distribuidor Mayorista Si 34 32
# Tabla de frecuencias del canal de venta
tabla_canal <- table(datos$Canal)
tabla_canal
##
## Distribuidor Tienda fisica Tienda virtual
## 4 4 4
# Prueba de bondad de ajuste
chisq.test(tabla_canal, p = c(1/3, 1/3, 1/3))
## Warning in chisq.test(tabla_canal, p = c(1/3, 1/3, 1/3)): Chi-squared
## approximation may be incorrect
##
## Chi-squared test for given probabilities
##
## data: tabla_canal
## X-squared = 0, df = 2, p-value = 1
#Conclusión:
No se encontraron diferencias estadísticamente significativas entre los tipos de cliente respecto a la compra (p > 0.05).
Aun así, se observa que los clientes mayoristas compran con mayor frecuencia que los minoristas.
# Tabla de contingencia
tabla_ind <- table(datos$Canal, datos$Compro)
tabla_ind
##
## No Si
## Distribuidor 2 2
## Tienda fisica 0 4
## Tienda virtual 3 1
# Prueba chi-cuadrado de independencia
chisq.test(tabla_ind, correct = FALSE)
## Warning in chisq.test(tabla_ind, correct = FALSE): Chi-squared approximation
## may be incorrect
##
## Pearson's Chi-squared test
##
## data: tabla_ind
## X-squared = 4.8, df = 2, p-value = 0.09072
#Conclusión:
No existen diferencias entre las frecuencias observadas y las esperadas.
# Tabla entre tipo de cliente y compra
tabla_hom <- table(datos$Tipo_cliente, datos$Compro)
tabla_hom
##
## No Si
## Mayorista 1 5
## Minorista 4 2
# Prueba chi-cuadrado de homogeneidad
chisq.test(tabla_hom, correct = FALSE)
## Warning in chisq.test(tabla_hom, correct = FALSE): Chi-squared approximation
## may be incorrect
##
## Pearson's Chi-squared test
##
## data: tabla_hom
## X-squared = 3.0857, df = 1, p-value = 0.07898
# Modelo de regresion lineal simple
modelo <- lm(Demanda ~ Precio, data = datos)
# Resumen del modelo
summary(modelo)
##
## Call:
## lm(formula = Demanda ~ Precio, data = datos)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.9441 -0.4633 -0.1294 0.2675 1.5385
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 127.2378 0.7349 173.14 < 2e-16 ***
## Precio -2.8147 0.0306 -91.98 5.65e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.7319 on 10 degrees of freedom
## Multiple R-squared: 0.9988, Adjusted R-squared: 0.9987
## F-statistic: 8460 on 1 and 10 DF, p-value: 5.649e-16
# Coeficientes
coef(modelo)
## (Intercept) Precio
## 127.237762 -2.814685
# Recta estimada
# Demanda estimada = intercepto + pendiente * Precio
#Conclusiones: Existe una relación lineal negativa entre el precio y la demanda.
El coeficiente de la variable precio indica que por cada aumento de una unidad en el precio, la demanda disminuye aproximadamente 2.81 unidades.
El modelo presenta un ajuste muy fuerte (R² cercano a 1), lo que indica que el precio explica casi toda la variación observada en la demanda.
# Prediccion para un precio de 25 unidades
nuevo <- data.frame(Precio = 25)
predict(modelo, newdata = nuevo)
## 1
## 56.87063
#Conclusion: Para un precio de 25 unidades monetarias, el modelo estima una demanda aproximada de 57 unidades.
Esto demuestra que el modelo puede utilizarse para realizar proyecciones de demanda.
# Tabla ANOVA del modelo
anova(modelo)
## Analysis of Variance Table
##
## Response: Demanda
## Df Sum Sq Mean Sq F value Pr(>F)
## Precio 1 4531.6 4531.6 8459.9 5.649e-16 ***
## Residuals 10 5.4 0.5
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# Grafico de dispersion con recta de regresion
plot(datos$Precio, datos$Demanda,
main = "Precio y demanda",
xlab = "Precio",
ylab = "Demanda",
pch = 19)
abline(modelo, lwd = 2)
#Conclusión: El modelo de regresión es globalmente significativo. La variable precio tiene capacidad real para explicar la demanda.
El análisis estadístico permitió identificar una fuerte relación negativa entre el precio y la demanda, mostrando que al aumentar el precio la demanda disminuye significativamente.
Además, aunque las pruebas chi-cuadrado no encontraron relaciones estadísticamente significativas entre el canal de venta, el tipo de cliente y la compra, sí se observaron tendencias importantes en el comportamiento de los consumidores.
El modelo de regresión lineal presentó un excelente ajuste, permitiendo realizar estimaciones confiables de la demanda.