Customer A leads the sales ranking: EUR 500 thousand of net revenue and EUR 150 thousand of gross profit in the period. Customer B generates only EUR 300 thousand of revenue and EUR 96 thousand of gross profit. On those figures alone, A appears to be the more valuable relationship.
After transport, order handling, warehouse activity, returns and claims are included, the ranking reverses. A contributes EUR 42 thousand; B contributes EUR 66 thousand. The CFO now has a commercial decision to make: change A’s price, change its delivery terms, or change the way the organisation serves it.
The biggest customer is not necessarily the strongest contributor
Sales rankings answer who buys the most. Gross-profit rankings add product cost. Neither shows whether frequent deliveries, special handling, returns, claims or commercial exceptions consume the margin after the sale. That omission matters because the remedy depends on the mechanism. A product-pricing problem, an express-delivery problem and an internal process problem should not receive the same commercial response.
| Measure | Customer A | Customer B | What the ranking suggests |
|---|---|---|---|
| Net revenue | 500 | 300 | A is 67% larger |
| Gross profit | 150 | 96 | A produces EUR 54k more gross profit |
| Gross margin | 30.0% | 32.0% | B has the stronger product margin |
| Contribution after cost to serve | 42 | 66 | B contributes EUR 24k more |
| Contribution margin | 8.4% | 22.0% | A converts far less revenue into contribution |
The gap is not evidence that Customer A should be dropped. It is evidence that management should locate the service-cost mechanism, validate its causality and test a controllable change before opening a price negotiation or changing the account strategy.
How do you calculate customer profitability after cost to serve?
Calculate customer profitability after cost to serve by starting with customer-level net revenue, subtracting product cost to obtain gross profit, then subtracting incremental or activity-assigned service costs attributable to that customer. In this case, customer contribution means net revenue less cost of goods sold, outbound transport, order and warehouse handling, and returns and claims processing. It is not operating profit: unassigned corporate, selling and capacity costs remain outside the measure.
Customer contribution = Net revenue − Cost of goods sold − Included cost-to-serve activities.
- Define the period, customer boundary, net-revenue treatment and contribution layer before comparing accounts.
- Trace customer-specific transactions directly where reliable evidence exists.
- Assign shared activity cost with a measurable driver that reflects resource consumption.
- Reconcile the customer model to source ledgers and prevent overlap with COGS, discounts and returns.
- Separate attributed cost from avoidable cost, then test a commercially feasible action.
This definition must remain visible beside every ranking. A contribution calculated after logistics but before sales support is not comparable with one that also includes claims, payment terms and account-management effort. The metric is useful only when its cost boundary is stable and decision-relevant.
Build the customer P&L from one consistent period
The following customer P&L is entirely synthetic. Both customers cover the same reporting period, legal entity, currency and accounting perimeter. Amounts are EUR thousands.
| Measure | Customer A | Customer B |
|---|---|---|
| Net revenue | 500 | 300 |
| Cost of goods sold | (350) | (204) |
| Gross profit | 150 | 96 |
| Transport to customer | (48) | (12) |
| Order processing and warehouse operations | (36) | (12) |
| Returns and claims processing | (24) | (6) |
| Total cost to serve | (108) | (30) |
| Contribution after cost to serve | 42 | 66 |
| Contribution as % of net revenue | 8.4% | 22.0% |
The arithmetic reconciles: A’s EUR 150 thousand gross profit less EUR 108 thousand service cost equals EUR 42 thousand contribution. B’s EUR 96 thousand less EUR 30 thousand equals EUR 66 thousand. The interpretation is more important than the calculation: A generates more gross profit in absolute terms but consumes EUR 78 thousand more service resource, leaving a lower contribution both absolutely and as a percentage of revenue.
The bridge from the broader Budget vs Actual Variance Commentary is deliberate. Variance commentary can establish that margin missed plan; customer profitability analysis identifies which account economics, service patterns and commercial terms help explain the miss.
Trace the express-delivery surcharge to Customer A
Customer A’s EUR 48 thousand transport charge contains EUR 18 thousand of express-delivery surcharges. The controller does not infer that amount from an average rate. Each surcharge is connected to a shipment, a carrier invoice line and the customer sales order.
| Evidence | Field | Value | Control |
|---|---|---|---|
| Customer order register | Customer / order | A / 60 qualifying orders | Order belongs to A and period |
| Shipment register | Delivery mode | 60 express deliveries | One shipment ID per service event |
| Carrier invoice lines | Express surcharge | EUR 300 each | Carrier line references shipment ID |
| Calculation | 60 × EUR 300 | EUR 18k | Recalculates traced surcharge |
| Remaining transport | Standard freight and other traced transport | EUR 30k | 48 − 18 = 30 |
| Customer P&L | Transport to customer | EUR 48k | 18 + 30 = 48 |
The evidence chain is therefore: customer order → delivery → shipment ID → carrier invoice line → surcharge amount → customer P&L. The controller checks for cancelled shipments, duplicate carrier lines, supplier credit notes and recharges to the customer. Only net, period-valid cost remains in the analysis.
Direct tracing is strongest when a transaction has a stable customer identifier. It still requires control: a carrier invoice may refer to a delivery rather than the customer; a delivery may serve multiple orders; and a supplier credit note may arrive after the initial invoice. Traceability does not remove accounting judgement, but it makes the judgement inspectable.
Allocate shared handling cost using operational workload
Warehouse labour and order-processing cost cannot always be traced to an individual invoice. The model assigns the EUR 48 thousand included cost pool using completed warehouse operations because picks, packs, staging events and special movements are the activities consuming the resource.
| Item | Customer A | Customer B | Total / rule |
|---|---|---|---|
| Validated warehouse operations | 1,800 | 600 | 2,400 |
| Share of operations | 75% | 25% | 100% |
| Cost pool assigned | 36 | 12 | 48 |
| Implied cost per operation | EUR 20 | EUR 20 | EUR 48k ÷ 2,400 |
The driver is defensible because it measures workload more closely than revenue. Allocating by sales would understate A’s service intensity when many small or urgent orders create more handling events per euro sold. If operation types differ materially, the next refinement is separate activity rates—for example, standard pallet, partial pallet and urgent repack—rather than a more elaborate but economically unrelated allocation.
The controller reconciles the EUR 48 thousand pool to the relevant warehouse and order-processing accounts, excludes production activity already included in COGS, and confirms that all 2,400 operations belong to the same period and customer population. Returns handling is kept in its own cost pool. Revenue is shown net of approved discounts and rebates, while product credits reduce revenue or COGS according to accounting treatment; the related physical inspection and claims-processing work enters service cost only once.
Test a delivery-term change before changing the price
Commercial and Operations propose moving 40 of A’s 60 express deliveries to a standard weekly schedule. At EUR 300 per avoided surcharge, the initial opportunity is EUR 12 thousand.
| Measure | Current | Test scenario | Change |
|---|---|---|---|
| Express deliveries | 60 | 20 | (40) |
| Express surcharge | 18 | 6 | (12) |
| Total transport cost | 48 | 36 | (12) |
| Total cost to serve | 108 | 96 | (12) |
| Contribution after cost to serve | 42 | 54 | +12 |
| Contribution margin | 8.4% | 10.8% | +2.4 percentage points |
The scenario holds net revenue at EUR 500 thousand, COGS at EUR 350 thousand and all other service costs constant. It assumes Customer A accepts the revised order cut-off and delivery calendar, no order volume is lost, service-level compliance remains acceptable, and standard-route freight is already reflected in the EUR 30 thousand non-surcharge transport base. Any new consolidation, storage, packaging or penalty cost must reduce the EUR 12 thousand gross saving before management calls it an economic benefit.
At those assumptions, A’s contribution rises from EUR 42 thousand to EUR 54 thousand and the contribution margin from 8.4% to 10.8%. The account still underperforms B’s 22.0%, but the test isolates a controllable, evidenced service term before management reaches for a broad price increase.
Allocated cost is not the same as avoidable cost
The most dangerous interpretation would be to treat every euro assigned to A as cash that disappears if the relationship changes. The EUR 36 thousand handling allocation measures A’s share of current workload. If the warehouse team, lease, systems and supervision remain unchanged, much of that cost persists in the short term even if A’s volume falls.
| Cost state | Meaning | Customer A example | Decision use |
|---|---|---|---|
| Reported cost | Expense recognised in the accounting period | Carrier invoices and warehouse payroll | Reconcile the model to the ledger |
| Attributed cost | Cost assigned to A through direct trace or a defensible activity driver | EUR 48k transport; EUR 36k handling | Compare account economics and identify consumption |
| Avoidable cost | Cost expected not to be incurred after a specific action, within a defined horizon | EUR 12k surcharge if 40 express deliveries genuinely move | Estimate the decision’s incremental benefit |
If the CFO assumes the full EUR 36 thousand allocated handling cost is avoidable, the apparent benefit of changing or losing A is overstated. The model must test capacity steps: which labour hours are flexible, whether shifts can be reduced, whether third-party charges vary with operations, and when fixed commitments can be changed. Attribution supports accountability; avoidability supports the decision.
Validate the model before challenging commercial terms
| Control | Question | Required response |
|---|---|---|
| Scope consistency | Do both customers cover the same period, entity, currency and contribution definition? | Restate before comparison |
| Revenue integrity | Are discounts, rebates, credits and taxes treated consistently? | Reconcile net revenue to customer ledger and sales records |
| COGS boundary | Are production and product costs excluded from service-cost pools? | Remove overlap and recalculate |
| Direct trace | Can transport and claims costs reach a shipment, return or customer event? | Retain evidence or classify as allocated |
| Driver validity | Does the allocation base represent resource consumption? | Replace revenue convenience drivers with operational drivers |
| Pool reconciliation | Do customer assignments equal the included ledger cost pool? | Investigate omissions, duplicates and population gaps |
| Avoidability | Which cost changes under the action, over what horizon and with what secondary effect? | Use only incremental net savings in the scenario |
The controller also performs sensitivity tests. If 30 rather than 40 express deliveries convert, gross savings fall to EUR 9 thousand. If the new schedule creates EUR 3 thousand of incremental storage and handling cost, net benefit falls from EUR 12 thousand to EUR 9 thousand. The decision record should show both the central case and the conditions that could invalidate it.
The CFO approves a bounded delivery-schedule test
| Decision element | Instruction |
|---|---|
| Approved action | Run a six-week pilot moving 40 of Customer A’s 60 comparable express deliveries to the agreed standard schedule |
| Owner | Commercial Finance lead, jointly with Account Director and Logistics Manager |
| Preparation deadline | Agree eligible orders, cut-off times, service levels and baseline shipment list within five working days |
| Primary financial criterion | At least EUR 10k of net verified surcharge savings on the comparable 40-delivery population, after incremental schedule costs |
| Service criterion | No material deterioration in on-time-in-full performance and no validated loss of sales attributable to the schedule |
| Measurement | Compare express count, carrier surcharges, incremental handling, OTIF, net revenue and customer contribution with the approved baseline |
| Keep the schedule | Retain if evidence supports the financial threshold and service criterion |
| Escalate commercial terms | If service requirements prevent the threshold, open a price, delivery-fee or minimum-order discussion using verified cost evidence |
The CFO selects this intervention first because it targets EUR 12 thousand of directly traced cost, has an operational mechanism the team can influence, and can be tested without assuming that allocated fixed cost disappears. A price discussion remains available, but it begins from evidence: which service requirement creates cost, what change was attempted and which economics remain unresolved.
Use one repeatable structure for customer-profitability reviews
| Net revenue | Gross profit | Cost to serve | Contribution | Action |
|---|---|---|---|---|
| Validated customer sales net of defined reductions | Revenue less reconciled COGS | Directly traced and activity-assigned service costs, labelled by evidence type | Gross profit less included cost to serve, with scope disclosed | Specific operational or commercial change, owner, horizon and success criterion |
Run the review by exception: accounts with material revenue, declining contribution, high service intensity, repeated commercial overrides or unexplained movement. Reconcile the model at each close, refresh activity drivers, preserve source lineage and record scenario assumptions. Do not optimise contribution in isolation; monitor retention, volume, service quality, credit risk and strategic relevance alongside the financial measure.
The management sequence is compact: establish net revenue, calculate gross profit, trace or allocate the cost to serve, define contribution, distinguish attributed from avoidable cost, and test one controllable action. That sequence turns a customer ranking into a commercial decision rather than another allocation report.



