Técnicas empleadas y finalidad
- Análisis de Componentes Principales (PCA): reducir
dimensionalidad y visualizar la estructura de
variables; identificar características clave
que influyen en el precio/oferta.
- Clustering (k-means): agrupar
propiedades en segmentos homogéneos; estimar número
óptimo de clusters (método del codo y
silhouette).
- Análisis de Correspondencia (CA): examinar
relaciones entre categóricas (zona,
tipo, barrio) y evidenciar afinidades.
- Visualización: boxplots, dispersión, biplot PCA,
mapas simples lat–long, y tablas interactivas DT
para
toma de decisiones.
Flujo de trabajo
1) EDA → 2) Preprocesamiento (NA, tipado, escalado) → 3) Modelos (PCA,
k-means, CA) → 4) Recomendaciones.
Se fija set.seed(123)
para reproducibilidad.
Cobertura del análisis: 8322 registros crudos → 8319
tras limpieza → 8319 en el segmento analizado.
Variables modeladas: precio, área, parqueaderos,
baños, habitaciones (escaladas).
Supuestos: k-means asume clusters esféricos en espacio
estandarizado; CA requiere tabla con ≥2 niveles por eje.
Seleccionar Opción (Ver)
## $Zonas
##
## Zona Centro Zona Norte Zona Oeste Zona Oriente Zona Sur
## 124 1920 1198 351 4726
##
## $Tipo
##
## Apartamento Casa
## 5100 3219
##
## $Estrato
##
## 3 4 5 6
## 1453 2129 2750 1987
Insights (frecuencias)
- Sur concentra la mayor oferta;
Norte/Oeste siguen; Centro/Oriente
aportes menores.
- Predominan Apartamentos sobre
Casas.
- La oferta se ubica mayormente en estratos 4–6.
Interpretación para la decisión
- Oeste y Norte presentan
medianas y colas altas → zonas premium
y heterogéneas (producto de alta gama).
- Sur: rango medio con gran volumen →
oportunidad de rotación.
- Oriente: promedios bajos y
homogéneos → canal de acceso (entrada al mercado).
Insight: relación positiva; a igual área, el diferencial se explica por zona y amenities.
Insight: Casas y Apartamentos en Oeste lideran promedios; Oriente muestra los más bajos.
Lectura: distribución espacial de la oferta; útil para identificar corredores y vacíos de mercado.
¿Qué ves en el mapa? Cada puntico es una vivienda. El color es la zona. Arriba = Norte, abajo = Sur, izquierda = Oeste, derecha = Oriente. En el centro… pues Centro.
Lectura por zona (fácil):
Sur (abajo): es la mancha más grande → donde más oferta hay. Mucha variedad, precios de medio a bajos. Buen lugar para mover volumen.
Norte (arriba): nube compacta → zona ordenada y demandada. Suelen ser precios más altos.
Oeste (arriba–izquierda): “isla” pequeña → poca oferta pero cara (segmento premium).
Oriente (derecha): puntos más dispersos → mercado más accesible (precios bajos a medios).
Centro (al medio): poquitos puntos → mercado chiquito, estable.
Dónde se mezclan colores: En las orillas entre zonas (p. ej., Sur–Oriente) hay mezcla. Ahí conviene mirar el barrio o polígonos más finos para fijar precio.
Insights:
Si quiero inventario premium → buscar en Oeste y Norte.
Si necesito rotación/volumen → enfocarme en el Sur.
Para ticket de entrada → Oriente.
Centro → acciones puntuales; hay poco.
Seleccionar Opción (Ver)
Conclusión: los dos primeros componentes concentran la mayor parte de la información → reducción dimensional válida para interpretación y clustering.
Componente | Variable | Carga |
---|---|---|
PC1 | banios | 0.876 |
PC1 | areaconst | 0.870 |
PC1 | preciom | 0.841 |
PC2 | habitaciones | 0.728 |
PC2 | parqueaderos | -0.398 |
PC2 | preciom | -0.385 |
Insights accionables (PCA):
- PC1: área, parqueaderos,
baños y precio → palancas de
valorización.
- PC2: distribución interna
(habitaciones).
- Uso: priorizar amenities y
tamaño en estrategia de compra, y modelar
pricing por atributos.
Seleccionar Opción (Ver)
Sugerencia: K = 3–4 equilibra ajuste e interpretabilidad.
Interpretación del PCA Interpretación del PCA Cobertura del modelo: con PC1 = 65,1% y PC2 = 17,2%, el plano PC1–PC2 explica ~82% de la variación: es un resumen muy representativo del mercado.
PC1 (valor/tamaño/amenities) Cargan fuerte y en el mismo sentido precio (preciom), área construida (areaconst) y parqueaderos. → A mayor área y parqueaderos, mayor precio esperado.
PC2 (distribución interna) Diferencia principalmente por habitaciones y, en menor medida, baños. → Separa productos familiares (muchas habitaciones) de productos compactos, independiente del tamaño total.
Qué hacer con esto (negocio):
Pricing por atributos: usa el eje de PC1 como índice de valorización (área + parqueaderos + baños).
Segmentación de producto: PC2 ayuda a decidir si un proyecto debe competir por espacios/ambientes (más habitaciones) o por áreas sociales/amenities.
Posicionamiento: dos viviendas con igual área pueden valer distinto si difieren en parqueaderos/baños (ganan en PC1) o en habitaciones (ganan en PC2) según el target.
## $`Perfil (estandarizado)`
## # A tibble: 4 × 6
## cluster preciom areaconst parqueaderos banios habitaciones
## <fct> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 1 2.11 1.72 1.94 1.43 0.551
## 2 2 0.280 0.172 0.206 0.467 0.109
## 3 3 0.0711 1.04 -0.00134 1.12 2.53
## 4 4 -0.613 -0.599 -0.525 -0.719 -0.518
##
## $`Perfil (unidades originales)`
## # A tibble: 4 × 6
## cluster preciom areaconst parqueaderos banios habitaciones
## <fct> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 1 1176. 430. 4 5.2 4.4
## 2 2 563. 206. 2.1 3.9 3.8
## 3 3 493. 331. 1.8 4.8 7.1
## 4 4 264. 94.8 1.2 2.3 2.9
##
## $`Distribución por zona`
## # A tibble: 4 × 6
## cluster `Zona Centro` `Zona Norte` `Zona Oeste` `Zona Oriente` `Zona Sur`
## <fct> <int> <int> <int> <int> <int>
## 1 1 2 65 202 3 459
## 2 2 15 331 522 17 1137
## 3 3 19 96 28 68 258
## 4 4 28 795 346 75 2251
##
## $`Distribución por tipo`
## # A tibble: 4 × 3
## cluster Apartamento Casa
## <fct> <int> <int>
## 1 1 207 524
## 2 2 1042 980
## 3 3 6 463
## 4 4 2976 519
Interpretación orientada a negocio
- Cluster Premium: promedios altos en
precio/área/amenities; mayor peso en
Oeste/Norte y en Casas. → Pricing
por atributos, escasez relativa, marketing focalizado.
- Cluster Medio: valores intermedios; mezcla de zonas.
→ Mejorar amenities (baños, parqueaderos) para aumentar disposición
a pagar.
- Cluster Económico: menor área/amenities; predominan
Apartamentos y zonas Sur/Oriente. →
Estrategia de volumen, financiación, tiempos de venta
cortos.
Insights de Clustering (K = 4) Los valores entre paréntesis son promedios en unidades reales; los z-scores de tu tabla confirman la posición de cada cluster vs. el promedio del segmento.
Cluster 1 — Premium integral
Perfil: todo muy por encima del promedio en precio, área y amenities (z: preciom +2.11; areaconst +1.72; parqueaderos +1.94; baños +1.43).
Promedio: $1.176 M, 430 m², 4 parqueaderos, 5.2 baños, 4.4 hab.
Mercado: fuerte en Zona Sur (459) y Oeste (202); más Casa (524) que Apto (207).
Acción: estrategia premium (exposición diferenciada, tasación por atributos, marketing de lujo por zona).
Cluster 2 — Medio/alto mixto
Perfil: ligeramente sobre el promedio (z: precio +0.28; área +0.17; baños +0.47).
Promedio: $563 M, 206 m², 2.1 parqueaderos, 3.9 baños, 3.8 hab.
Mercado: volumen en Sur (1.137) y Oeste (522); mixto por tipo (Aptos 1.042 / Casas 980).
Acción: producto ancla para rotación; bundles de valor (parqueadero adicional, mejoras) para subir disposición a pagar.
Cluster 3 — Casas amplias (familiar)
Perfil: muchas habitaciones y área alta (z: habitaciones +2.53, área +1.04, baños +1.12; precio apenas sobre 0).
Promedio: $493 M, 331 m², 1.8 parqueaderos, 4.8 baños, 7.1 hab.
Mercado: casi todo Casa (463); presente en Sur (258), Norte (96) y Oriente (68).
Acción: posicionar como “familiar / espacios generosos”; revisar parqueaderos y zonas sociales para mejorar valor percibido.
Cluster 4 — Base económico (apto estándar)
Perfil: por debajo del promedio en todos los atributos (z: precio −0.61; área −0.60; baños −0.72).
Promedio: $264 M, 95 m², 1.2 parqueaderos, 2.3 baños, 2.9 hab.
Mercado: muy concentrado en Sur (2.251) y Norte (795); Apto dominante (2.976).
Acción: foco en volumen y financiación; optimizar tiempo en mercado y campañas con beneficios transaccionales.
Seleccionar Opción (Ver)
## $`Perfiles por zona (proporción por tipo)`
##
## Apartamento Casa
## Zona Centro 0.194 0.806
## Zona Norte 0.624 0.376
## Zona Oeste 0.859 0.141
## Zona Oriente 0.177 0.823
## Zona Sur 0.590 0.410
##
## $`Perfiles por tipo (proporción por zona)`
##
## Apartamento Casa
## Zona Centro 0.005 0.031
## Zona Norte 0.235 0.224
## Zona Oeste 0.202 0.053
## Zona Oriente 0.012 0.090
## Zona Sur 0.546 0.602
Insights (CA)
- Casas: mayor presencia relativa en
Oeste y Norte.
- Apartamentos: dominan en Sur
(volumen) y Oriente (acceso).
- Uso: portafolio y
canales diferenciados por zona ×
tipo.
Conclusiones
1) Determinantes de precio: área,
parqueaderos y baños (PC1) superan en impacto al
simple conteo de habitaciones.
2) Zonas: Oeste/Norte reúnen la oferta
premium; Sur es medio
con abundancia; Oriente es
acceso.
3) Segmentos: 3–4 clusters resumieron el mercado en
grupos accionables.
4) Zona × Tipo: fuerte asociación entre
Casas y zonas de alto valor;
Apartamentos y zonas de volumen.
Recomendaciones
- Pricing: modelar precio por
atributos y zona (tablas zona ×
tipo como benchmark).
- Portafolio: priorizar Casas en
Oeste/Norte; empujar Apartamentos en
Sur/Oriente con mejoras de amenities.
- Inversión: reforzar amenidades en proyectos del
segmento medio; en económico, foco en
financiación/rotación.
- Seguimiento: refrescar mensualmente
mix por zona × tipo × estrato y recalibrar
K si cambian patrones.
## preciom areaconst parqueaderos banios habitaciones
## preciom 1.000 0.684 0.689 0.672 0.267
## areaconst 0.684 1.000 0.585 0.667 0.534
## parqueaderos 0.689 0.585 1.000 0.571 0.284
## banios 0.672 0.667 0.571 1.000 0.597
## habitaciones 0.267 0.534 0.284 0.597 1.000
## preciom areaconst parqueaderos banios
## Min. : 58.0 Min. : 30.0 Min. : 1.000 Min. : 0.000
## 1st Qu.: 220.0 1st Qu.: 80.0 1st Qu.: 1.000 1st Qu.: 2.000
## Median : 330.0 Median : 123.0 Median : 2.000 Median : 3.000
## Mean : 433.9 Mean : 174.9 Mean : 1.835 Mean : 3.111
## 3rd Qu.: 540.0 3rd Qu.: 229.0 3rd Qu.: 2.000 3rd Qu.: 4.000
## Max. :1999.0 Max. :1745.0 Max. :10.000 Max. :10.000
## NA's :1602
## habitaciones
## Min. : 0.000
## 1st Qu.: 3.000
## Median : 3.000
## Mean : 3.605
## 3rd Qu.: 4.000
## Max. :10.000
##
## R version 4.5.0 (2025-04-11 ucrt)
## Platform: x86_64-w64-mingw32/x64
## Running under: Windows 11 x64 (build 26100)
##
## Matrix products: default
## LAPACK version 3.12.1
##
## locale:
## [1] LC_COLLATE=Spanish_Colombia.utf8 LC_CTYPE=Spanish_Colombia.utf8
## [3] LC_MONETARY=Spanish_Colombia.utf8 LC_NUMERIC=C
## [5] LC_TIME=Spanish_Colombia.utf8
##
## time zone: America/Bogota
## tzcode source: internal
##
## attached base packages:
## [1] stats graphics grDevices utils datasets methods base
##
## other attached packages:
## [1] paqueteMODELOS_0.1.0 summarytools_1.1.4 knitr_1.50
## [4] GGally_2.3.0 broom_1.0.9 boot_1.3-31
## [7] gridExtra_2.3 cluster_2.1.8.1 tidyr_1.3.1
## [10] ca_0.71.1 DT_0.33 factoextra_1.0.7
## [13] FactoMineR_2.12 ggplot2_3.5.2 dplyr_1.1.4
##
## loaded via a namespace (and not attached):
## [1] tidyselect_1.2.1 farver_2.1.2 S7_0.2.0
## [4] fastmap_1.2.0 TH.data_1.1-3 digest_0.6.37
## [7] estimability_1.5.1 timechange_0.3.0 lifecycle_1.0.4
## [10] multcompView_0.1-10 survival_3.8-3 magrittr_2.0.3
## [13] compiler_4.5.0 rlang_1.1.6 sass_0.4.10
## [16] tools_4.5.0 utf8_1.2.6 yaml_2.3.10
## [19] ggsignif_0.6.4 labeling_0.4.3 htmlwidgets_1.6.4
## [22] scatterplot3d_0.3-44 plyr_1.8.9 RColorBrewer_1.1-3
## [25] abind_1.4-8 multcomp_1.4-28 withr_3.0.2
## [28] purrr_1.0.4 grid_4.5.0 ggpubr_0.6.1
## [31] xtable_1.8-4 emmeans_1.11.2 scales_1.4.0
## [34] MASS_7.3-65 flashClust_1.01-2 cli_3.6.5
## [37] mvtnorm_1.3-3 rmarkdown_2.29 generics_0.1.4
## [40] rstudioapi_0.17.1 reshape2_1.4.4 cachem_1.1.0
## [43] pander_0.6.6 stringr_1.5.1 splines_4.5.0
## [46] matrixStats_1.5.0 base64enc_0.1-3 vctrs_0.6.5
## [49] Matrix_1.7-3 sandwich_3.1-1 carData_3.0-5
## [52] jsonlite_2.0.0 car_3.1-3 rapportools_1.2
## [55] rstatix_0.7.2 ggrepel_0.9.6 Formula_1.2-5
## [58] magick_2.8.7 crosstalk_1.2.1 jquerylib_0.1.4
## [61] glue_1.8.0 ggstats_0.10.0 codetools_0.2-20
## [64] lubridate_1.9.4 stringi_1.8.7 gtable_0.3.6
## [67] tibble_3.3.0 pillar_1.11.0 htmltools_0.5.8.1
## [70] R6_2.6.1 tcltk_4.5.0 evaluate_1.0.4
## [73] lattice_0.22-6 backports_1.5.0 leaps_3.2
## [76] pryr_0.1.6 bslib_0.9.0 Rcpp_1.0.14
## [79] checkmate_2.3.2 xfun_0.52 zoo_1.8-14
## [82] pkgconfig_2.0.3