Aerial view of a cross-dock distribution center with trucks backed up to loading doors on both sides

Cost to Serve: What It Is, How to Calculate It and How to Reduce It

Cost to serve is the full cost of getting a product to a customer after it has been made or bought: order handling, warehousing, transport, inventory carrying, returns, customer service and trade terms. Measured per customer, channel, product or order, it shows which revenue earns a profit.

Two customers can buy the same products at the same price and leave you with very different profit. One takes full pallets once a week at a regional distribution center (DC). The other orders mixed cases three times a week for small stores and sends back more than it keeps. Gross margin reports the same number for both. Cost to serve shows where the second customer’s margin goes.

What Is Cost to Serve?

Cost to serve (CTS) is the sum of every cost between a finished product and a paid invoice, assigned to the customer, order or channel that caused it. Costs follow activities: an order that needs 40 picks costs more to handle than one that needs a single pallet move, even at the same revenue.

Cost to Serve vs COGS vs Gross Margin

MeasureWhat it includesWhat it tells you
Cost of goods sold (COGS)Materials, production or purchase costWhat the product costs to make or buy
Gross marginNet revenue minus COGSProfit before the product leaves your network
Cost to serveOrder handling, warehousing, transport, inventory carrying, returns, service, trade termsWhat it costs to deliver to this customer
Cost-to-serve marginGross margin minus cost to serveProfit after delivery, per customer, channel or order

Most P&Ls stop at gross margin for customer decisions and spread logistics and service costs evenly by revenue or volume. That spreading is where the distortion comes from: easy customers subsidize difficult ones and nobody can see it.

What Is Total Cost to Serve in a Supply Chain?

Total cost to serve (TCTS) applies the same idea to the whole network: what it costs to deliver at the service level you promise, counting transport, facilities and handling, inventory carried at every node, production cost by location and lost sales. Two items set the network view apart from a customer-level model: production cost by location, which changes when you move sourcing, and the cost of lost sales, which finance models rarely book. A plan that cuts freight but pushes stock into the wrong DC, or misses orders, has not lowered total cost to serve. As the Supply Chain Analytics & Visibility page puts it, lower freight spend can bring higher warehouse cost, more inventory and weaker service.

What Costs Are Included in Cost to Serve?

Cost to serve includes nine cost pools: order processing, warehouse handling, storage, inventory carrying, transport, returns and claims, customer service and admin, trade terms and lost sales. Each pool needs a driver, the activity that makes it go up.

Cost poolTypical driverWhat makes it high
Order processingOrders, order linesManual or phone orders, many small orders, frequent changes
Warehouse handlingPicks, cases, palletsMixed-case and each picking, special labeling or packaging
StoragePallet positions, days on handSlow sellers held for one customer, safety stock for erratic demand
Inventory carryingAverage inventory value at each nodeStock held close to the customer, dedicated stock, long lead times
TransportDrops, kilometers, loads, weightFrequent small drops, less-than-truckload (LTL) shipments, remote locations, tight delivery windows
Returns and claimsReturned units, credit notesDamage, overstock returns, disputes
Customer service and adminContacts, cases, account timeDisputes, custom reporting, key account teams
Trade termsRebates, payment days, promotionsOff-invoice deals, long payment terms
Lost salesUnfilled units at marginStockouts caused by how the customer is served

Count trade terms here only if net revenue does not already deduct them. Lost sales rarely appear in finance-built models because they are not a booked cost. Leaving them out makes a lean, low-stock service policy look cheaper than it is.

How to Calculate Cost to Serve

The method is activity-based costing applied to the order-to-cash flow. Calculate cost to serve in six steps:

  1. List the activities that serve each order, from order entry to returns.
  2. Move each activity’s cost from the P&L into a cost pool.
  3. Pick one driver per pool: orders, lines, cases, drops or kilometers.
  4. Divide each pool by its driver volume to get a rate per activity.
  5. Multiply each rate by the customer’s driver volumes and add them up.
  6. Subtract cost to serve from gross margin to get the cost-to-serve margin per customer.

