Which products actually make money? Rebuild the bestseller list

Your bestseller list is a revenue ranking. Rebuilt as a profit ranking, it reorders: discounts, returns, parcels and fees decide which products actually earn.

Margins1 Sep 202611 min read

Ibrahim Ölmez

Founder, nouz

Every store has the list: the handful of products that carry the month, sorted by revenue, consulted for every buying, bundling and advertising decision. And in most stores that list is quietly wrong, because it ranks what customers paid, not what the store kept. Rebuild it on contribution, price minus tax, goods, parcel, payment fee and the product's own discounts and returns, and products swap places, sometimes dramatically: the discounted flagship slides, a quiet full-price mid-seller climbs, and one heavy, cheap crowd-pleaser turns out to have been paying rent with your margin. This post is the rebuild: the four forces that reorder the ranking, the walk that computes one product honestly, and the traps in the data you will use.

  • Revenue rank and profit rank are different lists, because discounts, returns, parcel costs and payment fees hit products unevenly.
  • The per-product walk is the same ladder as the store's P&L, run for one SKU: on the example store's €49 product, €15,35 of each sale survives, 37,3% of net revenue.
  • Four forces do the reordering: discount exposure, per-product return behaviour, weight and parcel cost, and the product's role in the basket.
  • The commonest data failure flatters the worst products: a SKU with no recorded cost subtracts nothing and reads as pure margin, so bad cost data always errs in your favour.

Why the bestseller list misleads

A revenue ranking treats every euro as equal, and euros are not equal. A product that only ever sells inside a 20% code contributes a fifth less than its position suggests before any cost is counted. A product with a 25% return rate hands back a quarter of its wins, plus the return postage and handling. A heavy product at a low price can spend most of its margin on its own parcel. None of this appears in a sales report, because a sales report answers what was ordered, and the buying, bundling and ad decisions you make off the list all depend on what was kept.

The per-product walk: the store's ladder, one SKU at a time

The method is the store P&L in miniature, the same ladder described in the P&L statement, line by line, applied to one product. Take the example store's flagship: €49,00 on the shop, €41,18 after 19% VAT, minus €18,50 of goods leaves €22,68, a 55,1% margin after goods. Then the costs that attach to the order rather than the product: €6,40 of parcel and €0,93 of payment fee leave €15,35 of unit contribution, 37,3% of net revenue. Ten minutes in a profit margin calculator prices any product the same way, and pricing your top twenty by revenue, which almost always carry the large majority of sales, is one honest afternoon.

The four forces that reorder the ranking

Discount exposure first. Products differ enormously in how often they sell at full price, and a blanket 'average discount' hides it: the flagship that anchors every promotion can run a double-digit effective discount while a steady accessory never sees a code. Compute each product's own effective selling price from what its orders actually collected, not from the list price, and the first reordering usually happens right here.

Returns second, and per product, because returns concentrate brutally: sized and fit-dependent items return at multiples of the store average, and the true damage, margin handed back plus return postage, handling and the occasional unsellable unit, is far larger than the refund line suggests, as what a return really costs walks through in full. A product with a strong gross margin and a heavy return habit can rank below a modest but certain earner once its wins are corrected by its take-backs.

Weight and parcel third. Fulfilment charges by parcel, not by price, so the same €6-something of pick, pack, box and label is noise on a €120 item and a crisis on a €19 one, and weight brackets make heavy products worse again. The division to run per product is parcel cost over net price; anything above roughly a fifth deserves a hard look at its price, its shipping charge or its place in the catalogue.

Basket role fourth. A cheap product bought alone drags the full parcel and the payment fee's fixed part on a tiny denominator; the same product riding along in a larger basket costs almost nothing extra to ship. Your orders export answers which life each product lives: sold alone, a low-price SKU must survive the whole per-order cost stack, and many do not. This is also where average order value ties in: the products that pull baskets up subsidise the stack for everyone, and the ones that anchor solo €15 orders quietly do the opposite, with the fee mechanics, the regressive fixed fee above all, covered in Shopify fees eating your profit.

ProductOn the revenue listOn the profit listWhy
The promoted flagship1stslipssells mostly inside codes; effective price far below list
The heavy crowd-pleaserhighslips hardlow price, heavy parcel; fulfilment eats the margin
The quiet mid-sellermiddleclimbsfull price, light, low returns; keeps what it earns
The sized bestsellerhighdependsstrong margin corrected by a return rate in multiples of the average
A stylised quartet, not the example store: four products that look similar on a revenue report and separate completely on contribution.

The data traps that flatter the wrong products

Two failures corrupt most per-product rankings before any force gets a chance. The first is missing costs: a SKU whose unit cost was never recorded subtracts nothing and reads as pure margin, so the products with the worst data float to the top of the profit list. Treat 'cost unknown' as a status, never as zero, and keep those SKUs on a separate list until priced. The second is stale costs: supplier prices creep one reorder at a time, and a cost captured two years ago flatters today's margin by the whole drift. The platform's own reporting makes both easy to miss, for reasons the limits of Shopify's COGS reports covers in detail; the defence is the same either way, price the goods at what they cost you now.

Run it this week

  • Pull the last full quarter's orders and rank products by revenue; take the top twenty, which will typically cover most of what the store sold.
  • For each, compute the effective selling price from what its orders actually collected, after its own discounts, with tax stripped.
  • Subtract current goods cost, the product's realistic share of parcel cost, and the payment fee; note its return rate over the same quarter and correct the wins by the take-backs.
  • Sort the result by total contribution, not by percentage: a modest margin on volume can out-earn a beautiful margin on ten units, and the ad budget should follow total euros kept.
  • Compare the two lists side by side and treat every big mover as a decision: reprice, repackage, restrict discounts, fix sizing content, or let a product go.

Three questions that always come next

Should I kill the products at the bottom? Usually not first. A product that under-earns has levers before it has a verdict: a price nudge, a shipping charge that reflects its weight, exclusion from sitewide codes, better size guidance to cut returns. Delisting is the right answer for the product that fails after the levers, or whose demand exists only at a loss-making price. The rebuilt list's job is to start those conversations, not to end them with a purge.

What about products that feed other purchases? Loss leaders are a legitimate strategy and an overused excuse. The test is in the orders export: if the cheap product genuinely appears in baskets that go on to buy margin, its subsidy is a marketing cost you chose. If it mostly sells alone, the halo story is a story, and it is simply an under-earner with good PR.

How often should the ranking refresh? Quarterly by hand is honest and enough to steer buying; what it misses is the drift in between, the supplier increase, the new discount habit, the return spike after a sizing change. That is the argument for making product-level contribution a live report rather than a project, which is exactly what nouz's product profitability view keeps: the same ladder, per SKU, always current, with unpriced costs flagged instead of flattering the ranking.

The list you steer by

The bestseller list is not wrong, it is just answering a different question than the one your decisions ask. Rebuild it once on contribution and the store's real economics introduce themselves: which products pay the rent, which merely pay for their own advertising, and which have been quietly invoicing you for the privilege of being popular. Steer the ad budget, the reorders and the promotions by the second list, and the first one goes back to being what it always was, a popularity contest.

Written by

Ibrahim ÖlmezFounder, nouz

Builds the P&L engine behind nouz. Writes about the costs that decide whether a Shopify store is actually profitable.