Customer profitability analysis: which clients actually make you money
Alexandra-Emily Kokova
Published 20 November 2025 - 7 min read
Rank your clients by revenue and then by profit, and the two lists come out in a different order. The difference sits in costs the CRM doesn’t record.
Customer profitability is the revenue a client brings in, minus what it costs to win and serve them, over a set period. Revenue sits in the CRM. Cost to serve is spread across time tracking, the help desk, discounts and payment terms. Bring both onto the company record, allocate shared costs by what drives them instead of by revenue, and plot clients on a revenue against cost-to-serve matrix.
On this page
Sort your clients by revenue and the top of the list is the one everybody talks about in pipeline meetings. Sort them by profit and the order changes, sometimes enough that the second-biggest client turns out to lose money. The CRM shows the first list because deals record revenue. Almost nothing in it records what each client costs to keep.
What customer profitability analysis is
Customer profitability analysis works out, client by client, the revenue each one brought in over a period, minus the cost of winning and serving them. The result is a profit and a margin per client. Finance teams sometimes call it a customer P&L or client P&L, and services firms call it client profitability.
It looks backwards at what happened. Customer lifetime value is the forward-looking cousin, and it needs this number first, because a lifetime of a loss-making client is still a loss.
What goes into cost to serve
Revenue is the easy half. Cost to serve is everything spent on a client beyond the product or service itself, and it is scattered across tools that were never set up to report by client.
| Cost | Where it lives | How to get it per client |
|---|---|---|
| Discounts and free months | Deals and quotes in the CRM | Net revenue per closed deal, so the discount is already out |
| Delivery or service hours | Time tracking or timesheets | Hours by client per month, times a loaded hourly cost |
| Support load | The help desk | Tickets by company, times an average handling cost |
| Account management | Meetings, calls and emails logged in the CRM | Activity count or hours by company |
| Custom work and exceptions | Change requests, scope notes, Slack | Hours spent outside the agreed scope |
| Late payment | Accounting | Average days to pay, and what that money costs while it’s outstanding |
| Winning the client | Sales and marketing spend | Spread over the first year or the expected life of the client |
Not every business needs every row. A software company with self-serve onboarding can skip delivery hours. A services firm can’t, because hours are most of its cost.
A worked example (made up)
Three clients of an invented services firm, over one year. Revenue is net of discounts. Delivery is hours times a loaded hourly cost, support is tickets times an average handling cost, and account management is logged time.
| Client | Revenue | Delivery | Support | Account mgmt | Profit | Margin |
|---|---|---|---|---|---|---|
| A | €120k | €72k | €9k | €10k | €29k | 24% |
| B | €60k | €30k | €2k | €3k | €25k | 42% |
| C | €95k | €70k | €14k | €12k | −€1k | −1% |
By revenue the order is A, C, B. By profit it is B, A, C. Client C brings in €95k and costs €96k, mostly because delivery runs close to the fee and support is the heaviest of the three. Nothing about C looks wrong in a revenue report. It pays on time and it renewed last spring.
Client B is half the size of A and earns almost as much profit. Its delivery runs at half the fee and its support bill is the smallest of the three.
Allocating shared costs
Some costs belong to no single client: the office, the finance team, the software everyone uses. The easy way to spread them is by share of revenue. It also flattens the answer. If every client carries overhead in proportion to what it pays, overhead lowers every margin by the same percentage points and the ranking barely moves.
Allocate by whatever drives the cost instead. Support tooling follows tickets, project management overhead follows hours, finance time follows invoices and late payments. It takes longer to set up, and it is the version that shows which clients use more of the shared resources than they pay for.
The customer profitability matrix
Plot each client on two axes, revenue and cost to serve, and four groups appear. Each group gets its own decision.
| Low cost to serve | High cost to serve | |
|---|---|---|
| High revenue | The clients to protect. Find out what makes them easy and look for more like them. | Reprice or rescope at renewal. The revenue is real and the work behind it has grown. |
| Low revenue | Fine as they are. A standard package keeps them cheap to serve. | Move to a standard package, change the terms, or let the contract end. |
The usual cause is scope that grew one favour at a time while the price stayed where it started. That makes it a pricing conversation at renewal, with the numbers on the table.
Putting it on the company record
The analysis gets used when the numbers sit where account managers already look, which is the company record in the CRM. Four properties cover most of it: revenue over the last twelve months, rolled up from closed-won deals; hours logged, imported monthly from time tracking; ticket count, from the help desk association; and a calculated margin.
Monthly updates are enough. Live syncs from timesheets break easily, and a margin that changes daily invites arguments about the decimal places. Before any of it goes on the record, check that companies match across the CRM, the help desk and the time tracker, because a client split across two company records will show up as two half-sized clients with half the costs each.
What the number leaves out
Hours are the weakest input. People under-log time on the clients they like and on work that feels like a favour, so the friendliest accounts look cheaper to serve than they are.
The margin also misses what a client is worth beyond its invoices: a logo that wins other deals, a referral, a case study, a product idea. Those can justify keeping a thin-margin client. Write that reason next to the margin on the company record, so it can be checked at the next renewal.
Run it once a quarter, starting with the clients whose contracts renew next.