#file.choose()
delivery<-read.csv("/Users/vanessaelizondo/Desktop/Tec/Semestre 7/FORM/DELIVERY PLAN bd_Prueba.csv")
summary(delivery)## ID_Fecha Fecha CLIENTE Pedidos
## Min. : 1.00 Length:228 Length:228 Min. : 0.0
## 1st Qu.: 3.75 Class :character Class :character 1st Qu.: 0.0
## Median : 6.50 Mode :character Mode :character Median : 0.0
## Mean : 6.50 Mean : 1703.1
## 3rd Qu.: 9.25 3rd Qu.: 233.8
## Max. :12.00 Max. :52779.0
1.Se hizo limpieza manual de la base de datos para acomodar los clientes como variables y las fechas como registros.
2.Se sustituyeron NAs por cero.
3.Se eliminaron columnas no usadas y que no agreegan valor para el analisis que se busca hacer.
library(foreign)
library(dplyr)##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(forcats)
library(ggplot2)
library(readr)
library(janitor)##
## Attaching package: 'janitor'
## The following objects are masked from 'package:stats':
##
## chisq.test, fisher.test
library(naniar)
library(dlookr)##
## Attaching package: 'dlookr'
## The following object is masked from 'package:base':
##
## transform
str(delivery)## 'data.frame': 228 obs. of 4 variables:
## $ ID_Fecha: int 1 1 1 1 1 1 1 1 1 1 ...
## $ Fecha : chr "31/01/22" "31/01/22" "31/01/22" "31/01/22" ...
## $ CLIENTE : chr "STB3" "STB 1" "YF RAMOS" "INOAC POLYTEC" ...
## $ Pedidos : int 481 0 227 0 400 328 393 0 8975 449 ...
Contamos con 3 variables y 380 observaciones.
deliverySUM = colSums(delivery[4])
as.data.frame(deliverySUM)## deliverySUM
## Pedidos 388317
Contamos con 52,0281 pedidos
#file.choose()
deliveryCLIENTS<-read.csv("/Users/vanessaelizondo/Desktop/Tec/Semestre 7/FORM/CSV/DELIVERY PLAN bd_entrega2.4.csv")
summary(deliveryCLIENTS)## Fecha STB3 STB.1 YF.RAMOS
## Length:19 Min. : 0.0 Min. : 0.000 Min. : 0
## Class :character 1st Qu.: 13.5 1st Qu.: 0.000 1st Qu.: 54
## Mode :character Median : 200.0 Median : 0.000 Median : 100
## Mean : 297.1 Mean : 2.632 Mean : 211
## 3rd Qu.: 460.5 3rd Qu.: 0.000 3rd Qu.: 230
## Max. :1015.0 Max. :50.000 Max. :1243
## INOAC.POLYTEC MERIDIAN YANFENG.sm YFTO
## Min. : 0.000 Min. : 0 Min. : 0.00 Min. : 138.0
## 1st Qu.: 0.000 1st Qu.: 0 1st Qu.: 0.00 1st Qu.: 358.5
## Median : 0.000 Median : 0 Median : 41.00 Median : 628.0
## Mean : 2.684 Mean : 33 Mean : 95.05 Mean : 869.6
## 3rd Qu.: 0.000 3rd Qu.: 0 3rd Qu.:142.50 3rd Qu.: 871.5
## Max. :40.000 Max. :400 Max. :328.00 Max. :2556.0
## YF.QRO TRMX DENSO SEGROVE
## Min. : 0.000 Min. : 0 Min. : 0.0 Min. : 0.00
## 1st Qu.: 0.000 1st Qu.: 2822 1st Qu.: 150.5 1st Qu.: 0.00
## Median : 0.000 Median : 6240 Median : 372.0 Median : 0.00
## Mean : 2.737 Mean : 5796 Mean :1241.3 Mean : 38.74
## 3rd Qu.: 0.000 3rd Qu.: 8374 3rd Qu.:1083.0 3rd Qu.: 0.00
## Max. :36.000 Max. :11833 Max. :8834.0 Max. :736.00
## HANON ANTOLIN.TOLUCA ANTOLIN.ARTEAGA HELLA
## Min. : 0.00 Min. :0 Min. :0 Min. : 0
## 1st Qu.: 0.00 1st Qu.:0 1st Qu.:0 1st Qu.: 4160
## Median : 0.00 Median :0 Median :0 Median : 8580
## Mean : 21.58 Mean :0 Mean :0 Mean :15013
## 3rd Qu.: 0.00 3rd Qu.:0 3rd Qu.:0 3rd Qu.:21191
## Max. :360.00 Max. :0 Max. :0 Max. :52779
## UFI ISRI TRMX.1 ABC.QUERETARO VARROC
## Min. : 0.00 Min. : 0.0 Min. :0 Min. :0.0000 Min. : 0
## 1st Qu.: 0.00 1st Qu.: 0.0 1st Qu.:0 1st Qu.:0.0000 1st Qu.:2078
## Median : 0.00 Median : 0.0 Median :0 Median :0.0000 Median :3509
## Mean : 45.74 Mean : 157.9 Mean :0 Mean :0.4211 Mean :3555
## 3rd Qu.: 3.50 3rd Qu.: 0.0 3rd Qu.:0 3rd Qu.:0.0000 3rd Qu.:4974
## Max. :492.00 Max. :3000.0 Max. :0 Max. :8.0000 Max. :8810
## Total.pedidos.mes
## Length:19
## Class :character
## Mode :character
##
##
##
deliveryCLIENTS = colSums(deliveryCLIENTS[2:21])
as.data.frame(deliveryCLIENTS)## deliveryCLIENTS
## STB3 5644
## STB.1 50
## YF.RAMOS 4009
## INOAC.POLYTEC 51
## MERIDIAN 627
## YANFENG.sm 1806
## YFTO 16522
## YF.QRO 52
## TRMX 110127
## DENSO 23584
## SEGROVE 736
## HANON 410
## ANTOLIN.TOLUCA 0
## ANTOLIN.ARTEAGA 0
## HELLA 285238
## UFI 869
## ISRI 3000
## TRMX.1 0
## ABC.QUERETARO 8
## VARROC 67548
barplot.default(deliveryCLIENTS)Con este plot podemos ver que hay muchos clientes con muy pocos pedidos.
Se decidió realizar está técnica para asegurarnos de que no se tenga falta de datos y en caso de tenerlos evitar que estas eviten tener un analisis asertivo al no agregar valor a la base de datos.
sum(is.na(delivery))## [1] 0
Sapply: Para contar los NA.
sapply(delivery, function(x) sum(is.na(x)))## ID_Fecha Fecha CLIENTE Pedidos
## 0 0 0 0
Se encontró un solo NA
Se decidó realizar está técnica para eliminar los clientes que tienen menos de 5,000 pedidos.
#delivery1 <- subset (delivery1, CLIENTE == "STB3") #Para conservar ciertas filas
delivery1<-delivery
delivery1<-delivery1[delivery1$CLIENTE!="STB 1", ]
delivery1<-delivery1[delivery1$CLIENTE!="YF RAMOS", ]
delivery1<-delivery1[delivery1$CLIENTE!="INOAC POLYTEC", ]
delivery1<-delivery1[delivery1$CLIENTE!="MERIDIAN", ]
delivery1<-delivery1[delivery1$CLIENTE!="YANFENG sm", ]
delivery1<-delivery1[delivery1$CLIENTE!="YF QRO", ]
delivery1<-delivery1[delivery1$CLIENTE!="SEGROVE", ]
delivery1<-delivery1[delivery1$CLIENTE!="HANON", ]
delivery1<-delivery1[delivery1$CLIENTE!="ANTOLIN TOLUCA", ]
delivery1<-delivery1[delivery1$CLIENTE!="ANTOLIN ARTEAGA", ]
delivery1<-delivery1[delivery1$CLIENTE!="ABC QUERETARO", ]
delivery1<-delivery1[delivery1$CLIENTE!="UFI", ]
delivery1<-delivery1[delivery1$CLIENTE!="ISRI", ]
summary(delivery1)## ID_Fecha Fecha CLIENTE Pedidos
## Min. : 1.00 Length:72 Length:72 Min. : 0
## 1st Qu.: 3.75 Class :character Class :character 1st Qu.: 99
## Median : 6.50 Mode :character Mode :character Median : 1009
## Mean : 6.50 Mean : 5339
## 3rd Qu.: 9.25 3rd Qu.: 5928
## Max. :12.00 Max. :52779
describe(delivery1)## # A tibble: 2 × 26
## describ…¹ n na mean sd se_mean IQR skewn…² kurto…³ p00 p01
## <chr> <int> <int> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 ID_Fecha 72 0 6.5 3.48e0 4.10e-1 5.5 0 -1.22 1 1
## 2 Pedidos 72 0 5339. 1.01e4 1.19e+3 5830. 3.13 10.7 0 0
## # … with 15 more variables: p05 <dbl>, p10 <dbl>, p20 <dbl>, p25 <dbl>,
## # p30 <dbl>, p40 <dbl>, p50 <dbl>, p60 <dbl>, p70 <dbl>, p75 <dbl>,
## # p80 <dbl>, p90 <dbl>, p95 <dbl>, p99 <dbl>, p100 <dbl>, and abbreviated
## # variable names ¹described_variables, ²skewness, ³kurtosis
Cuantitativa: Discreta, Continua Escala de medición:Intervalo, Razón Cualitativa Escala de medición: Nominales, Ordinales
Variable<-c("Fecha","STB3","YFTO", "TRMX", "DENSO","HELLA","VARROC","Total.pedidos.mes")
Type<-c("Cuantitativa (discreta)", "Cualitativa", "Cualitativa", "Cualitativa","Cualitativa","Cualitativa","Cualitativa","Cuantitativa (discreta)")
Measurement<-c("Razón","Nominal","Nominal","Nominal","Nominal","Nominal","Nominal","Razón")
table<-data_frame(Variable,Type,Measurement)## Warning: `data_frame()` was deprecated in tibble 1.1.0.
## Please use `tibble()` instead.
knitr::kable(table)| Variable | Type | Measurement |
|---|---|---|
| Fecha | Cuantitativa (discreta) | Razón |
| STB3 | Cualitativa | Nominal |
| YFTO | Cualitativa | Nominal |
| TRMX | Cualitativa | Nominal |
| DENSO | Cualitativa | Nominal |
| HELLA | Cualitativa | Nominal |
| VARROC | Cualitativa | Nominal |
| Total.pedidos.mes | Cuantitativa (discreta) | Razón |
#install.packages("plyr")
library(plyr)## ------------------------------------------------------------------------------
## You have loaded plyr after dplyr - this is likely to cause problems.
## If you need functions from both plyr and dplyr, please load plyr first, then dplyr:
## library(plyr); library(dplyr)
## ------------------------------------------------------------------------------
##
## Attaching package: 'plyr'
## The following objects are masked from 'package:dplyr':
##
## arrange, count, desc, failwith, id, mutate, rename, summarise,
## summarize
delivery2<-delivery1
delivery2<- aggregate(delivery2$Pedidos, by=list(category=delivery2$CLIENTE), FUN=sum)
pie(delivery2$x, labels = delivery2$category)Con esta gráfica podemos darnos cuenta de los clientes que tienen mayores pedidos y en este caso es HELLA en primer lugar y TRMX en segundo lugar.
delivery2<-delivery2 %>% dplyr::rename(pedidos="x")
delivery2<-delivery2 %>% dplyr::rename(Clientes="category")
delivery2$Clientes<-as.factor(delivery2$Clientes)
ggplot(delivery2, aes(x=Clientes, y=pedidos, fill=pedidos))+
geom_bar(stat="identity")+
theme_minimal()+
labs(title="Pedidos por cliente")
Esta gráfica sirve para tener de manera más visual el impacto que
tiene cada uno de los clientes en la empresa FORM. Podemos ver que HELLA
es el cliente más significativo con casi el triple de pedidos que el
siguiente cliente con mayores pedidos, TRMX. De lado derecho se tiene un
legend que muestra la tonalidad de los plots para ver que tantos pedidos
tiene, por ello HELLAS tiene un color azul claro, representando más de
250,000 pedidos.
summary(delivery1)## ID_Fecha Fecha CLIENTE Pedidos
## Min. : 1.00 Length:72 Length:72 Min. : 0
## 1st Qu.: 3.75 Class :character Class :character 1st Qu.: 99
## Median : 6.50 Mode :character Mode :character Median : 1009
## Mean : 6.50 Mean : 5339
## 3rd Qu.: 9.25 3rd Qu.: 5928
## Max. :12.00 Max. :52779
ggplot(delivery1,aes(x=ID_Fecha, y=Pedidos, group=CLIENTE,colour=CLIENTE))+
geom_line()+
ggtitle("Pedidos por cliente")Con esta gráfica utilizamos el ID Fecha para conocer los pedidos que se tiene por cliente cada mes y vemos un significativo incremento de pedidos en el mes de septiembre y octubre. contamos con un legen que indica cada línea con un color para nombrar la información de cada uno de los clientes.
boxplot(delivery1$Pedidos, main= "Pedidos")delivery3<-delivery1
delivery3$CLIENTE <-as.factor(delivery3$CLIENTE)
ggplot(delivery3, aes(x=CLIENTE, y=Pedidos))+
geom_boxplot(color="blue", fill="purple")En esta gráfica podemos visualizarcuantos pedidos tiene programados cada cliente y los clientes que sobre salen son HELLA y TRMX, algo muy relevante en esta gráfica es que se muestra la mediana de cada uno, así como también la minima de pedidos y la máxima, y en este caso se tiene autliers en los pedidos de los clientes DENSO, TRMX, YFTO lo que nos dice que en ciertas ocasiones se tuvieron pedidos sin estar en el rango de lo que normalmente pide. También se tuvo dispersión principalmente en tres clientes, HELLA, TRMX y VARROC, por otro lado los otros clientes tienen menos dispersión cerca de la media. Esta gráfica nos indica que la cantidad de pedidos que hacen suele variar más en algunos clientes es muy constante.
Para realizar el análisis de la base de datos de “Delivery Plan” fué necesario primero hacer un arreglo de la base de datos de manera manual en el excel. Estó para simplificar el uso de la base de datos y permitir que R pueda analizarla y extraer los datos para generar gráficas. Después aplicamos dos diferentes bases de datos, nos aseguramos de que no haya NAs y eliminamos filas que correspondían a los clientes que tenían menos de 5,000 pedidos. Nos quedamos con una base de datos con los 6 clientes más significativos para FORM. Continuamos identificando las variables en dónde 6 de 8 variables eran cualitativas al ser los clientes de FORM.
Graficamos una gráfica de Pie para identificar de manera visual los mayores clientes, los que vienen siendo HELLA y TRMX. También hicimos un “Barplot” para mostrar la cantidad de pedidos programados que tiene cada cliente, Hella siendo el cliente con mayor pedidos con más de 225,000 y TRMX siguiendo con 80,000. Decidimos también visualizar el comportamiento de los clientes según la fecha y nos dimos cuenta que entre el mes de septiembre y octubre hubo un incremento de pedidos establecidos. Y por último se realizó el “Boxplot” para de ese modo ver de manera precisa la moda de clos pedidos que suele hacer cada uno de los clientes.
¿Qué es Business Analytics? Es una combinación de habilidades, tecnologías y prácticas para la exploración e investigación del funcionamiento y los procesos empresariales que se han tenido anteriormente por un empresa, para de ese modo obtener información, poder analizar dicha información que se extrae y así impulsar la planificación estratégica empresarial. Business Analytics puede descubrir patrones y predecir tendencias considerando diferentes factores.
Existen diferentes rubros del “Business Analytics”:
Análisis Descriptivo
Análisis de Diagnóstico
Análisis Predictivo
Análisis Prescriptivo
3 objetivos deL uso de la herramienta de Business Analytics? 1. Determinar qué conjuntos de datos son significantes y útiles para poder analizar y conocer el desempeño de la empresa y cuáles pueden aumentar los ingresos y disminuir los costos.
Analizar y transformar los datos en información útil, identificar y anticipar tendencias y resultados. Simplificar información para hacerla más sencilla de entender y visual.
Tomar decisiones empresariales más inteligentes basadas en datos.
¿Cuál es la relación entre Business Analytics y Business Intelligence? BI sirve para evaluar, optimizar y coordinar las operaciones internas de una empresa. Trata de aprovechar todo el potencial de los datos que genera una empresa en todas sus actividades diarias y analizar estos datos para obtener información de valor sobre la toma de decisiones.Ayuda para entender el histórico y el como evolucionan los datos. Y como mencionamos anteriormente Business Analytics con el analisis de la información de una empresa logra puede llegar a desubrir patrones, explicaciones del porque de los mismos y predecir tendencias o hechos que pueden llegar a pasar en el negocio.
Estos dos términos tienen una alta relación entre ellas ya que en pocas palabras la Inteligencia de Negocios es el hacer análisis de los datos obtenidos y Analítica de Negocios es predicción a partir de los datos que se obtuvieron con el análisis. Una con lleva a la otra y trabajan juntas para obtener el resultado buscado de un análisis de datos que contenga la información relevante y significativa que nos pueda mostrar predicciones del comportamiento ya sea de la empresa, de la economía, de los ingresos, de los clientes y más. Ambas son necesarias para extraer un buen análisis de la información de una empresa, ya que una analis dos, los organiza y extra aquellos relevantes y la otra puede lograr las pedicciones y análisis.