Customer Profitability Matrix: Why Topline Revenue Is the Wrong Sort
Ranking customers on what you net against what they cost you to serve
Where the matrix comes from and what it shows
The customer profitability matrix (Shapiro and Rangan) is one of the tools commercial teams use most often to find out which customers are worth having. The form most working teams use plots net price received against cost to serve. Some versions of it sort customers by how strategically important they are against how hard they are to manage, and others by the revenue a relationship brings against what the relationship costs, but every version rests on the same idea.
That premise: revenue is not profit, and not all customers are equally profitable. Ranking customers by revenue alone misleads you as soon as the cost of serving them differs from one customer to the next. In the worked example at the end of this card, the most expensive account to serve costs nearly one and a half times as much to serve as the cheapest.
The matrix has two axes:
- Vertical, net price received. What the supplier actually keeps, rather than the headline list price. Three things come out first: the trade allowances taken off the invoice, the contract discounts, and the listing fees the retailer charges for carrying the range.
- Horizontal, cost to serve. Everything that costs the supplier money to keep the customer. That is the time the sales team spends, deliveries arranged specially for that customer, and the cost of waiting to be paid. It is also goods coming back, work that has to be done twice, audits and compliance paperwork, and the one‑off requests that arrive all year.
Put those two measures on a chart, net price up the side and cost to serve along the bottom, and your customers fall into four account types, each calling for a different approach from you.
The four account types and their standard names
The four account types have standard names:
Carriage Trade (high net price, high cost to serve).
The customer pays well but is expensive. Whether you make money on the account comes down to one comparison: is the extra price this customer pays bigger than the extra cost of serving it? It can land either side of that line, or right on it. The question to ask: are the things driving the cost genuinely needed to keep the customer, or have they piled up over the years because nobody ever said no?
Passive (high net price, low cost to serve).
Often the most profitable account type on the matrix. The customer pays well and demands little. The strategic question: how do you keep them, and how do you avoid feature‑creeping the relationship into Carriage Trade next year?
Bargain Basement (low net price, low cost to serve).
The customer pays little but demands little. Often profitable on a per‑unit basis. Two questions to ask. Is the volume worth the share of your business it takes up? And are these accounts pulling down the average price you get everywhere else?
Aggressive (low net price, high cost to serve).
Almost always the lowest‑margin combination of the four. The customer pays little and demands a lot. The question to ask: can the relationship be repaired, by taking cost out until the account sits in Bargain Basement instead? Or is it time to walk away from it?
Another common version of the chart plots the total revenue a customer relationship brings in against the total cost of running it, in place of net price and cost to serve. This is the relationship revenue against relationship cost version, and it still sorts the customers into four groups. The shapes are equivalent. The revenue‑versus‑cost version shows up more in service‑industry analyses, the net‑price‑versus‑cost‑to‑serve form more in product and distribution channels.
Putting numbers on the matrix:
Customer Profit = (Net Price Received x Volume) - Cost to Serve
Dividing cost to serve by revenue gives you a quick first read on which of the four account types a customer belongs to, well before anyone has done the full job of allocating every cost to every account.
Worked example: a biscuit manufacturer's top 5 customers
A mid‑sized biscuit manufacturer plotted its top 5 retailer customers on the matrix. Net price received was list price less all the trade money, on the invoice and off it, as the vertical axis above defines it. Cost to serve was a fully loaded number, meaning nothing was left out of it. It carried the time the sales team spent, what it cost to break deliveries down into smaller loads for that customer, and the cash tied up while waiting for the invoice to be paid.
The basis, so that every line below can be recomputed. Say the average unit sold across the portfolio brings in a net price of 100 points. Cost to serve averages 30 of those points, and once the cost of making the biscuits themselves is paid, the average unit leaves 6 points of profit. So every point of net price above or below the average moves profit by a full point. Every point of cost to serve above or below the average moves it by 0.3 of a point. Both indexes below are set against the portfolio average, and per‑unit profit is quoted in the same points.
Customer A (national grocer, 30 percent of revenue): net price received 95, so 5 percent below average, and cost to serve 110, so 10 percent above average. Aggressive account. Per‑unit profit: 6 + (-5) + (-3.0) = -2 points.
Customer B (premium grocer, 18 percent of revenue): net price received 108, cost to serve 105. Carriage Trade account. Per‑unit profit: 6 + 8 + (-1.5) = +12.5 points.
Customer C (hard discounter, the kind of retailer that runs a narrow range at very low prices, 22 percent of revenue): net price received 88, cost to serve 75. Bargain Basement account. Per‑unit profit: 6 + (-12) + 7.5 = +1.5 points.
Customer D (regional grocer, 12 percent of revenue): net price received 100, which is exactly the portfolio average, and cost to serve 90. Passive account. Per‑unit profit: 6 + 0 + 3.0 = +9 points.
Customer E (convenience chain, 8 percent of revenue): net price received 105, cost to serve 95. Passive account. Its cost to serve is only 5 points below average, so a small rise would make it a Carriage Trade account. Per‑unit profit: 6 + 5 + 1.5 = +12.5 points.
What that says: customer A brought in more revenue than anyone else and made less on every unit than anyone else. The default management instinct (more sales‑team time, deeper promo support, more custom innovation) was pushing customer A further into Aggressive.
Notice too that the cheapest account to serve is not the best‑earning one. Customer C's cost to serve is 25 index points below average, yet its profit per unit is still near the bottom of the group, because its net price is also 12 index points below average. On these numbers, one point of net price moves profit more than three points of cost to serve do. That is why the matrix puts customers on two axes instead of ranking them on cost alone.
The answer was to re‑scope the relationship with customer A rather than walk away from it. Stop taking the most expensive one‑off requests. Restructure the terms so the net price on the invoice rises by 1 to 2 percent. Then put some of the sales‑team time that frees up into defending customer D. It is a Passive account that pays the average net price, costs 10 percent less than average to serve, and was getting no attention at all.
Twelve months later customer A had gone from -2 points of profit per unit to +1, and the relationship survived the change. Both halves of the move were needed: the better net price on the invoice, and enough cost taken out to bring its cost‑to‑serve index from 110 down to about 105. It was still an Aggressive account, because its net price was still below average and its cost to serve still above it, but it now made a profit on each unit. Customer A buys about a third of the volume in this group, so a three‑point swing on those units raises the profit the five accounts make between them by about 24 percent, on a revenue base that barely moved. Customer D had grown share within the regional grocer's category and added 1.5 share points to the portfolio on top of that.
The matrix pays for itself by making you ask the question that matters: which of the four account types is this customer, and what does that type tell you to do about it?
How to populate the matrix in an FMCG context
The matrix is only as accurate as the cost‑to‑serve number it uses. In FMCG manufacturer‑to‑retailer relationships, a credible cost‑to‑serve number includes more than the obvious line items.
On the net‑price‑received axis (vertical):
List price x volume, less:
- on‑invoice trade discounts
- listing and slotting fees
- year‑end performance rebates
- terms‑and‑conditions cash adjustments
On the cost‑to‑serve axis (horizontal):
Direct customer service:
- sales‑team time, which means the account manager, the key account manager (KAM), the commercial finance people and everyone in supply chain who deals with that customer
- promotional‑execution effort (in‑store activation, materials)
- customer‑specific innovation work (private‑label runs, custom packaging)
Logistics and operations:
- delivery frequency and split‑load economics
- payment‑terms cost (working capital tied up)
- returns handling, write‑off processing, dispute resolution
- compliance and audit (especially for hard‑discounter customers)
Most working teams come out low on cost to serve, often by something like 1.5 to 2x. Three indirect costs rarely reach the customer P&L. They are the cash tied up waiting to be paid, the time spent settling disputes, and the hours that go on one‑off requests. Treat that multiple as a warning about what your own numbers are likely missing rather than as a measured figure, and go looking for those three lines in your own accounts. The matrix becomes useful once they are in there.
Three things to do when a customer turns up in the wrong place on the matrix.
If a customer is an Aggressive account, the question is rarely "exit them tomorrow". The question is which single thing is driving most of that cost. Can you charge for it, or agree with the customer to stop doing it? The exit decision is a year‑long conversation, not a one‑meeting decision.
If a customer is a Carriage Trade account, it pays you well and costs a lot to serve. The question is whether the extra price it pays is genuinely buying it something it wants to keep paying for. If not, costs should be removed.
If a customer is a Passive account, one that pays you well and asks for little, the only job is to keep it. Do not under‑invest in some of the most profitable customers in the portfolio simply because they do not demand attention.
Continue exploring
Put this concept to work
See Customer Profitability Matrix in action
RGM Academy lets you pull the levers yourself in an interactive simulator, with a senior AI RGM strategist coaching every decision you make.
Unlock the full Customer Tiering & Criteria lesson