Reto de Whitebox · HouseFlipper

El Cazador
de Chollos

~87.000 pisos reales de Madrid Predicciones de precio incluidas Agente + tool use sobre datos

En el mercado inmobiliario de Madrid hay dos tipos de compradores: los que pagan el precio que pone el anuncio, y los que saben cuánto debería costar de verdad. Whitebox ha entrenado un modelo que estima el precio de mercado de cada piso publicado — y cuando el precio real está muy por debajo de esa estimación, ahí hay un chollo. El problema: 87.000 anuncios y solo dos ojos. Tu misión: el asistente que convierte "busco un piso de 3 habitaciones en Carabanchel" en las mejores oportunidades del mercado, con argumentos.

01

El dato diferencial

El dataset

Anuncios reales de Idealista enriquecidos con POIs de OpenStreetMap: superficie, habitaciones, distrito, ascensor, terraza, estaciones de metro a <500 m… 65 columnas por piso.

La predicción

Cada piso trae los cuantiles de precio predichos por el modelo CatBoost de Whitebox. El descuento (precio de mercado estimado − precio real) lo deriváis vosotros en la carga: una resta que vale oro.

El ángulo

Descuento positivo = oportunidad. Negativo = sobreprecio — y avisar de eso también es dar valor. Tu agente no busca pisos: busca decisiones de inversión.

02

Tu misión

Un recomendador conversacional: el usuario describe lo que busca en lenguaje natural, el agente traduce a filtros, consulta los datos con tools y devuelve las mejores oportunidades ordenadas por descuento y explicadas.

Ejemplo de la propia Whitebox: "un piso de entre 80 y 100 m² cerca de una parada de metro en Arganzuela, con 2 habitaciones o más" → filtros sobre los datos → opciones con mayor descuento, con el porqué de cada una.
El reto dentro del reto: 87.000 filas no caben en el contexto de un LLM — ni de lejos. Cómo almacenáis los datos, dónde ocurre cada filtro y cada cálculo, y qué llega realmente al agente: esas decisiones de arquitectura son las que separan una demo que vuela de una que se ahoga.
03

Niveles

Núcleo · todos deben llegar

El buscador de oportunidades

Chat + agente con tools sobre la Data Table: búsqueda por distrito/criterios ordenada por descuento, top chollos global, y respuestas que explican por qué cada piso es (o no es) buena compra. Con memoria para refinar la búsqueda en conversación.

Extra 1 · ambición

El analista de mercado

Que el agente responda preguntas de mercado agregadas — "¿dónde está barato Madrid?", "¿qué distrito tiene más oportunidades?" — con números reales calculados sobre el dataset, no con estimaciones del LLM. Cómo lo consigáis es cosa vuestra.

Extra 2 · sobresaliente

El producto completo

Ideas: filtros compuestos ricos (metro + terraza + presupuesto), alertas ("avísame si sale algo así"), perfil de inversor vs vivienda habitual, canal Telegram/WhatsApp, o cruzar con el CSV de alquiler para estimar rentabilidad bruta por zona.

04

Datos y recursos disponibles

RecursoContenidoDescarga
Dataset de VENTA86.677 anuncios reales de Madrid capital, 23 columnas, con la predicción de precio (price_model) del modelo de Whiteboxwhitebox-venta-madrid.csv (20 MB)
Muestra ligera5.000 anuncios — para empezar rápido y no pelear con ficheros grandes el día 1muestra-5k.csv (1,2 MB)
Dataset de ALQUILER107.653 anuncios (mismo esquema, precio = €/mes) — para la vertical de alquiler o cruzar rentabilidadeswhitebox-alquiler-madrid.csv (25 MB)
Diccionario de datosDocumentación oficial de Whitebox: qué significa cada columnadiccionario-de-datos.md
Sobre el dataset: el descuento no viene calculado — el diccionario de datos os cuenta qué significa cada columna, y ahí empieza vuestro trabajo. El Recetario tiene piezas de datos que os pueden servir.

Documentación útil: Data Tables en n8n · nodo AI Agent · HouseFlipper (el producto real)

05

Definition of Ready · Definition of Done

DoR — antes de construir
  • Dataset descargado e importado a una Data Table vuestra; diccionario leído (sabéis qué es price_model y cómo derivar el descuento)
  • Decidido el usuario objetivo (inversor / comprador de vivienda / ambos)
  • 3 preguntas de demo escritas ANTES de construir
  • Reparto: prompt del agente / tools y datos / demo y pitch
DoD — criterios de aceptación
  • Petición en lenguaje natural con distrito + criterio → top pisos ordenados por descuento con explicación
  • El agente cruza criterios que NO están en la tool (p.ej. "3 habitaciones") filtrando él los resultados
  • Pregunta de mercado agregada respondida con números reales del dataset, citados
  • Sobreprecio detectado y advertido (descuento negativo)
  • La conversación se refina con memoria ("¿y con terraza?" no reinicia la búsqueda)
06

Pruebas UAT — autoevalúate antes del pitch

UAT-W1 · búsqueda con criterio extra

"Busco un piso de 3 habitaciones en Carabanchel con el mayor descuento posible."

Top de Carabanchel ordenado por descuento, filtrado a 3 habitaciones, cada piso con precio, m², descuento en € y %, y si tiene metro cerca. Menciona si descartó opciones y por qué.

UAT-W2 · pregunta de mercado

"¿En qué distrito hay mejores oportunidades ahora mismo?"

Respuesta con números reales calculados sobre el dataset (descuento medio, nº de pisos) y citados — no una opinión inventada ni un cálculo a ojo sobre 5 pisos sueltos.

UAT-W3 · el anti-chollo

"¿Qué te parece este piso de Salamanca a 799.000 €?" (uno con descuento muy negativo)

Advertencia clara de sobreprecio vs precio de mercado estimado, con la cifra. Un recomendador que solo dice cosas bonitas no es un asesor.

UAT-W4 · sin resultados

"Chalet de 400 m² en Sol por 100.000 €."

"No hay resultados con esos criterios" + sugerencia de relajar filtros. Nunca inventar pisos.

Errores típicos: volcar cientos de filas al prompt (RAM + contexto) · pedirle al LLM que calcule medias "de cabeza" · recomendar sin explicar el porqué · ignorar el descuento negativo · demo sin guion (improvisar la pregunta en directo).