1 Introducción

El presente informe tiene como objetivo realizar un análisis integral del mercado inmobiliario urbano, utilizando técnicas de análisis exploratorio, reducción de dimensionalidad y segmentación, con el fin de generar información estratégica para la toma de decisiones empresariales.

La empresa inmobiliaria busca comprender patrones, relaciones y segmentaciones relevantes que permitan mejorar la toma de decisiones en cuanto a la compra, venta y valoración de propiedades en el contexto urbano.

2 Descripción y preparación de los datos

2.1 Carga de librerías y datos

# Configurar repositorio CRAN
options(repos = c(CRAN = "https://cran.rstudio.com/"))

# Instalar paquetes necesarios si no están instalados
paquetes <- c("tidyverse", "FactoMineR", "factoextra", "cluster", 
              "knitr", "kableExtra", "corrplot", "gridExtra")

for(paq in paquetes){
  if(!require(paq, character.only = TRUE)){
    install.packages(paq)
    library(paq, character.only = TRUE)
  }
}

# Instalación del paquete de datos si es necesario
if(!require("paqueteMODELOS")){
  if(!require("devtools")) install.packages("devtools")
  devtools::install_github("centromagis/paqueteMODELOS", force = TRUE)
}

# Carga de librerías
library(paqueteMODELOS)
library(tidyverse)
library(FactoMineR)
library(factoextra)
library(cluster)
library(knitr)
library(kableExtra)
library(corrplot)
library(gridExtra)

# Carga de datos
data("vivienda")

2.2 Estructura de los datos

# Visualización de la estructura inicial
str(vivienda)
## 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")=
##   .. cols(
##   ..   id = col_double(),
##   ..   zona = col_character(),
##   ..   piso = col_character(),
##   ..   estrato = col_double(),
##   ..   preciom = col_double(),
##   ..   areaconst = col_double(),
##   ..   parqueaderos = col_double(),
##   ..   banios = col_double(),
##   ..   habitaciones = col_double(),
##   ..   tipo = col_character(),
##   ..   barrio = col_character(),
##   ..   longitud = col_double(),
##   ..   latitud = col_double()
##   .. )
##  - attr(*, "problems")=<externalptr>
# Dimensiones del dataset
cat("El dataset contiene", nrow(vivienda), "observaciones y", ncol(vivienda), "variables.\n")
## El dataset contiene 8322 observaciones y 13 variables.

Variables del dataset (estructura inicial):

  • Variables cualitativas: zona, tipo, barrio, piso
  • Variables cuantitativas: preciom, areaconst, parqueaderos, banios, habitaciones, estrato, latitud, longitud

2.3 Resumen estadístico

summary(vivienda) %>% 
  kable(caption = "Tabla 1. Resumen estadístico de las variables del dataset") %>%
  kable_styling(bootstrap_options = c("striped", "hover", "condensed"))
Tabla 1. Resumen estadístico de las variables del dataset
id zona piso estrato preciom areaconst parqueaderos banios habitaciones tipo barrio longitud latitud
Min. : 1 Length:8322 Length:8322 Min. :3.000 Min. : 58.0 Min. : 30.0 Min. : 1.000 Min. : 0.000 Min. : 0.000 Length:8322 Length:8322 Min. :-76.59 Min. :3.333
1st Qu.:2080 Class :character Class :character 1st Qu.:4.000 1st Qu.: 220.0 1st Qu.: 80.0 1st Qu.: 1.000 1st Qu.: 2.000 1st Qu.: 3.000 Class :character Class :character 1st Qu.:-76.54 1st Qu.:3.381
Median :4160 Mode :character Mode :character Median :5.000 Median : 330.0 Median : 123.0 Median : 2.000 Median : 3.000 Median : 3.000 Mode :character Mode :character Median :-76.53 Median :3.416
Mean :4160 NA NA Mean :4.634 Mean : 433.9 Mean : 174.9 Mean : 1.835 Mean : 3.111 Mean : 3.605 NA NA Mean :-76.53 Mean :3.418
3rd Qu.:6240 NA NA 3rd Qu.:5.000 3rd Qu.: 540.0 3rd Qu.: 229.0 3rd Qu.: 2.000 3rd Qu.: 4.000 3rd Qu.: 4.000 NA NA 3rd Qu.:-76.52 3rd Qu.:3.452
Max. :8319 NA NA Max. :6.000 Max. :1999.0 Max. :1745.0 Max. :10.000 Max. :10.000 Max. :10.000 NA NA Max. :-76.46 Max. :3.498
NA’s :3 NA NA NA’s :3 NA’s :2 NA’s :3 NA’s :1605 NA’s :3 NA’s :3 NA NA NA’s :3 NA’s :3

El conjunto de datos analizado presenta una estructura sólida y suficientemente amplia, con 8.322 observaciones que permiten realizar inferencias estadísticamente consistentes sobre el mercado inmobiliario urbano. La combinación de variables cuantitativas y cualitativas facilita un enfoque multidimensional del análisis, integrando características físicas de los inmuebles, condiciones socioeconómicas y localización geográfica. Esto proporciona una base adecuada para aplicar técnicas multivariadas como Análisis de Componentes Principales, Conglomerados y Correspondencias.

El conjunto de datos está conformado por 13 variables, distribuidas en dos grandes tipos: 4 variables cualitativas y 9 variables cuantitativas. Las variables cualitativas corresponden a zona, tipo, barrio y piso, las cuales permiten caracterizar la ubicación geográfica y la tipología de los inmuebles. Por su parte, las variables cuantitativas incluyen id, estrato, preciom, areaconst, parqueaderos, banios, habitaciones, longitud y latitud, que describen atributos estructurales, socioeconómicos y espaciales de las viviendas.

2.4 Análisis de valores faltantes

# Conteo de NA por variable
na_count <- colSums(is.na(vivienda))
na_df <- data.frame(
  Variable = names(na_count),
  NAs = na_count,
  Porcentaje = round(na_count / nrow(vivienda) * 100, 2)
)

na_df %>%
  filter(NAs > 0) %>%
  arrange(desc(NAs)) %>%
  kable(caption = "Tabla 2. Valores faltantes por variable") %>%
  kable_styling(bootstrap_options = c("striped", "hover"))
Tabla 2. Valores faltantes por variable
Variable NAs Porcentaje
piso piso 2638 31.70
parqueaderos parqueaderos 1605 19.29
id id 3 0.04
zona zona 3 0.04
estrato estrato 3 0.04
areaconst areaconst 3 0.04
banios banios 3 0.04
habitaciones habitaciones 3 0.04
tipo tipo 3 0.04
barrio barrio 3 0.04
longitud longitud 3 0.04
latitud latitud 3 0.04
preciom preciom 2 0.02

La Tabla 2 evidencia que la mayor proporción de valores faltantes se concentra en la variable piso, con un 31,70% de datos ausentes, seguida por parqueaderos con un 19,29%. En contraste, el resto de las variables presentan porcentajes mínimos de valores faltantes (inferiores al 0,05%), lo que indica una alta calidad general del dataset. La ausencia significativa en piso puede explicarse porque muchas propiedades corresponden a casas donde el número de piso no aplica, lo cual justifica su eliminación al no ser una variable crítica para los análisis multivariados posteriores.

Decisión sobre valores faltantes:

La variable piso presenta aproximadamente 30% de datos faltantes. Dado que esta variable no es crítica para los análisis de componentes principales, clustering y correspondencia que se realizarán posteriormente, se ha decidido eliminarla del dataset.

Tratamiento de valores faltantes:

# Eliminación de la variable piso
vivienda <- vivienda %>%
  select(-piso)

cat("Variable 'piso' eliminada del dataset.\n\n")
## Variable 'piso' eliminada del dataset.
# Imputación con mediana para variables numéricas con datos faltantes
vivienda <- vivienda %>%
  mutate(across(c(preciom, areaconst, parqueaderos, banios, habitaciones, estrato),
                ~ ifelse(is.na(.), median(., na.rm = TRUE), .)))

