Resumen ejecutivo

  • Contexto: se evaluó la oferta inmobiliaria urbana usando registros públicos (OLX, paquete paqueteMODELOS).
  • Objetivo: identificar patrones, relaciones y segmentos que orienten pricing, compra/venta y mix de portafolio por zona y tipo de vivienda.
  • Hallazgos clave:
    1. Drivers de valor: área construida, parqueaderos y baños explican la mayor parte de la variación de precio (PCA).
    2. Geografía: Oeste y Norte concentran la oferta premium; Oriente es la puerta de entrada; Sur es volumen medio.
    3. Segmentación: 3–4 clusters capturan bien el mercado: económico, medio y premium.
    4. Correspondencia zona×tipo: Casas se asocian más a zonas de alto valor; Apartamentos a zonas de mayor densidad de oferta.
  • Recomendaciones: pricing por atributos y zona, fortalecimiento de amenities en segmento medio, foco en rotación/financiación en económico, y marketing focalizado en premium.

1) Elementos y metodología (criterio 1)

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.


2) Datos y preparación (criterio 2)

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.


3) EDA — Exploratorio (criterio 2)

Seleccionar Opción (Ver)

Frecuencias

## $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.

Precio por zona

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).

Área vs. precio

Insight: relación positiva; a igual área, el diferencial se explica por zona y amenities.

Precio promedio por zona y tipo

Insight: Casas y Apartamentos en Oeste lideran promedios; Oriente muestra los más bajos.

Mapa simple lat–long (oferta)

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.


4) PCA — Componentes principales (criterio 1 y 2)

Seleccionar Opción (Ver)

Varianza explicada

Conclusión: los dos primeros componentes concentran la mayor parte de la información → reducción dimensional válida para interpretación y clustering.

Cargas de variables (solo atributos)

Top variables por componente (cargas)
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 preciopalancas de valorización.
- PC2: distribución interna (habitaciones).
- Uso: priorizar amenities y tamaño en estrategia de compra, y modelar pricing por atributos.


5) Clustering — Segmentación de mercado (criterio 2)

Seleccionar Opción (Ver)

Elección de K

Sugerencia: K = 3–4 equilibra ajuste e interpretabilidad.

Clusters en espacio PCA

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 de clusters (original y estandarizado)

## $`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.


6) Correspondencia — Zona × Tipo (criterio 1 y 2)

Seleccionar Opción (Ver)

Mapa / coordenadas

Tabla y perfiles

## $`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.


7) Visualización consolidada (criterio 3)

  • Gráficos: boxplots, dispersión, PCA (varianza y cargas), clusters en 2D, mapa lat–long y mapas/coords de CA.
  • Tablas: frecuencia, zona × tipo, perfiles de cluster, perfiles de CA y tabla DT de exploración.
    Estas piezas permiten comunicar resultados a la dirección con claridad.

8) Conclusiones y recomendaciones (criterio 3)

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.


9) Limitaciones y próximos pasos

  • Datos vía webscraping (OLX), pueden existir sesgos de publicación y outliers.
  • No se modeló ubicación exacta ni calidad del inmueble (acabados, antigüedad).
  • Próximos pasos: incluir Hedonic Pricing, enriquecer con amenities del entorno (colegios, transporte), y usar clustering espacial.

10) Anexos (criterio 3)

A. Matriz de correlaciones

##              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

B. Resumen descriptivo

##     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  
## 

C. Reproducibilidad y sesión

## 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