Pular para o conteúdo
Fynx
Business Intelligence12 min de leitura

Custo logístico por pedido: como calcular no Power BI

Como calcular o custo logístico por pedido no Power BI com DAX: armazenagem, transporte, embalagem, reversa, rateio de custos fixos e margem por canal.

F
Fynx

O custo total de servir um pedido raramente aparece no seu relatório

A maioria das operações de logística e e-commerce sabe quanto fatura por pedido, mas não sabe quanto gasta para entregar aquele pedido específico. O resultado é previsível: canais que parecem lucrativos no faturamento bruto entregam prejuízo depois de armazenagem, transporte, embalagem e logística reversa. Calcular o custo logístico por pedido no Power BI é o que separa uma decisão de precificação baseada em achismo de uma decisão baseada em número.

Neste artigo eu mostro como estruturar o modelo, quais custos capturar, como fazer o rateio dos custos fixos de forma honesta e como escrever as medidas em DAX para chegar em margem por canal e por cliente. Sem fórmula mágica e sem inventar percentual: o método é o mesmo que usamos em projetos reais de BI para logística.

Antes do DAX, o problema é de modelagem de dados

Ninguém calcula custo por pedido em cima de uma planilha achatada. O erro mais comum que encontro é jogar tudo numa tabela só, misturar granularidades e depois brigar com o Power BI para somar coisas que não deveriam ser somadas.

O custo logístico por pedido é a soma de componentes que vivem em granularidades diferentes:

  • Custos diretos e variáveis, que existem por pedido ou por item: frete de transporte, material de embalagem, taxa de gateway, custo de picking.
  • Custos semivariáveis, que existem por evento mas nem todo pedido gera: logística reversa, reentrega, avaria.
  • Custos fixos, que existem por período e precisam ser rateados: aluguel do galpão, mão de obra da operação, energia, sistemas, depreciação de equipamento.

Um modelo estrela resolve isso. Você tem uma tabela fato de pedidos na granularidade de item ou de pedido, dimensões de calendário, canal, cliente, transportadora e produto, e tabelas de apoio para os custos que chegam em outra granularidade (custo fixo mensal do CD, tabela de frete por região e peso). O Power BI foi feito para esse formato. O motor VertiPaq comprime as colunas por cardinalidade, então colunas de baixa cardinalidade como canal e status ficam extremamente eficientes, e chaves de alta cardinalidade como número do pedido devem ficar apenas onde são indispensáveis.

Se a sua base ainda está em planilhas ou em exportações manuais do ERP e do WMS, o gargalo real não é o DAX, é a origem. Vale tratar isso com engenharia de dados antes de esperar qualquer relatório confiável. E se você quer entender a fundo por que a modelagem correta economiza horas de retrabalho, o nosso material sobre boas práticas de modelagem e DAX entra nesse detalhe.

Os quatro blocos de custo que compõem o custo por pedido

Vou usar uma decomposição prática. Cada bloco vira uma medida, e a soma delas é o custo logístico total do pedido.

Bloco de custoO que entraGranularidade naturalComo tratar no modelo
TransporteFrete da transportadora, pedágio, taxa de entrega, reentregaPor pedido ou por remessaFato de frete ou tabela de frete por peso e região
ArmazenagemAluguel do CD, movimentação, picking, energiaPor período, rateadoCusto fixo mensal rateado por pedido ou por item
EmbalagemCaixa, plástico, fita, etiqueta, material de proteçãoPor pedidoCusto unitário por tipo de embalagem
Logística reversaColeta de devolução, reprocessamento, avaria, descartePor evento de devoluçãoFato de reversa ligado ao pedido original

A embalagem e o transporte costumam ser os mais fáceis de capturar, porque já vêm com valor por pedido. A armazenagem é onde mora a maior parte dos erros, porque é um custo fixo que precisa de rateio. E a reversa é a mais esquecida, apesar de ser a que mais destrói margem em operações com alta taxa de devolução, como moda e eletrônicos.

O rateio de custos fixos precisa de um critério, não de um chute

Aqui está a decisão mais importante do cálculo. Custo fixo de armazenagem não pertence a um pedido isolado; ele existe independentemente de qualquer venda. Para chegar a um custo por pedido, você precisa escolher um direcionador de rateio e ser transparente sobre ele.

Os critérios mais usados, do mais simples ao mais justo:

  • Por número de pedidos: custo fixo do mês dividido pela quantidade de pedidos. Simples, mas trata um pedido de um item pequeno igual a um pedido de dez volumes pesados.
  • Por volume ou peso ocupado: rateia proporcional à ocupação física. Mais justo para operações onde o espaço é o recurso escasso.
  • Por tempo de permanência: itens que ficam meses parados no CD consomem mais armazenagem. Bom para operações com giro heterogêneo.

