Contexto: el problema

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

Actividades

(A) Expectativas

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.

(B) Problemas

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?

  • ¿Cuál suele ser el número de máquinas demandadas en cada pedido?
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.

  • ¿A qué distancia están los compradores?
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.

  • ¿Cuántos días suele tardar en llegar un pedido?
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.

  • ¿Qué relación existe entre los tiempos de entrega y el volumen de los pedidos?
cor(delivery$delTime,delivery$n.prod)
## [1] 0.9646146

A mayor volumen, más tiempo tendrá que esperar.

  • ¿Qué relación existe entre los tiempos de entrega de los pedidos y la distancia al proveedor?
cor(delivery$delTime,delivery$distance)
## [1] 0.8916701

A mayor distancia al proveedor, más tiempo de entrega.

  • ¿Qué relación existe entre el volumen de los pedidos y la distancia al proveedor?
cor(delivery$n.prod,delivery$distance)
## [1] 0.824215

Cuanto más volumen, más distancia podrá recorrer.

(C) Tiempos

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.

  • ¿Qué información del cliente podrías aprovechar para afinar la estimación del tiempo de entrega de su pedido?

Podremos aprovechar los datos del número de productos y la distancia poorque como hemos dicho antes están altamente correladas.

  • ¿En qué tipo de ventas la empresa tiene más información para proporcionar una estimación fiable del tiempo de entrega?

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

(D) Atendiendo un pedido

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.

(E) Conclusiones

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.

(F) Soluciones

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.

(G) Recursos

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.