Customer Profitability Analysis: How to Find the Customers Making You Money (and the Ones Who Aren't)

A customer with high sales is not automatically a profitable customer. Discounts, delivery demands, frequent small orders, special requests, returns, and slow payments can all affect what remains after the work of serving that account.
Customer profitability analysis helps you estimate which customers contribute most to your business after accounting for the costs associated with their purchases and service needs. You can start with data you may already have in your accounting software, sales system, and spreadsheets, without building a complex finance model.
What is customer profitability analysis?
Customer profitability analysis (CPA) compares the revenue a customer brings in with the costs of the products or services they buy and the costs required to serve them.
A useful starting formula is:
Customer contribution = net customer revenue − direct costs − cost-to-serve
Net revenue is what you actually earn after discounts, credits, refunds, and returns, not the original list price. Direct costs are clearly linked to that customer, such as the materials used for a job, product costs, payment fees, or a sales commission. Cost-to-serve includes the additional work needed to sell to, deliver to, and support that customer.
The result is a management tool, not a replacement for your financial statements. It helps you ask better questions about the economics of customer relationships.
Why sales totals can be misleading
Suppose two customers each generate $24,000 in annual revenue. One places regular, consolidated orders and pays on time. The other receives frequent deliveries, needs custom work, and often requires follow-up on invoices.
A sales report may make these accounts look equally valuable. But the second customer may use more staff time, shipping, and administrative effort. A simple average across all customers can hide that difference.
This is why blended averages can lead to weak decisions. Your company’s overall gross margin may look healthy even if particular customers, products, or service arrangements are consuming more resources than they contribute.

How to analyze customer profitability with the data you have
You do not need perfect data to begin. Start with a consistent period, often the trailing 12 months to account for seasonal fluctuations, and a spreadsheet that lists one customer per row.
1. Choose the customer and time period
Decide what counts as a customer for your analysis. It might be a business account, a location, a contractor’s project, or an e-commerce buyer. Use the same definition throughout the analysis so you can compare like with like.
For a first pass, export customer-level sales and cost information from your accounting or sales software. If customer names are inconsistent across systems, clean them up or assign a consistent customer ID before combining the files.
2. Calculate net revenue
Start with invoiced sales, then subtract customer-specific discounts, credits, returns, refunds, and other concessions. If you charge shipping or other fees, decide how to treat those consistently.
The goal is to measure the revenue that remains after adjustments, not to punish customers for an accounting timing issue or a one-off correction. Note unusual items so you can review them separately.
3. Subtract costs you can trace directly
Assign costs to a customer when you can make a reasonable, direct connection. Depending on your business, these may include:
- Product cost or materials used
- Subcontractor or job-specific labor
- Outbound freight or special delivery
- Payment-processing fees
- Sales commissions
- Customer-specific credits, warranty work, or returns
A wholesaler may be able to identify product costs and shipment charges. A contractor might connect materials and subcontractor costs to a job or account. A service company could track project hours or extra visits.
4. Estimate the cost-to-serve
Next, consider the activities that take time or money beyond providing the product or core service. Common examples include order processing, picking and packing, account management, customer support, collections, returns, and custom reporting.
Begin with just a few activities that seem to vary significantly between customers. For each one, choose a practical measure, or driver, that reflects the work involved:
| Activity | Possible driver |
|---|---|
| Order processing | Number of orders |
| Picking and packing | Order lines or parcels |
| Delivery | Shipments, miles, or actual freight |
| Customer support | Tickets, calls, or minutes |
| Invoicing and collections | Invoices or collection time |
| Custom work | Hours or project charges |
If you can estimate the cost of an activity, divide it by the total amount of that activity in the period to get a rate. Multiply the rate by the activity used for each customer.
For example, if the business spends $3,000 on order processing across 600 orders, the estimated rate is $5 per order. A customer with 20 orders would be assigned $100 in order-processing cost under this simple method.
These are estimates, not precise measurements. Use drivers that make sense to the people doing the work, and keep the assumptions visible in the spreadsheet. The Business Development Bank of Canada’s customer profitability guide also recommends looking beyond invoice price to the effort and costs involved in serving an account.

5. Compare customer contributions
Consider a customer with $24,000 in net annual revenue, $13,200 in direct product or service costs, $1,200 in other direct costs, and an estimated $5,400 in cost-to-serve.
- Net revenue: $24,000
- Direct costs: $14,400
- Estimated cost-to-serve: $5,400
- Customer contribution: $4,200
This simplified example does not allocate general business expenses such as rent or executive salaries. That can be useful: it separates costs associated with the customer from costs that keep the whole business operating.
If you choose to allocate general overhead, show that separately and explain the method. A customer’s result can change substantially depending on how shared costs are assigned.
Common pitfalls to avoid
Using revenue as a stand-in for profit. A large account may receive deep discounts, place many small orders, or need substantial support. Compare the revenue with associated costs before concluding that the customer is valuable.
Allocating costs only by sales. Assigning overhead as a flat percentage of revenue may make a high-revenue customer look costly even if it is easy to serve, while undercounting the work required by a smaller, high-touch account. Use a measure that reflects the activity where possible.
Counting every shared expense against every customer. Some costs support the whole business and may not have a clear connection to one customer. Keep those costs separate unless you have a consistent, explainable allocation method.
Treating estimates as exact. A spreadsheet model is only as useful as its data and assumptions. Compare totals against your accounting records, ask operations staff whether the activity measures make sense, and revisit assumptions when results look surprising.
Making a decision from one unusual month. A large return, a one-time rush job, or seasonal sales can distort a short period. Use a consistent timeframe and flag unusual events before changing prices or terms.
What should you do with the results?
A low contribution is a reason to investigate, not an automatic reason to drop a customer. Look for changes that could improve the economics while preserving a useful relationship:
- Review discounts, pricing, or minimum order sizes.
- Consolidate deliveries or reduce avoidable rush shipping.
- Standardize custom work or charge for special requirements.
- Improve invoicing and follow-up to reduce collection effort.
- Change the service process if internal steps are creating unnecessary work.
- Consider whether a customer offers strategic value that is not captured in the spreadsheet, such as referrals or a path to future business.

Review the analysis periodically, especially when prices, supplier costs, service needs, or customer behavior change. The aim is not to produce a perfect ranking. It is to understand what is driving the results and identify decisions worth examining.
Start with a practical first pass
Customer profitability analysis can begin with a customer-level sales export and a spreadsheet. Calculate net revenue, subtract costs you can trace, then estimate a few important service costs using clear and consistent measures. Keep assumptions transparent and use the results to guide questions about pricing, process, and service.
SureMetryx is preparing for private beta testing in January 2027, ahead of an anticipated commercial launch in February 2027. Businesses interested in the upcoming beta can visit SureMetryx to learn more.