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 23 de setembro 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”. Com os dados organizados assim, é possível até fazer um dashboard em Python para acompanhar os pedidos.

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
Tags: análise de dados, centro de massa, mapa de demanda, python
Você também pode gostar
Instrutor conduzindo treinamento corporativo técnico para pequeno grupo em ambiente operacional de supply chain

Treinamento Corporativo em Supply Chain: Tipos e Como Escolher

Por IMAM em 29 de setembro de 2026
Equipe de armazém acompanha quadro de gestão à vista com indicadores de excelência operacional em centro de distribuição

Excelência Operacional na Logística: o Que É e Como Aplicar

Por IMAM em 22 de setembro de 2026 • Atualizado em 22 de setembro de 2026
Logística Imbound e sua importância na Cadeia Logística.

Logística Inbound e sua importância na Cadeia Logística.

Por José Luiz Senoi em 18 de setembro de 2026 • Atualizado em 29 de setembro 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

  • Alta Performance x Sobrevivência Operacional
    Alta Performance x Sobrevivência Operacional
  • Os Heróis da Supply Chain que Ninguém Vê
    Os Heróis da Supply Chain que Ninguém Vê
  • Reduzir estoque pode aumentar o risco
    Reduzir estoque pode aumentar o risco

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.

Autores do Blog IMAM