Engenharia de Produção e Operações
Mapa de demanda e centro de massa com Python: análise de dados passo a passo
Sumário executivoMapa de demanda e centro de massa em resumo: O mapa de demanda e centro de massa é uma análise de dados que mostra a distribuição da demanda e o seu centro de massa, apoiando a estruturação da malha logística. Além disso, no exemplo do post, feito em Python, um centro de distribuição poderia ficar em Mogi Mirim, entre os centros de massa de vendedores e clientes.
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:

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:

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

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:






Montar tabela de vendas completa.
Com os dados de pedidos, clientes, vendedores, produtos e geolocalização
Geolocalização por cidade:

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

A mesma coisa para os clientes:

Juntar dados de clientes com os dados de pedidos:

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

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

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):

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

Gerar os centros de massa dos clientes e dos vendedores:


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

Camada de clientes:

Camadas de Centro de Massa:

Visualização do Resultado!




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:

Visualização do Resultado!


Muito obrigado por ler o artigo. Espero que tenham gostado!
Até o próximo!
Etapas da análise no Python
Em resumo, o roteiro de programação descrito no post:
| Etapa | O que é feito |
|---|---|
| Carregar os dados | Tabelas do Brazilian E-Commerce Public Dataset, com os nomes encurtados |
| Montar a base de vendas | Juntar pedidos, clientes, vendedores, produtos e geolocalização por cidade |
| Preparar para o mapa | Peso total do último ano por cidade de destino e de origem, acima de 10 kg |
| Gerar o mapa | Camadas de clientes e dos centros de massa de clientes e de vendedores |
| Adicionar linhas | Simular um centro de distribuição entre os dois centros de massa |
Perguntas frequentes sobre mapa de demanda e centro de massa
Serve ao planejamento da supply chain, em especial à estruturação de uma malha logística que maximize o nível de serviço ao cliente e a produtividade operacional. O mapa mostra onde está a demanda e onde ficam os centros de massa dos clientes e dos vendedores.
É o ponto geográfico que equilibra os locais de demanda ou de origem ponderados pelo volume de cada um, como uma média das coordenadas pesada pelo peso movimentado. No post, ele é calculado com o peso total do último ano por cidade, separadamente para clientes e para vendedores.
O Brazilian E-Commerce Public Dataset, disponível no site da Kaggle. Ele tem 8 tabelas relacionadas por colunas, como a tabela de pedidos, que se liga à de itens do pedido pela coluna order_id. Para o projeto, foram usadas parte dessas tabelas, com os nomes encurtados.
Carregar as tabelas, montar a base de vendas com pedidos, clientes, vendedores, produtos e geolocalização por cidade, converter gramas em quilos e dimensões em m³, somar o peso do último ano por cidade de destino e de origem, mantendo as cidades com mais de 10 kg, calcular os centros de massa e gerar o mapa em camadas.
No cenário do post, uma empresa compra as mercadorias, armazena em um centro de distribuição e entrega aos clientes. Com uma camada de linhas no mapa, o autor sugere Mogi Mirim como possível local, por ficar entre o centro de massa dos vendedores, ou fornecedores, e o dos clientes.
Conteúdos complementares recomendados
- Como fazer um dashboard em Python: Além disso, o dashboard citado pelo autor.
- Estudo de malha logística: Ou seja, o projeto que a análise apoia.
- Como escolher a localização do centro de distribuição: Por fim, o próximo passo depois do mapa.

