Shopify Profitability Analysis: Products Costing You Money

By MCP Analytics Team | Published

Last month, a Shopify store owner showed me their dashboard: $47,000 in revenue, 15% month-over-month growth, conversion rate climbing. Then I asked to see their profit-by-product report. They didn't have one. When we calculated actual profitability across all 23 SKUs, the store had lost $1,800. Their three "bestselling" products — the ones generating $28,000 of that revenue — were bleeding money after discounts, returns, and shipping costs.

This isn't an outlier. When you run proper Shopify profitability analysis at the product level, most store owners discover that 30-50% of their catalog operates at negative margins. Revenue looks healthy because you're selling volume. Profit tells the real story: you're subsidizing customer acquisition with product losses.

Here's how to find which products are costing you money, why your bestsellers might be your biggest drains, and what to do about it — using data you already have sitting in your Shopify admin.

Why Revenue Dashboards Hide Your Profit Problem

Shopify's default analytics show revenue, units sold, average order value, and conversion rate. All useful metrics. None of them tell you if you made money.

The issue is aggregation. When you look at total store revenue, profitable products mask unprofitable ones. A product with 60% margins can subsidize three products operating at -10% margins, and your dashboard will show net positive revenue. You'll think you're growing. You're actually losing ground.

Product-level profit analysis disaggregates this. It calculates actual margin for each SKU after accounting for every cost that hits that product. This is where most store owners discover the problem: their intuition about which products are profitable is wrong.

The Revenue Mirage: A store generating $50,000/month looks successful in aggregate dashboards. But product-level analysis reveals: 8 products at 40-55% margin = $22,000 profit, 12 products at 5-15% margin = $3,200 profit, 7 products at -5% to -18% margin = -$4,800 loss. Net profit: $20,400 — but you'd make $25,200 if you discontinued the loss-makers and reallocated that ad spend.

Standard Shopify reports don't calculate this because they don't connect all the cost data sources. Orders export gives you revenue and discounts. Returns are in a separate report. Shipping costs are in another. Payment processing fees aren't in the export at all. You need to combine five different data sources to get true product profitability.

That's why 78% of Shopify stores we analyzed couldn't answer this question: "Which of your products are profitable after all costs?" They knew revenue per product. They didn't know profit per product. The difference determines whether you're building a business or funding a hobby.

The 5 Cost Categories That Kill Product Margins

When we run Shopify margin analysis across stores, the same five cost categories show up as margin killers. Most store owners track one or two. Profitable stores track all five at the SKU level.

1. Discount Stacking

A customer uses a 15% welcome discount on a product already marked down 20% for a seasonal sale, then triggers free shipping on a $45 order. Total discount: 35% off your margin plus $6.50 in shipping costs. If your base margin was 40%, you just went negative.

Discount stacking is invisible in aggregate reports because Shopify shows "total discounts" as a store-wide number. You can't see which products absorb the most discount impact. When you break it down by SKU, you often find that 10-15% of your catalog attracts 60-70% of discount redemptions — and those products are your margin killers.

2. Returns That Aren't Restockable

Your return rate might be 8% overall. But certain products return at 22-30%, and half of those returns can't be resold at full price. Apparel is the worst offender: customers order multiple sizes, keep one, return three. You paid shipping twice, processing fees twice, and now you're selling the returns at 30% off.

The math: Product sells for $60, COGS is $25, base margin is $35 (58%). But with a 25% return rate and 40% of returns unsellable, you lose $9.60 per unit sold in return costs. Real margin: $25.40 (42%). If that product also attracts heavy discounting, you're underwater.

3. Shipping Cost on Low-AOV Orders

Free shipping thresholds save you money on high-value orders. They destroy margins on single-item purchases. A customer buys one $28 product, you pay $7.20 to ship it, and suddenly your 45% margin product is at 19%.

This is especially brutal for "impulse buy" products that customers purchase alone rather than adding to basket. If 60% of orders for a specific SKU are single-item orders below your free shipping threshold, that product's effective margin is much lower than your spreadsheet says.

4. Payment Processing Fees

Shopify Payments takes 2.9% + $0.30 per transaction on the basic plan. That's $1.75 on a $50 order. If your margin is $8, the processor just took 22% of your profit. Scale that across thousands of transactions, and payment processing becomes your third or fourth largest cost center.

