Financial Planning & FP&ATemplate4 min readUpdated September 2026

Customer Profitability Analysis: A Contribution Margin Worksheet

A customer profitability analysis subtracts the direct cost of delivering and supporting each customer from that customer's revenue, so you can see which accounts earn money and which consume it. The result is a contribution margin per customer, usually ranked from best to worst.

The worksheet below has six steps, a worked example, a guide to reading the whale curve and a set of responses for accounts that turn out to be unprofitable. It works in a spreadsheet, and the hard part is choosing sensible cost drivers, not the arithmetic.

Vendors Covered in this Article

Disclosure: We may earn a commission if you buy through some links on this page. It doesn't change what we recommend.

What does a customer profitability analysis measure?

Overall gross margin hides big differences between accounts. Two customers can pay the same fee and cost you very different amounts to serve, because of support volume, custom work, discounts, payment behavior and the effort of onboarding.

The analysis measures contribution margin: revenue minus every cost that would go away if you lost the customer. It leaves out shared fixed costs, such as rent and executive pay, because those do not change with one account. Activity-based costing is the method that assigns costs to customers using drivers, such as tickets handled or hours worked, instead of spreading them evenly by revenue.

For reference, median gross margin for B2B SaaS is 81 percent on subscription revenue and 30 percent on services1. If your services work is priced near cost, any customer who buys a lot of it will drag down the blend.

How to build the worksheet in six steps

  1. Choose the period and the customer list. Twelve months of data smooths out lumpy billing, and grouping very small customers into segments keeps the sheet readable.
  2. Enter revenue by customer, net of discounts, credits and refunds.
  3. Add direct delivery costs: hosting or materials tied to the account, contractor costs, payment processing fees and any pass-through costs.
  4. Allocate cost to serve using drivers. Use support tickets or hours for support, onboarding hours for implementation, engineering hours for custom work and days sales outstanding for collection effort and cost of carrying the receivable.
  5. Compute contribution margin in dollars and as a percentage of revenue, then rank customers.
  6. Add a cumulative profit column from the best customer down, which gives you the whale curve.

Keep the driver rates simple and write down where each came from. A sheet with five reasonable drivers you can defend is more useful than one with twenty you cannot explain. For related margin work, see the price volume mix template.

What does a worked example look like?

Say customer A pays $200,000 a year, costs $60,000 to deliver and uses $20,000 of support and onboarding time. If you subtract those costs, that leaves $120,000 of contribution, or 60% of revenue.

Say customer B also pays $200,000 a year but needs custom work, heavy support and frequent invoice follow-up that add up to $190,000 of cost, which leaves $10,000 of contribution, or 5%. On the revenue line, the two customers look identical, and on the contribution line they differ by a factor of twelve.

Net margins across industries vary widely too, from 1.25 percent for healthcare support services to 25.49 percent for software in US public company data2, so what counts as a healthy customer margin depends on your business. Compare each account with your own average and your target, not with a single universal number.

How do you read a whale curve?

The whale curve plots cumulative profit as you move from your most profitable customer to your least. It usually rises steeply, peaks and then falls as the unprofitable accounts pull the total down. The peak is higher than your actual profit, and the gap is the value lost to accounts that cost more than they earn.

Read it with care:

  • The curve depends on your cost allocation. If a driver is wrong, the ranking shifts, so test the result against a sample of accounts you know well.
  • Fixed overhead is excluded, so a customer with a positive contribution can still be worth keeping.
  • Recent customers may look unprofitable because onboarding costs land up front. Compare them with cohorts of the same age.
  • Strategic accounts, such as reference customers, can justify a lower margin, but decide that on purpose.

If a small group of customers accounts for the whole tail of losses, you have a focused problem. If the losses are scattered, look at your pricing model and cost drivers instead.

What should you do about unprofitable customers?

Work through options in order, from least to most disruptive:

  • Reprice at renewal, tying increases to the cost drivers you found. The guide to raising B2B prices covers how to do it without losing accounts.
  • Change the scope: limit custom work, set support tiers or charge separately for implementation and premium service.
  • Add minimums, usage fees or payment terms that match the cost of serving the account.
  • Reduce cost to serve, for instance by shifting routine questions to self-service or automation.
  • Let the account go, after checking contract terms and any strategic value.

Break-even analysis can show how many of these accounts you can lose before overhead is uncovered, as in the break-even template for service businesses. Repeat the analysis twice a year, because customer behavior and your costs change.

Executive Capability Standard

What Good Looks Like

You can rank customers by contribution margin using documented cost drivers and you review the ranking at least twice a year.

Building The Capability (5-Stage Skill Ladder)

1. Learn:Learn contribution margin and activity-based costing so you can choose defensible cost drivers.
2. Do Manually:Build the sheet for your top and bottom accounts first, then extend it to the full customer list.
3. Delegate:Ask your accountant or controller to validate the allocations and pull the data on a schedule.
4. Automate:Feed revenue, support and time data into a model that recalculates customer margins each month.
5. Buy:Use a planning or analytics tool that supports customer-level margin views once the spreadsheet gets heavy.

How to Get Started

Disclosure: We may earn a commission if you buy through some links on this page. It doesn't change what we recommend.

Frequently Asked Questions

How do you calculate customer profitability?

Subtract the direct and allocated cost to serve each customer from that customer's net revenue to get contribution margin. Allocate shared costs with drivers such as support tickets, onboarding hours and custom work, and leave out fixed overhead that does not change per account.

What is a whale curve in customer profitability analysis?

It plots cumulative profit as customers are ranked from most to least profitable. The curve rises, peaks, then falls as unprofitable accounts drag the total down. The peak above your actual profit shows what the weakest accounts cost you.

What data do you need for a customer profitability analysis?

Revenue by customer net of discounts, direct delivery costs, support and onboarding effort, custom work hours, payment timing and any pass-through costs. Twelve months of data is a good starting point.

Should you drop unprofitable customers?

Not automatically. Try repricing, changing scope or lowering cost to serve first, and consider strategic value and contract terms. Dropping an account makes sense when it stays unprofitable after those changes and does not offer a strategic benefit.

Sources

Where we quote a benchmark, we show its source. Other figures in this guide are estimates or general guidance, so check them against your own numbers.

  1. Gross margin medians (B2B SaaS). Benchmarkit 2025 SaaS Performance Metrics Benchmark Report (FY2024 data), 2024.
  2. Net profit margin by industry (US). NYU Stern (Aswath Damodaran), Operating and Net Margins by Industry, US, 2026.

Related Guides