Pricing & Margin Analytics

Gross Margin Analysis:
Your ERP Tracks Both Sides.
Most Tools Only Show You One.

Real gross margin analysis decomposes unit cost (labor, material, burden) and realized price (list, price list, volume slope) independently. Most margin analysis tools skip that work and report the net. Here is what you miss when they do.

10 min read Pricing & margin analytics ERP-native analysis

The margin analysis problem most manufacturers share

Revenue grew 8%. Gross margin fell 60 basis points. The team's explanation: cost pressure. But cost pressure from what, exactly? Raw material inflation? Labor inefficiency? Overhead absorption dropping as volume softened? Or was some of it actually a pricing problem, not a cost problem at all?

Most gross margin analysis stops at the income statement level: revenue minus COGS equals gross profit, expressed as a percentage. That number tells you what happened. It does not tell you why. And when the "why" is split across the cost side and the price side simultaneously, the net number actively obscures the diagnosis.

The core problem: a 60 bps margin decline driven entirely by material cost inflation requires a supplier negotiation. The same 60 bps driven by pricing compliance gaps requires a sales conversation. The net number is the same. The management response is completely different.

Gross margin has two sides, and both move independently

Gross margin per unit is the difference between what a customer pays and what it costs to produce. Both sides of that equation contain structure that most analyses ignore.

On the cost side, unit cost is not a single number. It is the sum of three distinct components, each driven by different factors and each requiring a different management response when it moves.

On the price side, realized price is not list price. It is list price after applying the customer's assigned price list, then applying any volume slope discounts earned by the order quantity. Two customers buying the same part on the same day can pay materially different prices, both legitimately, and the margin contribution from each will differ accordingly.

Your ERP records all of this. Every invoice, every cost roll, every price list assignment, every quantity break applied. The challenge is surfacing it in a form that supports management decisions rather than leaving it buried in transaction tables.

The cost side: labor, material, and burden

Manufacturing cost accounting separates unit cost into three components. Each responds to different pressures and signals a different problem when it rises.

Cost component
Material

The cost of raw materials and purchased components consumed to make one unit. Driven by commodity prices, supplier contracts, and yield rates. Can move fast and in large amounts when input costs spike.

When it rises: supplier price increases, commodity inflation, specification changes, lower yield from quality issues
Cost component
Labor

The direct labor cost per unit: the time and wage cost of workers producing the part. Driven by wage rates, efficiency, rework, and staffing mix. Tends to move more slowly than material but reflects operational performance directly.

When it rises: overtime, rework hours, wage increases, lower throughput, new operator training curves
Cost component
Burden

Allocated manufacturing overhead per unit: factory rent, utilities, equipment depreciation, indirect labor, maintenance. Fixed costs divided by production volume. When volume drops, burden per unit rises even if nothing else changes.

When it rises: volume decline (fixed costs spread thinner), facility cost increases, capacity additions not yet absorbed
Why separation matters
Each needs a different response

Material increases call for supplier negotiation or specification review. Labor increases call for efficiency analysis or workforce planning. Burden increases often resolve themselves as volume recovers, or signal a real capacity utilization problem. Lumping all three into "unit cost" makes it impossible to act on the right lever.

The diagnostic value: knowing which component moved, by how much, and on which products

The price side: list price, price lists, and volume slopes

On the revenue side of gross margin, realized price is rarely equal to list price. Three layers of pricing structure sit between the list price in your item master and the number that appears on the invoice.

Price layer 1
List Price

The base price for a part as set in the item master. The starting point before any customer-specific adjustments. Few customers outside of spot transactions actually pay list price, but it anchors the entire pricing structure and sets the ceiling for margin analysis.

Tracked in ERP as: item price, base price, standard price
Price layer 2
Price List

A customer-specific or segment-specific pricing schedule that overrides list price. OEM customers, distribution partners, and key accounts typically operate on assigned price lists with pre-negotiated discounts. Two customers buying the same part will pay different prices if they are on different price lists.