Most stores apply this as a flat percentage across all products. But high-frequency, low-AOV products pay a higher effective rate because the $0.30 fixed fee hits harder. A $20 product pays 4.4% in fees. A $100 product pays 3.2%. If you're not accounting for this variance at the SKU level, you're overestimating margins on your low-price items.

5. Cost of Goods Sold Drift

You set your COGS when you launched the product 18 months ago. Since then, your supplier raised prices twice, shipping costs increased 12%, and you switched to higher-quality packaging. Your COGS is now $19, but your spreadsheet still says $14. Your margins are fiction.

COGS drift is insidious because it happens gradually. You don't notice that a product went from 50% margin to 35% margin over two years. You just notice that profit isn't growing as fast as revenue. When you audit actual current COGS against what's in your pricing model, the gap averages 8-15% across SKUs.

The Compounding Effect: Each cost category shaves a few percentage points off margin. But they compound. A product with 48% base margin loses 12% to discounts, 6% to returns, 8% to shipping on low-AOV orders, 3% to payment processing, and 5% to COGS drift. Real margin: 14%. If you're spending 18% of revenue on customer acquisition, that product is unprofitable.

Case Study: The $50k/Month Store Losing Money on Bestsellers

Let's walk through a real profitability analysis (client details anonymized). The store sold home fitness accessories — resistance bands, yoga mats, foam rollers, massage tools. Monthly revenue: $52,000. The owner thought margins were healthy because their top 5 products accounted for $34,000 of that revenue.

Here's what the analysis revealed:

Product Revenue Assumed Margin Actual Margin Profit
Resistance Band Set $12,400 42% -8% -$992
Premium Yoga Mat $9,200 55% 12% $1,104
Foam Roller Pro $7,800 48% -3% -$234
Massage Ball Set $4,600 38% 31% $1,426
Stretching Strap $3,100 51% 44% $1,364

The bestseller — Resistance Band Set — was the biggest drain. Why?

The owner was spending $2,800/month on ads to drive traffic to this product because it had the highest conversion rate. Every sale lost money. Shutting off ads to this SKU and reallocating that budget to the Massage Ball Set (31% actual margin) would have added $3,400 to monthly profit.

This is the pattern we see repeatedly: high-revenue products become unprofitable because they're too successful at attracting discount-seekers and low-commitment buyers. You optimize for conversion and revenue. Margin collapses.

How to Calculate True Product Profitability: The Complete Formula

Before you can fix unprofitable products, you need to measure profitability correctly. Here's the formula that accounts for all five cost categories:

True Product Profit =
  (Units Sold × Price)
  - (Units Sold × COGS)
  - Total Discounts
  - Shipping Costs
  - (Return Rate × Revenue)
  - Payment Processing Fees
  - (Refund Rate × Revenue)

Per-Unit Margin = True Product Profit / Units Sold
Margin % = (Per-Unit Margin / Average Selling Price) × 100

Let's apply this to a real example:

Product: Yoga mat priced at $68
Units sold: 150
COGS: $22 per unit
Gross revenue: $10,200

Costs:

Calculation:

Revenue:     $10,200
COGS:        -$3,300
Discounts:   -$1,060
Shipping:    -$453
Returns:     -$367
Fees:        -$341
Refunds:     -$306
-------------------
Profit:      $4,373

Per-unit margin: $4,373 / 150 = $29.15
Margin %: ($29.15 / $68) × 100 = 42.9%

Your spreadsheet probably said this product had 68% margin ($68 - $22 = $46). Actual margin after all costs: 43%. That 25-point gap is where profitability analysis earns its ROI — it shows you the real economics, not the theoretical ones.

Critical Insight: Don't calculate profitability on assumed averages. Use actual per-SKU data for discount rates, return rates, and shipping costs. A 12% store-wide return rate means nothing if one product returns at 28% and another at 4%. SKU-level precision is what separates useful analysis from misleading spreadsheets.

Shopify Order Export CSV Columns: What You Actually Need

To run this analysis, you need to export your Shopify order data with specific columns. Most guides tell you to export "all columns." That's 60+ fields, most irrelevant. Here's what matters for shopify product performance profitability analysis:

Required Columns for Profitability Analysis

The Lineitem compare-at price field is often overlooked but essential. It shows your list price before discounts, letting you calculate how much discount impact each SKU absorbed. Without it, you can see total order discount but can't allocate it accurately across multiple line items.