The Cost to Serve Formula

Cost to serve per customer = sum of (activity rate × customer’s driver volume)

Activity rate = cost pool / driver volume at practical capacity

Cost-to-serve margin = net revenue − COGS − cost to serve

Cost-to-serve ratio = cost to serve / net revenue

Use practical capacity in the rate, not actual volume. If a warehouse runs at 70% of what it can handle, dividing its full cost by actual picks loads idle capacity onto every customer and makes all of them look worse. Robert Kaplan and Steven Anderson, writing on time-driven activity-based costing, suggest assuming practical capacity at 80% to 85% of theoretical capacity when you have no better measure.

Worked Example: Two Customers, Same Gross Margin

A distributor sells the same range to two customers at the same prices and similar annual revenue. Both leave a gross margin of 38 per 100 of net revenue. The figures are illustrative round numbers per 100 of revenue; storage, inventory carrying and trade terms are assumed equal for both and left out.

Per 100 of net revenueCustomer A: regional DC, full pallets, one delivery a weekCustomer B: small stores, mixed cases, three drops a week
Gross margin3838
Order processing14
Warehouse handling310
Transport416
Returns and claims16
Service and admin25
Cost to serve1141
Cost-to-serve margin27−3
Same Gross Margin, Different Customer
Per 100 of net revenue, after product cost. Each blue bar is one cost-to-serve activity.
Customer A
Regional DC, full pallets, one delivery a week
Customer B
Small stores, mixed cases, three drops a week
Gross margin3838Order processing−1−4Warehouse handling−3−10Transport−4−16Returns and claims−1−6Service and admin−2−5Cost-to-serve margin27−3
Cost to serve: 11 per 100 of revenue
Cost to serve: 41 per 100 of revenue
Customer A
Regional DC, full pallets, one delivery a week
Gross margin38Order processing−1Warehouse handling−3Transport−4Returns and claims−1Service and admin−2Cost-to-serve margin27
Cost to serve: 11 per 100 of revenue
Customer B
Small stores, mixed cases, three drops a week
Gross margin38Order processing−4Warehouse handling−10Transport−16Returns and claims−6Service and admin−5Cost-to-serve margin−3
Cost to serve: 41 per 100 of revenue
Illustrative example with round numbers, not customer data: the table above, drawn as deductions from gross margin.

Customer B buys as much as Customer A and loses money because of how it is served: small mixed-case orders, three drops a week and a high return rate. Each of those is a service policy you can change.

Per Order, Per Unit and as a Ratio

The same model gives three views. Cost to serve per order shows whether minimum order sizes and cut-off times are set right. Cost per unit or per case compares channels with very different order sizes. The cost-to-serve ratio (cost to serve divided by net revenue) compares customers of different sizes on one scale: 11% for Customer A and 41% for Customer B in the example. There is no universal good ratio. Compare it with your own gross margin; a ratio above gross margin means the customer loses money.

Cost to Serve Model vs Cost to Serve Analysis

A cost to serve analysis is a snapshot: last year’s costs, allocated to last year’s customers, usually in a spreadsheet. A cost to serve model is the reusable structure behind it: cost pools, drivers and rates you can refresh and run against new volumes, prices or service policies.

Six Steps to Build a Cost to Serve Model

In an April 2025 press release, Gartner set out a six-step approach for supply chain leaders:

  1. Map the cost components, especially costs now spread across transactions by revenue or volume.
  2. Agree the scope, often starting with a pilot in one country or product line.
  3. Link each cost component to its cost drivers.
  4. Model an approximation of the actual cost per activity; direct costs are easier, indirect ones need stated assumptions.
  5. Reveal the true profitability of each transaction.
  6. Use the findings to improve business performance.

“Many companies overlook service differentiation or product attributes when calculating the profitability of their transactions,” said Marco Sandrone, VP Analyst at Gartner, in the same release.

From Yearly Report to Decision Model

