Templates 7 min read

SKU Profitability Tracker Template: Free Download

Free SKU profitability tracker template with contribution margin calculation, cost components for COGS, fulfillment, returns, and profitability tier classification.

Siddharth Gangal

Most ecommerce operators know their top-line revenue and blended gross margin. Very few know which SKUs are actually making money after factoring in fulfillment costs, return rates, and the marketing spend required to move each unit. That gap is where margin leaks without anyone noticing.

This template gives you the structure to track every cost layer at the SKU level — from landed COGS to reverse logistics — and classify your catalog into profitability tiers so you know exactly which products to protect, optimize, or cut. It works in a spreadsheet (Excel or Google Sheets) with no custom software required.

Why Per-SKU Profitability Is Not the Same as Gross Margin

Gross margin subtracts the cost of goods sold from revenue. That's useful for income statements. It is not useful for product decisions, because it omits the variable costs that actually scale with each unit sold: outbound shipping, return processing, payment fees, and the marketing spend required to generate each sale.

A SKU with a 65% gross margin can produce negative contribution margin once you add $8 in outbound fulfillment, a 22% return rate adding $12 per return in processing costs, and $18 in attributed paid social spend. That's not a theoretical scenario — it describes a significant share of the catalog at most DTC brands running paid acquisition.

The research reflects this: the average ecommerce return rate sits at approximately 20.5% across categories, and each return generates $15–$25 in total cost beyond the revenue reversal, covering reverse shipping, inspection, restocking, and a write-off proportion for unsellable units. When those costs get averaged across the whole catalog instead of attributed to the specific SKUs that drive returns, high-return products appear more profitable than they are.

SKU-level contribution margin is the number that captures this accurately. It's what's left after every variable cost tied to that unit — not just what you paid your supplier for it.

The Template Structure

The tracker is organized across three sections: a SKU data table, a cost component breakdown, and a profitability classification output. Build each section in order, and the classification outputs will calculate automatically.

Section 1: SKU Data Fields

Each row in the tracker represents one active SKU. These are the columns to build before any cost math:

  • SKU ID — Your internal identifier. If you have variant-level cost differences (size, color, bundle), give each variant its own row.
  • Product Name — Human-readable label for filtering and presentation.
  • Category / Product Line — Group for filtering and cross-category analysis.
  • Channel — DTC website, Amazon, wholesale, retail. Costs and margins vary significantly by channel; track them separately if a SKU sells across multiple channels.
  • Average Selling Price (ASP) — Use net revenue per unit: gross selling price minus average discount and minus the revenue impact of returns, expressed per unit sold. Formula: = Gross Price × (1 − Discount Rate) × (1 − Return Rate)
  • Units Sold (Period) — Trailing 30, 60, or 90 days. Used to size the total margin impact of each SKU, not just the per-unit rate.
  • Return Rate (%) — SKU-specific, not catalog average. Pull from your order management system. This is the single most variable input across your catalog.

Section 2: Cost Components

This section is the core of the tracker. Every column here represents a variable cost that should be attributed per unit sold — not allocated as a percentage of total revenue. Build each column separately so you can audit and update costs independently.

COGS: Landed Cost Per Unit

COGS here means fully loaded cost of goods — not just the invoice price from your supplier. Landed COGS should include:

  • Supplier invoice cost — Per-unit cost from purchase orders, using your most recent pricing tier.
  • Inbound freight and import duties — Allocate inbound shipping and tariff costs across units received. For most DTC brands importing from overseas manufacturers, this adds 8–18% on top of the supplier cost depending on product weight and origin country.
  • Packaging materials — Boxes, inserts, poly bags, void fill. Often overlooked because it hits a different PO line, but it's real variable cost. Benchmarks: $0.40–$1.80 per order for standard DTC packaging.
  • Quality inspection and defect rate — If you run third-party inspection or have a known defect/damage rate that writes off units, allocate that cost across sellable units.

Column formula: Landed COGS = Supplier Cost + (Inbound Freight / Units Received) + Packaging Cost Per Unit + Defect Allocation