Não existe critério certo universal. Existe o critério que representa melhor o seu recurso escasso. O importante é documentar a escolha e mantê-la estável, senão a comparação entre meses perde sentido. Esse é exatamente o tipo de regra que precisa ficar registrada na sua camada de governança de dados, para que todo mundo calcule margem da mesma forma.

No Power BI, o rateio por número de pedidos fica assim. Primeiro uma medida com o custo fixo do período, depois a divisão pela contagem de pedidos:

Custo Fixo Mensal = SUM('CustoFixo'[Valor])

Pedidos no Periodo = DISTINCTCOUNT('Fato Pedidos'[IDPedido])

Custo Armazenagem por Pedido = DIVIDE([Custo Fixo Mensal], [Pedidos no Periodo])

Sempre use DIVIDE em vez do operador de barra. DIVIDE trata divisão por zero de forma segura e evita o erro que aparece justamente no fechamento do mês, quando alguém filtra um período sem pedidos.

As medidas em DAX que entregam o custo por pedido

Com o modelo estrela pronto, as medidas ficam curtas e legíveis. A lógica é somar os custos diretos, somar a parcela rateada e dividir pela contagem de pedidos quando você quer o valor médio por pedido.

Custos diretos que já vêm por pedido:

Custo Transporte = SUM('Fato Pedidos'[ValorFrete])

Custo Embalagem = SUMX('Fato Pedidos', 'Fato Pedidos'[QtdVolumes] * RELATED('Embalagem'[CustoUnitario]))

Custo de reversa, vindo de uma fato separada ligada ao pedido original:

Custo Reversa = SUM('Fato Reversa'[CustoDevolucao])

O custo logístico total combina tudo:

Custo Logistico Total = [Custo Transporte] + [Custo Embalagem] + [Custo Reversa] + [Custo Fixo Mensal]

E o custo por pedido, que é a medida que a operação de fato usa:

Custo Logistico por Pedido = DIVIDE([Custo Logistico Total], [Pedidos no Periodo])

Repare que Custo Fixo Mensal entra no total porque já é o custo agregado do período. Ao dividir pelo número de pedidos, o rateio acontece naturalmente dentro da própria medida, sem precisar espalhar valor fixo linha a linha na fato. Isso mantém o modelo leve e evita duplicar custo fixo quando o usuário muda o nível de detalhe no visual.

Um cuidado com contexto de filtro: SUMX e RELATED respeitam os filtros aplicados no relatório, então a mesma medida serve para o total geral, para um canal específico ou para um único cliente sem reescrita. É essa propriedade que torna o Power BI adequado para esse cálculo, e é também por isso que a modelagem correta importa mais do que a esperteza da fórmula.

Margem por canal e por cliente é onde a decisão acontece

Custo por pedido isolado é diagnóstico. O que muda o negócio é cruzar esse custo com a receita para chegar em margem por canal e por cliente. É comum descobrir que o marketplace com maior volume tem a pior margem líquida depois de comissão e frete subsidiado, enquanto a venda direta, menor em volume, sustenta o resultado.

A medida de margem parte da receita líquida e subtrai o custo logístico:

Receita Liquida = SUM('Fato Pedidos'[ValorLiquido])

Margem Contribuicao Logistica = [Receita Liquida] - [Custo Logistico Total]

Margem % = DIVIDE([Margem Contribuicao Logistica], [Receita Liquida])

Colocando Margem % numa matriz com canal nas linhas, você enxerga na hora onde o custo logístico está comendo a rentabilidade. A tabela abaixo ilustra o formato de análise, com valores fictícios apenas para demonstrar a leitura:

CanalReceita líquidaCusto logísticoCusto por pedidoMargem %
Loja própriaR$ 420.000R$ 58.000R$ 12,4086,2%
Marketplace AR$ 610.000R$ 142.000R$ 21,8076,7%
Marketplace BR$ 285.000R$ 96.000R$ 27,1066,3%
Atacado B2BR$ 530.000R$ 44.000R$ 9,1091,7%

Os números acima são ilustrativos e servem só para mostrar como o painel se lê. O ponto real é o padrão: canais com frete pulverizado e alta taxa de devolução puxam o custo por pedido para cima e derrubam a margem, mesmo faturando bem. Sem esse recorte, a empresa continua alimentando o canal errado.

Para clientes, a mesma medida com cliente nas linhas revela a cauda que dá prejuízo: contas que compram pouco, longe do CD, com muita devolução. A decisão que sai disso é comercial, frete mínimo, política de devolução, revisão de tabela, e não apenas operacional. Se você quer levar essa análise além do descritivo, para prever custo de reversa ou detectar clientes propensos a devolução, isso entra no terreno de analytics avançado.

Como isso vira um painel que a operação usa toda semana

