The real cost per order: what your spreadsheet misses.
Most stores calculate CPO from carrier invoices and warehouse labor. That’s less than half the real number. SCOR’s Cost-to-Serve framework accounts for the rest.
- Most CPO calculations skip receiving labor, quality holds, reverse logistics, and exception handling, routinely 40–60% of true cost.
- The SCOR Cost-to-Serve framework (SCOR CS.1) breaks CPO into five categories so nothing slips through the gap.
- A Shopify store at 2,000 orders/month typically lands at $7.20–$9.80/order all-in, versus $3.50–$5 that most operators report from carrier invoices alone.
- Once you know the real number, you can rank every SKU by true contribution margin, and often find 20–30% are priced below cost.
Your real cost per order is pick and pack, plus actual shipping (not the quoted rate), plus payment fees, plus packaging, plus a per-order share of returns and support, measured order by order, not averaged across the month. The averaged number hides the orders that lose money. The formula: Real CPO = pick/pack + actual shipping + payment fees + packaging + (return rate × return cost) + support per order. Compare it against your cost to serve and the hidden costs that distort it.
Why most stores get this wrong.
The spreadsheet version of cost-per-order is usually: (outbound shipping + pick-pack labor) ÷ orders. It’s fast to build, easy to explain, and wrong by roughly half. The costs that don’t make it into that formula, receiving, quality inspection, returns processing, exception labor, aren’t invisible. They’re on invoices and in payroll. They just don’t get allocated to the order.
The SCOR CS.1 framework from ASCM fixes this by defining exactly which cost categories belong in a Cost-to-Serve calculation. It’s the same standard that Fortune 500 supply chains use. The calculation is the same for a 500-order Shopify store.
The five cost categories.
SCOR CS.1 defines cost-per-order as the sum of five categories. The first two are what most spreadsheets include. The last three are what most spreadsheets miss:
How to use the number.
The real CPO reveals two analyses that aren’t available with the spreadsheet version. First, SKU-level margin ranking: attach true CPO (not averaged across the catalog) to each product and the margin stack changes. Items that look profitable on gross margin often aren’t at the contribution level.
Second, channel margin comparison. If your CPO on Amazon FBA orders is $6.20 and your CPO on Shopify DTC orders is $8.90, the channel-mix decision has a real number behind it. Most operators are making that decision based on carrier cost alone.
Regional benchmarks.
SCOR benchmarks for all-in CPO by region, for 1,000–5,000 orders/month stores:
DTC Shopify avg.
Cross-border adds cost
Lower labor, shorter lanes
Investigate immediately
Related guides.
The SCOR Perfect Order Rate playbook for e-commerce
The single best indicator of operational health. The math, the formula, the common mistakes.
IndexAll resources
Browse the full e-commerce ops blog, guides, benchmarks, and breakdowns.
ReferenceGlossary
SCOR, POR, CTS, IEEE XES, ISO/IEC 25012, drift, conformance. Every term decoded.
Cost-per-order questions, answered.
What's a typical fully-loaded cost-per-order for DTC e-commerce?
For a $5M ARR DTC brand running 25,000 orders/year, fully-loaded cost-per-order is typically $14-28 including shipping, 3PL fees, payment processing, packaging, returns handling, and allocated customer support. The variance is wide, premium categories with custom packaging run higher; commodity categories with simple pack-out run lower.
Should I include marketing spend in cost-per-order?
SCOR’s Cost to Serve framework specifically separates operational cost-to-serve from acquisition cost. We recommend the same split, cost-per-order should answer “what does it cost to fulfil this order operationally”, separate from “what did it cost to acquire the customer.” Different teams, different optimisation levers.
What's the difference between gross and net cost-per-order?
Gross cost-per-order is the sum of all operational line items. Net cost-per-order accounts for revenue recoveries, supplier credits, carrier claim payouts, returned-inventory resell value. The net number is the one that matters for margin. Most operators report gross because it’s easier; the net number is the one that surprises them.
How often should I recalculate cost-per-order?
Monthly at minimum. Quarterly comparison reveals fee escalations and contract drift; monthly comparison catches operational regressions while they’re still fixable. The metric should be on the operations dashboard, not the year-end accounting review.
Why use the SCOR Cost to Serve framework instead of my own metric?
Two reasons. First, SCOR’s definition is industry-comparable, your number can be benchmarked against published industry data. Second, the 5-category breakdown (Source, Make, Deliver, Return, Plan) maps cleanly to where action lives. A custom metric tells you the total; the SCOR breakdown tells you where to look.
Why is my average cost per order wrong?
Because averaging blends cheap and expensive orders into one number that matches none of them. A heavy item shipped cross-country and a light local order have very different real costs, so the average hides both the winners and the money-losers.
What is usually missing from a cost-per-order calculation?
Actual shipping instead of the quoted rate, accessorial and dimensional-weight surcharges, payment processing fees, packaging, and a per-order share of returns and support. Most calculations stop at pick, pack, and base shipping.
How often should I recompute cost per order?
Monthly at least, and after any carrier rate change, 3PL contract change, or packaging change. Costs drift quietly, so a number you calculated last quarter is probably already wrong.
Find your real cost-per-order in 5 minutes.
Instirio computes Cost to Serve in all five SCOR categories, automatically, on your live order data, with regional benchmarks for 11 global regions.
Start free →