Margin & pricing · 4 min
Why aggregate gross margin reports hide transaction-level leakage
The report is accurate and the problem is invisible in it. Both things are true at once.
A finance director looking at a margin report that has held steady at 23% for six quarters has good reason to believe pricing execution is under control. The report is not wrong. It is answering a different question from the one that matters.
Averages are built to hide variance
An average is a compression. It takes a distribution and returns a single number, and the information it discards is precisely the information about outliers. That is not a flaw — it is what an average is for, and it is the right tool for reporting performance to a board.
It is the wrong tool for finding exceptions, and the failure is asymmetric in a way that matters commercially. A margin report will reliably show you a broad decline across a product line. It will reliably not show you that eleven customers are being priced below their contracted floor, because eleven customers inside a segment of four hundred move the average by an amount indistinguishable from mix.
Mix absorbs everything
Whenever an aggregate margin moves slightly, the first explanation offered is mix — a shift in what was sold rather than how it was priced. That explanation is usually correct, which is exactly what makes it dangerous.
Because mix is a legitimate explanation for small movements, it becomes an unfalsifiable one. Any half-point move can be attributed to it, and attributing it ends the investigation. The genuine pricing execution problems that also produce half-point moves get absorbed into the same explanation and are never separated out.
The granularity you actually need
The unit at which pricing decisions are made is the transaction line: this customer, this item, this quantity, this date. That is where a rep applies a discount, where a contract price should be applied and sometimes is not, and where a stale price file produces a sale below intended margin.
Any analysis performed above that level is looking at the consequence rather than the cause. You can see the aggregate effect of two hundred bad lines. You cannot see which two hundred, which means you cannot act.
This is why a report that shows margin by branch is operationally useless for this problem even when it is showing a genuine difference. Knowing that Branch 4 runs two points below Branch 7 tells you nothing you can do on Monday morning. Knowing that Branch 4 has been applying an expired price file to nineteen accounts since March tells you exactly what to do.
What to ask for instead
The question that surfaces this is not “what is our margin?” but “which lines were priced differently from what our own rules say they should have been, and why?”
That question cannot be answered by a report. It requires reconstructing an expected price for every line and comparing against it — which is a different kind of work from reporting, and is why it tends not to happen even in businesses with good finance teams and capable systems.
Written by Saif Ullah, Probatus Labs. This is analysis, not research: it does not report measurements we have not made, and it does not describe any client engagement.
Related: Distributor Margin Audit →