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.

Conclusión general

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.