# Verificación post-imputación
cat("Valores faltantes después de imputación en variables numéricas:", 
    sum(is.na(vivienda[, c("preciom", "areaconst", "parqueaderos", "banios", "habitaciones", "estrato")])), "\n")
## Valores faltantes después de imputación en variables numéricas: 0
# Verificación general del dataset
cat("\nResumen de valores faltantes en todo el dataset:\n")
## 
## Resumen de valores faltantes en todo el dataset:
print(colSums(is.na(vivienda)))
##           id         zona      estrato      preciom    areaconst parqueaderos 
##            3            3            0            0            0            0 
##       banios habitaciones         tipo       barrio     longitud      latitud 
##            0            0            3            3            3            3

La decisión metodológica de eliminar la variable piso y realizar imputación en las variables numéricas garantiza la integridad estadística del conjunto de datos sin comprometer la capacidad explicativa del modelo. Tras el tratamiento aplicado, el dataset queda prácticamente libre de valores faltantes en las variables cuantitativas clave, lo cual es fundamental para técnicas como el Análisis de Componentes Principales y el Análisis de Conglomerados, que requieren matrices completas. Este proceso fortalece la confiabilidad de los resultados y asegura que las conclusiones derivadas del estudio se basen en información consistente y depurada.

2.5 Reclasificación de variables

Debido a la naturaleza y significado de algunas variables en el contexto del análisis inmobiliario, es necesario realizar ajustes en su tipificación:

  • estrato: Aunque se almacena numéricamente (1-6), representa categorías socioeconómicas discretas sin relación ordinal interpretable en operaciones aritméticas. Por tanto, se reclasificará como variable categórica (factor).

  • id: Es un identificador único de cada propiedad sin valor numérico interpretable. Se reclasificará como variable categórica.

# Conversión de variables numéricas a categóricas
vivienda <- vivienda %>%
  mutate(
    estrato = as.factor(estrato),
    id = as.factor(id)
  )

# Verificación de la reclasificación
cat("Estructura después de reclasificación:\n\n")
## Estructura después de reclasificación:
cat("Variable 'estrato':", class(vivienda$estrato), "\n")
## Variable 'estrato': factor
cat("Niveles de estrato:", levels(vivienda$estrato), "\n\n")
## Niveles de estrato: 3 4 5 6
cat("Variable 'id':", class(vivienda$id), "\n")
## Variable 'id': factor

Variables del dataset (estructura final):

  • Variables cualitativas: zona, tipo, barrio, estrato, id
  • Variables cuantitativas: preciom, areaconst, parqueaderos, banios, habitaciones, latitud, longitud

3 Análisis Exploratorio de Datos (EDA)

3.1 Distribución del precio

# Histograma
p1 <- ggplot(vivienda, aes(x = preciom)) +
  geom_histogram(bins = 40, fill = "steelblue", color = "white", alpha = 0.8) +
  labs(title = "Distribución del precio de viviendas",
       x = "Precio (millones)",
       y = "Frecuencia") +
  theme_minimal() +
  theme(plot.title = element_text(hjust = 0.5, face = "bold"))

# Boxplot
p2 <- ggplot(vivienda, aes(y = preciom)) +
  geom_boxplot(fill = "steelblue", alpha = 0.6) +
  labs(title = "Diagrama de caja del precio",
       y = "Precio (millones)") +
  theme_minimal() +
  theme(plot.title = element_text(hjust = 0.5, face = "bold"))

gridExtra::grid.arrange(p1, p2, ncol = 2)
Figura 1. Distribución del precio de viviendas

Figura 1. Distribución del precio de viviendas

El análisis exploratorio de la distribución del precio evidencia una asimetría positiva marcada, donde la mayor concentración de observaciones se encuentra en el rango aproximado entre 200 y 600 millones, y en general por debajo de los 1.000 millones. El histograma muestra una alta frecuencia en los segmentos de precio medio, mientras que la cola derecha se extiende hacia valores cercanos a los 2.000 millones, lo que confirma la existencia de un segmento de propiedades de alto valor que incrementa la dispersión total del mercado.

El diagrama de caja refuerza este comportamiento, mostrando una mediana cercana a los 330 millones y una cantidad considerable de valores atípicos superiores. Estos outliers no parecen ser errores, sino más bien propiedades pertenecientes a un submercado premium o de lujo, lo cual sugiere que el mercado inmobiliario analizado no es homogéneo, sino que está compuesto por segmentos diferenciados en términos de capacidad adquisitiva y nivel de exclusividad.

Desde una perspectiva estratégica, esta distribución indica que la inmobiliaria debe considerar enfoques segmentados en su modelo de negocio: uno orientado al mercado medio, que concentra la mayor demanda y volumen de transacciones, y otro especializado en el mercado de alto valor, donde aunque la frecuencia es menor, los márgenes pueden ser significativamente mayores. Además, para los análisis multivariados posteriores, podría ser metodológicamente conveniente evaluar transformaciones del precio (por ejemplo, logaritmo) con el fin de reducir el efecto de la asimetría y mejorar la estabilidad de los modelos.

Estadísticas descriptivas del precio:

data.frame(
  Media = mean(vivienda$preciom, na.rm = TRUE),
  Mediana = median(vivienda$preciom, na.rm = TRUE),
  Desv_Est = sd(vivienda$preciom, na.rm = TRUE),
  Min = min(vivienda$preciom, na.rm = TRUE),
  Max = max(vivienda$preciom, na.rm = TRUE),
  Q1 = quantile(vivienda$preciom, 0.25, na.rm = TRUE),
  Q3 = quantile(vivienda$preciom, 0.75, na.rm = TRUE)
) %>%
  kable(digits = 2, caption = "Tabla 3. Estadísticas descriptivas del precio (millones)") %>%
  kable_styling(bootstrap_options = c("striped", "hover"))
Tabla 3. Estadísticas descriptivas del precio (millones)
Media Mediana Desv_Est Min Max Q1 Q3
25% 433.87 330 328.61 58 1999 220 540

Las estadísticas descriptivas evidenciadas en la table 3 muestran que el precio confirman el comportamiento observado en el análisis gráfico. La media (433,87 millones) es considerablemente superior a la mediana (330 millones), lo que evidencia una distribución asimétrica positiva influenciada por propiedades de alto valor. La desviación estándar de 328,61 millones indica una alta dispersión en los precios, reflejando la heterogeneidad del mercado inmobiliario analizado.

El rango intercuartílico (Q1 = 220 millones y Q3 = 540 millones) muestra que el 50% central de las viviendas se concentra dentro de este intervalo, lo cual delimita el segmento de mercado más representativo en términos de volumen. En contraste, el valor máximo de 1.999 millones confirma la presencia de un segmento premium que, aunque menos frecuente, impacta significativamente el promedio general.

Desde el punto de vista estratégico, estos resultados sugieren que la inmobiliaria debería estructurar su análisis y toma de decisiones considerando al menos dos niveles de mercado: uno principal, concentrado entre 220 y 540 millones donde se ubica la mayor dinámica comercial, y otro de alto valor con menor frecuencia pero potencialmente mayor rentabilidad por operación. Esta diferenciación será clave para la segmentación que se desarrollará posteriormente en el análisis de conglomerados.

3.2 Precio por tipo de vivienda

ggplot(vivienda, aes(x = tipo, y = preciom, fill = tipo)) +
  geom_boxplot(alpha = 0.7) +
  labs(title = "Distribución del precio por tipo de vivienda",
       x = "Tipo de vivienda",
       y = "Precio (millones)") +
  theme_minimal() +
  theme(plot.title = element_text(hjust = 0.5, face = "bold"),
        legend.position = "none") +
  coord_flip()
Figura 2. Distribución del precio por tipo de vivienda

Figura 2. Distribución del precio por tipo de vivienda

