Disponemos de una recopilación de datos (Montgomery & Peck, 1982) relativos al tiempo de entrega (delTime) de máquinas expendedoras (desde que se gestiona la compra), junto con lo que vamos a entender como el número de productos demandados (n.prod) y la distancia entre el proveedor y el comprador (distance).
library(robustbase)
## Warning: package 'robustbase' was built under R version 4.0.2
library(psych)
data(delivery, package="robustbase")
View(delivery)
summary(delivery)
## n.prod distance delTime
## Min. : 2.00 Min. : 36.0 Min. : 8.00
## 1st Qu.: 4.00 1st Qu.: 150.0 1st Qu.:13.75
## Median : 7.00 Median : 330.0 Median :18.11
## Mean : 8.76 Mean : 409.3 Mean :22.38
## 3rd Qu.:10.00 3rd Qu.: 605.0 3rd Qu.:21.50
## Max. :30.00 Max. :1460.0 Max. :79.24
Ponte en el lugar del cliente que solicita un pedido a la empresa: ¿cuáles serían tus expectativas de calidad relativas a los tiempos de entrega?
Mis expectativas serían que mi pedido llegara en menos de una semana, ya que actualmente estamos acostumbrados a unos tiempos de entrega muy pequeños.
Es posible que la empresa tenga problemas para cumplir con los intereses de sus clientes. Investiga esta cuestión desde un punto de vista meramente descriptivo,a través de las cuestiones a continuación, y expresa tus conclusiones exclusivamente respondiendo a la pregunta ¿qué problemas parece tener la empresa para cumplir con las expectativas de sus clientes?
library(modeest)
## Warning: package 'modeest' was built under R version 4.0.2
## Registered S3 method overwritten by 'rmutil':
## method from
## plot.residuals psych
mfv(delivery$n.prod)
## [1] 7
El número de máquinas por pedido más demandado es de 7 máquinas.
min(delivery$distance)
## [1] 36
max(delivery$distance)
## [1] 1460
mean(delivery$distance)
## [1] 409.28
La distancia de los compradores está entre 36 y 1460 kms, con una distancia media de 409.28 km.
mean(delivery$delTime)
## [1] 22.384
De media se tarda 22.384 días.
library(ggcorrplot)
## Warning: package 'ggcorrplot' was built under R version 4.0.2
## Loading required package: ggplot2
##
## Attaching package: 'ggplot2'
## The following objects are masked from 'package:psych':
##
## %+%, alpha
library(polycor)
## Warning: package 'polycor' was built under R version 4.0.2
##
## Attaching package: 'polycor'
## The following object is masked from 'package:psych':
##
## polyserial
correlaciones=hetcor(delivery)
correlaciones=correlaciones$correlations
ggcorrplot(correlaciones,type = 'lower',lab = TRUE)
Como podemos ver los tiempos de entrega, el volumen de pedidos y la distancia están altamente correladas.
cor(delivery$delTime,delivery$n.prod)
## [1] 0.9646146
A mayor volumen, más tiempo tendrá que esperar.
cor(delivery$delTime,delivery$distance)
## [1] 0.8916701
A mayor distancia al proveedor, más tiempo de entrega.
cor(delivery$n.prod,delivery$distance)
## [1] 0.824215
Cuanto más volumen, más distancia podrá recorrer.
La empresa quiere mejorar su servicio a los clientes. En concreto, quiere dar a sus clientes una estimación/rango de estimación “fiable” con el número de días que tardará en recibir su pedido. Investiga este objetivo a través de las cuestiones a continuación y expresa tus conclusiones exclusivamente respondiendo a la pregunta ¿cómo vas a estimar el tiempo de entrega en el próximo pedido que reciba la empresa?
Podremos estimar el próximo pedido mediante un modelo de regresión lineal.
Podremos aprovechar los datos del número de productos y la distancia poorque como hemos dicho antes están altamente correladas.
Las ventas con menor número de productos y distancia.
regresion <- lm(delTime ~ n.prod+distance, data = delivery)
regresion
##
## Call:
## lm(formula = delTime ~ n.prod + distance, data = delivery)
##
## Coefficients:
## (Intercept) n.prod distance
## 2.34123 1.61591 0.01438
Si la empresa recibiera hoy un pedido de 5 máquinas expendedoras, utilizando el guión de preguntas/tareas a continuación, expresa tus conclusiones respondiendo exclusivamente a la pregunta ¿cuánto tiempo tardaría en llegar el pedido de 5 máquinas?
regresionprod <- lm(delTime ~ n.prod, data = delivery)
predict(regresionprod, data.frame(n.prod = 5), interval = 'confidence', level = 0.999997)
## fit lwr upr
## 1 14.20161 8.33555 20.06768
Hay un intervalo de predicción de entre 9 y 21 días con un nivel de confianza del 99.9997% esto quiere decir que una cantidad mínima casi nula no llegará en ese intervalo. - ¿Puedes garantizar a todos los clientes, independientemente de dónde vivan, el mismo rango de variación en los días de entrega de su pedido? ¿Por qué?
predict(regresion, data.frame(n.prod = 5, distance= 36), interval = 'confidence', level = 0.999997)
## fit lwr upr
## 1 10.93862 4.055617 17.82162
predict(regresion, data.frame(n.prod = 5, distance= 1460), interval = 'confidence', level = 0.999997)
## fit lwr upr
## 1 31.42261 4.168226 58.677
predict(regresion, data.frame(n.prod = 5, distance= 409.28), interval = 'confidence', level = 0.999997)
## fit lwr upr
## 1 16.30819 10.62729 21.98909
Como vemos los intervalos de predicción aumentan cuanto más aumenta la distancia, tiene sentido ya que anteriormente hemos mencionado que a mayor distancia, mayor tiempo de entrega - ¿Consigues alguna predicción en la que el rango de variación que das al cliente sobre el tiempo que tardará en recibir el pedido, no supere los 5 días? ¿Y los 10 días?
predict(regresion, data.frame(n.prod = 5, distance= 0), interval = 'confidence', level = 0.999997)
## fit lwr upr
## 1 10.42077 2.920907 17.92063
Sin desplazarte de tu empresa tardaría 10 días en llegar, como mínimo 3 días, así que no supere los 5 y 10 días es muy poco probable.
Concluye, en base a todo el análisis que has realizado, respondiendo la pregunta: ¿cuáles son los problemas más relevantes que has detectado y que afectan a la satisfacción de los clientes y en consecuencia a la imagen y fiabilidad de la empresa?
El principal problema es que los tiempos de llegada del producto son muy elevados, el mero hecho de salir de la empresa ya supone días de retraso. Así que los pedidos con cantidades elevadas de productos, que al fin y al cabo es lo que más le interesa a la empresa, supondría mayor tiempo de llegada y la insatisfacción de los clientes.
En base a los problemas que has detectado en tu análisis y a principios básicos de optimización, qué soluciones/medidas de mejora le propondrías a la empresa para aliviarlos o eliminarlos.
Mejorar los canales de distribución, tener máquinas expendedoras en stock para agilizar los tiempos de salida en función de la media de máquinas vendidas y dependiendo de la capacidad de producción de la fábrica, optimizarla hasta llegar al máximo de la producción. Si ya llega al máximo de la producción adquirir una segunda fábrica.
Investiga librerías en R que te faciliten el análisis de la información y mejoren la forma de mostrar los resultados. Responde brevemente a la pregunta ¿qué librerías/funciones destacables has encontrado/utilizado, y cuáles son sus funcionalidades más relevantes?
ggcorrplot: para visualizar las correlaciones de forma más sencilla.
polycor: para poder calcular las correlaciones policóricas.