E-commerce Operations

Hidden costs make 62% of e-commerce SKUs unprofitable.

Blended margin accounting hides which products are losing money after returns, fulfillment, and carrier costs are loaded in. Most stores are optimising the wrong number.

In short

1

62% of e-commerce SKUs lose money once you load in the full operational cost-to-serve, not COGS, but shipping, returns processing, and 3PL handling per product (Deloitte, 2025).

2

Blended margin accounting averages these costs across all SKUs, hiding which products are subsidised by which. The product P&L looks fine. The operational P&L doesn’t.

3

Three costs drive most per-SKU losses: returns under-accounting, carrier routing drift, and 3PL accessorial charges. None appear on a standard product report.

4

The fix requires three data joins most stores haven’t made: return rate by SKU, fulfillment time by SKU, and actual billed carrier cost by SKU.


01The blind spot
The short answer

A SKU’s gross margin is not its true margin. Subtract per-unit fulfilment, actual shipping by zone, return rate times return cost, and payment fees, and many best sellers turn negative. True SKU margin = price − COGS − fulfilment − actual shipping − (return rate × return cost) − payment fees. The high-volume, thin-margin, high-return SKUs are usually the quiet losers. Cross-check against your cost to serve and the hidden costs behind each order.

What blended margin hides

Most Shopify stores track margin at the product level: revenue minus COGS, sometimes minus ad spend. What that number doesn’t include is anything that happens after the order is placed.

A $48 hoodie at 52% margin looks profitable. It stops looking profitable when you add a 19% return rate (above the 8% category baseline), $6.80 in excess fulfillment time, and a carrier routing pattern that adds $2.10 to average shipping cost. Net margin on that hoodie, fully loaded: somewhere between breakeven and minus four percent.

62% of e-commerce SKUs lose money once full operational cost-to-serve is accounted for, not COGS, but the drag that accumulates after the order is placed.Deloitte Retail Profitability Study, 2025

The problem is not that operators don’t care about this. The data needed to see it is split across three or four systems, Shopify, a 3PL portal, a carrier dashboard, and a returns platform, and nobody has made the join. So operators optimise the number they can see (blended margin) and miss the number that actually matters (margin per order, per SKU, after operational drag).


02Root causes

The three costs that don’t show up

Returns under-accounting is the largest single contributor. When a return is booked against revenue as a refund, the processing cost, pick, inspect, restock, or liquidate, hits as a fulfillment expense in a separate line. Operators see the revenue reversal but not the attached labor and carrier cost. NRF’s 2025 Consumer Returns report puts average return processing at 20–65% of item value depending on category. Most store P&Ls show a fraction of that.

Carrier routing drift compounds the problem. Rate cards from FedEx and UPS update quarterly. Routing logic, particularly in 3PL arrangements, often doesn’t. Analysis of 23 Shopify stores in Instirio’s Hidden Cost Index 2026 found that 71% were shipping at least one product category on a costlier carrier than necessary, at an average delta of $2.10 per shipment. Annualised against a 2,000-order-per-month store, that’s roughly $50,000 in addressable shipping overspend.

3PL accessorial charges are the most opaque. A 3PL quoting $3.50 per order typically bills $7–12 all-in once you account for fuel surcharges, dimensional weight adjustments, Saturday delivery premiums, and address correction fees (Productiv 2025 analysis: 3PL invoices average 37% over quoted rates). These show up as fulfillment expense in aggregate but rarely get traced to individual SKUs. A product with outsized dimensions, fragile packaging, or a high mis-pick rate carries a materially different 3PL cost than its catalog neighbors, but in blended accounting, that cost gets averaged across everything.

Return leakage
Returns
Shopify logs the refund line. Processing, restocking, and liquidation cost per SKU go untracked, every cost that happens after the return is accepted.
20–65%
of item value
Carrier routing
Shipping
Blended shipping cost masks per-SKU variance from the ideal carrier and zone. Sub-optimal routing adds a consistent overage that never surfaces in standard reporting.
$2.10
avg per shipment
3PL accessorial
Fulfillment
Quoted rates exclude fuel surcharges, dimensional weight adjustments, and address correction fees. $3.50 quoted becomes $7–12 billed once accessorials are loaded in.
2–3×
quoted vs. billed

03The math

What an unprofitable SKU actually costs

It means the store is subsidising certain products with margin from others, without knowing which products are doing which.