En la Figura 2. Distribución del precio por tipo de vivienda, se evidencia que las casas presentan una mediana de precio superior y una mayor dispersión en comparación con los apartamentos, lo que indica que este tipo de inmueble participa con mayor frecuencia en segmentos de valor medio-alto y alto del mercado. Aunque ambos tipos muestran valores atípicos en rangos elevados, los outliers más extremos se concentran principalmente en casas, sugiriendo que el mercado premium está fuertemente asociado a esta tipología. En contraste, los apartamentos exhiben una distribución más concentrada en rangos inferiores, lo que refleja una oferta más homogénea. Estos resultados confirman que el tipo de vivienda es un factor determinante en la estructura de precios y debe considerarse como variable clave en los análisis de segmentación y estrategias comerciales de la inmobiliaria.

3.3 Precio por zona

ggplot(vivienda, aes(x = reorder(zona, preciom, median), y = preciom, fill = zona)) +
  geom_boxplot(alpha = 0.7) +
  labs(title = "Distribución del precio por zona",
       x = "Zona",
       y = "Precio (millones)") +
  theme_minimal() +
  theme(plot.title = element_text(hjust = 0.5, face = "bold"),
        legend.position = "none") +
  coord_flip()
Figura 3. Distribución del precio por zona

Figura 3. Distribución del precio por zona

En la Figura 3. Distribución del precio por zona, se observan diferencias marcadas en los niveles de precio y en la dispersión entre las distintas áreas de la ciudad. La Zona Oeste presenta la mediana más alta y el mayor rango intercuartílico, lo que indica que concentra propiedades de mayor valor y una oferta más heterogénea, incluyendo una proporción importante del segmento premium. En contraste, la Zona Oriente y la Zona Centro muestran medianas más bajas y menor dispersión, lo que sugiere un mercado más homogéneo y orientado a rangos de precio medio o medio-bajo. La Zona Norte y la Zona Sur ocupan posiciones intermedias, aunque también presentan valores atípicos elevados, evidenciando que existen nichos de alto valor dentro de estas áreas.

Desde una perspectiva estratégica, estos resultados indican que la variable geográfica es determinante en la estructuración del mercado inmobiliario. La empresa debería considerar estrategias diferenciadas por zona: una orientación premium en la Zona Oeste, estrategias competitivas de volumen en zonas con precios más concentrados, y análisis más detallados en zonas intermedias donde coexisten distintos segmentos. Esto refuerza la importancia de incorporar la localización como variable clave en los modelos de segmentación y valoración posteriores.

3.4 Relación precio vs área construida

ggplot(vivienda, aes(x = areaconst, y = preciom, color = estrato)) +
  geom_point(alpha = 0.6, size = 2) +
  geom_smooth(method = "lm", se = FALSE, color = "black", linetype = "dashed") +
  scale_color_brewer(palette = "Set1") +
  labs(title = "Relación entre área construida y precio",
       x = "Área construida (m²)",
       y = "Precio (millones)",
       color = "Estrato") +
  theme_minimal() +
  theme(plot.title = element_text(hjust = 0.5, face = "bold"))
## `geom_smooth()` using formula = 'y ~ x'
Figura 4. Relación entre área construida y precio por estrato

Figura 4. Relación entre área construida y precio por estrato

En la Figura 4. Relación entre área construida y precio por estrato, se observa una relación positiva clara entre el tamaño del inmueble y su valor de mercado, lo que indica que a mayor área construida, mayor precio. Sin embargo, la dispersión aumenta considerablemente en áreas grandes, evidenciando que el tamaño no es el único determinante del precio. La segmentación por color muestra además que los estratos más altos (5 y 6) concentran los valores más elevados, tanto en área como en precio, mientras que el estrato 3 se ubica predominantemente en rangos inferiores.

La línea de tendencia refuerza la existencia de una correlación lineal positiva, aunque la variabilidad alrededor de la recta sugiere que intervienen otros factores como ubicación específica, tipo de vivienda y características adicionales. Desde una perspectiva estratégica, esta figura confirma que el área construida es una variable clave en la valoración inmobiliaria, pero su efecto está fuertemente condicionado por el estrato socioeconómico. Esto implica que los modelos de fijación de precios y segmentación deberán considerar interacciones entre tamaño y nivel socioeconómico para estimaciones más precisas y decisiones de inversión más eficientes.

3.5 Matriz de correlación

# Variables numéricas específicas para correlación
vars_numericas <- vivienda %>%
  select(preciom, areaconst, parqueaderos, banios, habitaciones, latitud, longitud) %>%
  na.omit()

# Verificar estructura
cat("Variables incluidas en la correlación:\n")
## Variables incluidas en la correlación:
str(vars_numericas)
## tibble [8,319 × 7] (S3: tbl_df/tbl/data.frame)
##  $ preciom     : num [1:8319] 250 320 350 400 260 240 220 310 320 780 ...
##  $ areaconst   : num [1:8319] 70 120 220 280 90 87 52 137 150 380 ...
##  $ parqueaderos: num [1:8319] 1 1 2 3 1 1 2 2 2 2 ...
##  $ banios      : num [1:8319] 3 2 2 5 2 3 2 3 4 3 ...
##  $ habitaciones: num [1:8319] 6 3 4 3 3 3 3 4 6 3 ...
##  $ latitud     : num [1:8319] 3.43 3.43 3.44 3.44 3.46 ...
##  $ longitud    : num [1:8319] -76.5 -76.5 -76.5 -76.5 -76.5 ...
##  - attr(*, "na.action")= 'omit' Named int [1:3] 8320 8321 8322
##   ..- attr(*, "names")= chr [1:3] "8320" "8321" "8322"
cat("\n")
# Matriz de correlación
cor_matrix <- cor(vars_numericas)

# Visualización
corrplot(cor_matrix, method = "color", type = "upper", 
         addCoef.col = "black", number.cex = 0.7,
         tl.col = "black", tl.srt = 45,
         title = "Matriz de correlación entre variables numéricas",
         mar = c(0,0,2,0))
Figura 5. Matriz de correlación entre variables numéricas

Figura 5. Matriz de correlación entre variables numéricas

En la Figura 5. Matriz de correlación entre variables numéricas, se observa que el precio (preciom) presenta una correlación positiva alta con el área construida (0,69), el número de baños (0,67) y los parqueaderos (0,62), lo que confirma que estas características estructurales son determinantes clave en la valoración inmobiliaria. La correlación con el número de habitaciones es moderada (0,26), lo que sugiere que no es únicamente la cantidad de espacios, sino su tamaño y nivel de equipamiento (baños y parqueaderos) lo que impacta significativamente el precio. Asimismo, se evidencian correlaciones importantes entre área construida y baños (0,65), y entre baños y habitaciones (0,59), indicando que estas variables tienden a crecer conjuntamente, reflejando un patrón estructural coherente en el diseño de las viviendas.

Por otro lado, las variables geográficas (latitud y longitud) muestran correlaciones bajas o ligeramente negativas con el precio, lo que sugiere que la localización influye, pero no de forma lineal directa en toda la ciudad, sino posiblemente a través de segmentaciones por zona que no se capturan completamente con coordenadas numéricas. Desde el punto de vista metodológico, estas correlaciones justifican plenamente la aplicación del Análisis de Componentes Principales, ya que existe multicolinealidad entre variables estructurales que puede sintetizarse en factores latentes. Estratégicamente, la inmobiliaria debe priorizar variables como área, baños y parqueaderos en sus modelos de valoración y negociación, dado que concentran la mayor capacidad explicativa del precio dentro del mercado analizado.

3.6 Precio por estrato

ggplot(vivienda, aes(x = estrato, y = preciom, fill = estrato)) +
  geom_boxplot(alpha = 0.7) +
  scale_fill_brewer(palette = "Blues") +
  labs(title = "Distribución del precio por estrato socioeconómico",
       x = "Estrato",
       y = "Precio (millones)") +
  theme_minimal() +
  theme(plot.title = element_text(hjust = 0.5, face = "bold"),
        legend.position = "none")
Figura 6. Distribución del precio por estrato socioeconómico

Figura 6. Distribución del precio por estrato socioeconómico

