Análise de Dados - Blog | IMAM
Ir para o conteúdo
IMAM Consultoria
  • ESTRATÉGIAS E OPERAÇÕES
  • Desenvolvimento Organizacional
  • SUPPLY CHAIN E LOGÍSTICA
  • Fale Conosco
  • Sites
    • IMAM Consultoria
    • Quem somos
    • HOME IMAM
  • Nossos treinamentos
Estratégias e operações

Análise de Dados

Por Danilo Carajiliascov em 13 de julho de 2023 • Atualizado em 17 de agosto de 2026
Digital Work
3 minutos para ler
Conheça nossos cursos | IMAM

Mapa de Demanda e Centro de Massa com Python

Os desafios da Supply Chain se iniciam no planejamento e, neste contexto, um dos projetos mais demandados é a estruturação de uma Malha Logística que maximiza o nível de serviço ao cliente e a produtividade operacional.

Uma das importantes análises de dados que desenvolvemos com o apoio da tecnologia (Big Data, Python etc.) é o mapa de demanda e centro de massa.

Veja uma síntese, do ponto de vista de programação, de como fazer a análise:

Objetivo: Gerar um mapa que mostre a distribuição da demanda e seu centro de massa com os dados da “Brazilian E-Commerce Public Dataset”. Acessível no site da Kaggle.

O dataset possui 8 tabelas com seguintes relacionamentos:

Diagrama das oito tabelas do dataset Olist ligadas por order_id, product_id, seller_id e zip_code_prefix

As setas indicam o nome de coluna que faz o relacionamento entre as tabelas.

Por exemplo: a tabela “olist_orders_dataset”, que possui os dados da capa do pedido, se relaciona com a tabela “olist_order_itens_dataset”, que possui os dados dos itens do pedido, através da coluna “order_id”.

Para nosso projeto iremos utilizar as seguintes tabelas:

Recorte do diagrama com seis tabelas: pedidos, itens, produtos, vendedores, clientes e geolocalização

Como todas as tabelas começam com “olist” e terminam com “dataset” iremos remover esses textos para deixar os nomes mais enxutos.

Bibliotecas utilizadas:

Célula de código Python importando as bibliotecas pandas e folium, com execução concluída em 2.7s

Criamos uma variável “local_dados” com o local do computador onde estão as tabelas. Desta forma basta adicionar o nome do arquivo.

Carregamento das tabelas:

Tabela de geolocalização com CEP, latitude, longitude, cidade e estado, somando 1000163 linhas e 5 colunas
Tabela de clientes com identificador, CEP, cidade e estado, totalizando 99441 linhas e 5 colunas
Tabela de itens de pedido com produto, vendedor, preço e frete, somando 112650 linhas e 7 colunas
Tabela de pedidos com datas de compra, aprovação e entrega convertidas, com 99441 linhas e 8 colunas
Tabela de produtos com categoria, peso em gramas e dimensões, totalizando 32951 linhas e 9 colunas
Tabela de vendedores com identificador, CEP, cidade e estado, somando 3095 linhas e 4 colunas

Montar tabela de vendas completa.

Com os dados de pedidos, clientes, vendedores, produtos e geolocalização

Geolocalização por cidade:

Geolocalização agrupada por estado e cidade com média de latitude e longitude, resultando em 8463 linhas

Adicionar geolocalização aos vendedores e deixar somente as colunas necessárias:

Vendedores com latitude e longitude anexadas por estado e cidade; a primeira linha é SP_campinas

A mesma coisa para os clientes:

Clientes com coordenadas anexadas; a primeira linha é SP_franca em -20.534057 e -47.398437

Juntar dados de clientes com os dados de pedidos:

Pedidos unidos aos clientes, mantendo data de entrega, estado, cidade e coordenadas do destino

Arrumar os dados de produtos: converter gramas para quilogramas e dimensões do produto para volume em m³.

Produtos com peso convertido para quilogramas e as três dimensões transformadas em volume em metros cúbicos

Formar a base completa juntando os dados de itens de pedido com dados de produtos, pedidos e vendedores:

Base completa de itens de pedido unida a produtos, pedidos e vendedores, com 112650 linhas e 20 colunas

Preparar dados para o Mapa

Tabela com total do peso do último ano por cidade de destino (mantendo cidades com peso total maior que 10 kg):

Peso somado por cidade de destino em um ano: SP_sao paulo lidera com 24498,399 kg, em 1392 linhas