Tracked in ERP as: customer price list, price group, contract pricing, customer-specific pricing table
Price layer 3
Volume Slope

Quantity break pricing that gives lower per-unit prices as order volume increases. A part priced at $248 at standard quantity might drop to $231 at 100 units and $209 at 500 units. The curve of that price decline is the slope. Steeper slopes reward volume buyers more aggressively.

Tracked in ERP as: quantity price breaks, price breaks by quantity, volume pricing table
Why separation matters
Realized price tells the real story

A price list discount is a strategic choice. A volume slope applied to a large order is working as intended. But if realized price is falling because customers are consistently qualifying for the lowest volume break on small orders, that is a different problem entirely. Seeing each layer separately is the only way to distinguish intended margin from unintended erosion.

The diagnostic value: which layer is driving the gap between list and realized price

What complete margin anatomy looks like for a single part

Here is a worked example for a specialty valve assembly, showing how unit cost and realized price combine to produce the gross margin on a single part number.

Gross Margin Anatomy · Part-Level View
Part: Specialty Valve Assembly · Q1 FY2025
Unit Cost (3 components)
Material $68.40
Labor $22.80
Burden $15.60
Total unit cost $106.80
Gross Margin
48.9%
$102.20 / unit
$209.00 realized
minus $106.80 cost
Realized Price (3 layers)
List price $248.00
Price list (OEM Tier) −$22.00
Volume slope (500+ units) −$17.00
Realized price $209.00

The list price is $248. The customer pays $209. The $39 gap is not margin erosion, it is the intended pricing structure: an OEM price list agreement plus a volume break earned by the order size. Both are visible and expected. The gross margin at $209 realized price is 48.9%, which may be exactly on plan for this part's taxonomy tier.

Now consider what happens if the same customer places a smaller order next quarter, 80 units instead of 500, and misses the 500-unit volume break. Realized price moves from $209 to $226. The margin improves because the volume slope was not triggered. Without part-level price layer visibility, that looks like a pricing improvement. It is actually a volume change that accidentally improved margin, and the underlying demand signal is negative.

The trap: a volume slope not triggered can make margin look better while actually signaling weaker demand. Without decomposing the price side, that signal goes undetected until the revenue decline becomes obvious.

Extending PVM to gross margin: the full bridge

Price-volume-mix analysis is typically applied to revenue. The same framework extends to gross margin dollars, with one addition: cost effects join the bridge alongside price and mix. This produces a complete gross margin bridge that attributes every basis point of margin change to a specific driver.

The example below shows a manufacturer whose gross margin improved from 34.1% to 34.9% year over year, a net improvement of 80 basis points. The bridge shows that the result masked a significant headwind and several offsetting tailwinds.

Gross Margin Bridge
Q1 FY2025 vs Q1 FY2024 · Specialty Parts Manufacturer
$0 $2M $4M $6M $8M $7.3M Prior GM 34.1% −$0.6M Material cost ↑ +$0.2M Labor efficiency ↑ +$0.3M Burden absorption ↑ +$0.4M Price realization +$0.6M Mix specialty ↑ $8.2M Current GM 34.9%
Baseline period
Margin headwind (cost increase)
Margin tailwind (cost reduction or price gain)
Current period

The net result is an 80 bps improvement. But the bridge tells the real story: a $0.6M material cost headwind was more than offset by labor efficiency gains, better overhead absorption, partial price capture, and a favorable mix shift. Each driver points to a different team and a different set of next actions.

The material headwind is the most urgent question. Is it structural (a commodity that has repriced permanently) or temporary (a spot buy at elevated prices that normalizes next quarter)? That answer determines whether the pricing team needs to defend margin with a price increase or whether operations should wait it out.

Without the bridge, the only available read is "margin improved slightly." The full decomposition surfaces four separate business questions hidden inside that single number.

Your ERP already captures all of this

