Pular para o conteúdo

Arquitetura real · Pleno

Instacart: rota do shopper

Arquitetura real em produção. Pontos centrais: layout aprendido e ML + pesquisa operacional.

15 min de leitura · Fonte: Instacart · Conteúdo revisado em 23 de outubro de 2026

Resposta curta

Arquitetura real em produção. Pontos centrais: layout aprendido e ML + pesquisa operacional. O Instacart entrega compras de supermercado e assume o desafio de concluir cada entrega no prazo e com os produtos certos.

01 · CONTEXTO

Entregar mercado no prazo

O Instacart entrega compras de supermercado e assume o desafio de concluir cada entrega no prazo e com os produtos certos.

Ao longo de poucas horas há milhares de pedidos a entregar, e fazer isso com eficiência é o trabalho dos sistemas de logística. Este caso se baseia em um post de 2017 escrito por um ex-VP de Data Science da empresa, que descreve um problema clássico de otimização combinado com aprendizado de máquina.

02 · O PROBLEMA

De TSP a SCVRPTWMT

A formulação mais simples é um problema do caixeiro viajante em que o shopper precisa ir primeiro à loja. Com uma frota, cada shopper recebe um lote de pedidos para comprar e depois entregar em sequência, e o problema vira um VRP, que generaliza o TSP.

Existem algoritmos exatos para TSP até dezenas de milhares de entregas, e mesmo com milhões de entregas heurísticas ficam a 2–3% do ótimo.

VarianteO que ela acrescenta
TSPO shopper precisa ir primeiro à loja.
VRPUma frota de shoppers, cada um com um lote de pedidos entregues em sequência.
VRPTWJanelas de entrega estreitas, de modo que só parte das rotas atribuídas é viável.
Capacitado (C)Veículos grandes ou pequenos, cartões de clube e pedidos de álcool diferem entre shoppers.
Múltiplas viagens (MT)Cada veículo pode fazer mais de uma viagem.
Estocástico (S)Novos pedidos, turnos e eventos como clima e trânsito mudam os planos.

A soma de todas as restrições é descrita no post como um SCVRPTWMT.

03 · DO GULOSO AO NOVO

O motor de fulfillment

O ponto de partida foi uma variação de um algoritmo guloso: ordenar os pedidos por prazo, achar o shopper livre que faz o primeiro pedido mais rápido, procurar pedidos que cabem sem atraso e despachar.

Desde então a empresa introduziu abordagens novas, com grande impacto na velocidade. No post, os minutos por entrega em São Francisco foram reduzidos pela metade, sem comprometer entregas atrasadas nem a qualidade dos pedidos.

  1. Uma das mudanças é decompor o problema em subproblemas, e um deles é agrupar as entregas.

    Diagrama da arquitetura: Instacart: motor de fulfillment
    CLApp do cliente
    CPAgrupamento de entregasagrupa entregas
    CPPrevisão de tempo (ML)
    CPHeurísticas de busca
    CPAtribuição de shoppers
    CPDespacho
    CLApp do shopper
  2. Um modelo de aprendizado de máquina prevê a distribuição de tempo esperada para cada combinação de shopper e atribuição.

    Diagrama da arquitetura: Instacart: motor de fulfillment
    CLApp do cliente
    CPAgrupamento de entregas
    CPPrevisão de tempo (ML)previsão de tempo
    CPHeurísticas de busca
    CPAtribuição de shoppers
    CPDespacho
    CLApp do shopper
  3. Outro subproblema é a atribuição de shoppers; os subproblemas são resolvidos quase até o ótimo.

    Diagrama da arquitetura: Instacart: motor de fulfillment
    CLApp do cliente
    CPAgrupamento de entregas
    CPPrevisão de tempo (ML)
    CPHeurísticas de busca
    CPAtribuição de shoppersatribui pedidos
    CPDespacho
    CLApp do shopper
  4. Heurísticas limitam o espaço de busca, tratam anomalias, refinam as soluções e ajudam a se adaptar à incerteza.

    Diagrama da arquitetura: Instacart: motor de fulfillment
    CLApp do cliente
    CPAgrupamento de entregas
    CPPrevisão de tempo (ML)
    CPHeurísticas de buscaheurísticas
    CPAtribuição de shoppers
    CPDespacho
    CLApp do shopper
  5. O plano de lotes é recalculado a cada minuto e a decisão de despacho é tomada na hora certa.

    Diagrama da arquitetura: Instacart: motor de fulfillment
    CLApp do cliente
    CPAgrupamento de entregas
    CPPrevisão de tempo (ML)
    CPHeurísticas de busca
    CPAtribuição de shoppers
    CPDespachona hora certa
    CLApp do shopper

04 · O SISTEMA AO REDOR

O motor é só uma peça

