Core argument

Two customers. One buys 1,200,000 dollars a year at a 25% gross margin. The other buys 340,000 dollars at 30%. Every account review in the business treats the first one as the priority. After cost to serve, the large account returns 71,000 dollars and the small one returns 84,000. The biggest relationship in the business delivers less total contribution than an account a third its size, and nothing in the standard P&L makes that visible.

The core insight

Ask a finance team which customers are profitable and you will usually get an answer built from gross margin. It is the number the system produces, it reconciles to the P&L, and it feels like customer profitability. It is not. Gross margin measures how profitable a product is. It says nothing about how expensive a customer is to keep.

Everything that separates one customer from another sits below the gross margin line. How often they order. How small each order is. How many separate places you deliver to. How much they send back. How much account management and technical support they absorb. How long they take to pay, and what that costs you in working capital. Two customers can buy identical goods at identical prices and consume wildly different amounts of the business.

That cost is real, it is large, and in most reporting it is pooled into overhead and spread across everyone as a percentage of revenue. Averaging is precisely the wrong treatment, because it charges the average to the customer whose costs are furthest above it. The demanding account looks fine. The easy account quietly pays for it.

"Gross margin tells you whether the product was worth making. Cost to serve tells you whether the customer was worth keeping."

The framework: contribution after cost to serve

The method is one line, and the work is entirely in populating it honestly.

Customer contribution
Contribution = Gross Margin − Cost to Serve

Cost to serve covers order handling, delivery, returns and credits, account and support time, and the financing cost of payment terms.

You do not need a full activity-based costing programme to start. You need five drivers and a defensible rate for each: cost per order processed, cost per delivery drop, credits and returns, servicing hours at a loaded rate, and the carrying cost of receivables. Rates good to plus or minus 20% are enough, because the differences between customers are usually measured in multiples, not percentages.

Work through it with two real customers

Both buy from the same catalogue. The national account negotiated a lower price and direct delivery to each of its stores. The regional account buys in full pallets, twice a month, to one address, and pays in 30 days.

That ship-to profile is the whole difference. The national account delivers into 38 separate store locations rather than a single warehouse, which is why it generates roughly 380 deliveries a year against the regional account's 26.

Line National account Regional account
Revenue$1,200,000$340,000
Cost of goods$900,000$238,000
Gross margin$300,000$102,000
Gross margin %25.0%30.0%
Ship-to locations381
Deliveries per year38026
Order handling at $180$68,400$4,680
Delivery at $220 per drop$83,600$5,720
Returns and credits$30,000$2,400
Account and support time$32,000$3,500
Financing of payment terms (75 vs 45 days)$15,000$1,700
Cost to serve$229,000$18,000
Cost to serve, % of revenue19.1%5.3%
Contribution after cost to serve$71,000$84,000
Contribution %5.9%24.7%

Illustrative figures. Rates are the kind most distributors and manufacturers can derive from existing systems in an afternoon.

The national account is 3.5 times the revenue and still delivers less total contribution than the regional account. Its gross margin percentage was 5 points lower, which anyone could see. Its cost to serve was 14 points higher, which nobody was measuring.

The driver is drop size, not price. The national account averages 3,158 dollars per delivery across 380 deliveries. The regional account averages 13,077 dollars across 26. The price concession cost 60,000 dollars a year. The delivery behaviour cost 152,000.

What actually fixes it

Once the number exists, there are only 3 levers, and they are not equally powerful.

This is the reframe worth carrying: the recoverable money is usually in how you serve, not in what you charge. Repricing is a negotiation you might lose. Removing 220 unnecessary deliveries is an operational change the customer may not even notice.

Why experienced managers still get this wrong

These are structural failures, not careless ones, and they persist in well run finance teams.

  1. 1
    They stop at gross margin because that is where the system stops.

    The ERP traces product cost to the invoice and everything else to a cost centre. Customer profitability is not hidden, it is simply never assembled, and no report will ever surface a number nobody has built.

  2. 2
    They allocate cost to serve as a flat percentage of revenue.

    This is worse than not allocating at all, because it launders the problem. Spreading service cost evenly guarantees the heaviest user is charged the average, which is exactly the account you are trying to detect. Allocate on the driver, meaning orders, drops, and hours, or do not allocate.

  3. 3
    They read revenue concentration as security.

    The largest account is treated as the one that cannot be risked. Often it is the one contributing least per dollar of revenue, and the fear of losing it is what funded every concession that made it unprofitable in the first place.

  4. 4
    They assume the fix has to be price.

    Price is the most visible lever and the most confrontational. In most portfolios the service model holds more recoverable value and meets far less resistance, because you are removing cost the customer was never willing to pay for.

  5. 5
    They never test the revenue hole they are afraid of.

    Losing 1,200,000 dollars of revenue sounds catastrophic and is the reason nobody raises the subject. Losing 71,000 dollars of contribution, while freeing the capacity behind 380 deliveries a year, is a different sentence describing the same event, provided that capacity is released or put to better use. The analysis exists to let you say the second one out loud. Check the proviso before you do: if the trucks, warehouse time and account hours stay, the loss is closer to the account's full 300,000 dollars of gross margin.

