JuveYell

Contexto:

Desde siempre, el deporte ha sido fundamental para mantener una vida sana y saludable, fortaleciendo factores físicos, mentales y sociales.

El Pádel es considerado como uno de los deportes que más ha crecido durante los últimos tres años en Chile y a nivel mundial. El hecho de que se reúnan cuatro personas hace atractiva esta actividad que no sólo fomenta el deporte, sino también lo social. En Chile, el arriendo de canchas cuesta alrededor de $20.000 la hora y media, por ende realizarlo de manera constante sale bastante caro. Sin embargo, la demanda luego de las 18:00 llega a tal punto que todos los clubes de la V región están llenos, pudiendo llegar a salir $35.000.

Según nuestros cálculos, jugar Pádel (12 veces al mes) sale en promedio $60.000 por persona, lo que se traduce en $720.000 al año. Esta cifra, corresponde sólo al arriendo de canchas, no contempla el equipamiento de iniciacion que serían unos $250.000. Por lo tanto, teniendo en cuenta lo anterior, suponemos que este deporte lo practican personas pertenecientes a un estrato social alto.

Eleccción de pregunta:

Teniendo en cuenta los ingresos económicos promedio de los hogares: ¿Dónde sería más rentable construir un club de pádel en la V Región?

Elección de la fuente de datos:

Paquetes a utilizar:

library(data.table)
library(ggplot2)
library(chilemapas)
library(leaflet)
library(plotly)
library(scales)
library(dplyr)
library(dbscan)
library(rpart.plot)
library(rpart)
library(caret)
library(ggcorrplot)
library(tidyverse)
library(sp)
library(sf) 
library(classInt)
library(factoextra)

Base Casen:

path <- 'C:/Users/matir/OneDrive/Escritorio/Mati/Universidad/2021/Segundo Semestre/Data Science/Tarea 6/'
casen <- fread(paste0(path,'CASEN 2020 Valpo.csv'))

Antes de comenzar, analizando los datos, es necesario limpiar la base. Dado que CASEN posee los códigos de las comunas y no los nombres. Hemos buscado en el libro de códigos de esta encuesta y fuimos anexando cada código de comuna con su nombre respectivo. Antes de realizar esto, tuvimos que agregarle un “0” a la variable comuna para poder realizar posteriormente los mapas respectivos.

casen[, comuna := ifelse(comuna < 10000 , paste0(0,casen$comuna), casen$comuna)]

casen[comuna=="05101",nombre_comuna:="Valparaiso"]
casen[comuna=="05102",nombre_comuna:="Casablanca"]
casen[comuna=="05103",nombre_comuna:="Concon"]
casen[comuna=="05104",nombre_comuna:="Juan Fernandez"]
casen[comuna=="05105",nombre_comuna:="Puchuncavi"]
casen[comuna=="05107",nombre_comuna:="Quintero"]
casen[comuna=="05109",nombre_comuna:="Viña del Mar"]
casen[comuna=="05201",nombre_comuna:="Isla de Pascua"]
casen[comuna=="05301",nombre_comuna:="Los Andes"]
casen[comuna=="05302",nombre_comuna:="Calle Larga"]
casen[comuna=="05303",nombre_comuna:="Rinconada"]
casen[comuna=="05304",nombre_comuna:="San Esteban"]
casen[comuna=="05401",nombre_comuna:="La Ligua"]
casen[comuna=="05402",nombre_comuna:="Cabildo"]
casen[comuna=="05403",nombre_comuna:="Papudo"]
casen[comuna=="05404",nombre_comuna:="Petorca"]
casen[comuna=="05405",nombre_comuna:="Zapallar"]
casen[comuna=="05501",nombre_comuna:="Quillota"]
casen[comuna=="05502",nombre_comuna:="La Calera"]
casen[comuna=="05503",nombre_comuna:="Hijuelas"]
casen[comuna=="05504",nombre_comuna:="La Cruz"]
casen[comuna=="05506",nombre_comuna:="Nogales"]
casen[comuna=="05601",nombre_comuna:="San Antonio"]
casen[comuna=="05602",nombre_comuna:="Algarrobo"]
casen[comuna=="05603",nombre_comuna:="Cartagena"]
casen[comuna=="05604",nombre_comuna:="El Quisco"]
casen[comuna=="05605",nombre_comuna:="El Tabo"]
casen[comuna=="05106",nombre_comuna:="Santo Domingo"]
casen[comuna=="05701",nombre_comuna:="San Felipe"]
casen[comuna=="05702",nombre_comuna:="Catemu"]
casen[comuna=="05703",nombre_comuna:="Llaillay"]
casen[comuna=="05704",nombre_comuna:="Panquehue"]
casen[comuna=="05705",nombre_comuna:="Putaendo"]
casen[comuna=="05706",nombre_comuna:="Santa María"]
casen[comuna=="05801",nombre_comuna:="Quilpue"]
casen[comuna=="05802",nombre_comuna:="Limache"]
casen[comuna=="05803",nombre_comuna:="Olmue"]
casen[comuna=="05804",nombre_comuna:="Villa Alemana"]
casen[comuna=="05606",nombre_comuna:="Santo Domingo"]