A aplicação que decide quais pedidos cada shopper atende é o motor de fulfillment, mas ele é apenas um componente do sistema de logística, que também prevê demanda e comportamento, gerencia capacidade e preço de pico e planeja a escala.

  1. O motor de fulfillment é apenas um dos componentes do sistema de logística.

    Diagrama da arquitetura: Instacart: sistemas de logística
    CPMotor de fulfillmentum componente
    CPPrevisão de demanda e de comportamento
    CPCapacidade e preço de pico
    CPPlanejamento de escala
    CPSimulação conjunta
  2. Outro componente prevê a demanda e o comportamento dos shoppers.

    Diagrama da arquitetura: Instacart: sistemas de logística
    CPMotor de fulfillment
    CPPrevisão de demanda e de comportamentoprevisões
    CPCapacidade e preço de pico
    CPPlanejamento de escala
    CPSimulação conjunta
  3. Outro gerencia a capacidade e o preço de pico.

    Diagrama da arquitetura: Instacart: sistemas de logística
    CPMotor de fulfillment
    CPPrevisão de demanda e de comportamento
    CPCapacidade e preço de picocapacidade
    CPPlanejamento de escala
    CPSimulação conjunta
  4. Outro planeja e adapta a escala dos shoppers.

    Diagrama da arquitetura: Instacart: sistemas de logística
    CPMotor de fulfillment
    CPPrevisão de demanda e de comportamento
    CPCapacidade e preço de pico
    CPPlanejamento de escalaescala
    CPSimulação conjunta
  5. Os sistemas são altamente interdependentes, e a empresa usa cada vez mais simulações para otimizá-los em conjunto.

    Diagrama da arquitetura: Instacart: sistemas de logística
    CPMotor de fulfillment
    CPPrevisão de demanda e de comportamento
    CPCapacidade e preço de pico
    CPPlanejamento de escala
    CPSimulação conjuntasimulação

05 · DADOS DE GPS

Enxergar o sistema com dados de localização

Para otimizar a atribuição e a rota dos shoppers, e para se comunicar com os consumidores, o Instacart coleta um fluxo de dados de GPS. A cada 10 segundos, aproximadamente, o dispositivo informa carimbo de tempo, latitude e longitude, velocidade, direção e precisão, e o conjunto soma dezenas de milhões de atualizações por dia no país.

  1. O dispositivo do shopper reporta periodicamente carimbo de tempo, posição, velocidade, direção e precisão.

    Diagrama da arquitetura: Instacart: fluxo de GPS
    CLApp do shopperatualizações
    CPColeta de localização
    CPMotor de fulfillment
    CLApp do cliente
    CPAnálise com datashader
  2. A plataforma coleta esse fluxo de dados de localização.

    Diagrama da arquitetura: Instacart: fluxo de GPS
    CLApp do shopper
    CPColeta de localizaçãofluxo de GPS
    CPMotor de fulfillment
    CLApp do cliente
    CPAnálise com datashader
  3. A localização serve para otimizar a atribuição e o roteamento dos shoppers.

    Diagrama da arquitetura: Instacart: fluxo de GPS
    CLApp do shopper
    CPColeta de localização
    CPMotor de fulfillmentatribuição e rota
    CLApp do cliente
    CPAnálise com datashader
  4. Os dados também servem para se comunicar bem com os consumidores.

    Diagrama da arquitetura: Instacart: fluxo de GPS
    CLApp do shopper
    CPColeta de localização
    CPMotor de fulfillment
    CLApp do clientecomunicação
    CPAnálise com datashader
  5. O datashader transforma milhões de pontos em visualizações que geram hipóteses e confirmam mudanças em produção.

    Diagrama da arquitetura: Instacart: fluxo de GPS
    CLApp do shopper
    CPColeta de localização
    CPMotor de fulfillment
    CLApp do cliente
    CPAnálise com datashadervisualização
Recorte do dadoO que a visualização revela
PrecisãoA precisão é pior no distrito financeiro, onde prédios altos obstruem o GPS, e o sinal se perde dentro das lojas.
VelocidadeOs shoppers andam mais rápido nas rodovias e mais devagar no distrito financeiro.
DireçãoFica visível a organização das ruas da cidade.
Loja de origemMostra quais lojas entregam com frequência em cada bairro.
Estado do shopperPermite ver o que o shopper faz dentro da loja, quando a medição é precisa o bastante.

Em resumo, o caso combina otimização com restrições reais, aprendizado de máquina para estimar tempos e dados de campo para analisar o sistema.

Perguntas frequentes

O que é Instacart: rota do shopper?

Arquitetura real em produção. Pontos centrais: layout aprendido e ML + pesquisa operacional.

O que o design de Instacart: rota do shopper cobre?

Ele está organizado nestas seções: Entregar mercado no prazo, De TSP a SCVRPTWMT, O motor de fulfillment, O motor é só uma peça e Enxergar o sistema com dados de localização.

Quanto tempo leva Instacart: rota do shopper e qual é o nível?

Leva cerca de 15 minutos para ler e tem nível Pleno.

Agora projete você mesmo

Rode este caso como uma entrevista na escola de System Design: você toma as decisões, o tutor as questiona e você vê a nota do seu desenho.