Una empresa inmobiliaria líder en una gran ciudad está buscando comprender en profundidad el mercado de viviendas urbanas para tomar decisiones estratégicas más informadas. La empresa posee una base de datos extensa que contiene información detallada sobre diversas propiedades residenciales disponibles en el mercado.
Se requiere realizar un análisis holístico de estos datos para identificar patrones, relaciones y segmentaciones relevantes que permitan mejorar la toma de decisiones en cuanto a la compra, venta y valoración de propiedades.
El reto principal consisten en realizar un análisis integral y multidimensional de la base de datos para obtener una comprensión del mercado inmobiliario urbano. Se requiere aplicar diversas técnicas de análisis de datos, incluyendo:
Análisis de Componentes Principales: Reducir la dimensionalidad del conjunto de datos y visualizar la estructura de las variables en componentes principales para identificar características clave que influyen en la variación de precios y oferta del mercado.
Análisis de Conglomerados: Agrupar las propiedades residenciales en segmentos homogéneos con características similares para entender las dinámicas de las ofertas específicas en diferentes partes de la ciudad y en diferentes estratos socioeconómicos.
Análisis de Correspondencia : Examinar la relación entre las variables categóricas (tipo de vivienda, zona y barrio), para identificar patrones de comportamiento de la oferta en mercado inmobiliario.
Visualización de resultados: Presentar gráficos, mapas y otros recursos visuales para comunicar los hallazgos de manera clara y efectiva a la dirección de la empresa.
El informe final debe incluir análisis detallados de los resultados obtenidos, las conclusiones clave y las recomendaciones específicas para guiar las decisiones estratégicas de la empresa inmobiliaria. Se espera que este análisis de datos proporcione ventajas competitivas en el mercado, optimizando la inversión y maximizando los beneficios en un entorno altamente competitivo y en constante cambio.
La siguiente es la base de datos suministrada por la inmobiliaria:
cant_reg <- nrow(vivienda)
cant_atr <- ncol(vivienda)
dimVivienda = dim(vivienda)
cat("La dimensión de la base de datos es ", dimVivienda, "Con un número total de ",cant_reg, "registros ","y de",cant_atr ," atributos " )
## La dimensión de la base de datos es 8322 13 Con un número total de 8322 registros y de 13 atributos
## spc_tbl_ [8,322 × 13] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
## $ id : num [1:8322] 1147 1169 1350 5992 1212 ...
## $ zona : chr [1:8322] "Zona Oriente" "Zona Oriente" "Zona Oriente" "Zona Sur" ...
## $ piso : chr [1:8322] NA NA NA "02" ...
## $ estrato : num [1:8322] 3 3 3 4 5 5 4 5 5 5 ...
## $ preciom : num [1:8322] 250 320 350 400 260 240 220 310 320 780 ...
## $ areaconst : num [1:8322] 70 120 220 280 90 87 52 137 150 380 ...
## $ parqueaderos: num [1:8322] 1 1 2 3 1 1 2 2 2 2 ...
## $ banios : num [1:8322] 3 2 2 5 2 3 2 3 4 3 ...
## $ habitaciones: num [1:8322] 6 3 4 3 3 3 3 4 6 3 ...
## $ tipo : chr [1:8322] "Casa" "Casa" "Casa" "Casa" ...
## $ barrio : chr [1:8322] "20 de julio" "20 de julio" "20 de julio" "3 de julio" ...
## $ longitud : num [1:8322] -76.5 -76.5 -76.5 -76.5 -76.5 ...
## $ latitud : num [1:8322] 3.43 3.43 3.44 3.44 3.46 ...
## - attr(*, "spec")=List of 3
## ..$ cols :List of 13
## .. ..$ id : list()
## .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
## .. ..$ zona : list()
## .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
## .. ..$ piso : list()
## .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
## .. ..$ estrato : list()
## .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
## .. ..$ preciom : list()
## .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
## .. ..$ areaconst : list()
## .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
## .. ..$ parqueaderos: list()
## .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
## .. ..$ banios : list()
## .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
## .. ..$ habitaciones: list()
## .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
## .. ..$ tipo : list()
## .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
## .. ..$ barrio : list()
## .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
## .. ..$ longitud : list()
## .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
## .. ..$ latitud : list()
## .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
## ..$ default: list()
## .. ..- attr(*, "class")= chr [1:2] "collector_guess" "collector"
## ..$ delim : chr ";"
## ..- attr(*, "class")= chr "col_spec"
## - attr(*, "problems")=<externalptr>
Para comenzar con la preparación del dataset, se eliminan los atributos Id, longitud, latitud y barrio los cuales no se concideran relevantes para el problema.
A continuación se presenta el resumen de los principales datos estadísticos del dataset
## zona piso estrato preciom
## Length:8322 Length:8322 Min. :3.000 Min. : 58.0
## Class :character Class :character 1st Qu.:4.000 1st Qu.: 220.0
## Mode :character Mode :character Median :5.000 Median : 330.0
## Mean :4.634 Mean : 433.9
## 3rd Qu.:5.000 3rd Qu.: 540.0
## Max. :6.000 Max. :1999.0
## NA's :3 NA's :2
## areaconst parqueaderos banios habitaciones
## Min. : 30.0 Min. : 1.000 Min. : 0.000 Min. : 0.000
## 1st Qu.: 80.0 1st Qu.: 1.000 1st Qu.: 2.000 1st Qu.: 3.000
## Median : 123.0 Median : 2.000 Median : 3.000 Median : 3.000
## Mean : 174.9 Mean : 1.835 Mean : 3.111 Mean : 3.605
## 3rd Qu.: 229.0 3rd Qu.: 2.000 3rd Qu.: 4.000 3rd Qu.: 4.000
## Max. :1745.0 Max. :10.000 Max. :10.000 Max. :10.000
## NA's :3 NA's :1605 NA's :3 NA's :3
## tipo
## Length:8322
## Class :character
## Mode :character
##
##
##
##
columnas_numericas <- datos[sapply(datos, is.numeric)]
par(cex.axis = 0.7)
boxplot(
columnas_numericas,
main = "Boxplot Atributos Numéricos",
las = 2
)
Dado que el atributo parqueadero es numérico, se reemplazarán sus valores faltantes por la mediana.
me_parqueaderos <- median(datos$parqueaderos, na.rm = TRUE)
datos$parqueaderos <- ifelse(
is.na(datos$parqueaderos),
me_parqueaderos, datos$parqueaderos
)
Conversión de la variable piso a numérica e imputación de los datos faltantes con la mediana.
datos$piso <- as.numeric(datos$piso)
me_pisos <- median(datos$piso, na.rm = TRUE)
datos$piso <- ifelse(
is.na(datos$piso),
me_pisos, datos$piso
)
## piso parqueaderos preciom zona estrato areaconst banios habitaciones tipo
## 8319 1 1 1 1 1 1 1 1 1
## 1 1 1 1 0 0 0 0 0 0
## 2 1 1 0 0 0 0 0 0 0
## 0 0 2 3 3 3 3 3 3
##
## 8319 0
## 1 6
## 2 7
## 20
Se observa que los datos faltantes corresponden a 3 inmuebles que carecen de información suficiente para su análisis. Por lo tanto, su eliminación de la base de datos no tendrá impacto en nuestros resultados
datos$tipo = tolower(datos$tipo)
datos = datos%>% mutate(tipo = ifelse(tipo == "apto","apartamento", tipo))
## /\ /\
## { `---' }
## { O O }
## ==> V <== No need for mice. This data set is completely observed.
## \ \|/ /
## `-----'
## zona piso estrato preciom areaconst parqueaderos banios habitaciones tipo
## 8319 1 1 1 1 1 1 1 1 1
## 0 0 0 0 0 0 0 0 0
##
## 8319 0
## 0
Listo el dataset .
Dataset con atributos numéricos
## piso preciom areaconst parqueaderos
## Min. : 1.000 Min. : 58.0 Min. : 30.0 Min. : 1.000
## 1st Qu.: 2.000 1st Qu.: 220.0 1st Qu.: 80.0 1st Qu.: 1.000
## Median : 3.000 Median : 330.0 Median : 123.0 Median : 2.000
## Mean : 3.527 Mean : 433.9 Mean : 174.9 Mean : 1.867
## 3rd Qu.: 4.000 3rd Qu.: 540.0 3rd Qu.: 229.0 3rd Qu.: 2.000
## Max. :12.000 Max. :1999.0 Max. :1745.0 Max. :10.000
## banios habitaciones
## Min. : 0.000 Min. : 0.000
## 1st Qu.: 2.000 1st Qu.: 3.000
## Median : 3.000 Median : 3.000
## Mean : 3.111 Mean : 3.605
## 3rd Qu.: 4.000 3rd Qu.: 4.000
## Max. :10.000 Max. :10.000
Estandarización de los datos
Para esta elección utilizaremos el criterio de la varianza explicada.
## Importance of components:
## PC1 PC2 PC3 PC4 PC5 PC6
## Standard deviation 1.777 1.0288 0.9043 0.66341 0.57898 0.43863
## Proportion of Variance 0.526 0.1764 0.1363 0.07335 0.05587 0.03207
## Cumulative Proportion 0.526 0.7024 0.8387 0.91206 0.96793 1.00000
El primer componente principal (PC1) tiene una desviación estándar de 1.777, lo que significa que captura la mayor variabilidad entre todos los componentes. Además, el primer componente principal (PC1) captura el 52.6% de la varianza total, el segundo componente (PC2) captura el 17.64%, y así sucesivamente.
En este caso, el primer componente principal (PC1) explica el 52.6% de la variabilidad contenida en la base de datos, y los dos primeros componentes principales (PC1 y PC2) juntos capturan el 70.24% de la varianza total. Esto indica que con solo una variable (PC1), que se obtiene mediante una combinación lineal de las variables originales, se puede resumir una gran parte de la variabilidad presente en la base de datos. Si se consideran los tres primeros componentes principales (PC1, PC2 y PC3), se logra capturar el 83.87% de la varianza total.
Este análisis sugiere que los primeros componentes principales (especialmente los primeros tres) son suficientes para capturar la mayor parte de la variabilidad en los datos. Esto implica que es posible reducir la dimensionalidad de los datos a estos componentes sin perder una cantidad significativa de información relevante. En consecuencia, se puede simplificar el análisis y la interpretación de los datos al trabajar con un número reducido de variables, preservando al mismo tiempo la esencia de la variabilidad contenida en la base de datos original.
fviz_pca_var(datos_PCA,
col.var = "contrib",
gradient.cols = c("#FF7F00", "#034D94"),
repel = TRUE
)
A partir del gráfico se puede concluir que las variables Precio y Parqueadero están correlacionadas y tienen una contribución similar a los componentes principales. Además, se observa que la variable Piso tiene un mayor impacto en el primer componente, mientras que las variables Precio, Baños y Área construida influyen más significativamente en el segundo componente.
El gráfico refleja el impacto de cada variable en la variabilidad de las dos primeras componentes principales. Las variables “preciom”, “piso”, “areaconst”, y “baños” sobresalen por sus altas contribuciones, mostrando que son las que más influyen en la configuración de los componentes principales.
Para este análisis utilizamos la misma base de datos estandarizada.
El metodo del codo se utiliza para determinar el número óptimo de clústeres que explica la mayor varianza en los datos.
calcular_wcss = function(datos_estand, k_max) {
wcss = vector("numeric", length = k_max)
for (k in 1:k_max) {
model = kmeans(datos_estand, centers = k, nstart = 10)
wcss[k] = model$tot.withinss
}
return(wcss)
}
k_max = 9
wcss_valores = calcular_wcss(datos_estand, k_max)
plot(1:k_max, wcss_valores, type = "b", pch = 19, frame = FALSE, xlab = "Número de clústeres", ylab = "Suma de cuadrados internos",col = "#5586B3")
Al analizar la gráfica del método del codo, se observa que el punto de inflexión más pronunciado se encuentra en el número 4 de clusters, lo que sugiere que este es el número óptimo de clusters para el análisis.
El algoritmo K-means es una técnica de clustering que se utiliza para agrupar un conjunto de datos en clusters. El objetivo del algoritmo es minimizar la variabilidad dentro de cada cluster y maximizar la diferencia entre los clusters.
num_clusters = 4
modelo_kmeans = kmeans(datos_estand, centers = num_clusters, nstart = 10)
datos1$cluster = as.factor(modelo_kmeans$cluster)
##
## 1 2 3 4
## 4240 864 2240 975
colores = c("#367C6D", "#1A7332", "#1C5A99", "#2466C1")
ggplot(datos1, aes(x = factor(cluster))) +
geom_bar(fill = colores) +
labs(title = "Viviendas por cluster",
x = "Clúster",
y = "Número de viviendas") +
theme_minimal() +
geom_text(stat='count', aes(label=..count..), vjust=-0.5)
## Warning: The dot-dot notation (`..count..`) was deprecated in ggplot2 3.4.0.
## ℹ Please use `after_stat(count)` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
resumen <- datos1 %>%
group_by(cluster) %>%
summarise(mean_piso = mean(piso),
mean_preciom = mean(preciom),
mean_areaconst = mean(areaconst),
mean_parqueaderos = mean(parquea),
mean_baños = mean(banios),
mean_habitaciones = mean(habitac))
# Embellecer la tabla
resumen %>%
kbl(col.names = c("Cluster", "Piso Medio", "Precio Medio (M)", "Área Const. Media",
"Parqueaderos Medios", "Baños Medios", "Habitaciones Medias"),
align = "c", # Centrar el texto
caption = "Resumen de Clusters") %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed"),
full_width = F,
position = "center",
font_size = 14) %>%
row_spec(0, bold = TRUE, color = "white", background = "#4CAF50") %>%
column_spec(1, bold = TRUE, color = "#1A7332") %>%
column_spec(2:7, background = "#F2F2F2")
Cluster | Piso Medio | Precio Medio (M) | Área Const. Media | Parqueaderos Medios | Baños Medios | Habitaciones Medias |
---|---|---|---|---|---|---|
1 | 2.958962 | 255.0526 | 98.40267 | 1.835961 | 2.212736 | 3.60514 |
2 | 3.041667 | 1136.1528 | 429.71323 | 1.835961 | 5.195602 | 3.60514 |
3 | 2.671875 | 521.0509 | 248.42217 | 1.835961 | 4.162500 | 3.60514 |
4 | 8.389744 | 389.1672 | 113.14720 | 1.835961 | 2.756923 | 3.60514 |
Al analizar los cuatro clusters presentados, se puede observar una clara segmentación del mercado inmobiliario. El Cluster 1 agrupa propiedades de alto valor y gran tamaño, con una Área Construida Media de 429.71 m² y un Precio Medio de 1,136.15 millones. Estas propiedades, que también presentan el mayor número de Baños Medios (5.20), son probablemente viviendas de lujo situadas en zonas exclusivas. La media de Piso de 3.04 sugiere que se trata de edificios bajos o casas grandes, posiblemente con más privacidad y espacio.
El Cluster 2, en cambio, agrupa propiedades situadas en pisos más altos, con una media de Piso de 8.39, pero con un Área Construida Media significativamente menor, de 113.15 m². Estas características indican que este cluster podría estar compuesto por apartamentos en edificios altos y densos, ubicados en zonas urbanas. El Precio Medio es de 389.17 millones, lo que sugiere que estas propiedades están dirigidas a un mercado de clase media, ofreciendo una opción más asequible en comparación con el Cluster 1.
Por otro lado, el Cluster 3 incluye propiedades que también se encuentran en pisos bajos, con una Área Construida Media aún menor, de 98.40 m², y el Precio Medio más bajo de todos los clusters, 255.05 millones. Este cluster podría representar viviendas más antiguas o ubicadas en áreas menos céntricas, dirigidas a un público que busca opciones económicas o de entrada al mercado inmobiliario.
Finalmente, el Cluster 4 representa un grupo intermedio, con propiedades que tienen un Área Construida Media de 248.42 m² y un Precio Medio de 521.05 millones. Aunque el tamaño y el precio son menores que en el Cluster 1, estas propiedades cuentan con un número significativo de Baños Medios (4.16), lo que indica que son espaciosas y posiblemente ubicadas en zonas semi-exclusivas. La media de Piso es baja, lo que sugiere que se encuentran en edificios pequeños o en áreas suburbanas.
En resumen, los clusters muestran una segmentación clara del mercado inmobiliario, desde propiedades de lujo en el Cluster 1 hasta opciones más accesibles en el Cluster 3, con los Clusters 2 y 4 ocupando posiciones intermedias. El análisis también destaca que el Precio Medio está fuertemente relacionado con el tamaño de la propiedad y el número de baños, mientras que el número de parqueaderos es constante en todos los clusters, sugiriendo que este factor no varía significativamente en función del precio o el tamaño en los datos analizados.
ggplot(datos1, aes(x = habitaciones, y = preciom, color = factor(cluster))) +
geom_point() +
labs(title = "Número de habitaciones y precio por clúster",
x = "Número de habitaciones",
y = "Precio",
color = "Clúster") +
theme_minimal() +
theme(legend.position = "bottom")
ggplot(datos1, aes(x = areaconst, y = preciom, color = factor(cluster))) +
geom_point() +
labs(title = "Área construida y precio por clúster",
x = "Área construida",
y = "Precio",
color = "Clúster") +
theme_minimal() +
theme(legend.position = "bottom")
ggplot(datos1, aes(x = banios, y = preciom, color = factor(cluster))) +
geom_point() +
labs(title = "Número de baños y precio por clúster",
x = "Número de baños",
y = "Precio",
color = "Clúster") +
theme_minimal() +
theme(legend.position = "bottom")
Los diagramas indican que existe una relación directa entre el precio de la vivienda y las variables área construida, número de habitaciones y número de baños.
El Análisis de Correspondencia es una técnica estadística que se emplea para explorar y visualizar asociaciones entre variables categóricas. Este método permite identificar relaciones entre las categorías de las variables, revelando patrones o estructuras subyacentes en los datos que podrían no ser evidentes a simple vista.
Las variables categóricas del dataset son estrato, zona y tipo, por lo tanto creamos un nuevo dataset con estas variables y verificamos los valores únicos de cada variable.
## [1] "Zona Oriente" "Zona Sur" "Zona Norte" "Zona Oeste" "Zona Centro"
## [1] 3 4 5 6
## Levels: 3 4 5 6
## [1] "casa" "apartamento"
De acuerdo con la gráfica se puede afirmar que existe una correspondencia fuerte entre las variables estrato y zona; correspondencia que no comnparten con la variable tipo, además las variables estrato y zona tienen una influencia importante sobre las dos dimensiones.
t1 <- table(datos2$zona, datos2$estrato)
# Asignar nombres personalizados a las columnas
colnames(t1) <- c("Estrato 3", "Estrato 4", "Estrato 5", "Estrato 6")
# Embellecer la tabla
kbl(t1, caption = "Distribución de Zonas por Estratos", align = "c") %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive"),
full_width = F,
position = "center",
font_size = 14) %>%
row_spec(0, bold = TRUE, color = "white", background = "#4CAF50") %>%
column_spec(1, bold = TRUE, color = "#1C5A99") %>%
column_spec(2:5, background = "#F2F2F2")
Estrato 3 | Estrato 4 | Estrato 5 | Estrato 6 | |
---|---|---|---|---|
Zona Centro | 105 | 14 | 4 | 1 |
Zona Norte | 572 | 407 | 769 | 172 |
Zona Oeste | 54 | 84 | 290 | 770 |
Zona Oriente | 340 | 8 | 2 | 1 |
Zona Sur | 382 | 1616 | 1685 | 1043 |
##
## Pearson's Chi-squared test
##
## data: t1
## X-squared = 3830.4, df = 12, p-value < 2.2e-16
Se observa que el estrato tres corresponde a la zona centro y a la zona
oriente, elestrato 6 corresponde a la zona oeste y los estratos 4 y 5
corresponden a la zona norte y zona zur.
## eigenvalue percentage of variance cumulative percentage of variance
## dim 1 0.32215213 69.965515 69.96551
## dim 2 0.12745096 27.680002 97.64552
## dim 3 0.01084108 2.354483 100.00000
fviz_screeplot(resultados_ac1, addlabels = TRUE, ylim = c(0, 80))+ggtitle("")+
ylab("Porcentaje de varianza explicado") + xlab("Ejes")
De acuerdo con la gráfica la primera componente resume el 70% y los dos primeros componentes prepresentados en el plano factorial, mientras que los dos primeros ejes resumen un 97.7% de los datos, lo que indica que son suficientes para explicar el data set.
##Objetivo del Análisis
El presente informe tiene como objetivo realizar un análisis integral y multidimensional del mercado inmobiliario urbano. Mediante la aplicación de técnicas avanzadas de análisis de datos, se busca identificar patrones, relaciones y segmentaciones relevantes para mejorar la toma de decisiones en la compra, venta y valoración de propiedades. El análisis incluye el uso de Análisis de Componentes Principales (ACP), Análisis de Conglomerados y Análisis de Correspondencia, así como la visualización de resultados clave.
1. Análisis de Componentes Principales (ACP) El ACP fue utilizado para reducir la dimensionalidad del conjunto de datos y facilitar la identificación de las características que influyen significativamente en la variación de precios y ofertas del mercado inmobiliario. Los resultados obtenidos revelan que el primer componente principal (PC1) captura el 52.6% de la variabilidad total, mientras que los dos primeros componentes (PC1 y PC2) juntos explican el 70.24%. Al considerar los tres primeros componentes (PC1, PC2 y PC3), se logra capturar el 83.87% de la varianza total.
Estos hallazgos sugieren que es posible reducir la dimensionalidad de los datos a estos componentes sin perder una cantidad significativa de información relevante. En particular, las variables como “Precio”, “Parqueadero”, “Piso”, “Baños” y “Área Construida” muestran una fuerte correlación con los primeros componentes, lo que indica que son determinantes clave en la variabilidad observada en los datos. Por lo tanto, se recomienda enfocar el análisis en estas variables para obtener insights relevantes.
2. Análisis de Conglomerados El análisis de conglomerados, apoyado por el método del codo, identificó que el número óptimo de clusters es cuatro. Estos clusters representan diferentes segmentos del mercado inmobiliario urbano, como se detalla a continuación:
Cluster 1: Agrupa propiedades de alto valor y gran tamaño, ubicadas probablemente en zonas exclusivas. Estas viviendas tienen un Área Construida Media de 429.71 m² y un Precio Medio de 1,136.15 millones, destacándose por un elevado número de Baños Medios (5.20). Cluster 2: Comprende propiedades en pisos más altos, con un Área Construida Media de 113.15 m² y un Precio Medio de 389.17 millones. Este cluster sugiere un mercado de clase media, con apartamentos en edificios densos de zonas urbanas. Cluster 3: Representa viviendas más accesibles y de menor tamaño (Área Construida Media de 98.40 m²), con un Precio Medio de 255.05 millones. Estas propiedades podrían estar en áreas menos céntricas o ser más antiguas. Cluster 4: Se sitúa en un punto intermedio, con propiedades de tamaño medio (Área Construida Media de 248.42 m²) y un Precio Medio de 521.05 millones. Este cluster sugiere propiedades espaciosas en zonas semi-exclusivas. El análisis de conglomerados evidencia que el precio de la vivienda está directamente relacionado con el tamaño del área construida y el número de baños. La constancia en el número de parqueaderos sugiere que este factor no es un diferenciador significativo en función del precio o tamaño.
3. Análisis de Correspondencia El análisis de correspondencia se enfocó en las variables categóricas “estrato”, “zona” y “tipo”. Los resultados muestran una correspondencia fuerte entre las variables “estrato” y “zona”, mientras que la variable “tipo” no presenta una relación significativa con las otras dos. Se observa que:
El estrato 3 corresponde a las zonas centro y oriente. El estrato 6 está asociado a la zona oeste. Los estratos 4 y 5 se corresponden con las zonas norte y sur. Además, la primera componente resume el 70% de la información relevante, y las dos primeras componentes combinadas explican el 97.7% de los datos, lo que indica que estas dimensiones son suficientes para comprender el comportamiento de las variables categóricas en el dataset.
Conclusiones:
Reducción de Dimensionalidad: El análisis de componentes principales (ACP) ha demostrado que un reducido número de componentes principales (PC1, PC2 y PC3) es suficiente para capturar la mayor parte de la variabilidad en los datos, específicamente el 83.87%. Esto permite simplificar significativamente el análisis sin perder información relevante. Las variables “Precio”, “Parqueadero”, “Piso”, “Baños” y “Área Construida” son los principales impulsores de esta variabilidad, lo que sugiere que deben ser el foco de cualquier evaluación futura del mercado.
Segmentación del Mercado: El análisis de conglomerados identificó cuatro clusters bien definidos, que representan distintos segmentos del mercado inmobiliario:
Cluster 1: Propiedades de lujo en zonas exclusivas. Cluster 2: Apartamentos en zonas urbanas densamente pobladas, dirigidos a la clase media. Cluster 3: Viviendas más económicas, posiblemente en áreas menos céntricas o más antiguas. Cluster 4: Propiedades de tamaño intermedio en zonas semi-exclusivas. Estos clusters muestran una clara relación entre el precio de la propiedad, el tamaño del área construida y el número de baños, con el número de parqueaderos siendo un factor menos relevante en la segmentación.
Correlación entre Estrato y Zona: El análisis de correspondencia reveló una fuerte relación entre el estrato socioeconómico y la zona geográfica. El estrato 3 se asocia con las zonas centro y oriente, el estrato 6 con la zona oeste, y los estratos 4 y 5 con las zonas norte y sur. Esta correlación es crucial para comprender las dinámicas de oferta y demanda en diferentes áreas de la ciudad.
Recomendaciones:
Enfoque Estratégico en Segmentos de Mercado: Con base en la segmentación obtenida, se recomienda que la empresa inmobiliaria enfoque sus esfuerzos en los segmentos más rentables, particularmente en el Cluster 1 (propiedades de lujo) y el Cluster 4 (propiedades de tamaño medio en zonas semi-exclusivas). Estos segmentos ofrecen un alto potencial de retorno sobre la inversión y deben ser priorizados en las estrategias de marketing y ventas.
Optimización de la Cartera de Propiedades: Dado que las variables “Precio”, “Área Construida” y “Baños” son las más influyentes en la variabilidad del mercado, se sugiere que la empresa optimice su cartera de propiedades teniendo en cuenta estos factores. La incorporación de propiedades que maximicen estas características puede mejorar significativamente la posición competitiva de la empresa en el mercado.
Expansión Geográfica Basada en Estrato: La correlación observada entre el estrato y la zona sugiere que las estrategias de expansión deben considerar la localización geográfica en función del estrato socioeconómico predominante. Por ejemplo, la empresa podría concentrar sus esfuerzos en desarrollar propiedades en la zona oeste, que se asocia con estratos más altos, para captar el segmento de lujo (estrato 6).
Comunicación Efectiva de Resultados: La visualización de los hallazgos mediante gráficos, mapas y otros recursos visuales debe ser utilizada para comunicar estos insights a la dirección de la empresa. Una presentación clara y concisa de los resultados facilitará la toma de decisiones estratégicas y permitirá una mejor planificación de las inversiones futuras.