En la Figura 6. Distribución del precio por estrato socioeconómico, se observa una relación claramente creciente entre el nivel de estrato y el precio de las viviendas. La mediana y el rango intercuartílico aumentan progresivamente desde el estrato 3 hasta el estrato 6, siendo este último el que concentra los valores más altos y la mayor dispersión. Esto indica que el estrato no solo influye en el nivel promedio de precios, sino también en la heterogeneidad del mercado dentro de cada segmento socioeconómico.

Asimismo, se evidencia la presencia de valores atípicos en todos los estratos, aunque su magnitud es considerablemente mayor en los estratos 5 y 6, donde se ubican las propiedades de mayor valor del mercado. Esto confirma que el segmento premium está fuertemente asociado a los niveles socioeconómicos más altos. Desde una perspectiva estratégica, esta figura demuestra que el estrato es una variable estructural clave en la formación del precio y debe ser incorporada como factor central en los modelos de segmentación, valoración y planificación de inversión inmobiliaria.

3.7 Análisis comparativo: Casa vs Apartamento

# Filtrar solo casas y apartamentos si existen otros tipos
vivienda_comparacion <- vivienda %>%
  filter(tipo %in% c("Casa", "Apartamento"))

# Test t para comparar precios
if(nrow(vivienda_comparacion %>% filter(tipo == "Casa")) > 0 & 
   nrow(vivienda_comparacion %>% filter(tipo == "Apartamento")) > 0) {
  
  test_resultado <- t.test(preciom ~ tipo, data = vivienda_comparacion)
  
  cat("Test t de Student para diferencia de precios entre Casa y Apartamento:\n")
  cat("Estadístico t:", round(test_resultado$statistic, 3), "\n")
  cat("p-valor:", format.pval(test_resultado$p.value, digits = 3), "\n")
  cat("Intervalo de confianza 95%:", 
      round(test_resultado$conf.int[1], 2), "-", 
      round(test_resultado$conf.int[2], 2), "\n")
  
  if(test_resultado$p.value < 0.05) {
    cat("\nConclusión: Existe diferencia estadísticamente significativa en los precios.\n")
  } else {
    cat("\nConclusión: No existe diferencia estadísticamente significativa en los precios.\n")
  }
}
## Test t de Student para diferencia de precios entre Casa y Apartamento:
## Estadístico t: -23.071 
## p-valor: <2e-16 
## Intervalo de confianza 95%: -187.75 - -158.35 
## 
## Conclusión: Existe diferencia estadísticamente significativa en los precios.

El test t de Student arroja un estadístico t = -23.071 con un p-valor < 2e-16, lo que indica una diferencia altamente significativa entre los precios promedio de casas y apartamentos. El intervalo de confianza al 95% (entre -187,75 y -158,35 millones) confirma que la diferencia en precios no solo es estadísticamente significativa, sino también económicamente relevante. El signo negativo del estadístico sugiere que, en promedio, los apartamentos presentan precios inferiores en comparación con las casas.

Desde una perspectiva estratégica, este resultado valida empíricamente que el tipo de vivienda constituye un factor determinante en la estructura del mercado inmobiliario. No se trata únicamente de una diferencia visual en los diagramas de caja, sino de una brecha consistente y estadísticamente comprobada. Para la inmobiliaria, esto implica que las estrategias de valoración, negociación y segmentación comercial deben diferenciar claramente entre casas y apartamentos, ya que pertenecen a dinámicas de mercado distintas en términos de nivel de precio y potencial de rentabilidad.

3.8 Conclusiones preliminares EDA

EEl análisis exploratorio evidencia que el mercado inmobiliario urbano estudiado presenta una estructura claramente segmentada y heterogénea, con una distribución del precio asimétrica hacia valores altos y presencia de un submercado premium. La mayoría de las propiedades se concentra en rangos intermedios (aproximadamente entre 220 y 540 millones), mientras que un grupo reducido de inmuebles alcanza valores considerablemente superiores, elevando la media y aumentando la dispersión general. Esto confirma que el mercado no puede analizarse como un bloque homogéneo, sino que requiere enfoques diferenciados por segmento.

Asimismo, se identificó que variables estructurales como área construida, número de baños y parqueaderos presentan una fuerte relación con el precio, lo que indica que las características físicas del inmueble son determinantes clave en su valoración. El estrato socioeconómico también muestra una relación creciente y consistente con el precio, consolidándose como un factor explicativo central. De igual forma, el tipo de vivienda (casa vs apartamento) presenta diferencias estadísticamente significativas en los niveles de precio, validando la necesidad de segmentación por tipología.

En conjunto, estos hallazgos preliminares establecen una base sólida para los análisis multivariados posteriores (PCA, clustering y correspondencias), ya que evidencian correlaciones estructurales, diferencias entre segmentos y patrones de comportamiento claros en el mercado. Desde una perspectiva estratégica, la empresa inmobiliaria debe considerar modelos de valoración y comercialización diferenciados por zona, estrato y tipo de vivienda, con especial atención al segmento premium, que aunque menos frecuente, representa oportunidades de alta rentabilidad.

4 Análisis de Componentes Principales (PCA)

4.1 Preparación de datos para PCA

# Selección de variables cuantitativas
vars_pca <- vivienda %>%
  select(preciom, areaconst, parqueaderos, banios, habitaciones, latitud, longitud) %>%
  na.omit()

# Estandarización de variables
viviendaZ <- scale(vars_pca)

# Dimensiones
cat("Dimensión de la matriz de datos:", nrow(viviendaZ), "observaciones y", ncol(viviendaZ), "variables.\n")
## Dimensión de la matriz de datos: 8319 observaciones y 7 variables.

4.2 Cálculo del PCA

# Aplicar PCA
res.pca <- prcomp(viviendaZ)

# Resumen
summary(res.pca)
## Importance of components:
##                           PC1    PC2    PC3    PC4     PC5     PC6     PC7
## Standard deviation     1.7999 1.1122 0.9206 0.8563 0.64842 0.57558 0.43665
## Proportion of Variance 0.4628 0.1767 0.1211 0.1048 0.06006 0.04733 0.02724
## Cumulative Proportion  0.4628 0.6395 0.7606 0.8654 0.92544 0.97276 1.00000

Los resultados muestran que el primer componente principal (PC1) explica el 46,28% de la varianza total, mientras que el segundo componente (PC2) explica el 17,67%. En conjunto, los dos primeros componentes capturan aproximadamente el 63,95% de la variabilidad total, y los tres primeros alcanzan el 76,06%, lo cual indica que una parte importante de la información del mercado puede representarse en un espacio reducido de dimensiones.

El alto peso del PC1 sugiere la existencia de un factor dominante subyacente, probablemente asociado a características estructurales del inmueble como área construida, baños, parqueaderos y precio, que previamente mostraron altas correlaciones. Esto indica que gran parte de la variabilidad del mercado inmobiliario está explicada por un eje común relacionado con el tamaño y nivel de equipamiento de las viviendas. El PC2, al capturar un 17,67% adicional, podría estar representando una dimensión complementaria vinculada a variables espaciales o diferencias más específicas entre inmuebles.

Desde una perspectiva estratégica, estos resultados indican que el mercado puede sintetizarse en pocos factores clave, lo que facilita la construcción de modelos de segmentación más eficientes. La reducción de dimensionalidad no solo simplifica el análisis, sino que permite identificar los ejes estructurales que realmente diferencian las propiedades en el mercado. Esto es especialmente útil para desarrollar herramientas de valoración automatizada, clasificación de inmuebles y diseño de portafolios de inversión basados en perfiles dominantes del mercado.

4.3 Elección del número de componentes principales

fviz_eig(res.pca, addlabels = TRUE, ylim = c(0, 50)) +
  labs(title = "Gráfico de sedimentación",
       x = "Componentes Principales",
       y = "Porcentaje de varianza explicada") +
  theme_minimal()
Figura 7. Varianza explicada por cada componente principal

Figura 7. Varianza explicada por cada componente principal

En la Figura 7 el primer componente principal explica aproximadamente el 46.3% de la variabilidad contenida en la base de datos, y entre los dos primeros componentes se explica cerca del 64% de los datos. Esto indica que con solo dos variables (CP1 y CP2) obtenidas mediante combinaciones lineales de las variables originales, se puede resumir gran parte de la variabilidad del mercado inmobiliario.

