Cómo calcular margen de contribución por producto en DAX: paso a paso
Calcular el Margen de Contribución por producto en DAX permite saber cuánto contribuye cada producto para cubrir costes fijos y generar beneficio. Este tutorial muestra cómo crear medidas limpias que restan costes variables, asignan costes fijos y muestran margen y % de margen en el modelo Power BI.
Requisitos previos
- Power BI Desktop con datos de Ventas y Costes (tabla Sales y tabla Costs)
- Tabla de productos (Products) con ProductID y ProductName
- Relaciones configuradas: Sales[ProductID] → Products[ProductID]; Costs puede estar vinculada por ProductID o ser una tabla única de costes fijos
- Conocimientos básicos de DAX: medidas y filtrado
Paso 1: Entender el concepto y preparar las columnas
El Margen de Contribución suele ser Ventas - Costes Variables. Después podemos asignar costes fijos por producto (por volumen o por ingresos). Confirme que la tabla Sales tiene Price y Quantity, y que existen columnas o tablas para costes variables por unidad o por ingresos.
Paso 2: Crear medida de Ingresos
Primero creamos una medida simple de Ingresos. Esta medida es la base para otras medidas y debe respetar el contexto de filtro (producto, fecha, etc.).
Revenue = SUMX(Sales, Sales[Price] * Sales[Quantity])
Paso 3: Crear medida de Costes Variables
Si los costes variables existen por unidad en Sales (p. ej. VariableCostPerUnit), calcule el total multiplicando por Quantity. Si es una tabla separada, use una relación o LOOKUPVALUE.
VariableCost = SUMX(Sales, Sales[VariableCostPerUnit] * Sales[Quantity])
Paso 4: Calcular Margen de Contribución bruto
Se restan los costes variables a los ingresos. Use DIVIDE cuando sea necesario calcular ratios más adelante para evitar divisiones por cero.
Contribution = [Revenue] - [VariableCost]
Paso 5: Asignar Costes Fijos por producto
Existen varias formas de asignar costes fijos. Aquí damos dos ejemplos: asignación por ingresos (proporcional) y asignación por unidades vendidas. Las medidas asumen que existe una medida TotalFixedCosts (valor global de costes fijos).
TotalFixedCosts = 50000 // ejemplo: valor fijo mensual
Paso 6: Asignación por ingresos (ejemplo)
Esta medida calcula la fracción de los ingresos del producto en el contexto sobre los ingresos totales y aplica esa fracción a los costes fijos.
FixedCostAllocated_ByRevenue =
VAR TotalRevAllProducts = CALCULATE([Revenue], ALL(Products))
VAR ThisProductRev = [Revenue]
RETURN
IF(TotalRevAllProducts = 0, 0, ThisProductRev / TotalRevAllProducts * [TotalFixedCosts])
Paso 7: Asignación por unidades (ejemplo alternativo)
Si prefiere asignar por unidades vendidas, calcule la proporción de unidades del producto frente a las unidades totales.
TotalUnits = SUM(Sales[Quantity])
FixedCostAllocated_ByUnits =
VAR TotalUnitsAll = CALCULATE([TotalUnits], ALL(Products))
VAR ThisProductUnits = [TotalUnits]
RETURN
IF(TotalUnitsAll = 0, 0, ThisProductUnits / TotalUnitsAll * [TotalFixedCosts])
Paso 8: Margen de Contribución neto (tras asignar costes fijos)
Ahora restamos los costes fijos asignados de la Contribution para obtener el margen final por producto.
NetContribution_ByRevenueAlloc = [Contribution] - [FixedCostAllocated_ByRevenue]
NetContribution_ByUnitsAlloc = [Contribution] - [FixedCostAllocated_ByUnits]
Paso 9: Calcular porcentaje de margen
Las medidas porcentuales ayudan a comparar productos independientemente del tamaño. Use DIVIDE para evitar errores por división por cero.
ContributionPct = DIVIDE([Contribution], [Revenue], 0)
NetContributionPct_ByRevenueAlloc = DIVIDE([NetContribution_ByRevenueAlloc], [Revenue], 0)
Verificar el resultado
Creе una tabla en Power BI con Products[ProductName] y las medidas: Revenue, VariableCost, Contribution, FixedCostAllocated_ByRevenue (o ByUnits), NetContribution_..., ContributionPct. Compruebe si los totales tienen sentido: la suma de las asignaciones debe aproximarse a TotalFixedCosts; los productos con cero ingresos no deben recibir asignaciones; los porcentajes no deben generar errores.
Conclusión
Con estas medidas tiene un cálculo práctico del Margen de Contribución por producto y dos formas de asignar costes fijos. Siguientes pasos: ajustar la asignación (p. ej.: por canal o por margen histórico) y crear visualizaciones que muestren producto por producto y los principales contribuyentes. Consejo: pruebe diferentes métodos de asignación y compare el impacto en el margen para comprender mejor el negocio.