Homefindr

Sergio García
6 min readDec 18, 2019

--

🤖 that 🔍 undervalued 🏠 in Madrid.

Es un hecho que encontrar una vivienda barata en Madrid se ha convertido en todo un reto. Tanto el alquiler como la venta de pisos han estado inmersos en una gran subida de precios durante los últimos 3/4 años, haciendo una auténtica Odisea el encontrar una vivienda asequible en tu propia ciudad.

Si tenemos en cuenta que el precio medio de una vivienda en Madrid es de 256.000€ y sólo el 51% de los hogares madrileños pueden ahorrar más de 5.000€ al año, un madrileño de a pie tendría muy complicado el pagar una entrada de un piso antes de 10 años de ahorro. Si además contamos con que, por norma general, no se accede a un puesto de trabajo fijo con un sueldo suficiente para el ahorro hasta casi los 25 años, parece que la situación no es muy esperanzadora para los jóvenes.

Ante este panorama, desde Homfindr nos planteamos si sería posible utilizar tecnología para facilitarnos esta búsqueda. Por ello, consideramos utilizar algoritmos de Inteligencia Artificial para detectar viviendas por debajo del precio de mercado.

Hipótesis

Hay pisos por debajo de mercado en los portales inmobiliarios españoles. Podemos encontrarlos con un algoritmo de IA.

Una vez teníamos una idea clara y asentada, consideramos muy necesario establecer unas bases como equipo y una metodología de trabajo que nos sirvieran de faro para todos esos altibajos que supone la montaña rusa de montar un proyecto en 4 semanas.

Metodología de trabajo

Debido al corto periodo de tiempo en el que tenemos que desarrollar este proyecto vamos a buscar una prueba de concepto para validar la idea. Por lo que tenemos que ser inteligentes e invertir nuestro tiempo de manera inteligente en las cosas que aporten valor.

  • Foco en resultados — Validando el concepto con las menores features posibles y una vez hecha una primera versión, podremos ir mejorando la predicción con nuevas features más complejas. Ejemplo: Buscar pisos en Madrid o incluso en un código postal.
  • Austeridad y humildad — Invirtiendo en recursos (servidores, licencias…) imprescindibles sólo en lo que sea completamente necesario.
  • Trabajo en equipo — Respetando a nuestros compañeros de equipo, ayudando a que aprendan donde podamos enseñarles. Venimos de backgrounds distintos y podemos aportar con nuestras fortalezas y poner en foco en trabajar nuestras áreas de mejora

Ahora sí, estábamos preparados para comenzar.

Desde el inicio, nuestro foco principal estaba claro: conseguir un dataset válido para entrenar nuestro modelo. En un sector como la inmobiliaria con tantos portales y empresas gestionando sus plataformas y pisos de una manera diferente, conseguir datos en un formato adecuado para entrenar un algoritmo no iba a ser tarea fácil (alerta spoiler: no lo fue).

Obviamente, no contábamos con ninguna base de datos pública útil para nuestro objetivo y los más parecido, los datos de catastro, no se adecúan al precio de mercado que tienen las viviendas. De esta forma, nuestro primer paso consistía en recopilar en bruto datos de mercado de viviendas en venta. Web Scrapping parecía la solución más acertada, aunque… ¿Qué podíamos scrappear?

Conseguir el dataset

En un primer momento quisimos ir al rey del sector inmobiliario en internet, Idealista. Como no éramos los primeros, ni seremos los últimos, que intentan scrappearles, tienen un sistema que bloquea estas acciones. Ante esta problemática, decidimos ir directamente a la fuente, las propias inmobiliarias. Listamos las 10 más importantes y preparamos la estructura de los datos que queríamos obtener.

Aunque no parecía mala idea, a mitad de este proceso nos dimos cuenta de que no era la mejor opción. ¿Qué pasa con los particulares que no van por una agencia? ¿Cuántos recursos nos lleva scrappear todas estas webs cada vez que queramos actualizar? ¿Cuánto trabajo nos supone unificar la estructura de la información de cada una de ellas? Claramente, no estábamos viendo algo evidente. Era mejor irnos a portales inmobiliarios que agreguen toda la oferta de estas empresas. Vale que Idealista no lo permite, pero, ¿y su competencia?

Bingo. Pisos.com fue nuestra solución. Para esta primera fase del proyecto, nuestro rango de investigación se centraba en la Comunidad de Madrid y en Pisos.com teníamos +26.000 pisos para analizar. Preparamos el Web Scrapping y listo. Ya teníamos nuestro protodataset.

Ahora empezaba lo bueno. ¿Todos los pisos tienen los mismos datos? ¿Estos datos eran suficiente para enseñar a una IA a valorar un piso? ¿Qué nos faltaba?¿Qué parámetros eran los más importantes?

