Introducción
La vivienda (y su precio) es percibido por los españoles como uno de los principales problemas del país en el año 2023:
Entre otras medidas para rebajar el precio de la vivienda, varios expertos inmobiliarios proponen publicar los precios del mercado inmobiliario por referencia catastral.
La referencia catastral es un identificador único por el que se describen los bienes inmuebles de España (salvo País Vasco y Navarra).
¿Cómo obtener datos del mercado inmobiliario en España?
Para tener una imagen completa del mercado inmobiliario español sería necesario conocer los precios de compra-venta y alquiler de los inmuebles.
Los datos de compraventa reales solo los disponen los notarios y registradores. Este precio aun así puede no ser fiable del todo porque en algunas transacciones se acuerda pagar en metálico (pago en B) una parte del inmueble para obtener ventajas impositivas.
Los datos de alquiler reales solo están en mano de las inmobiliarias (y sus agrupaciones), introduciendo sesgos en el precio ya que no se tiene en cuenta el alquiler entre particulares.
Estos datos o no son accesibles o el coste es prohibitivo.
Otras opciones para obtener datos del mercado inmobiliario español pasan por los portales inmobiliarios. Estos datos indican el precio deseado por el anunciante, pero no el precio final. Aun así son datos que, tratados adecuadamente, pueden resultar interesantes.
Idealista.com es el líder del mercado de anuncios inmobiliarios en España (Italia y Portugal).
Los datos
Durante el 2023 se publicaron alrededor de 130.000 anuncios de viviendas en el término municipal de Barcelona.
Para que la información fuese manejable en un csv, cada anuncio se ha reducido a los datos de la tabla inferior. Como se puede observar, además del nombre de la columna se indica el número de instancias y su descripción:
df.count()
title 127497 # título del anuncio
operation 127497 # rent/sale
state 127497 # activo o incativo
address 127497 # dirección
latitude 127497 # latitud de coordenadas
longitude 127497 # longitud de coordendas
hasHiddenAddress 127497 # si la dirección es exacta
administrativeAreaLevel1 127497 # provincia
administrativeAreaLevel2 127497 # municipio
administrativeAreaLevel3 127497 # distrito
administrativeAreaLevel4 127497 # barrio
isProfessional 127497 # es de inmobiliaria
commercialName 127497 # nombre de la inmobiliaria
date 127497 # fecha
price 127497 # precio
houseType 127497 # tipo de casa
extendedPropertyType 17370 # tipo extendido de casa
constructedArea 127497 # m2 construidos
usableArea 71818 # m2 usables
plotOfLand 1204 # m2 de parcela
roomNumber 127497 # número de habitacions
bathNumber 127497 # número de baños
isInTopFloor 127497 # es última planta?
isDuplex 127497 # es un duplex?
flatLocation 185874 # es interior o exterior?
isStudio 127497 # es un estudio?
isPenthouse 127497 # es un ático=
energyCertificationType 127497 # certificado energético
energyPerformance 36388 # medidad del anterior
status 127497 # estado del inmueble
lift 127497 # ascensor
boxroom 53904 # trastero
swimmingPool 50557 # piscina
garden 49044 # jardín
communityCosts 15307 # costes de comunidad
heaterType1 85532 # tipo de calefacción
heaterType2 48963 # tipo de calefacción 2
construction_year 76702 # año de construcción
manyFloors 1287 # tiene varios pisos
orientation 63163 # orientación del inmueble
terrace 40872 # terraza
hasGarage 11297 # garaje
garagePrice 1820 # precio del garaje
floorNumber 117731 # número de planta
airConditioning 68651 # aire acondicionado
Un ejemplo de un registro o anuncio sería el siguiente:
column ║ value ║
║ ║
title ║ Ático en Urb. chamberí barrio Nuevos Ministerios-Ríos Rosas ║
operation ║ rent ║
state ║ inactive ║
address ║ Urb. chamberí barrio Nuevos Ministerios-Ríos Rosas ║
latitude ║ 40.4390835 ║
longitude ║ -3.7002443 ║
hasHiddenAddress ║ True ║
administrativeArea…║ Madrid ║
administrativeArea…║ Madrid ║
administrativeArea…║ Chamberí ║
administrativeArea…║ Nuevos Ministerios-Ríos Rosas ║
isProfessional ║ True ║
commercialName ║ Viancasa Gestión inmobiliaria ║
date ║ 2023-01-01 12:55:16.944851+00:00 ║
price ║ 1800 ║
houseType ║ flat ║
extendedPropertyTy…║ penthouse ║
constructedArea ║ 120 ║
usableArea ║ 115.0 ║
plotOfLand ║ ║
roomNumber ║ 1 ║
bathNumber ║ 2 ║
isInTopFloor ║ False ║
isDuplex ║ False ║
flatLocation ║ external ║
isStudio ║ False ║
isPenthouse ║ True ║
energyCertificatio…║ c ║
energyPerformance ║ ║
status ║ good ║
lift ║ True ║
boxroom ║ True ║
swimmingPool ║ False ║
garden ║ False ║
communityCosts ║ ║
heaterType1 ║ central ║
heaterType2 ║ ║
construction_year ║ 1991.0 ║
manyFloors ║ ║
orientation ║ sur, oeste ║
terrace ║ True ║
hasGarage ║ ║
garagePrice ║ 120.0 ║
floorNumber ║ Planta 7ª ║
airConditioning ║ True ║
CSV de la Vivienda de Barcelona en 2023
La forma más eficiente (sin contar un API pública) para compartir esta información es mediante un archivo csv. Para ello se han pasado los datos de una BBDD a un dataframe de Python mediante una query del ORM de Django (posteriormente mejorando los tiempos y eficiencia con FastAPI) y después se ha utilizado la función df.to_csv(). Todo el proceso lleva unos 10 segundos (aunque se podría optimizar bastante):
import pandas as pd
query = House.objects.filter('XX').values('YY')
df = pd.DataFrame(query.iterator())
df.to_csv('barcelona-bcn-2023.csv', sep ='|')
Si no se tiene experiencia con la librería pandas de Python, se recomienda utilizar VisiData para explorar archivos csv de gran tamaño.
vd --csv-delimiter "|" barcelona-bcn-2023.csv
Más información
Como he mencionado anteriormente, este archivo csv es una pequeña muestra de la información disponible:
- Otros tipos de inmuebles como oficinas, garajes, habitaciones …
- 8130 municipios más además del término municipal de Barcelona
- Información espacial de las distintas áreas geográficas
- Registro de cada cambio de precio de un inmueble
- Registro de cada fecha de alta y baja del inmueble
- Datos de todas las inmobiliarias de España
- …
Cualquier duda, puede contactar a través de: