Skip to content
elastly
Book a demo

Margin leakage: the five leaks in distribution, and how to measure each one

Margin leakage is profit lost between the price you planned and the price you got. Five leaks, the test and money formula for each, with a distributor example.

Mohamed AshrafOct 22, 2026 · 9 min read

Margin leakage is the profit a distributor loses between the price its policy intended and the price it actually invoiced. It shows up in five places: lines sold below the floor, lines sold below cost, one SKU sold at widely different prices, customers paying less than their peers, and segments whose margin slides month after month with no repricing. Each of these can be measured from your own invoice lines and expressed in money.

What is margin leakage?

Every distributor has a price it means to charge: a list price, a price level, a contract price, a floor below which nobody should go. Margin leakage is everything between that intended price and the price on the invoice, plus what disappears after the invoice through rebates, early payment discounts and free freight.

The word "leakage" fits because no single sale looks wrong. A rep gives 3% to keep a contractor happy. A price level was set two years ago and never moved with cost. A large account negotiated a deal once and nobody revisited it. Each decision is small and defensible. Added up over 12 months of invoice lines, they make a number worth measuring, and most margin reports never show it.

Margin leakage is measured against your own intended price, never against a market benchmark. If you cannot say what the price should have been, you cannot measure the leak.

Margin leakage, revenue leakage and margin compression

Three terms get used for the same symptom, a margin that is lower than expected. They have different causes and different fixes.

Cause
Margin leakagePrice falls below what the policy intended
Margin compressionCost rises faster than price
Where it shows
Margin leakageSingle lines, customers and reps
Margin compressionWhole categories at once
Fix
Margin leakagePrice discipline and approvals
Margin compressionA cost pass-through or price increase

Revenue leakage is a third, narrower term. Most of the pages that rank for it come from subscription billing, where it means money earned but never invoiced or collected: missed renewals, unbilled usage, failed payments. In distribution the closest equivalent is a contract price increase that never reached the ERP, or a rebate paid on volume the customer did not buy. That is a billing and collections problem; this guide covers price leakage.

The five margin leaks in distribution

These five cover most of the price leakage a distributor can see in its own sales data. Four are visible on single invoice lines. The fifth is visible only over time.

  1. 01Below floor

    A line sold under the floor price that was in force on the day of the sale.

    FormulaExposure = Σ (floor − net price) × quantity, where net price < floor
  2. 02Negative margin

    A line sold under its cost, so the sale lost money before any overhead.

    FormulaLoss = Σ (cost − net price) × quantity, where net price < cost
  3. 03Price spread

    One SKU sold across a wide range of prices to similar buyers.

    FormulaLeak = Σ (median − net price) × quantity, where net price < median
  4. 04Below peers

    One customer paying clearly less than customers like it for the same items.

    FormulaGap = Σ (peer median − net price) × quantity
  5. 05Margin drift

    A segment's margin falling month after month with no price change behind it.

    FormulaCost = revenue × points lost ÷ 100

Off-invoice costs such as rebates, early payment discounts and free freight are a sixth source. They sit below the invoice price, so they are best measured with a price waterfall rather than on invoice lines.

How to measure each leak

Each leak needs three things: a reference price, a test that says when a line counts, and a formula that turns the gap into money. The example below uses one SKU at one distributor over 12 months.

The SKU is a 6205-2RS bearing. Landed cost is $11.60. The floor is a 25% markup, so $14.50. Over the year it sold 9,000 units, and the median net price across all lines was $16.40.

Below floor

Reference: the floor in force on the sale date, not today's floor. Test: any line with a net unit price under that floor. Money: the gap times the quantity.

Formula
Below-floor exposure=Floor − net price×Quantity
Example$14.50 − $13.90×1,100=$660

Some of these lines are approved exceptions, such as a strategic deal a manager signed off. Keep them in the measure but report them apart from unapproved ones, so decisions a manager made stay separate from leaks nobody approved.

Negative margin

Reference: the cost on the sale date. Test: any line whose net unit price is under its cost. Money: the cost of those lines minus their revenue.

Formula
Negative-margin loss=Cost of the lines−Revenue of the lines
Example$4,640−$4,480=$160

Here 400 units went out at $11.20 against a cost of $11.60. Before you count a line, check the cost. A missing or stale cost produces false negatives in both directions, and credit memos and returns carry negative quantities that look like losses but are not.

Price spread

Reference: the median net price of the SKU over the period. Test: the SKU's lines span more than a set range, measured in markup points. A common starting threshold is 20 markup points. Money: for every line below the median, the gap to the median times the quantity.

The 6205-2RS sold between $11.20 (a markup of −3.4%) and $18.20 (a markup of 56.9%), a spread of 60.3 markup points. Lines below the median added up to 5,000 units at an average of $14.50.

Formula
Spread below median=Median − net price×Quantity
Example$16.40 − $14.50×5,000=$9,500

