How to calculate SKU-level profit for Etsy sellers
Last updated: 2026-07-07
SKU-level profit is the order revenue assigned to a SKU minus platform fees, payment fees, ad exposure, product cost, packaging, labor, shipping, and other per-order costs. It is more useful than shop-wide gross sales for pricing decisions.
The SKU-level profit formula
The practical formula is: order revenue assigned to the SKU minus marketplace and payment fees, ad-attribution assumptions, product cost, packaging, labor, shipping, refunds or replacement assumptions, and other per-order costs. The result is not a tax number. It is an operating signal that tells you whether the product can support its price, shipping promise, and traffic source.
Shop-wide gross sales hide SKU differences. A mug, a large framed print, and a personalized bundle can all appear in the same revenue dashboard while carrying very different packaging, labor, shipping, and refund risk. SKU-level review is the only way to see which products are funding the shop and which ones are just creating activity.
Start with the fields you can get from Etsy exports, then add the fields only you know: material, packaging, labor minutes, labor rate, shipping label cost, extra transaction cost, and target margin. If a field is unknown, mark it as missing instead of pretending the cost is zero.
| Field | Where it usually comes from | Why it matters |
|---|---|---|
| SKU | Listing setup and order item CSV | Connects the sale to the right cost record. |
| Item total and shipping charged | Order item CSV | Defines revenue assigned to the order or SKU. |
| Marketplace and payment fees | Etsy fee fields or Payment Account activity | Moves the calculation from gross sales toward contribution. |
| Material and packaging | Seller cost library | Usually scales with quantity and product type. |
| Labor minutes and labor rate | Seller estimate | Prevents handmade and personalized products from looking artificially profitable. |
| Shipping label cost | Shipping records or seller estimate | Shows whether free or undercharged shipping is erasing margin. |
| Offsite Ads assumption | Seller scenario based on official Etsy guidance | Stress-tests ad-attributed orders. |
| Target margin | Seller planning assumption | Turns a profit number into a pricing decision signal. |
Example: one product, three different profit stories
Consider a personalized item with a 42.00 item price and 6.00 shipping charged. The material cost is 8.00, packaging is 1.50, labor is 22 minutes at a 20.00 hourly labor rate, and the actual label costs 5.10. Before platform fees and ad assumptions, the seller has already committed 21.93 in cost if labor is counted.
If the order is organic, the product may still have a healthy contribution. If the order is ad-attributed, a 12% or 15% Offsite Ads scenario can remove several more dollars. If the same listing has a larger variation that takes 35 minutes and ships in a heavier box, the larger variation needs its own SKU cost record.
The point is not to find one perfect margin. The point is to see the sensitivity. If a small change in labor time, shipping weight, or ad attribution erases profit, the listing deserves a review before it becomes a bestseller.
| Scenario | What changes | Likely action |
|---|---|---|
| Organic sale | No Offsite Ads estimate | Keep if target margin is met. |
| Ad-attributed sale | Add 12% or 15% stress test | Review price, bundle, or traffic exposure. |
| Large variation | Higher labor and shipping cost | Create a separate SKU cost record. |
| Personalized replacement | Extra material, labor, and postage | Add refund or replacement risk to planning. |
How to build a SKU cost library
A SKU cost library is a small table that maps each SKU to the costs the marketplace export will not know. It does not need to be complicated. Start with SKU, material cost, packaging cost, labor minutes, labor rate, shipping cost, transaction extra cost, other cost, target margin percent, and notes.
The most important rule is to avoid silent zeros. If a SKU has no cost record, mark it as missing. Missing cost is a risk flag, not a free product. A report that treats missing cost as zero will overstate profit and hide the products that need cleanup.
Update the library when a supplier price changes, a packaging material changes, a product gets heavier, or a personalization step gets longer. For handmade shops, labor drift can be as important as material drift.
- Use one row per SKU or cost-distinct variation.
- Separate material cost from packaging and labor.
- Record labor minutes and labor rate instead of burying labor in a vague cost field.
- Add notes for supplier changes, bundle assumptions, and packaging changes.
- Export a backup copy before making large edits.
What the result should trigger
A low-margin SKU does not automatically mean the product should be deleted. It means the seller should inspect the cause. The problem might be price, shipping, ad exposure, packaging, labor, refund rate, or a missing cost record.
Use suggested minimum price as a review signal, not an automatic pricing command. A price change can affect conversion, search performance, and customer expectations. Review competitor positioning and current platform rules before changing prices.
The best recurring habit is a weekly SKU review. Sort by revenue, then inspect the products with missing cost records, negative margin, high refund loss, or heavy Offsite Ads exposure. Those are the products most likely to mislead a seller who only watches gross sales.
- If many orders have missing cost records, clean the cost library before repricing.
- If only ad-attributed orders are weak, review traffic and coupon strategy.
- If shipping is the main problem, review actual label cost and packaging weight.
- If labor is the main problem, review personalization scope or price.
- If refunds are the main problem, review photos, sizing, packaging, or listing promises.
How to check it in Seller Profit Guard
Use the Etsy CSV profit calculator for the order review and the SKU cost library for repeat assumptions. Import the CSV, map columns, add cost records, and export the SKU summary. The summary should show missing costs, low-margin products, and products that only work in favorable scenarios.
If you also use Payment Account reconciliation, run that separately. Reconciliation explains sale, fee, refund, and deposit rows. SKU-level profit explains whether a product's private cost structure supports its price.
Related resources
- Open Etsy CSV Profit Guard: Calculate order and SKU-level margin locally.
- Open SKU cost library: Build reusable cost records for repeat checks.
- Open Payment Reconciliation: Explain statement and deposit differences separately.
Sources and further reading
- Etsy Help: What are the Fees and Taxes for Selling on Etsy?: Official overview of listing, transaction, payment, advertising, and other seller fees.
- Etsy Help: How Etsy's Offsite Ads Work: Official Offsite Ads fee, attribution, and fee-cap reference.
- Etsy Help: How to Download a Spreadsheet of Your Sold Transactions: Official CSV export workflow for order items, orders, Etsy Payments sales, and deposits.
Related Seller Profit Guard tools
- Etsy CSV profit calculator: Run a local order profit check with editable fee and SKU cost assumptions.
- Payment reconciliation tool: Compare order rows with statement activity and flag unmatched rows.
- SKU cost library: Save or import material, labor, packaging, shipping, and target margin assumptions.
- Variant risk checker: Find missing SKUs and variation cost risks before a listing scales.
- CSV data privacy: Understand what the local-first workflow needs and what it does not need.
Next step: Build a SKU cost library.
This is operational planning help, not tax, accounting, legal, or platform-policy advice. Verify current platform rules and fee assumptions before changing prices.