Every component in a gross margin bridge lives in your ERP. The cost records are captured in your standard cost rolls or cost layers. The price records are captured in the invoice and order tables, with price list and quantity break references included. The challenge is not collecting the data. It is joining, normalizing, and presenting it in a form that supports management decisions rather than requiring an analyst to rebuild the bridge from scratch each quarter.

Labor, material, burden per unit: stored in standard cost rolls or cost detail tables, by item, by cost version, by period
List price: stored in the item price table or item master, with effective date ranges
Price list assignment: stored in the customer master or customer price group table, linking each customer to a specific pricing schedule
Volume slope applied: recorded on the order line or invoice line, referencing the quantity break that was triggered by the order size
Realized price: the invoice unit price after all adjustments, recorded on the invoice line

The complexity is in joining these tables correctly and maintaining the join across periods as cost versions change, price lists are renegotiated, and quantity break structures are updated. In a single ERP, this is difficult but tractable. Across multiple ERPs with different schemas, it requires a purpose-built data layer.

How Marquis Pricing IQ surfaces both sides

Pricing IQ · ERP-native module
Cost decomposition and price layer visibility, together, from your ERP data.

Pricing IQ connects directly to your ERP and tracks both unit cost components (labor, material, burden) and the price layers applied to each transaction (list, price list, volume slope). The gross margin bridge updates each period as invoices post and cost rolls refresh.

Labor, material, and burden tracked separately by item and by period
Price list assignment and volume slope visible on every transaction
Gross margin bridge attributing each basis point to cost, price, or mix
Works across multiple ERPs for multi-site PE-owned manufacturers

FAQ

Common questions about gross margin analysis

Questions about cost components, price layer structure, and how complete margin visibility works in practice.

What is gross margin analysis?

Gross margin analysis is the practice of measuring and explaining changes in gross margin (revenue minus cost of goods sold) over time or across products and customers. Complete gross margin analysis decomposes both the cost side, meaning labor, material, and burden per unit, and the price side, meaning list price, price list adjustments, and volume slope discounts, to identify where margin is being won or lost and why.

What are labor, material, and burden in manufacturing cost analysis?

Labor is the direct labor cost per unit: the time and wage cost of the workers who make the part. Material is the direct material cost per unit: the raw materials and purchased components consumed. Burden (also called manufacturing overhead or absorbed overhead) is the allocated cost of indirect manufacturing expenses such as factory rent, utilities, indirect labor, and equipment depreciation. All three are tracked separately in ERP systems because they respond to different pressures and require different management responses when they move.

What is a volume slope in pricing, and why does it matter for margin?

A volume slope is the pricing structure that gives customers lower per-unit prices as order quantities increase. In ERP systems, this appears as quantity break pricing: a part might have a list price of $248, dropping to $231 at 100 units and $209 at 500 units. The slope describes how steeply price falls with volume. Volume slopes are legitimate competitive tools, but they create complexity in margin analysis: a customer qualifying for a large-order price break on a smaller order, or failing to qualify on a larger one, can produce margin results that look like pricing changes when they are actually volume changes.

How does PVM analysis apply to gross margin, not just revenue?

PVM analysis can be applied to gross margin dollars as well as revenue. A gross margin bridge decomposes the change in margin dollars into cost effects (changes in labor, material, or burden per unit), price effects (changes in realized price per unit), and mix effects (shifts in the composition of products sold toward higher or lower margin items). This produces a complete picture of what drove the margin result independently of what drove the revenue result.

What is burden absorption, and why does it affect gross margin?

Burden absorption is the process of allocating fixed manufacturing overhead costs across units produced. If a plant has $1M in monthly overhead and produces 100,000 units, burden per unit is $10. If production drops to 80,000 units, burden per unit rises to $12.50 even though overhead costs did not change. This means gross margin per unit falls as volume falls, and recovers as volume returns, without any actual cost change. Understanding burden absorption separately from material and labor cost changes is essential for distinguishing volume-driven margin compression from genuine cost increases.

See both sides of margin on your ERP data

Schedule a demo and we'll walk through Pricing IQ live. We'll show cost decomposition and price layer visibility running on real manufacturing data.