Margin Notes
Opinionated reads on Shopify profit math.
Why revenue lies, how to kill loss-making SKUs, and what your real margin actually looks like once every fee is subtracted.
Margin math
The Gross Margin Lie: why your "60% margin" is actually 38%
Margin Notes · ~ 5 min read
Open Shopify Analytics. Look at "Gross margin." Feel good. Then close the tab, because that number is lying to you — not maliciously, just incompletely.
Gross margin is what's left after you subtract the cost of goods sold from revenue. It's a useful number — for accountants. For you, the merchant deciding whether to discount, restock, or kill a product, it's a half-truth that obscures the real one: net margin, the dollars you actually take home.
What the math really looks like
Imagine a $100 sale. Your product cost you $40 to make. Shopify's reports show:
$100 revenue
−
$40 COGS
=
$60 (60% gross margin)
Great-looking number. But it ignores three categories that are guaranteed to chip away at it:
- Payment processing fees. Shopify Payments takes 2.9% + $0.30 on every transaction. On a $100 sale, that's $3.20.
- Refunds. If your refund rate is 8% (typical for apparel), that's $8 per $100 in revenue gone — and you usually keep the fees too.
- Apps, shipping costs, and other transaction overhead that don't show up in gross margin.
Run the real math:
$100
−
$40 COGS
−
$3.20 fees
−
$8 refunds (avg)
=
$48.80 (48.8%)
Now factor in the apps you pay monthly, the shipping you absorb on free-shipping orders, packaging materials, and a portion of ad spend if you're running paid traffic — and that "60%" gross margin is closer to 38% net margin in reality.
Why this matters: Most pricing decisions are made on gross margin. Most pricing decisions are therefore wrong. A 60% gross margin product looks like it can absorb a 15% discount. A 38% net margin product cannot.
The category-wide pattern
Across the DTC category, analysts consistently find a 5–8 percentage-point gap between reported and real margins once returns, fees, and overhead are loaded in. It's enough to flip "this product is making money" into "this product is breaking even" without you noticing for months.
What to do about it
Three concrete actions, in order of effort:
- Track the four numbers Shopify doesn't combine for you: revenue, COGS, payment fees, and refunds, per order. Subtract them, average per day, and watch the trend.
- Set your true target margin at 35–40% net, not 60% gross. If a product can't hit it, raise the price or kill the SKU.
- Refuse to celebrate a "$10K month" until you've seen the net. Revenue is a vanity number. Net profit is the only score that pays bills.
↑ Back to top
Pricing
How a $5 price increase rescued a loss-making SKU
Margin Notes · ~ 4 min read
Tom (real merchant, name changed) sells outdoor accessories on Shopify. One of his bestsellers had a problem: it was selling well and quietly losing him money. Here's how a five-dollar price adjustment turned it around.
The product
A weather-resistant backpack, priced at $44.99. Tom thought of it as a hero SKU — high unit volume, frequently featured in his store's homepage. He'd never run the per-unit profit math because revenue from it looked great.
When he installed a profit tracker and looked at the per-product breakdown, his backpack showed up at the top of the loss list:
$44.99 revenue
−
$26 COGS
−
$1.60 fees
−
$5.50 shipping
=
$11.89 net
That's a 26% net margin — which sounds decent. Until you factor in that 18% of orders for this SKU got returned (cheap competitors at lower price points), and the average realized profit per unit shipped dropped to:
$11.89 net
×
0.82 (kept)
−
$2.40 return shipping
=
$7.35 per shipped unit
Once he factored time spent on customer service for returns, the product was barely worth selling.
The price test
Tom raised the price by exactly $5 — to $49.99 — and watched for two weeks. His prediction: unit volume would drop ~20% and net would stay roughly flat.
What actually happened:
- Unit volume dropped 9%, not 20%
- Per-unit net profit rose to $15.50 (after refunds + return shipping)
- The refund rate dropped to 13% — turns out people who pay $50 expect a $50 product and are less disappointed than people who paid $45 expecting a $50 product
- Total net profit on the SKU went up ~38% with 9% fewer sales
The lesson isn't "raise prices." It's "price-test loss-making SKUs before killing them." A small upward bump rescued a product that would have otherwise been pulled from the store.
How to know which SKUs need this treatment
Three signals that a price test might help:
- Net margin under 25% per shipped unit
- Refund rate above 12%
- You're embarrassed by the discount level needed to move inventory
If two of those are true, run a price test. Worst case: volume drops as expected and you reduce inventory faster. Best case: you find $5K/year of "free" margin.
↑ Back to top
Operations
Why you should kill 80% of your SKUs — and how to find the right 20%
Margin Notes · ~ 6 min read
Most Shopify stores have too many products. Not because they're greedy — because every "this might be a hit" decision adds a SKU and almost none of them get reviewed. Here's how to ruthlessly cut the long tail.
The 80/20 rule, applied to your catalog
The Pareto principle, brutally consistent in e-commerce: 80% of your revenue comes from 20% of your SKUs. Sometimes it's even more extreme — 90/10 or 95/5 for stores with sprawling catalogs.
The remaining 80% of products aren't just neutral. They cost you in three ways:
- Inventory capital tied up in stock that turns once a year or less
- Operational overhead — photography, copywriting, customer service questions, return-rate variance, accounting reconciliation
- Attention dilution — your homepage, ads, and email sequences are all "noisier" with low-volume products competing for slots
How to find the 20% that's actually working
Step 1: pull per-product net profit for the last 90 days. Not gross — net, after COGS, payment fees, and refunds. (PocketNeto does this automatically; if you're tracking manually, export your orders and a COGS table to a spreadsheet.)
Step 2: sort by total net profit descending. Cumulative add the column. The point where you hit 80% of total net profit — that's your "keepers" list. Everything below it is a candidate for the cut list.
Step 3: for each candidate, ask three questions:
- Strategic SKU? Does it serve a positioning purpose — anchor pricing, premium signal, completing a collection? If yes, keep.
- Loss-making per unit? If net margin per unit is negative, kill immediately. Selling at a loss is never strategic.
- Slow-mover with margin? If it turns less than 4× per year but has 25%+ net margin, consider keeping at reduced inventory levels.
The math on cutting 80%
For a typical Shopify store with $250K annual revenue and 60 SKUs:
12 SKUs keep
·
~$200K revenue
·
$70K net profit
+
~$15K freed working capital
By killing the bottom 48 SKUs, you free up 6 months of inventory holding cost, reduce your customer-service variance dramatically, and concentrate marketing on products that actually move.
"But what if a customer wants the killed product?" Then they buy a replacement from your 12 winners — or they don't, and you saved yourself the cost of stocking, photographing, and supporting a product that wasn't paying its way.
The hard part: emotional attachment
Founders attach personally to SKUs they sourced, designed, or championed. The cut list will include products you love. Cut them anyway — your job is to grow profit, not to keep every product alive.
Set a quarterly review cadence. Every three months, re-run the 80/20 sort and adjust your keep list. Products that have stopped earning their slot get demoted to "kill" automatically. Treat the catalog like a portfolio, not a museum.
↑ Back to top