library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.5.1     ✔ tibble    3.2.1
## ✔ lubridate 1.9.3     ✔ tidyr     1.3.1
## ✔ purrr     1.0.2     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors

1 Práctica de la sesión 4

1.1 Ventas Tradicionales de 2022 por Mes

ventas_tot_22 <- read.csv("/Users/maria/Desktop/tec 5to/lineas de accion/ventas_tot_22.csv")

ventas_tot_22_melted <- pivot_longer(ventas_tot_22,Ene:Dic,names_to = "Mes", values_to = "Ventas")

ventas_tot_22_mes <- ventas_tot_22_melted %>%
  group_by(Mes) %>%
  summarise(Total_de_ventas=sum((Ventas),na.rm=TRUE))

ventas_tot_22_mes <- ventas_tot_22_mes %>%
  mutate(Mes=factor(Mes,levels=c("Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic")))

ggplot(ventas_tot_22_mes,aes(x=Mes,y=Total_de_ventas))+geom_col(alpha=0.7,fill="steelblue3")+theme_minimal()+labs(title="Total de Ventas Tradicionales por Mes",y="Total de Ventas", x="")+scale_y_continuous(breaks=c(1000,2000,3000,4000,5000,6000,7000),
  labels=c("1k","2k", "3k", "4k", "5k", "6k", "7k"))

1.2 Ventas Digitales de 2022 por Mes

ventas_digitales_22 <- read.csv("/Users/maria/Desktop/tec 5to/lineas de accion/ventas_digitales_22.csv")

ventas_digitales_22_melted <- pivot_longer(ventas_digitales_22,Ene:Dic,names_to = "Mes", values_to = "Ventas")

ventas_digitales_22_mes <- ventas_digitales_22_melted %>%
  group_by(Mes) %>%
  summarise(Total_de_ventas=sum((Ventas),na.rm=TRUE))

ventas_digitales_22_mes <- ventas_digitales_22_mes %>%
  mutate(Mes=factor(Mes,levels=c("Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic")))

ggplot(ventas_digitales_22_mes,aes(x=Mes,y=Total_de_ventas))+geom_col(alpha=0.7,fill="steelblue3")+theme_minimal()+labs(title="Total de Ventas Digitales por Mes",y="Total de Ventas", x="")+scale_y_continuous(breaks=c(1000,2000,3000),
  labels=c("1k","2k", "3k"))

1.3 Comparación de Ventas Totales y Digitales de 2022 por Mes

ventas_tot_22_mes$Canal <- c("Totales")
ventas_digitales_22_mes$Canal <- c("Digitales")

ventas_tradicionales_22_mes <- ventas_tot_22_mes

ventas_tradicionales_22_mes$Total_de_ventas <- ventas_tot_22_mes$Total_de_ventas-ventas_digitales_22_mes$Total_de_ventas

ventas_tradicionales_22_mes$Canal <- c("Tradicional")

ventas_22 <- rbind(ventas_tradicionales_22_mes, ventas_digitales_22_mes)

ggplot(ventas_22,aes(x=Mes, y=Total_de_ventas,fill=Canal))+geom_col(alpha=0.75,position = "dodge")+theme_minimal()+labs(title="Total de Ventas por Canal", x="", y="Ventas")+scale_y_continuous(breaks=c(1000,2000,3000,4000,5000,6000,7000), labels=c("1k","2k","3k","4k","5k","6k","7k"))+scale_fill_manual(values=c("lightsteelblue","steelblue"))

ggplot(ventas_22,aes(x=Mes, y=Total_de_ventas,fill=Canal))+geom_col(alpha=0.75,position = "stack")+theme_minimal()+labs(title="Total de Ventas por Canal", x="", y="Ventas")+scale_y_continuous(breaks=c(1000,2000,3000,4000,5000,6000,7000), labels=c("1k","2k","3k","4k","5k","6k","7k"))+scale_fill_manual(values=c("lightsteelblue","steelblue"))

En el año 2022 vemos un patrón en las ventas de ambos canales, se puede observar como las ventas tienen su punto mas bajo en el mes de Abril y poco a poco van subiendo hasta su punto mas alto siendo Diciembre, esto tanto para el canal ‘Digital’ y ‘Tradicional’. Esto podría ser porque en Abril es temporada de vacaciones de Semana Santa y los gastos van mas enfocados en salir de viaje, u otras actividades; mientras que en Diciembre se reciben aguinaldos, bonificaciones, asi como también promociones por parte de las agencias al querer cerrar su año fiscal con las metas de ventas que tenían ya establecidas.