Para comenzar, y como mencionamos en el contexto, dado el alto costo que involucra practicar Padel, suponemos que la gran mayoría de quienes lo practiquen, pertenecerán a un estrato económico alto. En efecto, hemos creado una variable que corresponde al promedio del ingreso por hogar en cada comuna de la quinta región. A partir de esta, realizamos el siguiente gráfico, que muestra el ingreso promedio por comuna:

promedio <- casen[,.(mean1=mean(ytrabajocorh)),by=nombre_comuna]
promedio <- promedio %>% mutate_if(is.numeric, round)

promedio_mapa <- casen[,.(mean=mean(ytrabajocorh)),by=comuna]
promedio_mapa <- promedio_mapa %>% mutate_if(is.numeric, round)

promedio_final <- cbind(promedio,promedio_mapa)
promedio_final$mean1 <- NULL


ggplot (promedio_final, aes(x = nombre_comuna, y= mean))+ 
  geom_col(color="black", fill="lightblue")+ 
  theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))+
  scale_y_continuous(limits=c(0, 1400000),n.breaks = 15, labels = dollar)+
  labs(x="Comuna", y="Ingreso Promedio", title= "Ingreso Promedio", subtitle= "por Comuna")

ggplot (casen, aes(x = nombre_comuna, y = ytrabajocorh)) + geom_point(aes(colour = factor(nombre_comuna))) + scale_y_continuous(limits=c(0, 10000000),n.breaks = 20, labels = dollar) + theme(axis.text.x = element_text(angle = 90)) + xlab("") + scale_x_discrete(breaks=NULL)

En relación al primer gráfico, vemos que las 4 comunas que tienen el ingreso promedio mas alto, son: Concon, Viña del Mar, San Esteban, La Cruz y Olmué. Por otro lado, en el gráfico de puntos, vemos cómo distribuyen los ingresos por comuna por individuo que contestó la encuesta CASEN. Esto nos da otro indicio de quienes podrían ser los posibles usuarios de este deporte.

Ahora, graficamos de una forma mas visual la conclusión anterior, donde combinaremos la base CASEN con Mapas Chile y podremos observar donde se concentran los ingresos promedio mas altos por region:

quintaregion <- mapa_comunas %>% 
  filter(codigo_region=="05")


mapaquintaregion<-merge(quintaregion,promedio_final,by.x='codigo_comuna', by.y='comuna')


breaks_pretty <-  classIntervals(mapaquintaregion$mean, style = "pretty",n=10)
mapaquintaregion$pretty <-  cut(mapaquintaregion$mean,breaks = breaks_pretty$brks, include.lowest = T)


mapaquinta <- ggplot() +
  geom_sf(mapaquintaregion,mapping=aes(geometry=geometry, fill=pretty, text = paste("Comuna:", nombre_comuna, "\n",'Ingreso Promedio:', "$", mean)))  + coord_sf(xlim = c(-71.8,-70), ylim = c(-34,-32)) +scale_fill_viridis_d(name="Intervalos")

ggplotly(mapaquinta, tooltip = c("text"))

Tras investigar, buscamos todos los clubes de padel de las comunas seleccionadas, por lo que hicimos una base de datos con estos y sus respectivas coordenadas. Para mas tarde poder visualizarlos con el paquete de mapas.

clubes_total <- data.frame(lat=c(-33.031266622389715, -33.02180850571303, -33.02771046483017, -32.98968754059409, -33.010071793177865, -32.95662274891119, -32.95434256373214, -32.962630858554505, -32.77872730486749, -32.8785653519727, -32.871469820895534, -33.65301882570769, -33.6755763696416,-33.05713235329624,-33.04206947536322,-33.05445655942288,-32.87849779358144,-33.023488479240285),
lng =c(-71.57118982991376,-71.53565255309763, -71.54828716977724, -71.54693494630938, -71.52288605833034, -71.53520292050617, -71.53282906577424, -71.53744685405542, -70.5817695733175, -71.23380811749794, -71.21259218494923, -71.63134994131123, -71.6478041513581, -71.43668873963266,-71.3349534169462,-71.3331851440632,-71.23366327618822,-71.27776303924566),
popup =c("La Liga" ,"Blue Padel", "Viña padel", "Club naval", "Club de campo Granadilla", "7 pinos" , "Club del Bosque", "Alto los pinos", "Club de padel San Esteban", "Rancho Padel", "Centro Deportivo Nueva Estrella","Club Santa María del Mar","Club de Golf Las Brisas","Padel Club Quilpue","R4 padel Center","Centro Deportivo ATT","Rancho Padel Club","Padel Home Limache"),
nombre_comuna=c("Viña del Mar","Viña del Mar","Viña del Mar","Viña del Mar","Viña del Mar","Viña del Mar","Viña del Mar","Viña del Mar", "San Esteban","Quillota","Quillota","Santo Domingo","Santo Domingo","Quilpue","Villa Alemana","Villa Alemana","Quillota","Limache"),
cancha=c(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1))

