Como calcular margem de contribuição por produto em DAX: passo a passo
Calcular a Margem de Contribuição por produto em DAX permite saber quanto cada produto contribui para cobrir custos fixos e gerar lucro. Este tutorial mostra como criar medidas limpas que subtraem custos variáveis, alocam custos fixos e exibem margem e margem % no modelo Power BI.
Pré-requisitos
- Power BI Desktop com dados de Vendas e Custos (tabela Sales e tabela Costs)
- Tabela de produtos (Products) com ProductID e ProductName
- Relacionamentos configurados: Sales[ProductID] → Products[ProductID]; Costs pode estar ligado por ProductID ou ser uma tabela única de custos fixos
- Conhecimento básico de DAX: medidas e filtragem
Passo 1: Entender o conceito e preparar as colunas
A Margem de Contribuição é normalmente Vendas - Custos Variáveis. Depois podemos alocar custos fixos por produto (por volume ou por receita). Confirme que a tabela Sales tem Price e Quantity, e que existem colunas ou tabelas para custos variáveis por unidade ou por receita.
Passo 2: Criar medida de Receita
Primeiro criamos uma medida simples de Receita. Esta medida é a base para outras medidas e deve respeitar o contexto de filtro (produto, data, etc.).
Revenue = SUMX(Sales, Sales[Price] * Sales[Quantity])
Passo 3: Criar medida de Custos Variáveis
Se os custos variáveis existirem por unidade em Sales (por ex. VariableCostPerUnit), calcule o total multiplicando por Quantity. Se for uma tabela separada, use uma relação ou LOOKUPVALUE.
VariableCost = SUMX(Sales, Sales[VariableCostPerUnit] * Sales[Quantity])
Passo 4: Calcular Margem de Contribuição bruta
Subtraem-se os custos variáveis à receita. Use DIVIDE quando for necessário calcular rácios mais tarde para evitar divisões por zero.
Contribution = [Revenue] - [VariableCost]
Passo 5: Alocar Custos Fixos por produto
Existem várias formas de alocar custos fixos. Aqui damos dois exemplos: alocação por receita (proporcional) e alocação por unidades vendidas. As medidas assumem que existe uma medida TotalFixedCosts (valor global de custos fixos).
TotalFixedCosts = 50000 // exemplo: valor fixo mensal
Passo 6: Alocação por receita (exemplo)
Esta medida calcula a fracção da receita do produto no contexto sobre a receita total e aplica essa fracção aos custos fixos.
FixedCostAllocated_ByRevenue =
VAR TotalRevAllProducts = CALCULATE([Revenue], ALL(Products))
VAR ThisProductRev = [Revenue]
RETURN
IF(TotalRevAllProducts = 0, 0, ThisProductRev / TotalRevAllProducts * [TotalFixedCosts])
Passo 7: Alocação por unidades (exemplo alternativo)
Se preferir alocar por unidades vendidas, calcule a proporção de unidades do produto versus unidades totais.
TotalUnits = SUM(Sales[Quantity])
FixedCostAllocated_ByUnits =
VAR TotalUnitsAll = CALCULATE([TotalUnits], ALL(Products))
VAR ThisProductUnits = [TotalUnits]
RETURN
IF(TotalUnitsAll = 0, 0, ThisProductUnits / TotalUnitsAll * [TotalFixedCosts])
Passo 8: Margem de Contribuição líquida (após custos fixos alocados)
Agora subtraímos os custos fixos alocados da Contribution para obter a margem final por produto.
NetContribution_ByRevenueAlloc = [Contribution] - [FixedCostAllocated_ByRevenue]
NetContribution_ByUnitsAlloc = [Contribution] - [FixedCostAllocated_ByUnits]
Passo 9: Calcular percentagem de margem
Medidas percentuais ajudam a comparar produtos independentemente do tamanho. Use DIVIDE para evitar erros por divisão por zero.
ContributionPct = DIVIDE([Contribution], [Revenue], 0)
NetContributionPct_ByRevenueAlloc = DIVIDE([NetContribution_ByRevenueAlloc], [Revenue], 0)
Verificar o resultado
Crie uma tabela no Power BI com Products[ProductName] e as medidas: Revenue, VariableCost, Contribution, FixedCostAllocated_ByRevenue (ou ByUnits), NetContribution_..., ContributionPct. Verifique se os totais fazem sentido: soma das alocações deve aproximar-se de TotalFixedCosts; produtos com zero receita não devem receber alocações; percentagens não devem gerar erros.
Conclusão
Com estas medidas tem um cálculo prático de Margem de Contribuição por produto e duas formas de alocar custos fixos. Próximos passos: ajustar a alocação (ex.: por canal ou por margem histórica) e criar visuais que mostrem produto por produto e top contributors. Dica: teste diferentes métodos de alocação e compare o impacto na margem para entender melhor o negócio.