Fulfillment Cost Per Unit

Fulfillment costs in 2026 break into three layers for most DTC brands:

  • Pick and pack — 3PL pick-and-pack fees average $2.00–$5.00 per order for single-item orders. Multi-item orders add $0.50–$1.50 per additional unit. Self-fulfilled brands should model actual labor cost per pick.
  • Outbound shipping — Carrier cost depends on weight, dimensions, and zone. A 1-lb parcel shipping ground within zone 3 costs roughly $6–$8. A 3-lb parcel shipping to zone 7 runs $14–$18. Use your actual carrier rate card, not a blended average — heavy SKUs are frequently subsidizing light ones in blended shipping assumptions.
  • Storage cost allocation — If a SKU has slow velocity and sits in a 3PL warehouse, allocate monthly storage fees across units sold. Standard 3PL storage runs $20–$45 per pallet per month. Slow movers carry a disproportionate storage cost per unit sold.

Column formula: Fulfillment Cost = Pick/Pack Fee + Outbound Carrier Cost + Storage Allocation Per Unit

Returns Cost Allocation

Returns are a variable cost, but they're triggered by a subset of orders — the ones that come back. The correct way to model this is to express the per-unit return cost as a per-unit-sold allocation based on the SKU's return rate.

  • Return shipping — Whether you offer prepaid return labels or deduct from refunds, reverse logistics costs $5–$15 per return depending on weight and carrier.
  • Return processing labor — Inspection, repackaging, restock decision: $8–$15 per return at most 3PLs or in-house operations.
  • Restocking and refurbishment — For items that can be resold, add $2–$10. For items that are unsellable (opened consumables, damaged goods), allocate the full COGS of written-off units across remaining sold units.
  • Customer service cost — Estimated $2–$5 per return request.

Column formula: Return Cost Per Unit Sold = Return Rate × (Return Shipping + Processing + Restocking + CS Cost)

Example: A SKU with a 25% return rate and $30 in total per-return cost carries a $7.50 return allocation per unit sold — before you've lost the revenue on the returned unit itself.

Payment Processing Fees

This is often omitted because it looks small in isolation. At scale it's meaningful. Standard rates:

  • Shopify Payments: 2.4–2.9% + $0.30 per transaction (depending on plan)
  • PayPal: 3.49% + $0.49 for standard checkout
  • Amazon FBA: 15% referral fee + $3.00–$8.00 fulfillment fee per unit (replaces outbound shipping cost for FBA inventory)

Column formula: Payment Fee = ASP × Payment Rate + Fixed Fee Per Transaction

Marketing Spend Attribution

This is where SKU-level profitability analysis gets most operators uncomfortable — because it requires attributing paid media spend to individual products rather than to the account as a whole. At a minimum, track two versions:

  • CM1 (pre-marketing) — Contribution margin before any ad spend. This tells you whether the unit economics are sound independent of acquisition.
  • CM2 (post-marketing) — CM1 minus the ad spend directly attributable to driving sales of this SKU.

For SKU-level ad spend attribution: pull spend by campaign or ad set from your ad platform, then allocate to SKU based on which product the campaign was promoting. For catalog ads or brand campaigns that drive multiple products, allocate proportionally by revenue contribution. This won't be perfect — it will be significantly more useful than ignoring it.

Benchmark: ad spend typically consumes 20–35% of DTC revenue for brands running paid acquisition. At a 3x blended ROAS, roughly one-third of every revenue dollar goes back to ad platforms. That cost is not evenly distributed across SKUs.

Column formula: Marketing Allocation Per Unit = (Ad Spend Attributed to SKU) / (Units Sold via Paid Channels)

Section 3: Contribution Margin Calculation

Once all cost columns are populated, the contribution margin calculations are straightforward:

CM1 (Gross Contribution — Pre-Marketing):

CM1 = ASP − Landed COGS − Fulfillment Cost − Return Allocation − Payment Fees

CM1 % = CM1 / ASP

