Fenlytics / Blog / True Contribution Margin by SKU: Why Your Best-Seller Might Be Losing Money
August 10, 2026 · profitability, shopify, amazon

True Contribution Margin by SKU: Why Your Best-Seller Might Be Losing Money

Revenue by SKU tells you what's popular. Contribution margin tells you what's actually worth selling — and they're often not the same product.

Most Shopify and Amazon dashboards show revenue by SKU. Almost none show contribution margin by SKU — and that gap is where a lot of ecommerce brands quietly bleed money.

Revenue and profit are different questions

Revenue answers “what’s selling.” Contribution margin answers “what’s worth selling.” A SKU can be your top seller by units and still be dragging down your bottom line once you account for:

  • Cost of goods sold (COGS)
  • Platform and payment processing fees
  • Shipping and fulfillment cost
  • Returns and refunds
  • The ad spend actually driving that SKU’s sales

Add all five up per SKU, and the ranking often looks nothing like your revenue leaderboard.

A real pattern we see often

A best-selling SKU pulls in strong revenue every week. On paper, it looks like the brand’s flagship product. But once fulfillment costs rise — a carrier surcharge, a packaging change, anything — and ad spend on that SKU creeps up without a matching lift in conversions, contribution margin on that “best seller” can quietly drop into single digits while a quieter, lower-volume SKU is actually the more profitable one to push.

Nobody notices, because the dashboard everyone’s looking at is sorted by revenue, not margin.

Why this is hard to catch manually

Calculating true contribution margin requires pulling data from at least four different places — your store platform, your ad platforms, your 3PL or fulfillment provider, and your payment processor — and reconciling it at the SKU level every week. Most teams do this quarterly at best, if at all, because it’s tedious enough that it keeps getting pushed down the priority list.

By the time a quarterly review catches a margin problem, it’s been eating into profit for months.

What to do about it

  1. Pull true cost per unit, not just COGS — include average fulfillment and return-adjusted cost per SKU.
  2. Attribute ad spend at the SKU level, not just campaign level, where your ad platform allows it.
  3. Recalculate weekly, not quarterly — margins move faster than most reporting cadences catch.
  4. Flag anything below your minimum acceptable margin, automatically, rather than relying on someone remembering to check.

That last point is the one most teams skip — not because it’s hard to define, but because nobody wants to be the one manually checking five spreadsheets every Monday.


This is exactly the kind of thing the AI insight layer is built to catch automatically — comparing true contribution margin week over week and flagging it before it becomes a quarter-long leak. You can see a live example on the sample report page.

See it running on your own data.

15 minutes, no pitch. I'll tell you what your own numbers are probably hiding.

Book a 15-minute call