Best sellers are quoted most often and by the most people, so check spread there first, where the volume makes the money real. A wide spread on a SKU that sold 40 units is noise.

Below peers

Reference: the median price that comparable customers paid for the same items. Comparable usually means the same segment or price level. Test: the customer pays more than a set percentage below the peer median. 10% is a sensible default. Money: the gap to the peer median times the customer's quantity.

One fleet account paid an average of $14.20 for 1,800 units while its peers paid a median of $16.40. That is 13.4% below the peers, over the 10% threshold.

Formula
Below-peer gap=Peer median − net price×Quantity
Example$16.40 − $14.20×1,800=$3,960

Below-peer findings are a good starting point for a review with the account's rep. Sometimes the account earns the price through volume, payment terms or a competitive threat. In other cases the price was set for a deal that ended long ago.

Margin drift

Drift is the leak nobody sees on a single line, because every line looks normal. It is visible only when you track one segment over months.

Reference: the segment's margin at the start of a window, for example six months. Test: margin falls by more than a set number of points over the window and declines in most of its months (say five of six). No price was changed for that segment in the same period. Money: the segment's revenue times the points lost.

The contractor segment for bearings went from 28.1% to 25.5% gross margin over six months, on $2.4M of revenue, with no repricing.

Formula
Drift cost=Revenue×Points lost÷100
Example$2,400,000×2.6÷100=$62,400

The no-price-change condition separates drift from strategy: a margin that falls after you deliberately cut prices to win share is a decision you made. Read margin vs markup if the difference between margin points and markup points is unclear: drift is measured in margin points, spread and floors in markup points.

What the five leaks look like side by side

Put the five results for the example distributor in one view, ranked by money:

Example distributor, 12 months
  • Margin driftContractors, bearings$62,400
  • Price spread6205-2RS$9,500
  • Below peersOne fleet account$3,960
  • Below floor6205-2RS$660
  • Negative margin6205-2RS$160

The slow leak is the large one: one segment drifting for six months costs more than every line-level leak on the SKU combined. The line-level leaks also overlap. The fleet account's 1,800 units are also below the SKU median, so they sit inside the spread number too. The below-floor and negative-margin lines are below the median as well.

Never add leak types together without removing the lines counted twice. Total each line once, under the leak that explains it best, or report the leaks side by side without a grand total.

How to find margin leaks in your ERP

You can run all five tests on an export of invoice lines. Most ERPs, including NetSuite, Microsoft Dynamics and SAP Business One, can produce it from a saved search or a sales report.

  1. Export 12 months of invoice lines

    Date, customer, segment, SKU, quantity, net unit price, unit cost, rep. Include credit memos.

  2. Clean the cost column first

    Flag lines with a missing or zero cost. They create false negative-margin findings.

  3. Attach the floor in force on each date

    Use the floor history, not today's floor, or old sales look like breaches.

  4. Compute the references

    Median price per SKU, peer median per segment and SKU, margin per segment per month.

  5. Run the five tests and price each gap

    Apply each threshold, multiply each gap by quantity, then remove double counts.

  6. Rank by money, not by count

    A hundred small breaches can matter less than one drifting segment.

Most of the effort in the first run goes into cost cleanup and floor history. Later runs are faster, but each one describes sales that already happened.

How to stop each leak

Each leak has a different owner and a different fix.

  • Below floor

    Block or route to approval at quote time, and record the reason when approved.

  • Negative margin

    Fix stale costs, then make a below-cost price impossible to send without a manager.

  • Price spread

    Give reps a recommended price per line, with the range similar quotes closed at.

  • Below peers

    Review the account with its rep, then move it toward the peer price in steps.

  • Margin drift

    Pass cost changes through on a schedule, segment by segment.

For the policy side, see the guide to a discount policy that reps follow. For the after-invoice side, map rebates and freight in a price waterfall. To size the problem first, the margin leakage calculator gives a range from three numbers, and the pricing ROI calculator estimates what better pricing adds a year.

Where manual leak hunting breaks

The spreadsheet method has three limits.

First, it is retrospective. A spreadsheet finds the leak months after the quote that caused it, when the customer is already used to the price. Second, it depends on clean costs and floor history, which most distributors keep only partly, so the first week goes on data rather than findings. Third, it is a project, not a habit: once the analyst moves on, the leaks come back.

Elastly runs these five tests continuously on the invoice lines it syncs from your ERP and ranks each finding by money, with the lines behind it. Connect your ERP and get your free leak report: it is built from your own history, read-only, so you see your leaks before you change anything.

Get your own leak report

Free in your trialYour leak report, from your own dataConnect NetSuite with a view-only role. After the first sync, see where margin leaks, ranked by money at stake.Estimate it first with the calculator
Get your free leak report

Common questions

Pricing leakage is the gap between the price a policy says a customer should pay and the price they actually pay. It covers discounts beyond the policy, prices below the floor, customers paying less than similar customers, and off-invoice costs such as rebates and free freight. It is the price side of margin leakage.