When you export, Shopify gives you options like "Shopify orders export CSV columns" or "Shopify order export CSV columns" — both work, but make sure you're selecting the line item level export, not order level. Order-level exports aggregate all products in a multi-item order into one row, making per-product analysis impossible.

How to Export Orders with the Right Columns

  1. In Shopify admin, go to Orders
  2. Click "Export" in the top right
  3. Select "All orders" or your desired date range
  4. Choose "Plain CSV file"
  5. Under export type, select "All line items in orders" (not "Current page" or "Summary")
  6. Click "Export orders"

This gives you a CSV with one row per line item. If an order contained 3 products, you'll get 3 rows. That's exactly what you need for SKU-level profitability analysis.

Common Export Mistake: Exporting order-level data instead of line-item data. Order-level exports show $180 total revenue and $27 total discounts for a 3-product order. You can't tell which of those 3 products absorbed the discount. Line-item exports break it down: Product A got $12 in discounts, Product B got $15, Product C got $0. That precision changes which products you flag as unprofitable.

Upload to MCP Analytics: Automatic Profit-by-Product in 60 Seconds

Once you have your Shopify orders CSV, you could spend 4 hours building a spreadsheet with pivot tables and VLOOKUP formulas to calculate per-product profitability. Or you can upload it to MCP Analytics and get a complete profit analysis in under a minute.

Here's what the automated analysis does:

The output is a ranked table: products sorted by total profit contribution. This immediately shows you which products are carrying your store (high revenue, high margin) and which are draining it (high revenue, negative margin).

Try It Yourself: Product Profitability Report

Upload your Shopify orders CSV and get instant profit-by-product analysis. No spreadsheet required.

What you'll get:

  • Profit and margin for every SKU
  • Cost breakdown: discounts, shipping, returns, fees
  • Flagged products with negative margins
  • Recommended actions for each product category

Run Your Profitability Analysis Now →

The analysis also flags why each unprofitable product is losing money. Is it discount-driven? Return-driven? Shipping cost? This tells you whether the problem is fixable (reduce discounting, change packaging to lower shipping costs) or structural (COGS too high for the market price).

The 3 Types of Unprofitable Products (And What to Do With Each)

Not all unprofitable products are bad. Some lose money strategically. Others lose money because you haven't fixed a solvable problem. A few are just bad products. Here's how to classify them:

Type 1: Loss Leaders

Profile: Negative margin, but drives traffic and increases basket size. Customers discover your store through this product, then add higher-margin items.

How to identify: Check average order value for orders containing this product vs. store-wide AOV. If it's 30%+ higher, the product is working as a loss leader. Also check whether this is a frequent first purchase — if 60%+ of buyers are new customers, it's an acquisition tool.

What to do: Keep it, but set a budget. Calculate how much you're willing to lose on this product as a customer acquisition cost. If it's bringing in customers at $18 CAC and your typical CAC is $35, the negative margin is just pre-paid ad spend. But monitor it — if the AOV premium disappears, it's no longer a loss leader, it's just a loss.

Example: A store sold a $24 kettlebell at -$3 margin. But 71% of kettlebell buyers added a $68 yoga mat or $52 resistance band set to their order. Average order value for kettlebell orders: $94. Store-wide AOV: $61. The kettlebell was a profitable loss leader.

Type 2: High-Potential Fixables

Profile: Currently unprofitable, but the problem is fixable. Usually it's excessive discounting, inefficient shipping, or outdated pricing that doesn't reflect current COGS.

How to identify: Margin would be positive if you removed one cost factor. For example, if the product has -4% margin but 22% of revenue goes to discounts, eliminating discounts would bring it to +18% margin.

What to do: Run an experiment. Pick the biggest cost driver and fix it for 30 days. If it's discount-driven, exclude the product from discount codes. If it's shipping-driven, raise the free shipping threshold or add a small shipping fee for single-item orders. If it's COGS-driven, renegotiate with your supplier or increase price by 8-12%.

Track two metrics: did margin improve (it should), and did conversion rate collapse (it might). If conversion drops 40% when you stop discounting, the product doesn't work at full price — move it to Type 3. If conversion drops 10-15%, that's acceptable friction for restored profitability.