LS0tCnRpdGxlOiAiTMOtbmVhcyBkZSBBY2Npw7NuIEVzdHJhdMOpZ2ljYXMgfCBNYXLDrWEgU8OhZW56IFBhcsOhcyIKZGF0ZTogIjIwMjQtMTEtMTQiCm91dHB1dDoKIGh0bWxfZG9jdW1lbnQ6CiAgICB0b2M6IHRydWUKICAgIHRvY19mbG9hdDogdHJ1ZQogICAgdG9jX2NvbGxhcHNlZDogdHJ1ZQogICAgdG9jX2RlcHRoOiAxCiAgICBudW1iZXJfc2VjdGlvbnM6IHRydWUKICAgIGNvZGVfZG93bmxvYWQ6IHRydWUKICAgIHRoZW1lOiBsdW1lbgotLS0KCgpgYGB7cn0KbGlicmFyeSh0aWR5dmVyc2UpCmBgYAoKIyA8c3BhbiBzdHlsZT0iY29sb3I6IzAwMzM5OTsiPlByw6FjdGljYSBkZSBsYSBzZXNpw7NuIDQ8L3NwYW4+CiMjIDxzcGFuIHN0eWxlPSJjb2xvcjojMDAzMzk5OyI+VmVudGFzIFRyYWRpY2lvbmFsZXMgZGUgMjAyMiBwb3IgTWVzPC9zcGFuPgoKYGBge3J9CnZlbnRhc190b3RfMjIgPC0gcmVhZC5jc3YoIi9Vc2Vycy9tYXJpYS9EZXNrdG9wL3RlYyA1dG8vbGluZWFzIGRlIGFjY2lvbi92ZW50YXNfdG90XzIyLmNzdiIpCgp2ZW50YXNfdG90XzIyX21lbHRlZCA8LSBwaXZvdF9sb25nZXIodmVudGFzX3RvdF8yMixFbmU6RGljLG5hbWVzX3RvID0gIk1lcyIsIHZhbHVlc190byA9ICJWZW50YXMiKQoKdmVudGFzX3RvdF8yMl9tZXMgPC0gdmVudGFzX3RvdF8yMl9tZWx0ZWQgJT4lCiAgZ3JvdXBfYnkoTWVzKSAlPiUKICBzdW1tYXJpc2UoVG90YWxfZGVfdmVudGFzPXN1bSgoVmVudGFzKSxuYS5ybT1UUlVFKSkKCnZlbnRhc190b3RfMjJfbWVzIDwtIHZlbnRhc190b3RfMjJfbWVzICU+JQogIG11dGF0ZShNZXM9ZmFjdG9yKE1lcyxsZXZlbHM9YygiRW5lIiwgIkZlYiIsICJNYXIiLCAiQWJyIiwgIk1heSIsICJKdW4iLCAiSnVsIiwgIkFnbyIsICJTZXAiLCAiT2N0IiwgIk5vdiIsICJEaWMiKSkpCgpnZ3Bsb3QodmVudGFzX3RvdF8yMl9tZXMsYWVzKHg9TWVzLHk9VG90YWxfZGVfdmVudGFzKSkrZ2VvbV9jb2woYWxwaGE9MC43LGZpbGw9InN0ZWVsYmx1ZTMiKSt0aGVtZV9taW5pbWFsKCkrbGFicyh0aXRsZT0iVG90YWwgZGUgVmVudGFzIFRyYWRpY2lvbmFsZXMgcG9yIE1lcyIseT0iVG90YWwgZGUgVmVudGFzIiwgeD0iIikrc2NhbGVfeV9jb250aW51b3VzKGJyZWFrcz1jKDEwMDAsMjAwMCwzMDAwLDQwMDAsNTAwMCw2MDAwLDcwMDApLAogIGxhYmVscz1jKCIxayIsIjJrIiwgIjNrIiwgIjRrIiwgIjVrIiwgIjZrIiwgIjdrIikpCgpgYGAKCiMjIDxzcGFuIHN0eWxlPSJjb2xvcjojMDAzMzk5OyI+VmVudGFzIERpZ2l0YWxlcyBkZSAyMDIyIHBvciBNZXM8L3NwYW4+CgpgYGB7cn0KdmVudGFzX2RpZ2l0YWxlc18yMiA8LSByZWFkLmNzdigiL1VzZXJzL21hcmlhL0Rlc2t0b3AvdGVjIDV0by9saW5lYXMgZGUgYWNjaW9uL3ZlbnRhc19kaWdpdGFsZXNfMjIuY3N2IikKCnZlbnRhc19kaWdpdGFsZXNfMjJfbWVsdGVkIDwtIHBpdm90X2xvbmdlcih2ZW50YXNfZGlnaXRhbGVzXzIyLEVuZTpEaWMsbmFtZXNfdG8gPSAiTWVzIiwgdmFsdWVzX3RvID0gIlZlbnRhcyIpCgp2ZW50YXNfZGlnaXRhbGVzXzIyX21lcyA8LSB2ZW50YXNfZGlnaXRhbGVzXzIyX21lbHRlZCAlPiUKICBncm91cF9ieShNZXMpICU+JQogIHN1bW1hcmlzZShUb3RhbF9kZV92ZW50YXM9c3VtKChWZW50YXMpLG5hLnJtPVRSVUUpKQoKdmVudGFzX2RpZ2l0YWxlc18yMl9tZXMgPC0gdmVudGFzX2RpZ2l0YWxlc18yMl9tZXMgJT4lCiAgbXV0YXRlKE1lcz1mYWN0b3IoTWVzLGxldmVscz1jKCJFbmUiLCAiRmViIiwgIk1hciIsICJBYnIiLCAiTWF5IiwgIkp1biIsICJKdWwiLCAiQWdvIiwgIlNlcCIsICJPY3QiLCAiTm92IiwgIkRpYyIpKSkKCmdncGxvdCh2ZW50YXNfZGlnaXRhbGVzXzIyX21lcyxhZXMoeD1NZXMseT1Ub3RhbF9kZV92ZW50YXMpKStnZW9tX2NvbChhbHBoYT0wLjcsZmlsbD0ic3RlZWxibHVlMyIpK3RoZW1lX21pbmltYWwoKStsYWJzKHRpdGxlPSJUb3RhbCBkZSBWZW50YXMgRGlnaXRhbGVzIHBvciBNZXMiLHk9IlRvdGFsIGRlIFZlbnRhcyIsIHg9IiIpK3NjYWxlX3lfY29udGludW91cyhicmVha3M9YygxMDAwLDIwMDAsMzAwMCksCiAgbGFiZWxzPWMoIjFrIiwiMmsiLCAiM2siKSkKYGBgCgojIyA8c3BhbiBzdHlsZT0iY29sb3I6IzAwMzM5OTsiPkNvbXBhcmFjacOzbiBkZSBWZW50YXMgVG90YWxlcyB5IERpZ2l0YWxlcyBkZSAyMDIyIHBvciBNZXM8L3NwYW4+CmBgYHtyfQp2ZW50YXNfdG90XzIyX21lcyRDYW5hbCA8LSBjKCJUb3RhbGVzIikKdmVudGFzX2RpZ2l0YWxlc18yMl9tZXMkQ2FuYWwgPC0gYygiRGlnaXRhbGVzIikKCnZlbnRhc190cmFkaWNpb25hbGVzXzIyX21lcyA8LSB2ZW50YXNfdG90XzIyX21lcwoKdmVudGFzX3RyYWRpY2lvbmFsZXNfMjJfbWVzJFRvdGFsX2RlX3ZlbnRhcyA8LSB2ZW50YXNfdG90XzIyX21lcyRUb3RhbF9kZV92ZW50YXMtdmVudGFzX2RpZ2l0YWxlc18yMl9tZXMkVG90YWxfZGVfdmVudGFzCgp2ZW50YXNfdHJhZGljaW9uYWxlc18yMl9tZXMkQ2FuYWwgPC0gYygiVHJhZGljaW9uYWwiKQoKdmVudGFzXzIyIDwtIHJiaW5kKHZlbnRhc190cmFkaWNpb25hbGVzXzIyX21lcywgdmVudGFzX2RpZ2l0YWxlc18yMl9tZXMpCgpnZ3Bsb3QodmVudGFzXzIyLGFlcyh4PU1lcywgeT1Ub3RhbF9kZV92ZW50YXMsZmlsbD1DYW5hbCkpK2dlb21fY29sKGFscGhhPTAuNzUscG9zaXRpb24gPSAiZG9kZ2UiKSt0aGVtZV9taW5pbWFsKCkrbGFicyh0aXRsZT0iVG90YWwgZGUgVmVudGFzIHBvciBDYW5hbCIsIHg9IiIsIHk9IlZlbnRhcyIpK3NjYWxlX3lfY29udGludW91cyhicmVha3M9YygxMDAwLDIwMDAsMzAwMCw0MDAwLDUwMDAsNjAwMCw3MDAwKSwgbGFiZWxzPWMoIjFrIiwiMmsiLCIzayIsIjRrIiwiNWsiLCI2ayIsIjdrIikpK3NjYWxlX2ZpbGxfbWFudWFsKHZhbHVlcz1jKCJsaWdodHN0ZWVsYmx1ZSIsInN0ZWVsYmx1ZSIpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCmBgYAoKYGBge3J9CmdncGxvdCh2ZW50YXNfMjIsYWVzKHg9TWVzLCB5PVRvdGFsX2RlX3ZlbnRhcyxmaWxsPUNhbmFsKSkrZ2VvbV9jb2woYWxwaGE9MC43NSxwb3NpdGlvbiA9ICJzdGFjayIpK3RoZW1lX21pbmltYWwoKStsYWJzKHRpdGxlPSJUb3RhbCBkZSBWZW50YXMgcG9yIENhbmFsIiwgeD0iIiwgeT0iVmVudGFzIikrc2NhbGVfeV9jb250aW51b3VzKGJyZWFrcz1jKDEwMDAsMjAwMCwzMDAwLDQwMDAsNTAwMCw2MDAwLDcwMDApLCBsYWJlbHM9YygiMWsiLCIyayIsIjNrIiwiNGsiLCI1ayIsIjZrIiwiN2siKSkrc2NhbGVfZmlsbF9tYW51YWwodmFsdWVzPWMoImxpZ2h0c3RlZWxibHVlIiwic3RlZWxibHVlIikpCmBgYAoKRW4gZWwgYcOxbyAyMDIyIHZlbW9zIHVuIHBhdHLDs24gZW4gbGFzIHZlbnRhcyBkZSBhbWJvcyBjYW5hbGVzLCBzZSBwdWVkZSBvYnNlcnZhciBjb21vIGxhcyB2ZW50YXMgdGllbmVuIHN1IHB1bnRvIG1hcyBiYWpvIGVuIGVsIG1lcyBkZSBBYnJpbCB5IHBvY28gYSBwb2NvIHZhbiBzdWJpZW5kbyBoYXN0YSBzdSBwdW50byBtYXMgYWx0byBzaWVuZG8gRGljaWVtYnJlLCBlc3RvIHRhbnRvIHBhcmEgZWwgY2FuYWwgJ0RpZ2l0YWwnIHkgJ1RyYWRpY2lvbmFsJy4gRXN0byBwb2Ryw61hIHNlciBwb3JxdWUgZW4gQWJyaWwgZXMgdGVtcG9yYWRhIGRlIHZhY2FjaW9uZXMgZGUgU2VtYW5hIFNhbnRhIHkgbG9zIGdhc3RvcyB2YW4gbWFzIGVuZm9jYWRvcyBlbiBzYWxpciBkZSB2aWFqZSwgdSBvdHJhcyBhY3RpdmlkYWRlczsgbWllbnRyYXMgcXVlIGVuIERpY2llbWJyZSBzZSByZWNpYmVuIGFndWluYWxkb3MsIGJvbmlmaWNhY2lvbmVzLCBhc2kgY29tbyB0YW1iacOpbiBwcm9tb2Npb25lcyBwb3IgcGFydGUgZGUgbGFzIGFnZW5jaWFzIGFsIHF1ZXJlciBjZXJyYXIgc3UgYcOxbyBmaXNjYWwgY29uIGxhcyBtZXRhcyBkZSB2ZW50YXMgcXVlIHRlbsOtYW4geWEgZXN0YWJsZWNpZGFzLiAK