En el dinámico escenario empresarial de hoy, la toma de decisiones fundamentadas es esencial para el éxito y la competitividad. Este informe se sumerge en el dinámico mercado inmobiliario de Cali, Colombia, utilizando un análisis estadístico descriptivo como herramienta principal. Su propósito radica en examinar las tendencias y patrones que caracterizan el sector de bienes raíces en esta próspera ciudad, con la finalidad de proporcionar a la empresa B&C (Bines y Casas) una visión integral y fundamentada que oriente su estrategia empresarial hacia un futuro prometedor.
El nacimiento y consolidación de B&C como una agencia de bienes raíces en Cali son testimonio del incansable espíritu emprendedor de Sandra Milena, quien, hace una década, sentó las bases de esta empresa. En la actualidad, con un equipo compuesto por ocho agentes inmobiliarios, B&C ha forjado un nombre sólido en el mercado local. El crecimiento constante de la población, la inversión extranjera directa y la efervescencia en el desarrollo de nuevos proyectos inmobiliarios han propiciado un ascenso vertiginoso en el mercado inmobiliario caleño. En el año 2021, las ventas del sector alcanzaron la cifra de $6700 millones, mientras que en 2022 ascendieron a $6100 millones, proyectando una trayectoria de expansión continua que augura un futuro prometedor para la economía regional.
Este informe no solo ofrecerá una panorámica clara de la evolución del mercado, sino que también identificará áreas de oportunidad a medida que se revelen patrones en la distribución de precios en diferentes zonas de la ciudad. Además, al discernir los tipos de viviendas más demandados y las características preferidas por los compradores, el informe arrojará luz sobre posibles nichos de mercado que B&C podría explotar para fortalecer su posición competitiva. La información derivada del análisis también influirá en la formulación de estrategias de marketing altamente enfocadas y en la fijación de precios optimizados para los diversos segmentos del mercado. Al aprovechar estas perspicacias, B&C estará equipada para ofrecer servicios personalizados a sus clientes y promoverá la toma de decisiones informadas tanto para los compradores como para los vendedores de propiedades.
En resumen, este análisis ofrece a B&C una base sólida para adaptarse a un mercado en constante cambio y tomar decisiones estratégicas que amplíen su influencia en el competitivo panorama inmobiliario de Cali. Con una mirada aguda sobre las tendencias y patrones, la empresa podrá no solo enfrentar los desafíos, sino también capitalizar las oportunidades emergentes en este emocionante sector
Realizar un análisis estadístico descriptivo del mercado inmobiliario en Cali, Colombia, con el propósito de proporcionar a la empresa B&C (Bines y Casas) una visión completa y fundamentada que oriente sus decisiones estratégicas y fortalezca su posición competitiva en el sector.
Garantizar la integridad y calidad de la información recopilada, llevando a cabo un proceso riguroso de validación de datos, limpieza y estandarización. Esto asegurará que el análisis posterior se base en datos confiables y coherentes, permitiendo resultados más precisos y concluyentes.
Analizar los tipos de viviendas más demandados por los compradores en Cali así como las características preferidas por los clientes, con el fin de identificar nichos de mercado y áreas de oportunidad para ofrecer servicios personalizados y adaptar estrategias de marketing.
Esta sección se centra en las metodologías empleadas para la realización de un análisis del mercado inmobiliario en Cali. Se describirá el proceso de recolección de datos, seguido de las estrategias implementadas para la limpieza y estandarización de los mismos. Estos pasos críticos en la investigación garantizarán la integridad y fiabilidad de los resultados obtenidos
La empresa B&C (Bienes y Casas) proporcionan la base de datos sobre viviendas para el estudio estadístico descriptivo de los mismos, comenzaremos descargando la base de datos
#install.packages("devtools")
#install.packages("dplyr")
devtools::install_github("dgonxalex80/paqueteMET")
library(paqueteMET)
library(dplyr)
data(vivienda_faltantes)
head(vivienda_faltantes)
| id | zona | piso | estrato | preciom | areaconst | parquea | banios | habitac | tipo | barrio | longitud | latitud |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 8312 | Zona Oeste | 4 | 6 | 1300 | 318 | 2 | 4 | 2 | Apartamento | arboleda | -76576 | 3454 |
| 8311 | Zona Oeste | 1 | 6 | 480 | 300 | 1 | 4 | 4 | Casa | normandía | -76571 | 3454 |
| 8307 | Zona Oeste | NA | 5 | 1200 | 800 | 4 | 7 | 5 | Casa | miraflores | -76568 | 3455 |
| 8296 | Zona Sur | 2 | 3 | 220 | 150 | 1 | 2 | 4 | Casa | el guabal | -76565 | 3417 |
| 8297 | Zona Oeste | NA | 5 | 330 | 112 | 2 | 4 | 3 | Casa | bella suiza alta | -76565 | 3408 |
| 8298 | Zona Sur | NA | 5 | 1350 | 390 | 8 | 10 | 10 | Casa | bella suiza alta | -76565 | 3409 |
Ahora vamos a describir cada una de las columnas de la tabla.
Si filtramos los datos que no se encuentran para la columna ID, se observa que esta ausencia de datos también se refleja en las otras columnas del conjunto, como lo muestra la siguiente tabla:
Filas_NA <- subset(vivienda_faltantes, is.na(id))
head(Filas_NA)
| id | zona | piso | estrato | preciom | areaconst | parquea | banios | habitac | tipo | barrio | longitud | latitud |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA |
| NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA |
| NA | NA | NA | NA | 330 | NA | NA | NA | NA | NA | NA | NA | NA |
Por lo anterior se decide eliminar esas filas y crear una nueva base de datos llamada “vivienda_faltantesOK”
vivienda_faltantesOK <- vivienda_faltantes[complete.cases(vivienda_faltantes$id),] #Seguimos trabajando con vivienda_faltantesOK no tiene NA en la columna ID
El resumen de la base de datos:
#install.packages("skimr")
skimr::skim(vivienda_faltantesOK)
| Name | vivienda_faltantesOK |
| Number of rows | 8327 |
| Number of columns | 13 |
| _______________________ | |
| Column type frequency: | |
| character | 3 |
| numeric | 10 |
| ________________________ | |
| Group variables | None |
Variable type: character
| skim_variable | n_missing | complete_rate | min | max | empty | n_unique | whitespace |
|---|---|---|---|---|---|---|---|
| zona | 0 | 1 | 8 | 12 | 0 | 5 | 0 |
| tipo | 0 | 1 | 4 | 11 | 0 | 6 | 0 |
| barrio | 0 | 1 | 4 | 29 | 0 | 436 | 0 |
Variable type: numeric
| skim_variable | n_missing | complete_rate | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|
| id | 0 | 1.00 | 4163.99 | 2403.93 | 1.00 | 2082.50 | 4164.00 | 6245.50 | 8319.00 | ▇▇▇▇▇ |
| piso | 2638 | 0.68 | 3.77 | 2.62 | 1.00 | 2.00 | 3.00 | 5.00 | 12.00 | ▇▃▁▁▁ |
| estrato | 0 | 1.00 | 4.63 | 1.03 | 3.00 | 4.00 | 5.00 | 5.00 | 6.00 | ▅▆▁▇▆ |
| preciom | 0 | 1.00 | 434.25 | 329.03 | 58.00 | 220.00 | 330.00 | 540.00 | 1999.00 | ▇▂▁▁▁ |
| areaconst | 0 | 1.00 | 174.99 | 142.95 | 30.00 | 80.00 | 123.00 | 229.00 | 1745.00 | ▇▁▁▁▁ |
| parquea | 1603 | 0.81 | 1.84 | 1.13 | 1.00 | 1.00 | 2.00 | 2.00 | 10.00 | ▇▁▁▁▁ |
| banios | 0 | 1.00 | 3.11 | 1.43 | 0.00 | 2.00 | 3.00 | 4.00 | 10.00 | ▇▇▃▁▁ |
| habitac | 0 | 1.00 | 3.61 | 1.46 | 0.00 | 3.00 | 3.00 | 4.00 | 10.00 | ▂▇▂▁▁ |
| longitud | 0 | 1.00 | -21845.13 | 34503.90 | -76576.00 | -76506.00 | -76.54 | -76.52 | -76.46 | ▃▁▁▁▇ |
| latitud | 0 | 1.00 | 970.37 | 1539.16 | 3.33 | 3.39 | 3.45 | 3367.00 | 3497.00 | ▇▁▁▁▃ |
Se observa que para la variables piso y parquea se encuentran datos perdidos (NA),
#install.packages("heatmaply")
apply(X= is.na(vivienda_faltantesOK), MARGIN = 2, FUN = sum)
## id zona piso estrato preciom areaconst parquea banios
## 0 0 2638 0 0 0 1603 0
## habitac tipo barrio longitud latitud
## 0 0 0 0 0
apply(X= is.na(vivienda_faltantesOK), MARGIN = 2, FUN = mean)
## id zona piso estrato preciom areaconst parquea banios
## 0.0000000 0.0000000 0.3168008 0.0000000 0.0000000 0.0000000 0.1925063 0.0000000
## habitac tipo barrio longitud latitud
## 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000
A partir de lo anteriormente expuesto, se evidencia que un 31.6% de los datos correspondientes a la variable “piso” se encuentran en estado de falta (NA), mientras que un 19.2% de los datos asociados a la variable “parquea” presentan la misma condición de ausencia.
Se sugiere que el responsable de la recolección de datos valide y describa la naturaleza de los valores faltantes (NA), así como proponga posibles métodos de imputación. En investigaciones futuras, se considera la opción de completar estas variables mediante imputaciones utilizando técnicas como imputación por la mediana, la media o la moda, en función de la distribución y características de los datos ausentes.
Al examinar las variables “Zona” y “Tipo”,
table(vivienda_faltantesOK$zona)
| Zona Centro | Zona Norte | Zona Oeste | Zona Oriente | Zona Sur |
|---|---|---|---|---|
| 124 | 1922 | 1204 | 351 | 4726 |
table(vivienda_faltantesOK$tipo)
| Apartamento | APARTAMENTO | apto | casa | Casa | CASA |
|---|---|---|---|---|---|
| 5032 | 61 | 13 | 14 | 3195 | 12 |
Resulta evidente la necesidad de estandarizar los datos en la variable “Tipo”. Con este propósito, se aplicará una transformación que limitará los valores de dicha variable a únicamente “Apartamento” y “Casa”.
vivienda_faltantesOK$tipo <- ifelse(vivienda_faltantesOK$tipo%in% c("apto","APARTAMENTO"), "Apartamento", vivienda_faltantesOK$tipo)#Estandarizando tipo Apartamento
vivienda_faltantesOK$tipo <- ifelse(vivienda_faltantesOK$tipo%in% c("casa","CASA"), "Casa", vivienda_faltantesOK$tipo)#Estandarizando tipo Casa
Tras la implementación de la mencionada transformación, el resultado sería el siguiente: Con una participación de 61.32% para Apartamentos y un 38.68% para casas
table(vivienda_faltantesOK$tipo)
| Apartamento | Casa |
|---|---|
| 5106 | 3221 |
barplot(table(vivienda_faltantesOK$tipo),
main = "Transformación variable Tipo",
xlab = "Tipo",
ylab = "Cantidad de viviendas",
col = "mediumseagreen"
)
T.Zona<- table(vivienda_faltantesOK$zona)
Porcentajes <- round(x=prop.table(T.Zona)*100,digits = 2)
Tabla_Resultado <- data.frame(Valor = names(T.Zona),
Valores = as.vector(T.Zona),
Porcentaje = Porcentajes)
print(Tabla_Resultado)
## Valor Valores Porcentaje.Var1 Porcentaje.Freq
## 1 Zona Centro 124 Zona Centro 1.49
## 2 Zona Norte 1922 Zona Norte 23.08
## 3 Zona Oeste 1204 Zona Oeste 14.46
## 4 Zona Oriente 351 Zona Oriente 4.22
## 5 Zona Sur 4726 Zona Sur 56.76
Como se observa en la tabla previa, de un total de 8,327 viviendas en la base de datos, 4,726 (56.76%) están ubicadas en la zona sur, mientras que 1,922 (23.08%) se encuentran en la zona norte. El restante 20% está distribuido entre las áreas oeste, oriente y centro, siendo la zona centro la de menor representación con apenas un 1.49%.
Estrato_Zona <- table(vivienda_faltantesOK$estrato, vivienda_faltantesOK$zona)
barplot(Estrato_Zona,
main= "Estrato por Zona",
ylab = "Cantidad de viviendas",
ylim = c(0, 5000),
legend = rownames(Estrato_Zona),
args.legend = list(x= "top", horiz = TRUE),
col = c("#FFFFE0", "#E6E6FA", "#87CEEB","#98FB98")
)
# Tabla Viviendas por estrato y Zona
table(vivienda_faltantesOK$estrato, vivienda_faltantesOK$zona)
| / | Zona Centro | Zona Norte | Zona Oeste | Zona Oriente | Zona Sur |
|---|---|---|---|---|---|
| 3 | 105 | 572 | 54 | 340 | 382 |
| 4 | 14 | 408 | 85 | 8 | 1616 |
| 5 | 4 | 770 | 290 | 2 | 1685 |
| 6 | 1 | 172 | 775 | 1 | 1043 |
#Tabla % Vivienda por estrato y Zona
round(x= table(vivienda_faltantesOK$estrato, vivienda_faltantesOK$zona)%>%
prop.table(.,2)*100, digits = 2)
| / | Zona Centro | Zona Norte | Zona Oeste | Zona Oriente | Zona Sur |
|---|---|---|---|---|---|
| 3 | 84.68 | 29.76 | 4.49 | 96.87 | 8.08 |
| 4 | 11.29 | 21.23 | 7.06 | 2.28 | 34.19 |
| 5 | 3.23 | 40.06 | 24.09 | 0.57 | 35.65 |
| 6 | 0.81 | 8.95 | 64.37 | 0.28 | 22.07 |
Las tablas anteriores reflejan que la zona sur está configurada por un 57% de viviendas en los estratos 5 y 6, y un 92% en los estratos 4, 5 y 6 en conjunto. De esto se deduce que el segmento de mercado más preponderante en la zona sur es el de los estratos 4, 5 y 6. Además, se destaca que un 80% de las viviendas se sitúan en los estratos 4, 5 y 6, categorizados como estratos socioeconómicos correspondientes a la clase media/alta.
Estos resultados resaltan no solo la composición estratificada de la zona sur, sino también la importancia de dirigir esfuerzos y estrategias hacia el segmento de estratos 4, 5 y 6, que no solo predomina numéricamente, sino que también se alinea con el perfil socioeconómico de la clase media/alta, abriendo oportunidades para abordar necesidades específicas y brindar soluciones a la medida de este grupo demográfico.
Zona_Tipo <- table(vivienda_faltantesOK$tipo, vivienda_faltantesOK$zona)
barplot(Zona_Tipo,
main= "Zona por Tipo de vivienda",
ylab = "Cantidad de viviendas",
ylim = c(0, 5000),
legend = rownames(Zona_Tipo),
args.legend = list(x= "top", horiz = TRUE),
col = c("#87CEEB","#98FB98"), )
# Tabla Viviendas por zona y tipo
table(vivienda_faltantesOK$zona, vivienda_faltantesOK$tipo)
| / | Apartamento | Casa |
|---|---|---|
| Zona Centro | 24 | 100 |
| Zona Norte | 1199 | 723 |
| Zona Oeste | 1035 | 169 |
| Zona Oriente | 62 | 289 |
| Zona Sur | 2786 | 1940 |
#Tabla % Vivienda por zona y tipo
round(x= table(vivienda_faltantesOK$zona, vivienda_faltantesOK$tipo)%>%
prop.table(.,1)*100, digits = 2)
| / | Apartamento | Casa |
|---|---|---|
| Zona Centro | 19.35 | 80.65 |
| Zona Norte | 62.38 | 37.62 |
| Zona Oeste | 85.96 | 14.04 |
| Zona Oriente | 17.66 | 82.34 |
| Zona Sur | 58.95 | 41.05 |
Al examinar la zona de mayor concentración de viviendas, es decir, la zona sur, se evidencia que no prevalece una predominancia clara entre apartamentos y casas. Sin embargo, en las zonas Oeste y Norte, se observa una diferencia significativa en cuanto a la proporción de apartamentos, con un 62% en la zona norte y un 85% en la zona oeste.
#Creando diagrama de cajas Habitaciones x Zona
boxplot(vivienda_faltantesOK$habitac~vivienda_faltantesOK$zona,
col= c("#FFFFE0", "#E6E6FA", "#87CEEB","#98FB98", "#FFB6C1"),
main= "Habitaciones por zona",
ylab= "Cantidad de Habitaciones",
xlab = "",)
La mediana de habitaciones por vivienda en cada zona varía entre 3 y 4
habitaciones. En la zona sur, el 50% de las viviendas presenta un rango
de 3 a 4 habitaciones. En contraste, en la zona oriente, la dispersión
es mayor, con un rango de 3 a 7 habitaciones, posiblemente debido a la
baja representación de viviendas en esta área, que apenas alcanza un
4.22% del total.
#Creando diagrama de cajas Baños x Zona
boxplot(vivienda_faltantesOK$banios~vivienda_faltantesOK$zona,
col= c("#FFFFE0", "#E6E6FA", "#87CEEB","#98FB98", "#FFB6C1"),
main= "Baños por zona",
ylab= "Cantidad de Baños",
xlab = "",)
La mediana de los baños por vivienda en cada zona se encuentra ente 2 y
4 baños, para la zona sur el 50% de las viviendas tienen entre 2 y 4
baños, se recomienda validar las viviendas que tienen cero baños ya que
no es coherente teniendo en cuenta que los tipos de vivienda son
apartamentos y casas.
#Creando diagrama de cajas Parqueaderos x Zona
boxplot(vivienda_faltantesOK$parquea~vivienda_faltantesOK$zona,
col= c("#FFFFE0", "#E6E6FA", "#87CEEB","#98FB98", "#FFB6C1"),
main= "Parqueaderos por zona",
ylab= "Cantidad de Parqueaderos",
ylim= c(0,10),
xlab = "",)
La mediana de parqueaderos por vivienda en todas las zonas, a excepción de la zona oeste, es de uno. Es importante señalar que, para el análisis del número de parqueaderos, se están excluyendo los datos NA.
#desactivando formato tabla
detach("package:printr", unload = TRUE)
#Resumen descriptivo de la variable Preciom
summarytools::descr(vivienda_faltantesOK$preciom)
## Descriptive Statistics
## vivienda_faltantesOK$preciom
## N: 8327
##
## preciom
## ----------------- ---------
## Mean 434.25
## Std.Dev 329.03
## Min 58.00
## Q1 220.00
## Median 330.00
## Q3 540.00
## Max 1999.00
## MAD 209.05
## IQR 320.00
## CV 0.76
## Skewness 1.85
## SE.Skewness 0.03
## Kurtosis 3.66
## N.Valid 8327.00
## Pct.Valid 100.00
#Histograma Precio
hist(x= vivienda_faltantesOK$preciom,
main = "Histograma Precio de viviendas",
xlab = "Precio en Millones",
ylab = "Cantidad de viviendas",
col = "mediumseagreen",
ylim = c(0,2000)
)
Los datos de precios de viviendas en Cali abarcan desde 58 millones de pesos hasta 1999 millones de pesos, con una media de alrededor de 434,25 millones de pesos y una desviación estándar de unos 329,03 millones de pesos.
La distribución de precios inclina su forma ligeramente hacia la derecha, con una asimetría de 1,85 y una kurtosis de 3,66, indicando colas más densas que una distribución normal.
Los cuartiles revelan que el 25% de los precios son inferiores a 220 millones de pesos, la mediana es inferior a 330 millones de pesos (50%), y el 75% no supera los 540 millones de pesos. El rango intercuartílico, la diferencia entre el tercer y primer cuartil, es de 320 millones de pesos.
En síntesis, los precios de viviendas en Cali presentan diversidad con una media destacada y alta variabilidad. La distribución inclinada y las colas densas sugieren valores altos atípicos y una concentración de precios más bajos
library(ggplot2)
#Definiendo colores para cada zona
colores_zona<- c("Zona Centro" ="#FFFFE0","Zona Norte" = "#E6E6FA","Zona Oeste" = "#87CEEB","Zona Oriente" ="#98FB98","Zona Sur" = "#FFB6C1")
#Generando Histograma por zona
ggplot(vivienda_faltantesOK, aes(x = preciom, fill= zona))+
geom_histogram(binwidth = 50, color= "gray")+
scale_fill_manual(values = colores_zona)+
facet_wrap(~zona, ncol = 2, scales = "free")+
labs(title = "Histograma de precio por zona")+
theme_classic()+
ylab("Cantidad de viviendas")+
xlab("Precio en Millones")
#Definiendo colores para cada zona
colores_zona<- c("Zona Centro" ="#FFFFE0","Zona Norte" = "#E6E6FA","Zona Oeste" = "#87CEEB","Zona Oriente" ="#98FB98","Zona Sur" = "#FFB6C1")
#Grafico
ggplot(vivienda_faltantesOK, aes(x= areaconst, y= preciom, color = zona))+
geom_point()+
geom_smooth(method = "lm", se = FALSE)+
scale_color_manual(values = colores_zona)+
labs(title = "Precio y Area Construida por Zona")+
theme_dark()+
ylab("Precio en Millones")+
xlab("Area construida en M2")
#install.packages("dplyr")
library(dplyr)
#calcular las pendientes por zona
pendientes_por_zona <- vivienda_faltantesOK %>%
group_by(zona) %>%
summarize(pendiente = coef(lm(preciom ~ areaconst))[2])
# Mostrar pendientes por zona
print(pendientes_por_zona)
## # A tibble: 5 × 2
## zona pendiente
## <chr> <dbl>
## 1 Zona Centro 0.900
## 2 Zona Norte 1.28
## 3 Zona Oeste 2.14
## 4 Zona Oriente 0.332
## 5 Zona Sur 1.65
El gráfico y las pendientes que se han calculado representan las tasas de cambio en el precio de las viviendas en relación con el área construida, específicamente para cada una de las diferentes zonas en el mercado inmobiliario de Cali. Las pendientes nos brindan información crucial sobre cómo varía el precio de las viviendas a medida que el área construida aumenta en cada una de estas zonas geográficas.
En el caso de la Zona Centro, una unidad adicional de área construida (medida en metros cuadrados) está asociada con un incremento promedio de 0.9 millones de pesos en el precio de las viviendas. Esto indica que, en promedio, un aumento en el tamaño del área construida en la Zona Centro está vinculado a un incremento de 0.9 millones de pesos en el valor de las propiedades.
Para la Zona Norte, la relación entre el área construida y el precio de las viviendas es más pronunciada. Cada unidad adicional de área construida contribuye a un aumento promedio de 1.28 millones de pesos en el precio de las viviendas en esta zona.
En contraste, en la Zona Oeste, el efecto del área construida sobre el precio es aún más significativo. Cada unidad de incremento en el área construida se asocia con un aumento promedio de 2.14 millones de pesos en el valor de las viviendas. Esto sugiere que en la Zona Oeste, el tamaño del área construida tiene un impacto más considerable en el precio de las propiedades en comparación con otras zonas.
La Zona Oriente muestra un efecto menos marcado. Un incremento en el área construida en esta zona está relacionado con un aumento promedio de 0.332 millones de pesos en el precio de las viviendas.
Finalmente, en la Zona Sur, el área construida también tiene un impacto considerable en el precio de las viviendas. Cada unidad adicional de área construida contribuye a un aumento promedio de 1.65 millones de pesos en el valor de las propiedades en la Zona Sur
Nuestro análisis revela que la Zona sur y norte de Cali albergan la mayoría de las viviendas, con una destacada representación de los estratos 4, 5 y 6. En consecuencia, B&C podría concentrar su estrategia en estas zonas, particularmente en la Zona Sur, enfocándose en los mencionados estratos.
En las zonas norte y sur, la proporción de apartamentos y casas es equitativa, con una ligera ventaja para los apartamentos. Esta revelación conlleva la recomendación de desarrollar estrategias de marketing y publicidad específicas para estos tipos de viviendas en dichas zonas, capitalizando el interés relativamente más alto por los apartamentos.
La búsqueda de nuevas propiedades debería priorizar viviendas con 3 a 4 habitaciones, 2 a 4 baños y disponibilidad de parqueadero, aspectos que optimizarían las oportunidades de venta y satisfarían las preferencias de los clientes.
Para incrementar el rendimiento por metro cuadrado, B&C podría considerar adquirir propiedades en la Zona Oeste y Zona Sur, ya que estas áreas presentan un mayor potencial de aumento en el precio de venta debido a la expansión de los metros cuadrados.
Estas conclusiones resaltan oportunidades estratégicas para B&C, apuntando hacia enfoques claros en la elección de ubicaciones, tipos de viviendas y características deseadas para maximizar su presencia en el mercado inmobiliario de Cali.