For most DTC brands, CM1 should land at 45–65% of revenue. If it's below 40% before any marketing, you have either a COGS problem, a fulfillment cost problem, or a return rate problem — and the tracker tells you which.

CM2 (Full Contribution — Post-Marketing):

CM2 = CM1 − Marketing Allocation Per Unit

CM2 % = CM2 / ASP

Healthy CM2 benchmarks by vertical: beauty and personal care brands typically target 25–35% CM2; apparel brands often operate at 10–20% due to higher return rates and heavier fulfillment costs; supplements and consumables can reach 30–45% when return rates are low.

Total Margin Contribution (Period):

Total Contribution = CM2 Per Unit × Units Sold

This column is what determines which SKUs actually matter. A SKU with a 40% CM2 on 50 units/month contributes less absolute margin than one with a 22% CM2 on 800 units/month. Both the rate and the volume matter.

Profitability Tier Classification

With CM2 and total contribution calculated, assign each SKU a profitability tier. This classification drives prioritization decisions: where to invest inventory, which SKUs to promote, what to discontinue.

Tier A — Core Drivers

High CM2 rate (above 25%) and high total contribution (top 20% of catalog by absolute margin dollars). These SKUs generate the majority of catalog profit — typically 60–80% of total contribution from 15–25% of active SKUs. Protect them: prioritize inventory, maintain pricing discipline, and do not let fulfillment costs creep on these without a plan to offset.

Tier B — Solid Performers

Reasonable CM2 rate (15–25%) or strong volume at a lower rate. These SKUs earn their place in the catalog. Identify whether the constraint is COGS (a supplier negotiation opportunity), return rate (a product quality or description issue), or marketing efficiency (a targeting or creative problem). Most B-tier SKUs have a clear path to A-tier with one operational fix.

Tier C — Marginal

CM2 below 15% or total contribution below a meaningful threshold. These SKUs consume catalog complexity, inventory capital, and operational attention disproportionate to the margin they produce. Candidates for repricing, bundling with higher-margin items, or elimination depending on their strategic role (e.g., a low-margin SKU that drives repeat purchase of high-margin consumables may be worth keeping for strategic reasons).

Tier D — Margin Destroyers

Negative CM2. The SKU costs more in variable costs than it generates in net revenue. This is almost always a surprise when operators first run SKU-level analysis — and it is not rare. Common causes: high return rates that weren't visible in blended metrics, heavy or oversized items with outsized fulfillment costs, or aggressive promotional pricing that brought ASP below the break-even threshold.

Negative-CM2 SKUs are not automatically candidates for discontinuation — sometimes they serve a strategic role (traffic drivers, loss leaders in a bundling strategy) — but they should be explicit decisions, not blind spots. Operating intelligence tools like Fairview surface these automatically across connected data sources, so you're not discovering margin destroyers in a quarterly spreadsheet review after the damage is done.

Building the Tracker: Implementation Notes

A few practical notes on making this work in your actual operation rather than as a theoretical exercise:

Use trailing 90-day averages, not snapshots. SKU return rates and ASP are volatile month to month. A 90-day rolling average smooths out promotional periods and seasonal spikes while still reflecting recent trends. Recalculate monthly.

Separate channel tabs if you sell across channels. A SKU sold on your DTC website and on Amazon has completely different cost structures — Amazon's 15% referral fee plus FBA fulfillment charges make the economics incomparable to DTC. Running them together in one row produces numbers that are accurate for neither channel.

Lock the COGS input and make it auditable. The most common error in SKU trackers is COGS drift — the input cell gets updated for a new purchase order but nobody captures the history. Keep a dated log of COGS changes for each SKU. Margin swings that look like operational improvements sometimes just reflect an accounting change in how COGS was calculated.

Build a "total catalog" summary row. Sum units sold, total revenue, and total contribution across all SKUs. Divide total contribution by total revenue to get your blended CM2 rate. This should match what your P&L shows as contribution margin after variable costs — if it doesn't, you have a cost that isn't being captured at the SKU level.

