Profitability Per SKU: Which Products Are Actually Losing You Money After Returns?
Published on December 30, 2025
SKU Profitability Impact
Your Bestseller Might Be Your Biggest Profit Killer
You're looking at your sales dashboard right now. Your top 10 products are responsible for 67% of revenue.
You feel good about this.
Here's the problem: You have no idea if any of these are actually profitable.
We worked with a $12M D2C granola brand last year. They reported a 38% gross margin across their 14-SKU lineup. The CEO thought the business was healthy. The board was satisfied. Revenue was growing at 24% YoY.
Then we built a SKU-level profitability model.
3 Winner SKUs
62%
Contribution margin each
Healthy. Winners.
7 Problem SKUs
-8%
Negative contribution margin
Losing money on every unit sold
They were losing money on every unit sold—and scaling the losses with growth.
They had been allocating marketing spend, production capacity, and working capital equally across all SKUs because they only looked at blended gross margin. They were literally subsidizing losers with winners. One aggressive retail expansion targeting those negative-margin SKUs would have triggered a working capital crisis.
This isn't unusual.
62% of SKUs across ecommerce retailers aren't profitable
Most D2C brands operating in the $1M-$8M revenue range have zero visibility into this.
You think you know your margins. You don't.
Why Your Profit Visibility Is Dangerously Wrong
Here's how most D2C brands calculate profitability:
Gross Margin = (Revenue - COGS) / Revenue
Let's say you sell a product for $87. COGS is $34. You're selling at a 61% gross margin.
Then it gets returned.
Oh wait—you're not allocating the cost of that return to the SKU-level profit calculation because your spreadsheet doesn't have a column for it.
Here's what actually happens to that $87 product:
| Cost Item | Amount |
|---|---|
| Original shipment cost | $6.50 |
| Customer returns it (reverse shipping) | $3.20 |
| Restocking and QC (15 min @ $18/hr) | $2.10 |
| Product damage during return (8% chance) | $6.96 |
| Inventory carrying cost (60 days @ 20% annual) | $4.35 |
| Real return cost: | $23.11 |
Your 61% margin just became 34%.
On a 20% return rate (fashion average):
27% net margin
Which is half what you thought.
And that's assuming no customer service labor, no restocking to dead inventory, no chargebacks, no discount needed to clear returned units.
Now multiply this across your entire catalog. If you're like most D2C brands, 15-25% of units get returned. Your blended profitability is 20-30 percentage points lower than your spreadsheet claims.
The problem: You don't know which SKUs are doing this to you.
The Hidden Profit Leaks You're Not Measuring
Let's walk through what most D2C profitability models miss:
1. Return Rates Vary Wildly By Product Category
If you're using a blended return rate in your analysis (most brands are), you're overestimating fashion margin by 8-10 percentage points.
2. Cost to Process a Return: 20-65% of Original Value
→ Reverse logistics: $3-8
→ Receiving and QC: $2-4
→ Restocking and system updates: $1-3
→ Warehouse damage/shrinkage: 8-12% loss rate
→ Inventory carrying on returned goods: 10-20% annually
→ Customer service for disputes: $2-5
→ Markdown if liquidated: $5-20
On a $50 item: $14-$33 per return
On a 25% return rate, your per-unit profitability drops by $3.50-$8.25.
3. Channel-Specific Profitability Is Radically Different
$4M D2C brand analysis:
Shopify (D2C)
42%
Lower CAC, higher returns
Amazon
19%
15% fee + 28% returns
Wholesale
28%
Lower returns, high trade spend
Shopify was generating 2.2x the profit per dollar of marketing spend compared to Amazon.
The SKU Profitability Audit: Finding Your $23K-$67K in Hidden Losses
Most D2C brands have never done a true SKU-level profitability analysis. Here's how to do one:
STEP 1: Gather the Data (4 Hours)
→ Revenue per SKU (last 12 months, by channel)
→ Unit cost per SKU (packaging, labor, materials)
→ Returns rate per SKU (% of units returned)
→ Returns cost per SKU (reverse shipping + processing)
→ Advertising spend per SKU (allocate fairly)
→ Fulfillment cost per SKU (shipping + picking/packing)
→ Inventory carrying cost (days inventory sits)
STEP 2: Calculate True Contribution Margin
Revenue (per unit) - COGS (per unit) - Returns cost (per unit) [return rate × processing cost] - Fulfillment cost (per unit) - Advertising spend (allocate by channel/SKU) - Inventory carrying cost (units × daily carry cost) _______________________ = True Contribution Margin (per unit)
STEP 3: Rank by True Profitability
Rank all SKUs by contribution margin (highest to lowest).
→ Top 20% = "Winners" (growth candidates)
→ Bottom 30% = "Problem SKUs" (need investigation)
STEP 5: Make the Brutal Decision
Negative margins: Kill them. Stop selling tomorrow.
5-15% margins: Keep only if strategic. Otherwise, raise price 8-12% or bundle with winners.
40%+ margins: Allocate more marketing. These are your profit engines.
Real Numbers: The $12M Brand Case Study
| Metric | Before Analysis | After 6 Months | Change |
|---|---|---|---|
| Total SKUs | 14 | 11 | -3 (killed) |
| Blended contribution margin | 38% | 44% | +6% |
| Annual profit | $850K | $1,180K | +$330K (+38%) |
| Working capital freed | — | $67,200 | +$67.2K |
| Inventory turnover | 5.2x | 7.1x | +37% |
The kicker:
They grew revenue by only 3% ($12.36M)
But profit grew 38%
Because they killed the SKUs that were scaling losses.
Why You Can't Do This With a Spreadsheet (And Why Odoo Changes Everything)
You might think: "I can build a SKU profitability model in Excel."
You can. But here's what kills every manual model:
1. Data Lives in 6 Places
Revenue (Shopify), Returns (2-week lag), Fulfillment (ShipStation), COGS (QuickBooks), Advertising (Google/FB), Inventory (WMS). By the time you've manually pulled all data, it's 2 weeks stale.
2. Returns Data Is Incomplete
Shopify tracks refunds but not damage, labor cost, resale status, or returns queue. Your return cost estimates are guesses.
3. One-Off Adjustments Break Everything
COGS drops on one SKU. You forget to update. That SKU looks more profitable. You scale it. Then you realize the savings were temporary.
4. Can't See Channel-Level Performance Real-Time
You know total profit margin. You don't know Shopify vs Amazon vs Instagram. By the time you've analyzed, the problem cost you $18,000.
This is where Odoo ERP transforms your operation.
Odoo integrates with Shopify, ShipStation, Stripe, QuickBooks, and 400+ other tools. Data syncs hourly. Your SKU profitability dashboard updates automatically.
Every morning, your dashboard shows:
→ Which SKUs are profitable (ranked)
→ Which SKUs to kill (bottom 10%)
→ Which channels are profitable by SKU
→ Return rate trends (early warning)
→ Inventory health (fast movers vs. dead stock)
We've implemented this for 31 D2C brands.
Average result:
$23,450 - $67,200
Annual profit improvement within the first 6 months
Just from killing underperforming SKUs and reallocating budget.
FAQ
How many SKUs should we analyze?
All of them. Even slow-moving SKUs matter because they tie up working capital. Analyzing only your top 50 misses the "death by a thousand cuts" problem of marginal SKUs.
What if a SKU is unprofitable in one channel but profitable in others?
Don't kill it. Stop selling it in the unprofitable channel and double down elsewhere. A SKU profitable on Shopify but unprofitable on Amazon? Stop the Amazon listing. Keep selling on Shopify.
What's a healthy contribution margin by SKU?
40%+. Anything below 20% is a candidate for discontinuation unless it serves a strategic purpose (like a loss leader or bundling tool).
How often should we revisit this analysis?
Quarterly minimum. Return rates change seasonally. Advertising costs shift. Inventory levels fluctuate. Review every 90 days and adjust.
Our top-selling SKU has a 22% margin. Should we kill it?
Not necessarily. If it's driving 30% of revenue and you have operational leverage (e.g., bundled shipping with high-margin items), it might be worth keeping. But you should raise the price 8-12% and see if volume holds. If you keep customers at higher price, you've just found $15K+ in annual profit.
How do we know if returns cost is allocated correctly?
Track returns data for 30 days by SKU. Measure actual labor time to process. Don't estimate. The difference between estimated and actual is usually 40-60%, and it'll shock you.
Stop Subsidizing Losers With Winners
The business you're running on your P&L isn't the business you're actually running.
62% of your SKUs are losing money. That's not a fringe issue—that's the majority of your catalog.
Your profitability model is blended across winners and losers, hiding the fact that you're scaling losses with growth.
And because you don't know which products are profitable, you're:
→ Marketing unprofitable SKUs at the same budget as winners
→ Carrying excess inventory of slow movers
→ Missing price increase opportunities on marginal products
→ One aggressive expansion away from a working capital crisis
Let's find the $23K-$67K in hidden profit in your catalog
Book Your Free SKU Profitability Audit
We'll analyze your top 30 SKUs across all channels, identify your winners and losers, and show you the exact profit you're leaving on the table. No obligation. No sales team. Just data.
Questions? Reach out to Braincuber's operations team. We specialize in D2C brands doing $1M-$8M ARR.

