library(readr) # Para leer datos
library(lubridate) # Para fechas y Times
##
## Attaching package: 'lubridate'
## The following object is masked from 'package:base':
##
## date
library(anytime) # Para fechas y Times
library(dplyr) # Para filters(), select(),...mutate(), arrange()...
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:lubridate':
##
## intersect, setdiff, union
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
ventas <- read_csv("C:/Users/sm13m/OneDrive/Documentos/ITD/Ing. Sistemas Computacionales/Semestre 8/Analisis inteligente de datos/Ranalisis inteligente de datos/datos/Sales.csv")
## Parsed with column specification:
## cols(
## Folio = col_character(),
## Hora = col_character(),
## Total = col_double(),
## Pago = col_double(),
## Cajero = col_character()
## )
ventas <- as.data.frame(ventas) # Es un data frame
head(ventas) # los primeros seis registros
## Folio Hora Total Pago Cajero
## 1 LBVT18010004435 01/05/2018 12:36 1121.20 1121.20 MAYTE
## 2 LBVT18010004436 01/05/2018 12:37 18.50 20.00 MAYTE
## 3 LBVT18010004437 01/05/2018 12:38 160.00 200.00 MAYTE
## 4 LBVT18010004438 01/05/2018 12:47 397.50 397.50 MAYTE
## 5 LBVT18010004439 01/05/2018 12:48 22.00 50.00 MAYTE
## 6 LBVT18010004440 01/05/2018 12:53 1314.19 1314.19 MAYTE
tail(ventas) # los últimos seis registros
## Folio Hora Total Pago Cajero
## 84876 LBVT18070002268 31/08/2018 16:58 43.80 50.00 JAQUELINE
## 84877 LBVT18070002269 31/08/2018 17:03 16.32 16.32 JAQUELINE
## 84878 LBVT18070002270 31/08/2018 17:04 28.32 28.32 JAQUELINE
## 84879 LBVT18070002271 31/08/2018 17:06 21.36 50.00 JAQUELINE
## 84880 LBVT18070002272 31/08/2018 17:27 50.00 50.00 JAQUELINE
## 84881 LBVT18070002273 31/08/2018 17:36 30.14 50.00 JAQUELINE
fechas <- ventas$Hora
# fechas y horas con todos los caracteres
head(fechas)
## [1] "01/05/2018 12:36" "01/05/2018 12:37" "01/05/2018 12:38" "01/05/2018 12:47"
## [5] "01/05/2018 12:48" "01/05/2018 12:53"
fagnio <- as.numeric(substr(fechas, 7,10))
head(fagnio)
## [1] 2018 2018 2018 2018 2018 2018
fmes <- as.numeric(substr(fechas, 4,5))
head(fmes)
## [1] 5 5 5 5 5 5
fdia <- as.numeric(substr(fechas, 1,2))
head(fdia)
## [1] 1 1 1 1 1 1
fhora <- as.numeric(substr(fechas, 12,13))
head(fhora)
## [1] 12 12 12 12 12 12
fminuto <- as.numeric(substr(fechas, 15,16))
head(fminuto)
## [1] 36 37 38 47 48 53
# Generar el formato fecha para su mejor tratamientofechahora
fecha.y.hora <- make_datetime(year = fagnio,
month = fmes,
day=fdia,
hour=fhora,
min=fminuto)
head(fecha.y.hora)
## [1] "2018-05-01 12:36:00 UTC" "2018-05-01 12:37:00 UTC"
## [3] "2018-05-01 12:38:00 UTC" "2018-05-01 12:47:00 UTC"
## [5] "2018-05-01 12:48:00 UTC" "2018-05-01 12:53:00 UTC"
ventas <- mutate(ventas, agnio = fagnio, mes = fmes, dia = fdia, hora=fhora, minuto=fminuto, fechahora = fecha.y.hora)
head(ventas)
## Folio Hora Total Pago Cajero agnio mes dia hora
## 1 LBVT18010004435 01/05/2018 12:36 1121.20 1121.20 MAYTE 2018 5 1 12
## 2 LBVT18010004436 01/05/2018 12:37 18.50 20.00 MAYTE 2018 5 1 12
## 3 LBVT18010004437 01/05/2018 12:38 160.00 200.00 MAYTE 2018 5 1 12
## 4 LBVT18010004438 01/05/2018 12:47 397.50 397.50 MAYTE 2018 5 1 12
## 5 LBVT18010004439 01/05/2018 12:48 22.00 50.00 MAYTE 2018 5 1 12
## 6 LBVT18010004440 01/05/2018 12:53 1314.19 1314.19 MAYTE 2018 5 1 12
## minuto fechahora
## 1 36 2018-05-01 12:36:00
## 2 37 2018-05-01 12:37:00
## 3 38 2018-05-01 12:38:00
## 4 47 2018-05-01 12:47:00
## 5 48 2018-05-01 12:48:00
## 6 53 2018-05-01 12:53:00
ventas <- arrange(ventas, fechahora)
head(ventas)
## Folio Hora Total Pago Cajero agnio mes dia hora
## 1 LBVT18020018825 01/05/2018 07:46 88.85 100 ALE HUERTA 2018 5 1 7
## 2 LBVT18020018826 01/05/2018 07:53 183.75 200 ALE HUERTA 2018 5 1 7
## 3 LBVT18020018827 01/05/2018 07:58 497.18 500 ALE HUERTA 2018 5 1 7
## 4 LBVT18020018828 01/05/2018 08:13 11.50 12 ALE HUERTA 2018 5 1 8
## 5 LBVT18020018829 01/05/2018 08:14 200.00 200 ALE HUERTA 2018 5 1 8
## 6 LBVT18020018830 01/05/2018 08:16 177.20 500 ALE HUERTA 2018 5 1 8
## minuto fechahora
## 1 46 2018-05-01 07:46:00
## 2 53 2018-05-01 07:53:00
## 3 58 2018-05-01 07:58:00
## 4 13 2018-05-01 08:13:00
## 5 14 2018-05-01 08:14:00
## 6 16 2018-05-01 08:16:00
tail(ventas)
## Folio Hora Total Pago Cajero agnio mes dia
## 84876 LBVT18020048670 31/08/2018 20:59 112.50 120.00 ROSI MEJIA 2018 8 31
## 84877 LBVT18020048671 31/08/2018 21:03 344.80 345.00 ROSI MEJIA 2018 8 31
## 84878 LBVT18020048672 31/08/2018 21:06 154.80 205.00 ROSI MEJIA 2018 8 31
## 84879 LBVT18030071088 31/08/2018 21:06 585.65 585.65 ALE HUERTA 2018 8 31
## 84880 LBVT18030071089 31/08/2018 21:07 112.70 112.70 ALE HUERTA 2018 8 31
## 84881 LBVT18030071090 31/08/2018 21:13 162.70 162.70 ALE HUERTA 2018 8 31
## hora minuto fechahora
## 84876 20 59 2018-08-31 20:59:00
## 84877 21 3 2018-08-31 21:03:00
## 84878 21 6 2018-08-31 21:06:00
## 84879 21 6 2018-08-31 21:06:00
## 84880 21 7 2018-08-31 21:07:00
## 84881 21 13 2018-08-31 21:13:00
totalespormes <- data.frame(ventas %>%
group_by(month(fechahora)) %>%
summarize(frec = n(), total = sum(Total)))
totalespormes
## month.fechahora. frec total
## 1 5 20348 3748978
## 2 6 19838 3749558
## 3 7 21607 4197541
## 4 8 23088 4412733
barplot(totalespormes$frec, names.arg = month.name[5:8])
barplot(totalespormes$total, names.arg = month.name[5:8])
totalesporcajero <- data.frame(ventas %>%
group_by(Cajero) %>%
summarize(frec = n(), total = sum(Total)))
totalesporcajero <- arrange(totalesporcajero, desc(frec))
totalesporcajero
## Cajero frec total
## 1 MARICRUZ 11885 2377528.60
## 2 JUAN MARTIN 10287 2043433.47
## 3 ALE HUERTA 10215 2121820.22
## 4 FERNANDO C 10089 2051828.96
## 5 JESUS PEREZ 6739 1307989.69
## 6 MAYTE 5565 1126737.82
## 7 ROSI MEJIA 4934 1030549.23
## 8 MONSE L. 4236 383628.75
## 9 JANET 3594 681716.26
## 10 MIRIAM 3241 674795.88
## 11 GABY LUCIO 2591 555617.24
## 12 LINA 2367 496577.05
## 13 SARAHY 2103 161650.91
## 14 JAQUELINE 1792 205634.67
## 15 ALE DIAZ 1488 321807.38
## 16 EDUARDO V 1265 215377.09
## 17 MIRIAM LANDIN 906 193589.88
## 18 CLAUDIA 783 47937.92
## 19 MAGO 490 43925.29
## 20 ELI C. 188 46397.50
## 21 EDUARDO 123 20266.48
barplot(totalesporcajero$frec, names.arg = totalesporcajero$Cajero)
Se tienen los registros de las ventas desde el día 1 de mayo de 2018 hasta el 31 de junio del mismo año.
La tienda abre a las 7:00 a.m. y cierra a las 9:00 p.m.
Aunque SARAHI (2103) tuvo más ventas que JAQUELINE (1792), JAQUELINE por su parte produjo más ingresos, ya que vendió 205634.67 pesos, mientras que SARAHI vendió 161650.91 pesos. JAQUELINE vendió 43983.76 pesos más que SARAHI, atendiendo 311 clientes menos.
ALE DIAZ generó más ingresos que SARAHI y JAQUELINE, con un total de 321807.38 pesos en 1488 ventas.
Se registraron más ventas por parte de MARICRUZ que de cualquier otro cajero y EDUARDO fue quien atendió a menos personas.
En junio hubo un decremento en las ventas.
Agosto fué el mes más productivo, y al parecer van a seguir en aumento las ventas mes con mes, lo que significa que las estrategias para obtener clientes está dando resultados y que el negocio se reconoce cada vez más por las personas, va teniendo mayor número de clientes.
A pesar de que en junio hubo menor número de ventas registradas, la cantidad de ingresos a comparación del mes pasado se mantuvo, es decir no hubo pérdidas aunque se registrarán menos ventas, ya sea porque los clientes compraban más cosas, o cosas más caras, o fueron influenciados por las promociones que ofreció el negocio.