For a 2,000-order-per-month store at $50 average order value, the average operational leakage Instirio finds is $8,000–$15,000 per month. Not all of that is SKU-level. But typically 30–40% traces to a small number of products with outsized operational footprints (Instirio Hidden Cost Index 2026): high return rates, unusual carrier routing, or 3PL handling that runs well above the store average.

The fix requires three data joins most stores haven’t made. Return rate by SKU, not blended. A 3% return rate on one SKU and a 28% rate on another shouldn’t both disappear into a single “returns” line. Fulfillment time by SKU, specifically how long each product spends in pick, pack, and ship stages versus store baseline. A product that consistently adds 6–8 hours to fulfillment time costs real labor, and that cost belongs to the SKU. Carrier cost by SKU, actual billed cost per shipment, not contracted rate. The difference between what should have been billed and what was actually billed is often the most immediately recoverable number in an operations audit.


04Finding it

What Instirio does about this

Halia, Instirio’s detection engine, runs these joins automatically across your connected Shopify, 3PL, and carrier data. It doesn’t average, it traces. When a SKU carries more than 2× the fulfillment cost of comparable products, Halia flags it with a dollar impact and a confidence score, not a vague observation.

Margin risk Cost-to-serve outlier Live · 1,240 orders

Halia recommends reviewing SKU #4821 (Women’s Linen Blazer)

$627/mo above baseline cost

avg $11.40 fulfillment cost vs. $4.20 store baseline · 87 orders/mo affected

Action: Review 3PL handling class and return processing workflow for this SKU

Illustrative finding, representative of patterns Halia surfaces. Not based on a named customer.

87
orders/mo affected
$4.20
store avg cost
$11.40
this SKU’s cost
88%
confidence · 1,240 orders

The output is a specific SKU, a specific dollar amount, and a specific place to start, not a generic prompt to check your margins.

Find your unprofitable SKUs in 30 days

Halia traces cost-to-serve at the SKU level across your Shopify, 3PL, and carrier data. Setup takes 5 minutes. No analyst, no SQL, no consultants.

Free for 500 orders/mo · 5-minute setup · No card required

Common questions

Why does blended margin accounting miss per-SKU losses?

Blended margin takes total revenue minus total COGS and divides by units sold. It doesn’t attach operational costs, returns processing, carrier surcharges, 3PL accessorials, to the specific product that caused them. Those costs hit separate expense lines. The product P&L looks fine while the operational P&L absorbs costs that originated from a small number of high-drag SKUs.

What’s the 62% figure and where does it come from?

Deloitte’s 2025 retail profitability study found that 62% of e-commerce SKUs lose money once the full cost-to-serve is loaded in, not landed cost, but the operational drag that runs after the order is placed. The average per-SKU loss in apparel and homewares was $3.40 per order. That’s a structural blind spot, not a pricing problem.

Which SKUs are most likely to be unprofitable?

Products with above-average return rates, unusual dimensions (which trigger dimensional weight charges and higher 3PL handling fees), long fulfillment times, or delivery zones that don’t match the contracted carrier’s strengths. Fragile items and multi-pack SKUs also tend to carry higher-than-average operational costs that blended accounting obscures.

How do I start identifying cost-to-serve by SKU without a data team?

Instirio connects to Shopify, your 3PL, and carrier data via OAuth and runs the joins automatically. No SQL, no data engineering, no analyst hours. The Starter plan is free for up to 500 orders per month. Most stores see their first SKU-level cost finding within 30 days of connecting.

Why do my best-selling SKUs lose money?

High volume multiplies small per-unit leaks. A best seller with thin margin, heavy shipping, and an above-average return rate can be net-negative once fulfilment, actual shipping, returns, and payment fees are subtracted per unit.

How do I calculate true SKU margin?

Start from price, then subtract COGS, per-unit fulfilment, actual shipping by zone, return rate times return cost, and payment fees. What remains is the true margin, and it is often far below the gross margin on your product sheet.

What return rate makes a SKU unprofitable?

It depends on margin, but a thin-margin SKU can go negative once its return rate passes the mid-teens, because each return costs far more than the refund. Run the number per SKU rather than assuming a single threshold.

Sources: Deloitte Retail Profitability Study 2025; NRF 2025 Consumer Returns in Retail report; Productiv 2025 3PL Cost Analysis; FedEx and UPS rate tables 2026; Instirio Hidden Cost Index 2026 (23 Shopify stores, ~180,000 orders analysed)