Example: A $38 foam roller had -6% margin. Analysis showed 64% of sales used discount codes averaging 20% off. Store owner excluded the product from site-wide sales and welcome discounts. Conversion rate dropped 11%. Margin increased to +22%. Net profit on the SKU went from -$340/month to +$1,180/month.

Type 3: True Drains

Profile: Unprofitable with no clear fix. COGS is too high relative to competitive pricing, return rates are structural, or the product only sells with heavy discounting that kills margin.

How to identify: You've tested removing discounts, adjusting pricing, optimizing shipping — nothing brings the product to positive margin without destroying conversion. Or the market price ceiling is below your breakeven.

What to do: Discontinue it. But do this as a controlled experiment, not an impulsive cut. Remove the product from your store for 30 days. Measure:

If profit increases and revenue impact is minimal, keep it discontinued. Reallocate the ad spend you were using to promote this product to your high-margin winners.

Example: A store sold a $42 weighted jump rope at -11% margin. COGS was $28, supplier wouldn't negotiate, and market research showed competitors selling equivalent products at $39-$44. No room to raise price. Returns were 26% because the product was fragile. No amount of optimization could make it profitable. Discontinued it, revenue dropped $1,800/month, but profit increased $2,100/month because the drain was gone.

The Discontinuation Test: Don't guess whether a product is worth keeping. Run a 30-day removal experiment. Track revenue, profit, and AOV with and without the product. Data beats intuition. If removing a $6,000/month revenue product increases overall profit by $1,400, your intuition was wrong — discontinuing it was the right move.

Real Example: Cutting 4 SKUs Increased Profit 28%

A health supplements store came to us with flat profit despite 22% revenue growth over 6 months. Revenue was $71,000/month. Profit had been stuck at $14,200-$15,800 for half a year. They were acquiring more customers, selling more units, but making the same amount of money.

The profitability analysis revealed the issue: they'd added 6 new products in that 6-month period. Four of them were unprofitable. The new products were generating $18,400 in incremental revenue but losing $2,740 in aggregate profit.

Here's what the owner did:

  1. Discontinued 2 true drains immediately: Products with -14% and -9% margins that had no clear path to profitability. Cost: $6,100 in monthly revenue. Gain: $1,830 in recovered profit.
  2. Fixed 1 high-potential product: A product with -5% margin driven by heavy discounting. Excluded it from promotional discounts, raised price 8%. Conversion dropped 13%, but margin went to +18%. Added $680/month in profit.
  3. Kept 1 loss leader with a cap: A $22 protein sampler pack with -8% margin, but 68% of buyers added a $54 full-size tub to their order. Set a budget: willing to lose up to $1,000/month on this SKU as customer acquisition. Monitored AOV monthly to ensure it stayed an effective loss leader.

Results after 60 days:

The owner reallocated the $1,200/month in ad spend that had been promoting the discontinued products to their top-margin products. Within 90 days, revenue recovered to $72,800 while profit held at $19,100 — a sustainable 26% margin.

This is the ROI of rigorous product profitability analysis: not just finding unprofitable products, but classifying them correctly and taking the right action for each type. Discontinue true drains, fix high-potential products, keep strategic loss leaders under budget constraints.

Common Pitfalls in Shopify Profitability Analysis

Before we wrap up, let's address the mistakes that invalidate most profitability analyses:

Using Store-Wide Averages Instead of SKU-Level Data

Applying a 12% store-wide return rate to all products gives you a fiction. Product A returns at 4%, Product B at 28%. Using 12% for both makes Product A look less profitable than it is and hides how badly Product B is performing. Always use per-SKU metrics.

Ignoring Discount Allocation

A customer uses a 20% off code on a $120 order containing a $80 item and a $40 item. The $24 discount isn't split evenly ($12 each). It's allocated proportionally: $16 off the $80 item, $8 off the $40 item. If you don't allocate correctly, you'll miscalculate which product absorbed the margin hit.

Forgetting Payment Processing Fees

2.9% + $0.30 sounds small until you multiply it across 2,000 transactions. On a $50,000/month store, that's $1,500-$1,800 in fees. Forgetting this makes every product look 3-4 percentage points more profitable than it actually is.

Not Updating COGS

Your profitability analysis is only as good as your COGS data. If you're using COGS from 18 months ago and your supplier raised prices twice, your margins are fantasy. Update COGS quarterly at minimum, monthly if you have high supplier volatility.