O mesmo com as cidades de origem (as cidades dos vendedores):

Peso somado por cidade de origem: SP_sao paulo com 32939,323 kg encabeça uma lista de 330 linhas

Gerar os centros de massa dos clientes e dos vendedores:

Centro de massa dos clientes calculado por média ponderada pelo peso: -21.368160313608872 e -46.21755572754099
Centro de massa dos vendedores calculado por média ponderada: -22.92338845189827 e -47.19843248231834

Gerar o mapa com os dados de vendas, centro de massa dos clientes e centro de massa dos vendedores

Mapa inicial:

Código folium criando o mapa base centrado em -16 e -50, com tiles OpenStreetMap e zoom inicial 5

Camada de clientes:

Código Python com folium.CircleMarker gerando círculos vermelhos por cliente com raio ligado ao peso

Camadas de Centro de Massa:

Código Python com dois folium.Marker, um para o centro de massa dos clientes e outro dos vendedores

Visualização do Resultado!

Mapa do Brasil com círculos vermelhos de tamanhos variados e dois marcadores azuis no Sudeste
Aproximação do mapa nas regiões Sudeste, Sul e Centro-Oeste com círculos vermelhos de demanda
Mapa aproximado com balão aberto identificando o marcador Centro de Massa dos Clientes
Mapa aproximado com balão aberto identificando o marcador Centro de Massa dos Vendedores

Podemos ainda explorar mais um recurso deste mapa: adicionar linhas!

Vamos imaginar que estes dados são de uma empresa que adquire as mercadorias, armazena em um Centro de Distribuição e, a partir deste, entrega para os clientes.

Um possível local para se instalar um centro de distribuição seria a cidade de Mogi Mirim, que fica entre o centro de massa dos vendedores (neste cenário poderíamos chamar de fornecedores) e o centro de massa dos clientes.

Camada de linhas:

Código Python com folium.PolyLine em laço de 400 iterações partindo do ponto -22.43194, -46.95778

Visualização do Resultado!

Mapa do Brasil com linhas azuis irradiando de um ponto no Sudeste até clientes de todas as regiões
Zoom do mapa de linhas com o balão Centro de Distribuição aberto sobre o ponto de convergência

Muito obrigado por ler o artigo. Espero que tenham gostado!

Até o próximo!

Por: Danilo Carajiliascov

Post Views: 60
Você também pode gostar
Operador em armazém realizando a triagem de embalagens retornadas durante o processo de logística reversa

Logística Reversa: o Que É, Como Funciona e Etapas do Processo

Por Núcleo de Performance em 18 de agosto de 2026
centro de distribuição

Centros de Distribuição: o metro quadrado não conta a história inteira!

Por Reinaldo Moura em 6 de agosto de 2026 • Atualizado em 17 de agosto de 2026
logistica verde

Logística Verde: Entenda Sua Importância!

Por IMAM em 28 de julho de 2026 • Atualizado em 31 de julho de 2026

Deixe um comentário Cancelar resposta

-

E-book Grátis

automação na Intralogística
Entendendo a Logistica
cta_guia-para-treinar-e-desenvolver-equipe-de-logistica_01-1


ctas_300x300_azul_foto-9

Posts populares

  • Os Heróis da Supply Chain que Ninguém Vê
    Os Heróis da Supply Chain que Ninguém Vê
  • Desafios, Impactos e Estratégias no Contexto Logístico.
    A Busca pela Eficiência na Separação de Pedidos: (Desafios, Impactos e Estratégias no Contexto Logístico)
  • OTIF: O Que É, Importância E Como Calcular?
    OTIF: O Que É, Importância e Como Calcular?

Sobre o blog

O IMAM leva você mais longe!
Acompanhe aqui as principais tendências da área de capacitação profissional, logística e supply chain.

Categorias

  • Desenvolvimento Organizacional
  • Embalagem
  • Engenharia de Produção e Operações
  • Estratégias e operações
  • Estratégias e Performance (Lean, Toc, 6 Sigma)
  • Série Armazenagem
  • Supply Chain e Logística

Entre em contato

  • Rua Machado Bitencourt, 190 Conj 606/607 Metrô Sta. Cruz, Vila Mariana, 04044-000, São Paulo/SP

  • (11) 5575-1400

  • imam@imam.com.br

  •  (11) 97550-8384
Site criado por Rock Content.