4.4 Visualización de variables

fviz_pca_var(res.pca,
             col.var = "contrib",
             gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"),
             repel = TRUE) +
  labs(title = "Círculo de correlaciones") +
  theme_minimal()
Figura 8. Círculo de correlaciones - Contribución de variables

Figura 8. Círculo de correlaciones - Contribución de variables

Al visualizar las variables en el plano de los componentes principales se puede identificar el sentido y la caracterización de los componentes. En este análisis:

  • Primer componente principal (Dim1): está principalmente asociado con variables de tamaño y valor económico como área construida, precio, número de habitaciones, baños y parqueaderos.

  • Segundo componente principal (Dim2): se asocia principalmente con las variables de localización geográfica (latitud y longitud).

4.5 Análisis de casos extremos

Para explicar el sentido de los ejes, se seleccionan cuatro casos extremos:

# Identificar casos extremos en ambos componentes
scores <- as.data.frame(res.pca$x[,1:2])
scores$id <- 1:nrow(scores)

# Casos extremos en PC1
caso_pc1_max <- scores[which.max(scores$PC1), "id"]
caso_pc1_min <- scores[which.min(scores$PC1), "id"]

# Casos extremos en PC2
caso_pc2_max <- scores[which.max(scores$PC2), "id"]
caso_pc2_min <- scores[which.min(scores$PC2), "id"]

# Crear tabla de casos
indices_casos <- c(caso_pc1_max, caso_pc1_min, caso_pc2_max, caso_pc2_min)
datos_casos <- vars_pca[indices_casos, ]
rownames(datos_casos) <- paste0("Caso ", 1:4)

datos_casos %>%
  kable(digits = 2, caption = "Tabla 4. Características de casos extremos") %>%
  kable_styling(bootstrap_options = c("striped", "hover"))
Tabla 4. Características de casos extremos
preciom areaconst parqueaderos banios habitaciones latitud longitud
1800 1586 10 4 5 3.36 -76.54
165 80 2 0 0 3.42 -76.48
148 87 2 0 0 3.38 -76.55
370 1440 1 4 10 3.46 -76.50

El análisis de los casos extremos evidencia la fuerte dispersión existente en el mercado inmobiliario urbano. Se observa un inmueble de muy alto valor por metro cuadrado (1800) acompañado de gran área construida y alta dotación (10 parqueaderos), lo que confirma el extremo superior del componente asociado a lujo y escala. En contraste, los casos con precios por metro cuadrado bajos (148 y 165) y dimensiones reducidas representan el segmento inferior del mercado, caracterizado por menor tamaño y equipamiento. Finalmente, el caso con amplia área (1440 m²) y numerosas habitaciones, pero precio moderado (370), sugiere que el tamaño no siempre garantiza alta valorización, evidenciando la posible influencia de factores de localización o calidad percibida. En conjunto, estos extremos reflejan una marcada heterogeneidad del mercado y respaldan la interpretación de los componentes principales como ejes de tamaño–valor y diferenciación estructural.

4.6 Visualización de individuos

# Preparar datos de casos extremos
casos1 <- scores[c(caso_pc1_max, caso_pc1_min), 1:2]
casos2 <- scores[c(caso_pc2_max, caso_pc2_min), 1:2]

# Gráfico
fviz_pca_ind(res.pca, 
             col.ind = "#DEDEDE",
             alpha.ind = 0.3) +
  geom_point(data = casos1, aes(x = PC1, y = PC2), color = "red", size = 4) +
  geom_point(data = casos2, aes(x = PC1, y = PC2), color = "blue", size = 4) +
  labs(title = "Individuos en el plano factorial",
       subtitle = "Rojo: Extremos PC1 | Azul: Extremos PC2") +
  theme_minimal()
Figura 9. Plano factorial con casos extremos destacados

Figura 9. Plano factorial con casos extremos destacados

De la Figura 9 se obeserva los casos ubicados en los extremos del primer componente (puntos rojos) muestran diferencias marcadas en:

  • Precio y área construida
  • Número de habitaciones, baños y parqueaderos
  • Esto confirma que Dim1 representa la escala económica de la propiedad

Los casos ubicados en los extremos del segundo componente (puntos azules) muestran principalmente diferencias en:

  • Ubicación geográfica (latitud/longitud)
  • Esto confirma que Dim2 representa el eje espacial del mercado

4.7 Biplot por estrato

fviz_pca_biplot(res.pca,
                geom.ind = "point",
                col.ind = vivienda$estrato[1:nrow(vars_pca)],
                palette = "Set1",
                alpha.ind = 0.5,
                pointsize = 1.5,
                col.var = "#034A94",
                repel = TRUE,
                legend.title = "Estrato") +
  labs(title = "Biplot - Variables e individuos por estrato") +
  theme_minimal()
## Ignoring unknown labels:
## • fill : "Estrato"
## • linetype : "Estrato"
Figura 10. Biplot - Variables e individuos coloreados por estrato

Figura 10. Biplot - Variables e individuos coloreados por estrato

La representación conjunta de variables e individuos en el biplot de la Figura 8 permite profundizar en la segmentación socioeconómica del mercado inmobiliario.

  1. Agrupación por estrato: Se observa un patrón claro de ordenamiento a lo largo del primer componente (Dim1). Las propiedades de estratos altos (5 y 6) se concentran predominantemente en valores positivos de este eje, asociándose con mayores áreas construidas, precios por metro cuadrado más elevados y mejor dotación (habitaciones, baños y parqueaderos). En contraste, los estratos 3 y 4 tienden a ubicarse hacia valores cercanos o negativos de Dim1, reflejando inmuebles de menor escala y valorización. Esto confirma que el primer componente no solo captura tamaño y precio, sino que también actúa como un gradiente socioeconómico del mercado.

  2. Distribución espacial: La dispersión vertical en el segundo componente (Dim2) muestra que, dentro de cada estrato, existe variabilidad geográfica significativa. Esto indica que la localización introduce diferencias adicionales incluso entre propiedades de características estructurales similares, evidenciando que el mercado no es homogéneo territorialmente y que existen microzonas con comportamientos diferenciados.

  3. Relación entre variables: Las flechas correspondientes a área construida, precio, habitaciones, baños y parqueaderos presentan direcciones similares y ángulos pequeños entre sí, lo que evidencia alta correlación positiva y confirma que estas variables conforman el núcleo explicativo del componente económico (Dim1). Por su parte, latitud y longitud muestran mayor contribución relativa en Dim2, consolidando este eje como dimensión espacial. En términos estratégicos, el biplot demuestra que la segmentación por estrato está estrechamente vinculada a la escala física y valorización del inmueble, mientras que la ubicación introduce una segunda capa de diferenciación clave para decisiones de inversión y posicionamiento competitivo.

4.8 Conclusión preliminar

En conclusión, el Análisis de Componentes Principales demuestra que la dinámica del mercado inmobiliario urbano puede explicarse fundamentalmente a través de dos grandes ejes: uno económico–estructural, asociado al tamaño, precio y nivel de dotación de las propiedades, y otro geográfico, relacionado con la localización dentro de la ciudad. Al concentrar más del 60–70% de la variabilidad total en estos dos componentes, se logra una representación sintética y estratégica del mercado, permitiendo identificar patrones claros de segmentación y sentando una base sólida para el análisis de conglomerados y la toma de decisiones orientadas a maximizar valor e inversión.

5 Análisis de Conglomerados (Clustering)

El análisis de conglomerados tiene como objetivo identificar grupos de viviendas con características similares, permitiendo segmentar el mercado inmobiliario. Esta técnica facilita reconocer patrones en los datos y clasificar las viviendas en segmentos homogéneos, lo cual resulta útil para la toma de decisiones comerciales y estrategias de mercado.

5.1 Preparación de datos

# Selección de variables cuantitativas relevantes
vivienda_num <- vivienda %>%
  select(preciom, areaconst, parqueaderos, banios, habitaciones, estrato) %>%
  na.omit() %>%
  mutate(estrato = as.numeric(as.character(estrato)))

