Customer profitability analysis: 4 steps

ERP Fundamentals2026-11-03

Your product profitability analysis shows which product leaves the best margin, but a customer can eat that margin through branch deliveries, special discounts or small scattered orders. Customer profitability analysis answers one question: how much does each customer leave you after the cost of what they bought and the cost of serving them? In 4 steps: tie invoices to customers, cost their actual orders, add cost to serve, then rank and decide.

Example: three corporate meal customers

Same caterer. In September the corporate meals line sold 3,200 meals for SAR 64,000 and left a 22,400 margin, SAR 7 a meal on average. But the line serves three customers on different terms: a construction company on one site, a clinic group with three branches, and a private school. Splitting the figures showed this:

CustomerSalesMargin (per meal)
Construction company40,00016,100 (8.05)
Clinic group16,0003,900 (4.88)
School8,0002,400 (6.00)
Total64,00022,400 (7.00)

SAR, September; margin is after ingredients and delivery; totals match the product profitability lesson.

Step 1: tie every invoice to the customer

Issue every invoice to the right customer account, not to "cash customer". If a customer has several branches, record the branch on the invoice too: it sets the number of delivery trips. The system then totals each customer: construction 2,000 meals, clinics 800 meals across three branches, school 400 meals, all at SAR 20 a meal.

Step 2: cost each customer's goods as actually ordered

The last lesson used the line's average ingredient cost. Here, use each customer's menu and issue slips. The construction company orders simpler dishes, so ingredients cost SAR 11.50 a meal, or 23,000. The clinics and the school order dearer dishes at 12.50: 10,000 and 5,000. Same 38,000 total, now assigned to whoever caused it.

Step 3: add the cost to serve

Cost to serve is what a customer's way of buying costs you: delivery trips, special discounts, packaging, returns. For the caterer, delivery is the biggest item, so every trip was logged against the customer and branch. Construction: 26 trips to one site, fuel SAR 900. Clinics: 78 trips to three branches, 2,100. School: 26 trips, 600. Delivery takes only 2.25% of construction sales but 13.1% of clinic sales.

A customer who is costly to serve feels price rises first. The General Authority for Statistics reports consumer transport prices in September 2026 were 2.3% above September 2025. If delivery costs rose at that rate, the clinic margin would drop about SAR 48 a month, or 1.2%, against 0.1% for construction. Small today, but it grows with every branch.

Step 4: rank customers and decide on the numbers

Customer margin = sales − cost of goods − cost to serve. Rank by amount and per-meal margin together: construction leaves 16,100, 72% of the line's margin, even though last lesson's offer was based on the average cost of 13 when its real cost is 11.95. The clinics leave only 4.88 a meal. Do not drop them: the margin is positive and covers part of fixed costs. Change the terms: a delivery fee per branch, a minimum order per branch, or a different price at renewal. Never discount a thin-margin customer before checking the effect.

Running it from WhatsApp

Owner (2 November): The clinic group wants a fourth branch, 150 meals a month at the same price. Do we agree?

System: 150 meals × (20 − 12.50) leaves SAR 1,125. The new branch needs 26 trips at about 27 each, or 702. That leaves 423 a month, 2.82 a meal.

Owner: Too little. What if we charge for delivery?

System: At SAR 25 a trip they pay 650 a month, so the branch leaves 1,073. Or a 250-meal minimum with no fee leaves 1,173.

Owner: Offer them both options.

System: The offer with both options is ready. Shall I send it to you to review?

Three messages settled it, because every invoice and trip is logged by customer and branch. More on invoicing from WhatsApp.

Checklist before you decide

  • Is every invoice issued to the right customer and branch, not "cash customer"?
  • Did you cost each customer's goods from their actual orders, not the line average?
  • Did you log delivery trips, discounts and returns against the customer?
  • Did you rank customers by margin amount and per-unit margin together?
  • Did you try changing the terms before thinking of dropping a positive-margin customer?
In short: customer profitability analysis shows what each customer leaves after their cost of goods and cost to serve. Tie every invoice and trip to the customer, use their real cost rather than the average, then rank customers by margin. Fix a thin-margin customer with better terms, such as a delivery fee or minimum order, before any new discount.