Platforms like Fairview automate the data ingestion step — pulling COGS from purchase orders, fulfillment costs from your 3PL, return data from your OMS, and ad spend from connected media accounts — so the tracker stays current without manual exports. For teams managing this in a spreadsheet, the critical discipline is a weekly update cadence on the high-volume, high-variance inputs: return rates and ad spend allocation.

What to Do With the Output

The tracker produces a ranked list of SKUs by contribution margin rate, contribution margin dollars, and tier classification. Use it to drive three categories of decisions:

Inventory allocation. Tier A SKUs should not be the ones that stock out. If you have to choose where to concentrate working capital in a constrained inventory environment, the tracker tells you where the cost of a stockout is highest in terms of margin impact.

Promotional strategy. Discounting a Tier A SKU reduces your highest-margin item's CM2 further. Discounting a Tier C SKU may push it to Tier D. The tracker makes promotional decisions concrete: before running a 20% off sale on a given product, calculate what that discount does to the CM2 row and whether the volume increase required to maintain the same total contribution is realistic.

Product development priorities. Tier D SKUs with a clear path to positive margin — return rate is high because the size guide is inaccurate, fulfillment cost is high because the packaging is oversized — have a remediation case worth making. Tier D SKUs where the problem is structural (low ASP in a category with inherently high return rates) are candidates for discontinuation regardless of revenue volume.

Frequently asked questions

What is the difference between gross margin and contribution margin for a SKU?

Gross margin subtracts only the cost of goods sold (COGS) from revenue. Contribution margin subtracts all variable costs: COGS, fulfillment, returns, payment processing, and attributed marketing spend. Gross margin is useful for accounting and supplier negotiations. Contribution margin is the number that tells you whether a SKU is actually profitable once you account for everything it costs to sell and deliver that unit. A SKU with a 60% gross margin can have a 10% or even negative contribution margin once variable fulfillment and return costs are included.

How do I attribute marketing spend to individual SKUs?

The cleanest method is campaign-level attribution: if a campaign was built around a specific product, allocate that campaign's spend to that SKU. For catalog or brand campaigns that drive multiple products, allocate by revenue share — if SKU A generated 30% of the revenue driven by a campaign, allocate 30% of that campaign's spend to SKU A. This won't be perfect, but it's significantly more accurate than ignoring ad spend or applying a flat percentage across all SKUs. If you run paid acquisition, omitting marketing from SKU-level analysis produces materially misleading results.

What return rate should I use when I don't have SKU-level data?

Start with your category average as a proxy while you build the infrastructure to track at the SKU level. Apparel and footwear typically run 20–30% return rates, electronics run 10–15%, beauty and personal care run 5–10%, and home goods vary widely at 8–20%. Do not use a single blended catalog rate — it will overstate the cost burden on low-return SKUs and understate it on high-return ones. Most order management systems (Shopify, NetSuite, DEAR) have the raw data to calculate SKU-level return rates; the blocker is usually pulling and structuring it, not the underlying data existing.

How often should I update the SKU profitability tracker?

The cost inputs that change most frequently are ad spend allocation (monthly or campaign-level), COGS when new purchase orders land (event-driven), and return rates (monthly rolling average). At minimum, refresh the full tracker monthly. For high-velocity SKUs or during promotional periods, weekly updates on the marketing and return rate inputs prevent decisions from being made on stale margin data. The operational cost of a monthly refresh is low; the cost of discovering a margin-destroying SKU three months late is significantly higher.

Should I include overhead costs in the SKU profitability tracker?

No — keep the tracker focused on variable costs only. Fixed overhead (warehouse rent, headcount, software) doesn't change based on how many units of SKU X you sell, so including it distorts the per-SKU analysis and makes it harder to make marginal decisions (whether to add one more unit to production, whether a promotional discount is accretive). Overhead allocation belongs in your P&L and operating model, not in the SKU contribution margin calculation. The contribution margin this tracker produces is the input to your operating model, not a substitute for it. When Fairview connects your product data to your operating model, it maintains this separation automatically — contribution margin at the SKU level rolls up into the full P&L without conflating fixed and variable costs.