Preprocesamiento de datos

Muy a nuestro pesar, la respuesta a la primera pregunta es no. No todos los pisos que están en una plataforma inmobiliaria aportan los mismos datos ni los aportan de la misma manera. Así que nos tocaba unificar parámetros e inferir los que no teníamos. Gracias a Regex y a diferentes Papers de personas que habían intentado un proceso similar al nuestro, conseguimos estructurar de una manera adecuada nuestro dataset.

Una vez realizado esto, hicimos una evaluación sobre las variables que teníamos disponibles y vimos un problema fundamental. Más allá de las prestaciones de una vivienda, no es lo mismo vivir en San Blas, que en Chamberí o La Moraleja, obviamente. La localización es fundamental y de obviarla, el algoritmo no sería capaz de aprender a valorar un inmueble de manera efectiva. Afortunadamente, la solución estaba más cerca de lo que pensábamos. Gracias a los mapas que contienen todos los anuncios de Pisos.com, conseguimos sacar las coordenadas aproximadas de cada piso.

A partir de aquí ‘solo’ quedaba utilizar un formato adecuado para introducir la información en el modelo. Utilizamos One Hot Encoding para convertir las variables categóricas y PCA para reducir los cientos de variables resultantes a una cantidad más manejable, pero sin perder precisión.

Ahora llegamos a lo importante, el resultado.

Algoritmo final y resultado

Entrenamos diferentes modelos con diferentes cantidades de variables para intentar conseguir el resultado óptimo. Actualmente podemos decir que Homefindr consigue evaluar hasta 50 variables diferentes de +26.000 pisos con un accuracy de 85.57% (coeficiente r²). Es importante tener en cuenta que para un caso como el nuestro no sería bueno estar muy próximo al 100%, ya que esto significaría que todos los pisos tienen un ‘precio justo’, es decir, no existiría ninguna oferta.

De esta forma hemos conseguido encontrar 703 (2.7%) viviendas por debajo del precio de mercado en la Comunidad de Madrid. En Homefindr consideramos una oferta aquellos inmuebles con un precio predecido inferior al anunciado desde un 15% a un 30%, asumiendo que una diferencia menor al 15% no es tan destacable y se puede deber a motivos comerciales puntuales, y que aquellos superiores al 30% pueden ser falsos positivos.

Con estos resultados, podemos decir que nuestro algoritmo supone un ahorro mediano de 50.000€ (23.27% de descuento), o visto de otra manera, 10 años menos de ahorro para esa persona que está buscando su nuevo hogar.

Para ilustrar el resultado con un ejemplo, tomemos este piso en Tetuán como modelo.

El precio que encontramos en el anuncio es de 290.000€. Comparándolo con el precio medio del metro cuadrado de la zona que nos aporta Idealista, su precio debería rondar los 313.000€, es decir, una diferencia de 23.000€. Pero si tenemos en cuenta el precio estimado por nuestro algoritmo, el cual tiene en cuenta no solo la zona, sino las características del inmueble, el precio de este piso es de 333.000€, suponiendo un ahorro de 43.000€ (15%).

En resumen, hemos confirmado nuestra hipótesis de que existen inmuebles por debajo del precio de mercado y que pueden ser detectados con un algoritmo de Inteligencia Artificial. Pero esto no es el final, sino el principio. Ahora se abren multitud de nuevos caminos a explorar y estos son los próximos pasos que dará el equipo

Próximos pasos

Una vez conseguido una primera prueba de concepto, nuestro objetivo es seguir avanzando en 4 frentes.

  1. Plataforma. Queremos crear un portal inmobiliario con un filtro de IA para que cualquier persona pueda encontrar un piso asequible de una manera sencilla.
  2. Mejorar el modelo de IA. Vamos a seguir complementando nuestro modelo, principalmente con la distancia al centro y con datos enriquecidos del catastro.
  3. Modelo de negocio. Vamos a validar la opción de ofrecer una suscripción premium con acceso a las mejoras ofertas. Además, queremos investigar un enfoque B2B, a través de licencias de uso para empresas y fondos de inversión.
  4. Escalar. Se nos abren 2 vías principales para escalar este proyecto. La primera es Geográficamente, ampliando el análisis de nuestro algoritmo a nuevas ciudades y países. La segunda opción es abrir nuevos Verticales, como garajes, naves industriales, coches, etc.

Equipo

Víctor Fanjul

Sergio García

Javier Jiménez

Christian Stoyanov

Agradecimientos

Equipo de AI Saturdays por el apoyo y conocimiento compartido durante estos 4 meses y, sobre todo, por los sandwiches mixtos sin los cuales no habríamos aguantado tantos altibajos emocionales. Vosotros sois el verdadero MVP.

--

--