Much cost-to-serve work stops at step 5. The analysis shows which customers lose money, the slide goes to the sales director, and the network keeps running the same way. The bigger return comes when total cost to serve becomes the objective that planning decisions are optimized against: which DC serves which store, which node ships each order, how often to deliver, where to hold stock and whether a new facility pays back.

That is the approach behind Solvoyo’s Strategic Network Design. The model is a digital twin of every node, flow path, cost structure and capacity constraint. It optimizes against an objective you choose: maximize profit, minimize total cost, maximize service, or a combination of them. Each scenario reports total cost to serve and CO2 side by side, and you can run as many as you need before committing to a DC, a lease or a route. For the method in more detail, see network design with total cost to serve and CO2.

Solvoyo Strategic Network Design comparing total cost to serve and CO2 for two network scenarios, by facility and transport cost
Total cost to serve scenario comparison in Solvoyo Strategic Network Design, broken down by facility and transport cost with the carbon difference for each line (demo data).

How to Read Cost to Serve Results

Once every customer has a cost-to-serve margin, two views make the results usable: a whale curve of cumulative profit by customer and a matrix of gross margin against cost to serve.

The Whale Curve

Rank customers from most to least profitable after cost to serve, then plot cumulative profit. The line climbs past 100% of total profit, peaks, and falls back as the loss-making customers are added. The height of the hump is the profit the tail gives away.

The Whale Curve
Cumulative profit after cost to serve, as a share of total profit.
Illustrative shape, not customer data. Every customer to the right of the peak lowers total profit.

Read the tail as a list of service models to fix before it is read as a list of accounts to drop: those customers cost more to serve than they pay for.

Margin vs Cost to Serve Matrix

Low cost to serveHigh cost to serve
High gross marginProtect: keep service levels, watch for driftRe-serve: change delivery frequency, order rules or the serving node
Low gross marginGrow: efficient to serve, test volume and priceReprice or restructure: surcharges, minimums or a different channel

Sales, finance and supply chain each own part of the answer, so agree the action per quadrant before the analysis goes out.

How to Reduce Cost to Serve

To reduce cost to serve, change the drivers behind it: order minimums and cut-off times, delivery frequency, service tiers, DC mapping, the fulfillment node per order, inventory placement, load building and range. Each lever also moves service, so price the trade-off before you pull it.

LeverDriver it movesService trade-off
Order minimums and cut-off timesOrders, order linesCustomer orders less often
Delivery frequency by segmentDropsLonger gaps between deliveries for small sites
Service tiers and surchargesPicks, drops, contactsCustomers pay for premium service
DC-to-store or DC-to-customer mappingKilometres, loadsCan lengthen lead time for some sites
Fulfillment node per orderKilometres, split shipmentsNeeds inventory visibility across nodes
Inventory placement across echelonsInventory carrying, lost salesMore stock upstream, less at the edge
Load building and consolidationLoads, truck fillOrders may wait for a fuller truck
SKU and range rationalizationStorage, picksNarrower range for some customers

The levers interact. Fewer deliveries lower transport but raise store inventory. A cheaper DC mapping can add lost sales if the new DC carries less stock. This is why single-lever projects often move cost from one budget to another. A model that solves inventory, fulfillment and transport together shows the net effect. Solvoyo’s Transportation & Fulfillment Planning runs these as scenarios side by side and quantifies what each additional point of on-time in-full (OTIF) delivery costs.

Cost to Serve Examples in Retail and Manufacturing