Putting it to work tomorrow

You do not need a costing system. You need one spreadsheet and a willingness to be approximately right.

Profit today
$2.00M
What the curve promises
$4.20M
What you would actually get
$1.45M
Cumulative profit by customer, most to least profitableCumulative profit as customers are added from most to least profitable. It rises to $4.20M at customer 130, the top 65% of customers, and the 70 loss-making customers after them bring it back down to $2.00M, profit today. Stopping service to the last 70 customers, the curve promises $4.20M. With 50% of their cost to serve going away, the result is $1.45M.050100150200$0$1M$2M$3M$4MCumulative profitCustomers, ranked from most to least profitableThe top 65% ofcustomers earn210% of profitProfit todayCumulative profit by customer, most to least profitableCumulative profit as customers are added from most to least profitable. It rises to $4.20M at customer 130, the top 65% of customers, and the 70 loss-making customers after them bring it back down to $2.00M, profit today. Stopping service to the last 70 customers, the curve promises $4.20M. With 50% of their cost to serve going away, the result is $1.45M.050100150200$0$1M$2M$3M$4MCumulative profitCustomers, ranked from most toleast profitableThe top 65%of customersearn 210%of profitProfit today
  • Customers you stop serving
  • What the curve promises
  • What you would actually get
  • Profit today
Dropping the loss-making tail doubles profit only if their cost to serve leaves with them. At these figures, if less than 60% of it goes, you end up poorer.Illustrative figures.
Know the limits of this analysis

Cost to serve is a lens, not a verdict. It misleads in 4 specific ways. If the driver rates are guessed rather than measured, you have moved opinion around and added decimal places. If a customer carries strategic value the model cannot see, such as reference status, market access, or a volume commitment that keeps a plant economic, the number is one input among several. If you treat fixed costs as though they vanish when a customer leaves, you will overstate the gain from an exit and end up with the contribution gone and the cost still there. And a single period is a snapshot, not a trajectory: a growing account absorbing setup cost looks identical to a declining one consuming service. Use it to find where value leaks, then decide with judgment.

The principle worth keeping

Revenue is not an achievement. It is a claim on your capacity, and some claims cost more than they pay.

"Before you fight to keep an account, work out what it contributes after everything it consumes. Some revenue is worth defending. Some is worth repricing. And some you should quietly want to lose, provided their costs would leave with them."

Free Excel model: Margin Bridge & Price/Volume/Mix

Once you know which accounts leak value, this separates an actual margin movement into price, volume, mix, and cost, so you can show how much of the period a single customer explains.

Download free ↓

Related analysis and tools

Free toolkit · Claude skill
Pricing & Optimization Toolkit

Cost to serve for every account at once, sitting alongside the product decisions, so a customer you would reprice and a product you would stop making are weighed on the same page.

→
Free tool · Interactive
Cost-to-Serve Calculator

This article on your own numbers. Enter revenue, cost of goods and the 5 service drivers, and it returns contribution after cost to serve, then sizes the price rise and the delivery change that would close the gap.

→
Pricing · Margin
The Promotion That Grew Sales and Shrank Profit

The same failure in a different costume: a discount that lifted sales 18% while gross profit fell, because the break-even lift it needed was 60%.

→
Free tool · Interactive
Promotion Break-Even Calculator

If the answer to an unprofitable account is a discount to win volume, check the arithmetic first. Enter price, unit cost, and discount depth, and get the break-even lift as you type.

→
Pricing · Margin
Why More Volume Doesn't Always Mean More Profit

The portfolio version of the same argument, with a working Solver optimiser that finds the contribution-maximising price for every product inside the limits you set.

→
FP&A · Strategy
From Reporting to Decisions: How Strategic FP&A Actually Works

Where customer profitability belongs in the wider workflow: past describing the quarter, through diagnosis, and into the decision the numbers point to.

→