Ter as medidas certas não basta se o painel não for confiável e atualizado. Alguns pontos que definem se o relatório vira ferramenta ou vira slide morto:

  • Atualização automática conectada ao ERP e ao WMS, não exportação manual de planilha. Um custo por pedido que chega três dias atrasado não serve para decisão de precificação.
  • Uma medida por conceito, reaproveitada em todos os visuais. Custo de transporte é calculado uma vez e usado em toda parte, o que evita o clássico problema de dois relatórios mostrarem números diferentes para a mesma coisa.
  • Documentação do rateio visível no próprio relatório, para que ninguém questione de onde saiu o custo fixo por pedido.

Sobre licenciamento, vale ser direto. Publicar e compartilhar no Power BI Service exige licença por usuário: o Power BI Pro para o uso corrente e o Power BI Premium por Usuário (PPU) quando você precisa de recursos avançados. Para capacidade dedicada existe o Microsoft Fabric, anunciado pela Microsoft em 2023, que mede consumo em Capacity Units e é vendido em SKUs como F2 até F2048. Faixas de preço variam por região e câmbio e devem ser confirmadas na página oficial da Microsoft. A Microsoft é reconhecida como Líder no Quadrante Mágico do Gartner para plataformas de Analytics e BI, o que ajuda a explicar a ampla adoção do Power BI no Brasil pela penetração do ecossistema Microsoft.

Se a sua operação está crescendo e você está avaliando arquitetura, o guia de Power BI para empresas no Brasil cobre esse dimensionamento com mais fôlego, e a estrutura de Power BI da Fynx é onde a gente coloca isso de pé com governança e sustentação.

Perguntas frequentes

Preciso do custo por pedido na granularidade de cada pedido individual ou o valor médio já resolve?

Depende da decisão. Para precificação de canal e política comercial, o custo médio por canal e por cliente já orienta bem. Para investigar pedidos que deram prejuízo, você precisa da granularidade individual, o que exige que a fato esteja no nível de pedido ou item. O bom é que o mesmo modelo entrega os dois, mudando apenas o campo nas linhas do visual.

Como trato o custo fixo se o número de pedidos varia muito de um mês para o outro?

Esse é o efeito colateral do rateio por pedido: em meses de baixo volume, o custo fixo por pedido sobe, porque a mesma base de custo é dividida por menos pedidos. Isso é correto e revela sazonalidade real. Se você quer neutralizar esse efeito para comparar eficiência, use rateio por volume ou por peso ocupado, que independe da contagem de pedidos.

Posso calcular tudo no Power Query ou é melhor deixar em DAX?

Custos que já vêm por pedido, como frete e embalagem, podem ser preparados no Power Query durante a carga, o que deixa o modelo mais limpo. Mas rateio de custo fixo e margem por canal devem ficar em DAX, porque dependem do contexto de filtro escolhido pelo usuário no relatório. Regra prática: transformação de dados no Power Query, cálculo que reage a filtro em DAX.

A logística reversa realmente muda tanto o resultado?

Em operações com alta taxa de devolução, sim, e costuma ser o custo mais subestimado. Uma devolução carrega frete de coleta, reprocessamento, reembalagem e eventual perda de valor do produto. Ignorar a reversa infla artificialmente a margem de canais como moda e eletrônicos. Por isso ela merece uma fato própria ligada ao pedido original, não um número redondo jogado no fim da conta.

Onde a LGPD entra num painel de custo logístico?

Entra quando o modelo cruza custo com dados de cliente, especialmente pessoa física. Nome, endereço e histórico de compra são dados pessoais sob a Lei nº 13.709/2018, e um relatório que expõe isso para toda a empresa precisa de controle de acesso por perfil e de finalidade definida. Custo agregado por canal não levanta esse problema; análise por cliente individual levanta. Vale desenhar isso junto com governança de dados e LGPD.

Vale usar o Microsoft Fabric para isso ou o Power BI Pro basta?

Para a maioria das operações de logística de porte médio, Power BI Pro com um modelo bem construído basta. Fabric faz sentido quando o volume de dados cresce a ponto de exigir capacidade dedicada, ou quando você quer unificar engenharia de dados e BI na mesma plataforma com Direct Lake lendo direto do OneLake. É uma decisão de escala e de arquitetura, não de cálculo.

Fechamento

Custo logístico por pedido não é um número bonito para relatório; é a base para decidir quais canais e clientes valem o esforço. O caminho é sempre o mesmo: modelo estrela sólido, custos capturados na granularidade certa, rateio de custo fixo com critério documentado e medidas em DAX que reagem ao contexto. O Power BI dá conta disso com folga quando a modelagem está correta.

Se você quer sair da planilha e ter esse painel rodando com dados confiáveis e atualizados, fale com a gente.

Quer aplicar isso na sua empresa?

A Fynx implementa BI, Power BI e Power Platform de ponta a ponta. Conte seu cenário e devolvemos um diagnóstico direto ao ponto.

Falar com um especialista

Vamos transformar seus dados em decisão?

Conte seu cenário. Devolvemos um diagnóstico e uma proposta com faixa de investimento em poucos dias úteis, sem folheto, direto ao ponto.