Los graficamos:

pelotapadel <- makeIcon(
  iconUrl = "https://assets.stickpng.com/thumbs/580b585b2edbce24c47b2b90.png",
  iconWidth = 40, iconHeight = 40,
  iconAnchorX = 0, iconAnchorY = 0)


centros <- leaflet(data = clubes_total)%>% 
  addTiles() %>% addMarkers(icon = pelotapadel,popup =c("La Liga" ,"Blue Padel", "Viña padel", "Club naval", "Club de campo Granadilla", "7 pinos" , "Club del Bosque", "Alto los pinos", "Club de padel San Esteban", "Rancho Padel", "Centro Deportivo Nueva Estrella","Club Santa María del Mar","Club de Golf Las Brisas","Padel Club Quilpue","R4 padel Center","Centro Deportivo ATT","Rancho Padel Club","Padel Home Limache"),clusterOptions = markerClusterOptions())
centros

Luego, unimos ambos mapas, el de ingresos por comunas con el de todas los clubes de la quinta region de padel que encontramos en nuestra investigación:

mapaquintaregion<-st_sf(mapaquintaregion)

paleta<-colorBin("YlOrRd",domain = mapaquintaregion$mean,bins=7)


labels <- sprintf(
  "<strong>Comuna: %s</strong><br/>Ingreso Promedio %g ",
  mapaquintaregion$nombre_comuna, mapaquintaregion$mean
) %>% lapply(htmltools::HTML)

mapita <- leaflet(mapaquintaregion)%>% 
  addProviderTiles(provider = providers$OpenStreetMap.Mapnik)%>%
  addPolygons(color = ~paleta(mean),
              weight = 3,
              fillOpacity = 0.8,
              label = labels,
              highlightOptions = highlightOptions(weight = 5,
              color = "#666"))%>%
  addLegend(pal = paleta, values = ~paleta, opacity = 1,position = "bottomright",title ="Ingreso Promedio por Comuna")%>% 
  addMarkers(data = clubes_total,icon = pelotapadel,popup =c("La Liga" ,"Blue Padel", "Viña padel", "Club naval", "Club de campo Granadilla", "7 pinos" , "Club del Bosque", "Alto los pinos", "Club de padel San Esteban", "Rancho Padel", "Centro Deportivo Nueva Estrella","Club Santa María del Mar","Club de Golf Las Brisas"),clusterOptions = markerClusterOptions())
mapita

Realizaremos un clustering de los posibles usuarios de clubes de padel, donde nos fijaremos en su rango etario e ingreso del hogar.

samp <- casen[,.(ytrabajocorh,edad)][complete.cases(casen[,.(ytrabajocorh,edad)])]
samp <- samp[sample(.N,1000),.(ytrabajocorh,edad)]

Visualizamos nuestros datos:

ggplot(data = samp,aes(x=ytrabajocorh,y=edad))+
  geom_point() + scale_x_continuous(limits=c(0, 10000000),n.breaks = 25, labels = dollar)+ theme(axis.text.x = element_text(angle = 90))

Vemos que la mayoría de las personas se encuentra entre $0 y $500.000. Sin embargo, a nosotros nos interesarán personas a partir de $2.000.000 como posibles usuarios, quienes evidentemente son la minoría.

fviz_nbclust(x = samp, FUNcluster = kmeans, method = "wss", k.max = 25, 
             diss = get_dist(samp, method = "euclidean"), nstart = 50)

k1<-kmeans(x=samp,centers=5,nstart=25)

fviz_cluster(k1,data=samp,geom = "point")

Tras realizar el clustering, obtuvimos 5 grupos de personas por edad e ingreso. De estos, elegimos el cluster 1 y 2. El primero comprende personas entre 10 y 60 años desde los $2.000.000 app hasta los $3.500.000. El segundo, que sería el óptimo (para lo que nosotros buscamos) comprende personas entre 15 y 55 años desde los $5.000.000 en adelante. Ambos grupos serían nuestro segmento objetivo.

Conclusion

Tras realizar una exhaustiva búsqueda sobre la ubicación de todos los clubes de padel de la V región y situarlos en el mapa de ingresos, es evidente que existen clubes en comunas de mayor ingreso. Sin embargo, hay zonas que a pesar de tener un ingreso promedio alto no tienen clubes cercanos, por lo tanto, recomendamos poner canchas en aquellos lugares dado que en función a sus ingresos promedio resultará rentable. Un claro ejemplo de lo mencionado es lo que se puede evidenciar en el mapa de ingreso promedio por comuna, por lo que conviene construír en: Con Con, Algarrobo, Los Andes y Papudo, por ende, si buscamos rentabilidad al momento de posicionar geográficamente un club de pádel, recomendamos situarlos en las comunas mencionadas anteriormente.