# Estandarización de variables
datos_scaled <- scale(vivienda_num)

cat("Dimensiones del dataset para clustering:", nrow(datos_scaled), "observaciones y", ncol(datos_scaled), "variables.\n")
## Dimensiones del dataset para clustering: 8322 observaciones y 6 variables.

5.2 Determinación del número óptimo de clusters

fviz_nbclust(datos_scaled, kmeans, method = "wss") +
  labs(title = "Método del codo",
       x = "Número de clusters (k)",
       y = "Suma de cuadrados intra-cluster") +
  theme_minimal()
Figura 11. Método del codo para determinar el número óptimo de clusters

Figura 11. Método del codo para determinar el número óptimo de clusters

Del Figura 11 se evidencia una disminución pronunciada en la variabilidad al pasar de 1 a 2 conglomerados, y reducciones progresivamente menores a partir de allí.

A partir de 4 conglomerados la curva comienza a estabilizarse, lo que indica que agregar más grupos no genera mejoras sustanciales. Por esta razón, se decidió trabajar con 4 clusters, ya que representan un balance adecuado entre capacidad explicativa e interpretabilidad de los segmentos.

Por lo tanto, se seleccionaron 4 clusters, logrando un equilibrio entre capacidad explicativa e interpretabilidad de los segmentos.

5.3 Aplicación de K-means

set.seed(123)

km <- kmeans(datos_scaled, centers = 4, nstart = 25)

km$size
## [1]  898 3965  949 2510

La segmentación permitió identificar cuatro conglomerados con una distribución de observaciones proporcionalmente equilibrada, lo que sugiere una estructura de mercado bien diferenciada y sin concentraciones extremas en un solo grupo. Esta configuración evidencia que el algoritmo logró capturar patrones reales en los datos, generando segmentos suficientemente representativos y estratégicamente útiles, evitando tanto la fragmentación excesiva como la creación de grupos residuales poco relevantes para la toma de decisiones comerciales.

5.4 Caracterización de los clusters

vivienda_cluster <- vivienda_num %>%
  mutate(cluster = km$cluster)

aggregate(. ~ cluster, vivienda_cluster, mean)
##   cluster   preciom areaconst parqueaderos   banios habitaciones  estrato
## 1       1 1136.5256  418.7758     3.796214 5.121381     4.383073 5.723831
## 2       2  220.2340   91.2354     1.374023 2.073392     2.893569 4.042623
## 3       3  445.1349  298.5607     1.836670 4.454162     6.417281 3.900948
## 4       4  515.6892  173.1114     1.966932 3.523904     3.387649 5.454582

El análisis de conglomerados permitió identificar cuatro segmentos diferenciados en el mercado inmobiliario:

  • El primer segmento agrupa viviendas de perfil económico, caracterizadas por menores niveles de precio por metro cuadrado, áreas más reducidas y menor dotación (baños y parqueaderos). Este grupo se asocia principalmente a estratos medios, constituyendo el núcleo del mercado masivo.

  • El segundo segmento corresponde a viviendas de nivel intermedio, con características equilibradas en términos de tamaño, precio y equipamiento. Representa un mercado de transición, atractivo para compradores que buscan una relación costo–beneficio balanceada.

  • El cuarto segmento agrupa viviendas premium, con altos precios por metro cuadrado, amplias áreas construidas y mayor dotación de baños y parqueaderos, estrechamente vinculadas a estratos altos. Este segmento refleja el mercado de lujo y alta valorización.

En conjunto, esta segmentación revela que el mercado no solo se organiza por nivel de precio, sino también por combinaciones específicas de tamaño, dotación y estrato socioeconómico. A continuación, se presenta la visualización gráfica de esta distribución para analizar con mayor detalle la separación entre los grupos.

5.5 Visualización de los clusters

fviz_cluster(km, data = datos_scaled,
             palette = "Set1",
             ellipse.type = "convex",
             ggtheme = theme_minimal(),
             main = "Segmentación del mercado inmobiliario")
Figura 12. Visualización de clusters en componentes principales

Figura 12. Visualización de clusters en componentes principales

La Figura 12 de conglomerados permite visualizar la segmentación de las viviendas en los cuatro grupos con características relativamente diferenciadas. Se observa que los clusters se separan principalmente a lo largo de la primera componente principal, lo que indica que variables como precio, área construida y número de baños tienen un papel importante en la diferenciación de los segmentos.

Cada conglomerado representa perfiles de vivienda distintos, desde propiedades de menor valor y tamaño hasta viviendas de mayor precio y características más amplias. La segmentación facilita la identificación de patrones en el mercado inmobiliario y puede apoyar la toma de decisiones estratégicas según el tipo de vivienda analizada.

5.6 Conclusión Preliminar Clustering

En esta sección, el análisis de conglomerados permitió identificar cuatro segmentos estructuralmente diferenciados dentro del mercado inmobiliario, definidos por combinaciones específicas de precio por metro cuadrado, área construida, nivel de dotación y estrato socioeconómico. La utilización del método del codo respaldó técnicamente la selección de cuatro clusters, al evidenciar un punto de equilibrio entre reducción de la variabilidad interna y claridad interpretativa. Los resultados confirman que el mercado no opera como un conjunto homogéneo, sino que se organiza en perfiles claramente escalonados que abarcan desde viviendas de carácter económico hasta propiedades premium, incluyendo segmentos intermedios y viviendas amplias en contextos de valorización media. Esta segmentación aporta una visión estructurada de la oferta y fortalece el entendimiento de la dinámica competitiva.

De manera general, se concluye que el mercado inmobiliario urbano presenta una configuración segmentada y estratificada, donde las propiedades tienden a agruparse de forma natural según su nivel de valorización y características físicas. La identificación de cuatro conglomerados bien definidos demuestra que existen patrones consistentes en la oferta, lo que implica que las decisiones de compra, fijación de precios y comercialización deben adaptarse a las particularidades de cada segmento y no aplicarse de forma uniforme.

En términos estratégicos, el clustering revela la existencia de nichos diferenciados —económico, intermedio, amplio con valorización media y premium— cada uno con comportamientos y oportunidades específicas. Esto permite a la empresa inmobiliaria diseñar propuestas de valor ajustadas a cada perfil, optimizar la asignación de recursos comerciales y priorizar inversiones en aquellos segmentos con mayor potencial de crecimiento, rentabilidad o posicionamiento competitivo.

6 Análisis de Correspondencias

El análisis de correspondencias múltiples (MCA) se aplicó a las variables categóricas con el fin de explorar asociaciones entre categorías de zona, tipo de vivienda y estrato. Esta técnica permite representar las relaciones entre categorías en un espacio bidimensional, facilitando la identificación de patrones de asociación en el mercado inmobiliario.

La variable barrio no fue incluida en el análisis de correspondencias debido a su alta cantidad de categorías, lo que puede generar dispersión excesiva y reducir la claridad interpretativa del modelo.

6.1 Preparación de datos

# Selección de variables categóricas
vivienda_cat <- vivienda %>%
  select(zona, tipo, estrato) %>%
  na.omit() %>%
  mutate(across(everything(), as.factor))

cat("Dimensiones del dataset para MCA:", nrow(vivienda_cat), "observaciones y", ncol(vivienda_cat), "variables.\n")
## Dimensiones del dataset para MCA: 8319 observaciones y 3 variables.
cat("\nNiveles por variable:\n")
## 
## Niveles por variable:
cat("Zona:", nlevels(vivienda_cat$zona), "categorías\n")
## Zona: 5 categorías
cat("Tipo:", nlevels(vivienda_cat$tipo), "categorías\n")
## Tipo: 2 categorías
cat("Estrato:", nlevels(vivienda_cat$estrato), "categorías\n")
## Estrato: 4 categorías

En esta etapa se seleccionaron las variables categóricas de interés (zona, tipo y estrato), asegurando su correcta codificación como factores. Esta transformación es fundamental, ya que el MCA requiere variables cualitativas para estimar las asociaciones entre categorías. La depuración previa de datos faltantes permitió trabajar con un conjunto consistente de observaciones, garantizando que las relaciones identificadas reflejen patrones reales del mercado y no distorsiones derivadas de inconsistencias en la información.

