Profitability / Free CSV analyzer

SKU Profitability Analyzer

Compare SKU contribution from sales and supplied costs. Find negative contribution and missing-cost gaps without confusing contribution with net profit.

No signup neededFiles stay in your browser

Private report workspace

A few steps to clarity.

  1. 1Add your CSV
  2. 2Confirm the columns
  3. 3Explore your findings

Drop your CSV here

Or choose a file from your device

CSV · up to 2 MB · 10,000 rows
CSV format and number guidance

Comma, semicolon and tab delimiters; quoted cells and UTF-8 BOM supported. Use a decimal point and optional comma thousands groups (quote these in comma CSVs). No currency symbols, percentages, negative numbers or decimal commas. Blank optional cells mean unknown. Normalize signed credits into net costs before import.

Your file stays in this browser. No currency conversion is performed.

Understand the numbers

How this analyzer works

For each SKU: net revenue = gross sales − discounts − refunds. Contribution subtracts COGS, fees, fulfillment, incremental returns costs, allocated advertising and other variable costs. Every cost field must contain a number (including an explicit 0) for contribution to be supported. Missing costs remain unknown; supplied-cost totals are shown separately.

See the method in practice

Worked example

BOTTLE-A has $950 net revenue and $670 variable costs, giving $280 contribution and 29.47% margin. BAG-B contributes −$60. CUP-C has unknown advertising costs, so its contribution and the full-file contribution total remain unavailable until that cost is supplied.

Assumptions and limitations

One currency and period per file. Allocate shared costs consistently and document the allocation outside this tool. Do not count refunds in both gross sales and deductions, or returned COGS in both COGS and returns costs. The tool does not infer missing fees, overhead or net profit. Duplicate SKU candidates require review.

A little help with the inputs

Input guide

Use consistent currencies, units and periods. Select a field for its definition.

SKU

One SKU-period summary per row. Normalized column: sku.

Gross sales

Before discounts and refunds; exclude sales tax collected for authorities. Normalized column: sales.

Discounts

Enter separately only if gross sales have not already been reduced. Normalized column: discounts.

Refunds

Refunded revenue, counted once. Normalized column: refunds.

Product costs / COGS (optional)

Net cost of goods sold after any valid returned-inventory cost reversal. Normalized column: cogs.

Marketplace / payment fees (optional)

Actual net fees after fee credits. No live fee rates are assumed. Normalized column: fees.

Fulfillment and shipping (optional)

Variable pick, pack and delivery costs. Normalized column: fulfillment.

Returns-related costs (optional)

Incremental return shipping, processing and write-offs; exclude costs counted elsewhere. Normalized column: returns.

Advertising (optional)

Ad costs allocated to this product or period, once. Normalized column: advertising.

Other variable costs (optional)

Other attributable costs; enter 0 when verified as none. Normalized column: other.

Before you make your next move

Frequently asked questions

Why is contribution unavailable for a SKU?

At least one cost field is missing. Enter a known zero if there was no cost, or provide the actual cost. Missing is different from zero.

Can I compare marketplaces?

Normalize their definitions and currency before import, without mixing reporting periods. This tool performs no currency conversion and does not automatically allocate shared costs.

Do I have to share my data or email address?

No. Core results and exports work without an account or email. An enquiry is optional, with a separate unchecked choice to share an aggregate summary. Raw report rows stay local.

Keep investigating

Related tools and support

Explore ecommerce finance and analytics