Casos de uso

Criando uma busca de imóveis que classifica pela distância até o trabalho

Número de quartos, preço e metragem são os filtros com que todo site de anúncios de imóveis começa, e também são os filtros que ignoram a pergunta com que muitos compradores realmente mais se importam: quanto tempo levaria para chegar ao trabalho saindo daqui. Um site de anúncios de imóveis ouvia isso repetidamente no feedback dos usuários e acabou criando o filtro diretamente.

A mecânica exigia duas coordenadas e um cálculo de distância. Cada anúncio do site já tinha um endereço, que precisava virar uma coordenada pelo /v1/forward, um processamento em lote feito uma vez para o estoque existente e depois por anúncio, à medida que novos eram adicionados. O local de trabalho do comprador, informado como um único endereço em um novo campo de busca, passava pelo mesmo endpoint para virar uma coordenada do lado do comprador.

Com os dois pontos em coordenadas, a distância entre um anúncio e o local de trabalho do comprador se tornou uma conta que o próprio backend de busca do site podia fazer diretamente, em princípio não diferente de filtrar por faixa de preço, só que filtrando pela distância em relação a um ponto. Os compradores podiam definir uma distância máxima até o trabalho e ver apenas os anúncios dentro dela, ordenados com as opções mais próximas primeiro, o que acabou sendo uma forma de navegar muito mais útil do que rolar uma lista ordenada por preço e conferir a localização de cada anúncio a olho.

O site tomou cuidado com o que esse filtro prometia. A distância em linha reta não é o mesmo que o tempo de deslocamento, já que um rio, um trevo de rodovia ou a falta de vias diretas podem transformar dois pontos próximos em linha reta em um trajeto de carro ou de transporte público muito mais longo. O recurso foi rotulado como distância, não como tempo de deslocamento, e o site evitou afirmar qualquer estimativa específica de tempo de viagem, já que calcular isso com precisão exigiria uma fonte de dados de rotas e de trânsito muito além do que um cálculo de distância entre dois pontos pode oferecer com honestidade.

Mesmo apresentado de forma conservadora como distância e não como tempo, o filtro se tornou um dos mais usados do site nos primeiros meses, principalmente entre compradores que se mudavam por causa de um novo emprego, que tinham um único ponto fixo, o novo escritório, e se importavam muito com a distância em relação a ele em que estariam dispostos a morar. Para essa situação específica e comum de comprador, um filtro de distância chegava perto o bastante da pergunta real para ser realmente útil.

O volume de geocodificação vinha principalmente dos novos anúncios que entravam no site, um fluxo modesto e previsível, mais o custo pontual de geocodificar o estoque existente quando o recurso foi lançado. Os endereços de trabalho dos compradores acrescentavam um volume contínuo menor. Somado, isso ficou dentro da cota diária gratuita durante a maior parte do ano para um site de porte moderado, sendo o processamento em lote inicial dos anúncios existentes o único momento em que o uso subiu brevemente, facilmente coberto sem precisar de planejamento prévio.

Um filtro de distância é um pequeno acréscimo a uma página de busca, mas, especificamente para um site de imóveis, em que a localização física de um anúncio realmente importa mais do que quase qualquer outro fator, ele resolve algo que o conjunto padrão de filtros simplesmente não consegue. A documentação do endpoint está em /docs/forward-geocoding/.