6.2 Aplicación del MCA

# Análisis de correspondencias múltiples
mca_res <- MCA(vivienda_cat, graph = FALSE)

# Resumen del MCA
summary(mca_res)
## 
## Call:
## MCA(X = vivienda_cat, graph = FALSE) 
## 
## 
## Eigenvalues
##                        Dim.1   Dim.2   Dim.3   Dim.4   Dim.5   Dim.6   Dim.7
## Variance               0.562   0.453   0.380   0.333   0.323   0.272   0.201
## % of var.             21.078  16.992  14.237  12.504  12.124  10.192   7.551
## Cumulative % of var.  21.078  38.070  52.307  64.811  76.936  87.127  94.678
##                        Dim.8
## Variance               0.142
## % of var.              5.322
## Cumulative % of var. 100.000
## 
## Individuals (the 10 first)
##                 Dim.1    ctr   cos2    Dim.2    ctr   cos2    Dim.3    ctr
## 1            |  2.421  0.125  0.606 |  0.963  0.025  0.096 |  0.504  0.008
## 2            |  2.421  0.125  0.606 |  0.963  0.025  0.096 |  0.504  0.008
## 3            |  2.421  0.125  0.606 |  0.963  0.025  0.096 |  0.504  0.008
## 4            |  0.103  0.000  0.006 | -0.722  0.014  0.298 |  0.899  0.026
## 5            | -0.072  0.000  0.003 | -0.330  0.003  0.054 | -1.308  0.054
## 6            | -0.072  0.000  0.003 | -0.330  0.003  0.054 | -1.308  0.054
## 7            | -0.069  0.000  0.002 | -0.539  0.008  0.127 | -0.518  0.008
## 8            | -0.072  0.000  0.003 | -0.330  0.003  0.054 | -1.308  0.054
## 9            |  0.394  0.003  0.067 | -0.401  0.004  0.069 | -0.914  0.026
## 10           |  0.394  0.003  0.067 | -0.401  0.004  0.069 | -0.914  0.026
##                cos2  
## 1             0.026 |
## 2             0.026 |
## 3             0.026 |
## 4             0.462 |
## 5             0.857 |
## 6             0.857 |
## 7             0.117 |
## 8             0.857 |
## 9             0.361 |
## 10            0.361 |
## 
## Categories (the 10 first)
##                  Dim.1     ctr    cos2  v.test     Dim.2     ctr    cos2
## Zona Centro  |   2.712   6.500   0.111  30.423 |   0.978   1.049   0.014
## Zona Norte   |   0.449   2.763   0.061  22.448 |  -0.251   1.066   0.019
## Zona Oeste   |  -1.067   9.727   0.192 -39.923 |   1.761  32.849   0.522
## Zona Oriente |   3.083  23.782   0.419  59.014 |   1.421   6.267   0.089
## Zona Sur     |  -0.212   1.516   0.059 -22.190 |  -0.476   9.461   0.298
## Apartamento  |  -0.406   5.980   0.261 -46.558 |   0.056   0.139   0.005
## Casa         |   0.643   9.474   0.261  46.558 |  -0.088   0.221   0.005
## 3            |   1.720  30.646   0.626  72.168 |   0.612   4.816   0.079
## 4            |  -0.199   0.600   0.014 -10.636 |  -0.894  15.033   0.275
## 5            |  -0.206   0.830   0.021 -13.188 |  -0.471   5.394   0.110
##               v.test     Dim.3     ctr    cos2  v.test  
## Zona Centro   10.972 |   1.171   1.794   0.021  13.135 |
## Zona Norte   -12.516 |  -1.378  38.467   0.570 -68.830 |
## Zona Oeste    65.872 |  -0.154   0.298   0.004  -5.746 |
## Zona Oriente  27.200 |   0.723   1.935   0.023  13.833 |
## Zona Sur     -49.767 |   0.514  13.192   0.348  53.793 |
## Apartamento    6.380 |  -0.282   4.271   0.126 -32.337 |
## Casa          -6.380 |   0.446   6.767   0.126  32.337 |
## 3             25.688 |  -0.238   0.867   0.012  -9.976 |
## 4            -47.795 |   0.702  11.075   0.170  37.552 |
## 5            -30.184 |  -0.758  16.683   0.284 -48.589 |
## 
## Categorical variables (eta2)
##                Dim.1 Dim.2 Dim.3  
## zona         | 0.747 0.689 0.634 |
## tipo         | 0.261 0.005 0.126 |
## estrato      | 0.679 0.665 0.379 |

Los resultados del Análisis de Correspondencias Múltiples muestran que las dos primeras dimensiones explican el 38,07% de la variabilidad total, mientras que las tres primeras alcanzan el 52,3%. Esto indica que, aunque la estructura categórica es más compleja que en el ACP (lo cual es normal en variables cualitativas), las primeras dimensiones permiten capturar una proporción sustancial de las asociaciones entre zona, tipo y estrato, siendo suficientes para una interpretación estratégica inicial.

6.2.1 Interpretación de las dimensiones

Dimensión 1 (21,1%) Está fuertemente asociada principalmente con zona (η² = 0.747) y estrato (η² = 0.679), y en menor medida con tipo (η² = 0.261). Las categorías con mayores contribuciones y valores test significativos muestran una clara oposición entre ciertas zonas (por ejemplo, Zona Oriente y Zona Centro con valores positivos elevados, frente a Zona Oeste con valores negativos marcados). Asimismo, el estrato 3 presenta una fuerte contribución positiva en esta dimensión. Esto sugiere que la primera dimensión representa un gradiente socioespacial del mercado, diferenciando combinaciones específicas de zona y estrato.

Dimensión 2 (16,99%) También está fuertemente influenciada por zona (η² = 0.689) y estrato (η² = 0.665), mientras que el tipo de vivienda prácticamente no contribuye (η² = 0.005). Esto indica que la segunda dimensión captura principalmente una diferenciación territorial dentro de los estratos, reforzando la importancia de la localización como eje estructurante del mercado.

6.2.2 Rol del tipo de vivienda

El tipo (Casa vs Apartamento) tiene un peso moderado en la Dimensión 1 y muy bajo en la Dimensión 2, lo que sugiere que la distinción entre casa y apartamento es relevante, pero no constituye el principal factor de segmentación categórica del mercado. En otras palabras, el mercado parece organizarse más por combinaciones de zona y estrato que por tipo de inmueble.

###Implicaciones estratégicas

El MCA confirma que el mercado inmobiliario urbano presenta una estructura socioespacial claramente definida, donde la localización y el nivel socioeconómico están estrechamente asociados. Las zonas no se distribuyen aleatoriamente entre estratos, sino que muestran patrones consistentes de concentración. Desde una perspectiva estratégica, esto implica que:

  • Las decisiones comerciales deben considerar la interacción entre zona y estrato, no analizarlas de forma aislada.

  • Existen territorios con posicionamientos socioeconómicos bien definidos, lo que facilita estrategias de segmentación territorial.

  • El tipo de vivienda actúa como complemento del perfil socioespacial, pero no como eje principal de diferenciación.

En síntesis, el MCA aporta una comprensión relacional del mercado, mostrando que la oferta inmobiliaria está estructurada principalmente por patrones territoriales y socioeconómicos interdependientes, lo cual resulta clave para diseñar estrategias de posicionamiento y expansión geográfica.

6.3 Visualización de variables categóricas

fviz_mca_var(mca_res, 
             repel = TRUE,
             col.var = "contrib",
             gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"),
             ggtheme = theme_minimal()) +
  labs(title = "Mapa de correspondencias - Variables categóricas") +
  theme(plot.title = element_text(hjust = 0.5, face = "bold", size = 14))
Figura 13. Análisis de correspondencias múltiples - Variables categóricas

Figura 13. Análisis de correspondencias múltiples - Variables categóricas

