← All articles
Intermediate11 min read|

How to Calculate True SKU-Level Unit Economics (And Why Most Sellers Get It Wrong)

Most e-commerce sellers undercount costs when evaluating product profitability. Learn how to calculate all-in unit economics per SKU — including hidden costs like CAC allocation, refund rates, and return shipping.

Ask an e-commerce seller if their products are profitable and most will say yes. Ask them to prove it with all-in unit economics per SKU and most cannot. The gap between what sellers think they make and what they actually make is where margin leaks silently drain a business.

The problem with "back-of-napkin" margins

The most common margin calculation in e-commerce is: selling price minus product cost minus shipping. This gives you a rough gross margin, and it is almost always too optimistic. Here is why:

A typical direct-to-consumer product has at least eight variable cost components. Most sellers track two or three. The rest get buried in monthly overhead and never attributed to the products that generate them.

Naive Margin vs. True Unit Economics
Line ItemNaive CalcTrue Unit Economics
Selling price$35.00$35.00
COGS($12.00)($12.00)
Shipping label($5.50)($5.50)
Pick & pack labor($1.80)
Packaging materials($0.65)
Payment processing (2.9% + $0.30)($1.32)
Refund cost (5% rate × unit cost)($1.75)
Return shipping (5% × $5.50)($0.28)
CAC allocation($4.80)
Margin per unit$17.50$6.90
Margin %50.0%19.7%

In this example, the naive calculation suggests a 50% margin. The true unit economics show 19.7%. That is not a rounding error — it is a 30+ percentage point gap that can mean the difference between a growing business and one that is slowly bleeding cash.

The hidden costs most sellers miss

Variable Cost Checklist
Cost of goods sold (materials, manufacturing, landed cost)
Outbound shipping / fulfillment
!
Pick, pack, and handling laborcommonly missed
!
Packaging materialscommonly missed
!
Payment processing fees (%, fixed, and international surcharges)commonly missed
!
Marketplace / platform feescommonly missed
!
Refund and chargeback cost (rate × unit cost)commonly missed
!
Return shipping cost (rate × return label cost)commonly missed
!
Customer acquisition cost (allocated per SKU)commonly missed
!
Warranty / replacement costcommonly missed

Let's break down the commonly missed costs in detail.

1. Pick, pack, and handling labor

Whether you fulfill in-house or use a 3PL, there is a per-unit cost to pick the product from a shelf, pack it into a box, and hand it to a carrier. 3PLs charge this explicitly (typically $1.50–$3.00 per order). If you fulfill yourself, calculate your warehouse labor cost per unit — it is real even if you are the one doing it.

2. Packaging materials

Boxes, poly mailers, tissue paper, branded inserts, tape, and dunnage all cost money. A branded unboxing experience might cost $0.50–$2.00 per order. At 1,000 orders per month, that is $500–$2,000 per month that never shows up in COGS.

3. Payment processing fees

Stripe charges 2.9% + $0.30. Shopify Payments is similar. PayPal can be higher. On a $35 item, that is roughly $1.32. At scale, processing fees often exceed shipping costs.

4. Refund and return costs

If your refund rate is 5%, then for every 100 units sold, you eat the full cost on 5 of them. Worse, you often pay return shipping too. The formula:

Refund Cost Per Unit Sold

Refund Cost = Refund Rate × (COGS + Fulfillment + Return Shipping)

At a 5% refund rate with $18 COGS, $6.50 fulfillment, and $5.50 return shipping, that is 0.05 × $30.00 = $1.50 per unit sold — absorbed across all sales, not just the returned ones.

5. Customer acquisition cost (CAC)

This is the biggest and most commonly unallocated variable cost. If you spend $5,000 per month on Facebook and Google ads, that cost needs to be attributed to the products it helped sell. Not in aggregate — per SKU.

How to allocate CAC per SKU

There are three common approaches, from simple to precise:

Revenue-weighted allocation

Divide total ad spend proportionally by each SKU's share of total revenue. Simple and directionally useful, but treats all products as equally expensive to sell.

Unit-weighted allocation

Divide total ad spend by total units sold, then assign the same per-unit CAC to every product. Fairer than revenue-weighted if your products are similarly priced, but inaccurate if your product mix varies widely.

Campaign-attributed allocation

Map ad spend to specific product campaigns and attribute CAC based on which ads drove which sales. This is the most accurate, but requires campaign-level tracking and analytics infrastructure.

CAC Allocation by SKUTotal ad spend: $5,000/mo
SKUUnits/moCAC/unitTotal CAC% of spend
Starter Kit200$4.80$96019.2%
Pro Bundle120$8.00$96019.2%
Refill Pack500$3.08$1,54030.8%
Gift Set80$19.25$1,54030.8%

Notice how the Gift Set — with fewer units sold — absorbs a disproportionate amount of ad spend per unit ($19.25 CAC vs. $3.08 for the Refill Pack). Revenue-level reporting hides this. Per-SKU unit economics reveal it.

Seeing the full picture

Once you have all variable costs accounted for, you can visualize exactly where each dollar of revenue goes:

Revenue FlowWhere each dollar goes
Revenue$35.00
After COGS$23.00
After fulfillment$15.05
After processing + refunds$11.70
After CAC$6.90

The funnel narrows with each cost layer. What started as $35 in revenue becomes $6.90 in contribution margin — the actual amount available to cover fixed costs and generate profit.

What to do with this information

Rank your SKUs by contribution margin

Sort your products by per-unit contribution margin, not revenue. You will likely find that your highest-revenue product is not your most profitable one. Double down on the winners and investigate the losers.

Set a CAC ceiling per product

Your maximum profitable CAC is your contribution margin before CAC. If a product yields $11.70 after all costs except acquisition, you cannot spend more than $11.70 to acquire the customer and remain profitable. Set per-product CAC limits in your ad platforms.

Model the impact of cost changes

With true unit economics in hand, you can model scenarios: "What happens to my margin if COGS increases 10%?" or "What if I reduce CAC by 20% through better targeting?" Each lever is quantified, so the answer is no longer a guess.

Kill or fix unprofitable SKUs

Some products look profitable on a gross margin basis but are contribution-negative once all variable costs are included. You have three options: raise the price, reduce costs, or discontinue the product. All three are better than continuing to sell at a loss.

Automate your unit economics

Manually calculating all-in unit economics for every SKU is tedious and error-prone. MarginCaptain automates this — enter your product costs once and get a full contribution waterfall per SKU, with CAC allocation, refund rate modeling, and scenario analysis built in.

If you are still tracking margins in a spreadsheet, try the interactive demo to see how much easier per-SKU unit economics can be.

Find your fake-profitable SKUs.

Upload your Shopify data. Get your margin leak audit in minutes.