We met a lumber and millwork operation across two sites that was growing quickly and losing gross margin while it did. Both numbers were on the board every month. What nobody could produce was the view that connected them, because it needed margin by account and by category and the reporting could not be asked a question of that shape.
Who we met
The partner and the sales director of a distributor and remanufacturer with nineteen years of history in its system. Revenue was climbing on the back of large new accounts. Margin was drifting down at the same time, and the working theory in the building was that somebody was discounting.
It was not that. Discounting across the whole business runs under one per cent of revenue, which is tight by any standard. The new accounts were being won at commodity pricing a good ten points below the retained base, and they were big enough to move the blend on their own. Meanwhile churn and contraction in the existing book were running at a level the new business covered on revenue and did not cover on margin. Net revenue retention sat in the mid-seventies while the headline read strongly positive.
Sitting behind that, categories that had drifted. A meaningful share of revenue carried no product group at all and dropped silently out of every rollup. A byproduct line showed full gross profit because no cost had ever been booked to it. Freight sat among the products as though it were something you could sell. None of that is unusual. Item masters get built once and maintained under pressure. It mattered here because every margin conversation was resting on them.
What we did
The first job was agreeing what margin even meant here, before computing any of it.
Reconciling to a number they already trusted
Interviews first, with the partner, the sales director and the reps who would have to live with the answer. Then a read of the spreadsheets they were using to get round the reporting, because those carry the definitions the business actually runs on.
We connected the ERP, cleaned and modelled the order and cost data, and chose the invoice-date basis deliberately, because that is the basis their own profitability report already uses and reconciling to a number they trust matters more than picking the neater one.
The semantic layer is where their language went in. Their categories, their product groups, the handful of internal entities that look like customers and are not, the reps who had left and the states with no distribution behind them. Every one of those needed a decision from them rather than a default from us.
Then we encoded judgement rather than reporting it. The loss-leader test, the floor for new business, and the rule that a rep sees margin in dollars while percentages stay with leadership, which was their call and took one line.
What we left them with
Not a dashboard to interpret. One action per account, ranked by the margin at stake, with the reason attached.
Two accounts, the same discount.
// Illustrative · not the customer's dataIdentical discounts, opposite conclusions. The line says nothing on its own. What decides it is the account it sits inside, which is a view most pricing reports do not offer.
Price spread is mostly legitimate and tracks volume. The buyer sitting away from the curve is the one worth a conversation.
One action per account rather than a list to interpret, sized in margin and ordered by it.
Alongside it, a win-back window built from their own history rather than a rule of thumb. An account quiet for under three months comes back most of the time. By the end of the first year it rarely does. And because a monthly buyer going quiet for three months means something different to a seasonal one, the measure is each account's own rhythm.
A sales manager can reassign an account from a dropdown and it moves across the whole view, including the new owner's action list. That mattered because a substantial book belonged to reps who had left, and nobody was calling it.
The result
Computed by Quarri from the operation's own invoiced order and cost data, on the invoice-date basis their own profitability reporting already uses. Internal entities and inter-branch transfers excluded. Trailing six months against the prior six, and reconciled to an independent platform total. Figures given as proportions and orders of magnitude throughout.
A small number of accounts to reprice on a floor, and one below-cost account identified as a loss leader worth protecting. Everything else below cost is a watch list rather than an action, and it says so.
Accounts belonging to reps who had left, surfaced and reassignable in a click. Nobody had been calling them because nothing showed that they had no owner.
A ranked call list per rep, refreshed rather than rebuilt, in place of a margin pack assembled by hand each month.
The lasting change is smaller than any single figure. A below-cost line no longer reads as a problem by default, and the argument about discounting stopped. There's more on how this applies across a finished-products operation on the wood products page.