De la Figura 13 se evidencia que la estructura del mercado inmobiliario está fuertemente determinada por la relación entre zona y estrato socioeconómico. En la primera dimensión (21,1%) se observa una clara diferenciación territorial, donde zonas como Oriente y Centro se asocian con determinados niveles de estrato, mientras que Zona Oeste presenta un perfil claramente diferenciado. Esto confirma que la segmentación del mercado no es aleatoria, sino que responde a patrones socioespaciales bien definidos.

En la segunda dimensión (17%) se refuerzan estas asociaciones, destacándose la vinculación de ciertos estratos altos con zonas específicas, mientras que los estratos intermedios se relacionan con otras áreas de la ciudad. El tipo de vivienda (casa o apartamento) muestra menor peso estructural en comparación con la combinación zona–estrato, lo que indica que la localización y el nivel socioeconómico son los principales ejes que organizan la oferta inmobiliaria.

6.4 Conclusion Preliminar Correspondencias

En conclusión preliminar, el Análisis de Correspondencias Múltiples confirma que el mercado inmobiliario urbano presenta una estructura socioespacial claramente definida, donde la zona y el estrato socioeconómico están fuertemente asociados y constituyen los principales ejes de organización de la oferta. La localización no solo influye en el valor económico —como se evidenció en el ACP— sino también en la composición social del mercado, mientras que el tipo de vivienda desempeña un papel complementario. Estos resultados refuerzan la importancia de diseñar estrategias comerciales y de posicionamiento considerando de manera integrada el territorio y el perfil socioeconómico predominante en cada zona.

7 Conclusiones Finales

7.1 Síntesis del análisis integral del mercado inmobiliario urbano

El presente estudio aplicó un conjunto de técnicas multivariadas (Análisis Exploratorio, Componentes Principales, Conglomerados y Correspondencias) con el objetivo de comprender de manera integral la estructura del mercado inmobiliario urbano. A continuación, se presentan las principales conclusiones derivadas de este análisis.

7.1.1 1. El mercado inmobiliario es estructuralmente segmentado y no homogéneo

El análisis integral confirma que el mercado inmobiliario urbano no funciona como un bloque uniforme, sino que está claramente dividido en segmentos diferenciados por nivel económico, características estructurales y localización. Existe un mercado masivo concentrado en rangos medios de precio (entre 220 y 540 millones) y un submercado premium menos frecuente pero de alto impacto en la valorización total (con precios superiores a los 1.000 millones).

Esta segmentación no es accidental, sino que responde a patrones consistentes de oferta y demanda que deben reconocerse en toda estrategia comercial. La distribución asimétrica del precio evidencia que una proporción importante del valor total del mercado se concentra en propiedades de alto nivel, lo que implica que las oportunidades de rentabilidad no se distribuyen uniformemente.

7.1.2 2. El precio está determinado principalmente por factores estructurales

Las variables con mayor poder explicativo del precio son el área construida (correlación 0.69), número de baños (0.67) y parqueaderos (0.62), seguidas por el estrato socioeconómico. El tamaño y la dotación del inmueble conforman el eje económico dominante del mercado, mientras que el número de habitaciones tiene una influencia menor comparativamente (0.26).

Esto indica que los compradores valoran más la calidad de los espacios (expresada en baños y parqueaderos) que simplemente la cantidad de habitaciones. Para la empresa inmobiliaria, esto implica que las estrategias de valoración y mejora de activos deben priorizar la ampliación de áreas, la dotación de baños adicionales y la disponibilidad de parqueaderos como factores clave de incremento de valor.

7.1.3 3. Existen dos grandes dimensiones que explican el mercado

El Análisis de Componentes Principales demuestra que más del 60% de la variabilidad del mercado puede explicarse mediante dos ejes fundamentales:

  • Eje económico–estructural (Dim1: 46.28%): Captura el tamaño, precio y dotación de las propiedades. Representa la escala física y económica del inmueble.

  • Eje geográfico–espacial (Dim2: 17.67%): Asociado principalmente a la localización dentro de la ciudad (latitud y longitud).

Esto permite representar de forma sintética la dinámica del mercado y facilita la construcción de modelos de valoración más eficientes. La reducción de dimensionalidad no solo simplifica el análisis, sino que también revela que el mercado se organiza en torno a estos dos factores estructurales, lo cual puede aprovecharse para herramientas automatizadas de valoración y clasificación de inventario.

7.1.4 4. El mercado se organiza en cuatro segmentos claramente definidos

El análisis de conglomerados identificó cuatro perfiles estructurales:

  1. Segmento económico: Propiedades de menor precio, área reducida y dotación básica, orientadas a estratos medios. Representa el mercado de entrada y mayor volumen transaccional.

  2. Segmento intermedio: Viviendas con características balanceadas en tamaño, precio y equipamiento. Constituye el mercado de transición.

  3. Segmento amplio con valorización media: Propiedades de gran área y muchas habitaciones, pero ubicadas en estratos medios, lo que sugiere zonas periféricas o en desarrollo.

  4. Segmento premium: Alto precio, gran área construida, mayor número de baños y parqueaderos, asociado a estratos altos. Representa el mercado de lujo.

Cada uno presenta combinaciones distintas de precio, tamaño, dotación y estrato, lo que confirma que las estrategias comerciales deben adaptarse a cada perfil y no aplicarse de manera generalizada. La existencia de estos segmentos valida la necesidad de portafolios diferenciados, equipos de ventas especializados y modelos de marketing ajustados a cada nicho.

7.1.5 5. La localización y el estrato estructuran las asociaciones categóricas

El Análisis de Correspondencias Múltiples evidenció que la zona y el estrato están fuertemente asociados (η² > 0.65 en ambas dimensiones) y constituyen el eje central de organización socioespacial del mercado. Ciertas zonas concentran estratos específicos de forma sistemática, confirmando patrones territoriales definidos.

El tipo de vivienda (casa vs apartamento) influye en el precio, pero no es el principal factor de estructuración categórica del mercado. Esto implica que las decisiones de inversión deben considerar primero la combinación zona–estrato antes que el tipo de inmueble, ya que esta interacción determina en mayor medida el posicionamiento y potencial de valorización.

7.1.6 6. Implicación estratégica global

La empresa inmobiliaria debe adoptar una estrategia diferenciada por segmento, zona y nivel socioeconómico. Las principales recomendaciones son:

  • Valoración de inmuebles: Priorizar área construida, baños y parqueaderos como variables estructurales clave. Considerar el estrato y la zona como factores moduladores del precio base.

  • Decisiones de inversión: Incorporar el componente espacial como segunda dimensión estratégica. No todas las zonas presentan el mismo potencial de valorización, incluso dentro de un mismo estrato.

  • Segmentación comercial: Diseñar estrategias específicas para cada uno de los cuatro clusters identificados, evitando aproximaciones genéricas que diluyan el posicionamiento.

  • Gestión de portafolio: Balancear la composición del inventario considerando tanto el volumen transaccional del mercado medio como la rentabilidad por operación del segmento premium.

  • Expansión territorial: Priorizar zonas con perfiles socioeconómicos bien definidos y evitar dispersión en áreas con asociaciones difusas entre estrato y localización.

7.2 Conclusión general

En síntesis, el mercado inmobiliario urbano analizado presenta una estructura segmentada, estratificada y espacialmente diferenciada, donde el valor de las propiedades responde principalmente a su escala física y nivel socioeconómico, modulados por la localización.

Esta comprensión integral proporciona una base sólida para decisiones de inversión, fijación de precios y diseño de portafolios inmobiliarios más precisos y rentables. Los análisis multivariados aplicados demuestran que el mercado no es aleatorio ni homogéneo, sino que obedece a patrones estructurales claros que pueden aprovecharse estratégicamente.

La integración de PCA, clustering y correspondencias permitió una visión holística del mercado, identificando tanto los ejes económicos dominantes como las asociaciones categóricas subyacentes. Esto convierte al análisis realizado en una herramienta estratégica robusta para la toma de decisiones empresariales en un entorno competitivo y dinámico como el inmobiliario urbano.