Image

Roteirização otimizada de visitas B2B com Selenium e Programação Linear

Imagine uma empresa que presta serviços para grandes instituições financeiras e precisa que sua força comercial visite, em um único dia, os principais clientes em São Paulo.

O desafio: encontrar a ordem ideal de visitas para economizar tempo de deslocamento — e, consequentemente, aumentar o número de clientes atendidos no mesmo dia.


Acessar o código no GitHub

Objetivos do projeto

    Coletar automaticamente dados de tempo de trajeto entre os clientes através do Google Maps.
    Utilizar otimização matemática (Problema do Caixeiro Viajante - TSP) para calcular a rota mais rápida de visitas.
    Mostrar visualmente a rota final no próprio Google Maps, pronta para ser utilizada pelo time de vendas.

Cenário

Foram escolhidos endereços reais de grandes players do mercado financeiro de São Paulo para simular clientes estratégicos:


Ponto de partida (marco zero da cidade)

Praça da Sé, s/n – Centro Histórico

Itaú Unibanco

Praça Alfredo Egydio de Souza Aranha, 100 – Jabaquara

Bradesco

Prédio Prata Cidade de Deus, s/n – Vila Yara, Osasco

Santander

Av. Juscelino Kubitschek, 2235 – Vila Olímpia

Nubank

Rua Capote Valente, 39 – Pinheiros

Como a solução funciona

No vídeo acima, todas as interações no navegador são automatizadas com a biblioteca Selenium.



Coleta de dados em tempo real

    O script abre o Google Maps com Selenium WebDriver.

    Para cada par de endereços, extrai automaticamente o tempo de deslocamento em minutos, simulando a condição real de trânsito para o modal escolhido.

Modelagem matemática

    Os dados alimentam um modelo de otimização de rotas baseado no Problema do Caixeiro Viajante (TSP), resolvido com a biblioteca PuLP.

    O modelo impõe que cada cliente seja visitado uma única vez, retornando ao ponto de partida.

    A função objetivo minimiza o tempo total de deslocamento, garantindo a rota mais eficiente.

Apresentação visual

    Ao final, a solução abre novamente o Google Maps e insere a rota completa e otimizada, permitindo que a equipe de vendas veja no mapa a sequência ideal de visitas.

Benefícios para o Negócio

    Redução de custos com combustível e horas extras.
    Aumento de produtividade, permitindo mais visitas em menos tempo.
    Tomada de decisão baseada em dados reais, já que os tempos de deslocamento vêm diretamente do Google Maps.
    Solução flexível e escalável, podendo ser adaptada para outras cidades, novos clientes ou outros modais de transporte.


Diferenciais Técnicos

    Automação com Selenium: interação dinâmica com a interface do Google Maps, sem necessidade de APIs pagas.
    Otimização com PuLP: aplicação de programação inteira para resolver um problema clássico de logística.
    Integração ponta a ponta: do scraping de dados em tempo real à visualização final da rota otimizada.


Próximos Passos

    Integrar com bancos de dados de clientes reais.
    Adicionar janelas de horário (time windows) para visitas com agendamento fixo.
    Exportar rotas para aplicativos de navegação utilizados pela equipe de campo.

Conclusão

Este projeto mostra como dados em tempo real e otimização matemática podem se unir para resolver um problema clássico de força de vendas B2B: planejamento de rotas mais eficiente. O resultado é ganho direto de produtividade e economia operacional, além de um exemplo forte de aplicação prática de Data Science e automação em um contexto corporativo real.