Casos de uso

Crear una búsqueda inmobiliaria que ordene por distancia al trabajo

El número de dormitorios, el precio y la superficie son los filtros con los que empieza cualquier portal de anuncios inmobiliarios, y también son los filtros que ignoran la pregunta que más les importa a muchos compradores: cuánto tardaría en llegar al trabajo desde aquí. Un portal inmobiliario no dejaba de oír esto en los comentarios de sus usuarios y acabó creando el filtro directamente.

El mecanismo requería dos coordenadas y un cálculo de distancia. Cada anuncio del portal ya tenía una dirección, que debía convertirse en una coordenada mediante /v1/forward, con un trabajo por lotes ejecutado una vez para el inventario existente y luego por cada anuncio a medida que se añadían nuevos. El lugar de trabajo del comprador, introducido como una única dirección en un nuevo campo de búsqueda, pasaba por el mismo endpoint para convertirse en una coordenada del lado del comprador.

Con ambos puntos como coordenadas, la distancia entre un anuncio y el lugar de trabajo del comprador se convirtió en una operación aritmética que el propio backend de búsqueda del portal podía ejecutar directamente, sin diferencia de principio con filtrar por rango de precios, solo que filtrando por distancia desde un punto. Los compradores podían fijar una distancia máxima al trabajo y ver solo los anuncios dentro de ella, ordenados con las opciones más cercanas primero, lo que resultó ser una forma mucho más útil de explorar que recorrer una lista ordenada por precio y comprobar a ojo la ubicación de cada anuncio.

El portal tuvo cuidado con lo que prometía este filtro. La distancia en línea recta no es lo mismo que el tiempo de trayecto, ya que un río, un enlace de autopista o la falta de carreteras directas pueden hacer que dos puntos cercanos en línea recta supongan un trayecto real en coche o en transporte público mucho más largo. La función se etiquetó como distancia, no como tiempo de trayecto, y el portal evitó afirmar ninguna estimación concreta de tiempo de viaje, ya que calcularla con precisión requeriría una fuente de datos de rutas y tráfico que va mucho más allá de lo que un cálculo de distancia entre dos puntos puede ofrecer honestamente.

Incluso planteado de forma prudente como distancia y no como tiempo, el filtro se convirtió en uno de los más usados del portal en sus primeros meses, sobre todo entre compradores que se mudaban por un nuevo empleo y tenían un único punto fijo, su nueva oficina, y a quienes les importaba muchísimo a qué distancia de ella estarían dispuestos a vivir. Para esa situación de comprador concreta y habitual, un filtro de distancia se acercaba lo suficiente a la verdadera pregunta como para ser realmente útil.

El volumen de geocodificación dependía sobre todo de los nuevos anuncios que llegaban al portal, un flujo modesto y predecible, más el coste puntual de geocodificar el inventario existente cuando se lanzó la función. Las direcciones de los lugares de trabajo de los compradores añadían encima un volumen continuo más pequeño. En conjunto, esto se mantuvo dentro de la cuota diaria gratuita la mayor parte del año para un portal de tamaño medio, y el trabajo por lotes inicial de los anuncios existentes fue el único momento en que el uso se disparó brevemente, algo que se cubrió fácilmente sin necesidad de planificarlo con antelación.

Un filtro de distancia es un pequeño añadido a una página de búsqueda, pero en un portal inmobiliario en concreto, donde la ubicación física de un anuncio importa de verdad más que casi cualquier otro factor, resuelve algo que el conjunto estándar de filtros simplemente no puede. La documentación del endpoint está en /docs/forward-geocoding/.