← All notesFP&A

How to Run a Customer Profitability Analysis (and Why Your Biggest Customer Might Be Your Least Profitable)

In shortGross margin by customer hides the freight, rebates, payment terms, and service time that big accounts quietly consume. Here's how to build a cost-to-serve view in a spreadsheet, with a worked example and what to do with the answer.

Most companies know their gross margin by customer. Very few know their profit by customer. The gap between those two numbers is where the money goes, and it's usually biggest at the accounts everyone is proudest of.

Your largest customer gets the deepest volume discount, the longest payment terms, free freight, a dedicated rep, and a habit of placing six small orders a week instead of one big one. None of that shows up in gross margin. All of it shows up in EBITDA.

This isn't a hunch. When V. Kumar and Denish Shah analyzed the customer bases of two companies for MIT Sloan Management Review, they found the top 20% of customers produced more than 90% of profits at both, because each company also had a sizable group of customers it lost money on. And in April 2025, Gartner put it bluntly: traditional accounting doesn't allocate the cost of supporting customers and products, so many leaders suspect some customers are unprofitable but have no structured way to prove it.

Here's the structured way, sized for a $5M–$50M company with a spreadsheet and a free week.

What cost to serve actually means

One-line definition: cost to serve is everything it costs you to win, deliver to, support, and collect from a specific customer, beyond the product itself.

Gross margin covers the product. Cost to serve covers the relationship. Customer profitability is the first minus the second.

Step 1: Get gross margin by customer right first

Start with the last 12 months of invoiced revenue by customer, net of credits. Then attach COGS at the SKU or service-line level, not a company-wide margin percentage. If your ERP can't give you COGS by invoice line, use standard cost by SKU. It's close enough.

Watch for price realization here. List price minus off-invoice discounts minus the rebate check you cut in January is the real price. A lot of "30% margin" customers are 26% customers once you net the rebate against the revenue it was paid on.

Step 2: List the costs your P&L buries in overhead

Go through the P&L below gross margin and ask one question of every line: does this cost go up when a particular customer behaves a particular way? The usual suspects:

  • Outbound freight and delivery you absorb
  • Rebates, co-op, and promotional allowances
  • Returns, chargebacks, and deductions
  • Order handling (pick, pack, process) driven by order count, not dollars
  • Customer service and account management time
  • Sales coverage and travel
  • Customization, special packaging, or dedicated inventory
  • Carrying cost of receivables on long terms

You won't get all of it. You don't need to. The top four or five drivers usually explain most of the gap.

Step 3: Allocate by driver, never by revenue

This is the step everyone gets wrong. If you spread warehouse cost by revenue, a customer who buys $1M in two pallet orders gets the same warehouse cost as one who buys $1M in 400 small orders. That's exactly the difference you're trying to find.

So pick the thing that drives each cost. Warehouse handling goes by order lines. Customer service goes by tickets or logged hours. Freight goes by actual shipments, which you can usually pull from the carrier invoices. Receivables carrying cost goes by average balance times your cost of capital.

Your account managers can tell you where their week goes in a 20-minute conversation. Ask them. It beats any software.

Step 4: Build the waterfall (a worked example)

Here are two real-shaped customers at a distribution business. Customer A is the logo on the sales deck. Customer B is the one nobody talks about.

Customer A Customer B
Revenue $2,400,000 $600,000
Gross margin $768,000 (32%) $180,000 (30%)
Volume rebate ($96,000) $0
Freight absorbed ($140,000) ($18,000)
Custom packaging ($60,000) $0
Account mgmt and service ($110,000) ($12,000)
Returns and deductions ($55,000) ($3,000)
Receivables carry (9% cost of capital) ($44,000) on net 75 ($4,000) on net 30
Customer contribution $263,000 (11%) $143,000 (24%)

Customer A has four times the revenue and a better gross margin. It also burns $505,000 of cost to serve. Customer B, a quarter the size, earns more than half as much contribution and does it at more than twice the margin.

Nobody would have guessed that from the gross margin report. That's the whole point of doing this.

Step 5: Draw the whale curve

Rank every customer from most to least profitable and plot cumulative profit. The line climbs well past 100% of total profit, then bends back down as the unprofitable customers eat into it. That shape is called a whale curve, and once your CEO sees it, they'll never look at the revenue-by-customer report the same way.

The useful question isn't "how high does it go?" It's "how many customers are on the way down, and how much do they cost us?"

Step 6: Decide what to do with it

Firing customers is the last move, not the first. Most unprofitable accounts get fixed by changing what they consume, not by walking away.

Reprice the service, not just the product. Minimum order sizes, freight thresholds, and fees for rush or split shipments go straight at the behavior that costs you money.

Fix terms. Moving a $2.4M customer from net 75 to net 45 frees about $200,000 of working capital, which a PE sponsor will notice faster than almost any margin project.

Change the service model. Not every account needs a dedicated rep. Some can move to inside sales or a portal.

Then, if an account still loses money after all that and isn't strategic, have the honest conversation.

Questions finance leaders ask about this

Do I need activity-based costing software? No. Last 12 months, top 30 to 50 customers, a spreadsheet, and a handful of drivers. That covers most of your revenue. Software helps when you want to refresh it monthly.

How precise does the allocation need to be? Directionally right beats precisely late. If Customer A comes out at 11% versus 13%, the decision doesn't change. If it comes out at 11% versus the 32% everyone assumed, it does.

What about customers we keep for strategic reasons? Keep them. But label the cost. "We spend $300,000 a year to keep this logo" is a decision a board can make on purpose.

Will buyers look at this during a sale? Increasingly, yes. Customer concentration is a standard diligence question, and a buyer who learns your largest account runs at 11% contribution will price that in. Better to know first.

The real takeaway

Revenue tells you who likes buying from you. Customer profitability tells you who you like selling to. Most companies have never put those two lists side by side, and the first time they do, a few of the 2027 budget assumptions usually change: pricing, terms, sales comp, maybe which accounts the team chases next year.

Plametrix builds customer and product profitability analysis as part of its outsourced FP&A service for PE-backed and growing companies, so the answer shows up in the monthly pack instead of a one-off project.

Plametrix builds the lender package and the board pack from your QuickBooks ledger the morning after month end. $3,000 a month per company; see pricing.

Book a call