Published Solvoyo case studies on cost-to-serve decisions (figures describe the scope where the solution runs, not company totals):

  • Aftermarket spare parts, global automaker. A network redesign optimized against total cost to serve tested more than 120 scenarios and delivered €18M in short-term recurring annual savings, 4% of total cost to serve, plus €11M in long-term net savings. Read the aftermarket parts case study.
  • Energy management, Schneider Electric. Scenario-based total cost to serve optimization across an Asia-Pacific network of 18 DCs and 1,200 customer locations led to fewer DCs and $16M a year in supply chain savings. Read the Schneider Electric case study.
  • Consumer electronics, Vestel. Fulfillment and transportation planned together, minimizing transport cost while keeping stock available, for 1,100+ dealer locations served through 40 cross-docks: 18% in annual recurring transportation savings and $10M in one-time savings after closing 4 distribution centers, with a 100% plan acceptance rate. Read the Vestel case study.
  • Grocery discount retail, A101. The team compares 15 to 20 network scenarios a year, and Solvoyo recommends the DC-store mappings that reduce total cost to serve as the store network grows. Read the A101 case study.

For a service parts version of the same idea, where total cost to serve covers multi-echelon spare parts inventory, handling and expediting, see the Applied Materials case study.

Cost to Serve Software: Spreadsheet, Analytics or Decision Automation?

Cost to serve software comes in three levels: a spreadsheet model for a pilot, analytics for regular reporting, and decision automation that optimizes network, fulfillment and transport plans against total cost to serve.

ApproachGood forLimit
Spreadsheet modelA first pilot, one country or channelBreaks at transaction level, hard to refresh, no scenarios
Cost-to-serve analyticsRegular reporting of past cost by segment and routeExplains past cost, does not change the plan
Decision automationNetwork, fulfillment and transport decisions optimized against total cost to serveNeeds clean master data and agreed cost drivers

A spreadsheet is the right place to start. Move up when the same questions come back every quarter, or when the answer needs a change to the network rather than a price list. Solvoyo’s Supply Chain Analytics & Visibility tracks total cost to serve across the network, and its AI planning agent, Solvi, flags when cost to serve, service levels or carbon drift from what the network model projected. See all Solvoyo solutions.

Cost to Serve FAQ

What is a good cost to serve ratio?

There is no universal benchmark, because the ratio depends on your gross margin and channel mix. Read it against gross margin: if a customer’s cost-to-serve ratio is higher than its gross margin percentage, that customer loses money after delivery. Compare customers within the same channel, track the ratio over time and look at the drivers behind any customer whose ratio rises faster than its revenue.

What is the difference between cost to serve and customer profitability?

Cost to serve is one input to customer profitability. Customer profitability is net revenue minus COGS, minus cost to serve, minus customer-specific costs not already in cost to serve, such as sales commissions. Two customers with the same gross margin can have very different profitability once cost to serve is included, which is why gross margin alone is a poor guide to which accounts to grow, reprice or serve differently.

Is cost to serve the same as activity-based costing?

Cost to serve uses activity-based costing as its method, applied to the order-to-cash flow. Activity-based costing assigns costs to activities and then to the customers or orders that consume them. Time-driven activity-based costing simplifies this by estimating the time each activity takes and the cost per hour of capacity, which makes the model easier to keep up to date.

What data do you need to calculate cost to serve?

You need four sets of data: order and shipment history at line level (customer, SKU, quantity, date, ship-from node), cost pools from the general ledger (warehouse labor, freight, storage, customer service, returns), driver volumes for each pool (picks, drops, kilometers, contacts) and customer terms such as rebates and payment days. Inventory by node adds carrying cost, and stockout records add lost sales.

How often should a cost to serve model be updated?

Refresh the rates at least once a year and whenever a large cost changes, such as a new DC, a freight contract or a wage agreement. Refresh the volumes monthly or quarterly so customer results stay current. When cost to serve drives network or fulfillment decisions, rerun the scenarios whenever demand, capacity or costs move enough to change the answer.

Can you calculate cost to serve in Excel?

Yes, for a pilot. A spreadsheet can hold cost pools, driver volumes, rates and customer totals for one country or channel. It struggles at transaction level, with many customers and SKUs, and it cannot test what happens if you change delivery frequency or DC mapping. At that point a cost-to-serve model in analytics or planning software is easier to maintain.


See It Run on Your Own Data

See how Solvoyo turns your supply chain plans into decisions that run on their own.

Solvoyo mascot