Failing to Test Removal Impact

You identify 5 unprofitable products and discontinue all of them immediately without testing. Two of them were driving basket size increases — their removal causes AOV to drop 14%. You removed $11,000 in revenue and only recovered $2,800 in profit because you killed two hidden loss leaders. Always test removal on one product at a time, measure impact, then scale.

The Sample Size Trap: Don't make profitability decisions on products with less than 50-100 transactions. A product that sold 12 units with a 33% return rate might just be noise — you had 4 returns. Wait until you have enough data to calculate meaningful return rates, discount rates, and margins. Low-volume SKUs need more time to show their true economics.

Your 5-Step Shopify Profitability Analysis Action Plan

Here's how to implement this in your store starting today:

  1. Export your Shopify orders CSV with line-item detail. Make sure you include Lineitem compare-at price, shipping, discounts, and returns. Export the last 90 days minimum, 12 months ideally.
  2. Update your COGS spreadsheet. Verify current supplier costs for every SKU. Don't use outdated numbers. Email suppliers if needed to confirm pricing.
  3. Run the profitability analysis. Upload to MCP Analytics or build your own spreadsheet using the formula above. Calculate true profit per SKU after all costs.
  4. Classify your unprofitable products. Separate loss leaders, high-potential fixables, and true drains. Each category requires a different response.
  5. Run controlled experiments. Fix one product at a time. Remove discounts, adjust pricing, or discontinue entirely. Measure impact on conversion, revenue, and profit for 30 days before scaling.

Start with your highest-revenue products. These have the biggest impact on overall profitability. If your #1 bestseller is operating at -6% margin, fixing that one SKU can add more profit than optimizing 10 low-volume products.

Profitability analysis isn't a one-time project. Run it quarterly. Your costs change, your product mix changes, customer behavior changes. What was profitable 6 months ago might be a drain today. Regular analysis keeps you ahead of margin erosion.

Find Your Unprofitable Products in 5 Minutes

Stop guessing which products are profitable. Upload your Shopify order data and get a complete profit-by-product breakdown.

You'll discover:

  • Exact margin for every SKU after all costs
  • Which "bestsellers" are actually losing money
  • How much profit you'd gain by discontinuing true drains
  • Specific cost drivers (discounts, returns, shipping) per product

Run Your Analysis Now — Free Trial →

Frequently Asked Questions

What columns do I need when I export Shopify orders to CSV for profitability analysis?

For complete profitability analysis, export these columns: Lineitem name, Lineitem quantity, Lineitem price, Lineitem compare-at price, Lineitem sku, Shipping, Discount amount, Discount code, Refunded amount, Returns, Paid at. The "Lineitem compare-at price" field is critical — it shows your list price before discounts, letting you calculate true discount impact on margins.

Why do high-revenue products sometimes have negative profit margins?

High-revenue products often become unprofitable through discount stacking (coupon + sale price + free shipping), elevated return rates (20%+ for bestsellers), incremental shipping costs on low-AOV orders, and payment processing fees eating into thin margins. A product generating $15,000/month can still lose $1,200 if these costs aren't tracked at the SKU level.

How do I calculate true product profitability including all hidden costs?

True Product Profit = (Units Sold × Price) - (Units Sold × COGS) - Total Discounts - Shipping Costs - (Return Rate × Revenue) - Payment Processing Fees - (Refund Rate × Revenue). Then divide by units sold to get per-unit margin. This accounts for all five hidden cost categories that standard Shopify reports miss.

What's the fastest way to identify which Shopify products are losing money?

Export your Shopify orders CSV with all cost columns (shipping, discounts, refunds), upload to MCP Analytics, and run a Product Profitability Report. The analysis calculates per-SKU margins in under 60 seconds, flags negative-margin products, and shows exactly which cost category is killing each product's profitability.

Should I discontinue products with negative margins immediately?

Not always. First, classify the product: Loss Leaders drive traffic and may boost basket size (test by tracking removal impact). High-Potential products have fixable issues like excessive discounting. True Drains have unfixable economics and should be discontinued. Run a controlled experiment: remove the product for 30 days and measure impact on overall store profit, not just that SKU's revenue.

Explore more: Shopify Analytics — all tools, tutorials, and guides →