SKUmargin shows real net profit per SKU on Noon, after fees, COGS, returns, and ads.
Start free trialNoon Profit Per SKU: The Net Profit Formula and the Data It Takes
Noon profit per SKU is the number that tells you which products to reorder, which to reprice and which to stop advertising. It is also the number Seller Lab does not show, because half its inputs are yours rather than Noon's. The formula itself is one subtraction. The work is knowing where each input lives and getting the two awkward ones, refunds and advertising, onto the right product in the right month.
The formula
For one SKU over one period:
Net profit = net proceeds, minus Noon's order fees, minus refunds, minus allocated advertising, minus cost of goods, minus your own per-unit costs.
Then margin = net profit divided by net proceeds, and ROI = net profit divided by cost of goods. Margin tells you how much of each sale you keep; ROI tells you what your cash earned. A SKU can have a thin margin and an excellent ROI if it is cheap and turns fast, which is why the two disagree about what to reorder and both deserve a column.
Seven inputs. Three come from Noon's transaction view, one from Noon's Ad Manager and the statement together, three from you.
Where each number comes from
Net proceeds. The transaction view (Payment and Fees, then Transaction View, exported for the period). Noon defines the Net Proceeds column as revenue from product sales before fees. Sum it per SKU over order rows. The Partner SKU column keys it to your product.
Noon's order fees. Same export, same rows: Referral Fee (commission), Fulfillment and Logistic Fee, Other Order Fee, less Shipping Credits and Order Subsidies. Noon's help centre defines each; how to read your Noon settlement report, fee by fee walks them with a refund and an advertising line for context. Sum per SKU. Never type a rate; the export has the real one.
Refunds. Same export again, as negative Net Proceeds rows with their own fee reversals. Covered below, because the period is the trap.
Advertising. Two sources that disagree: Ad Manager for what campaigns spent, the statement for what Noon billed. Covered below, because neither is per SKU.
Cost of goods. Yours. Unit cost from the supplier, ideally as a dated history so a price change from the supplier applies from its date forward and does not revalue units you already sold.
Your own per-unit costs. Inbound freight to the warehouse, packaging, customs, and for sellers who ship themselves, the courier. Small individually, decisive in aggregate on low-priced SKUs.
Units. From the order rows, after cancellations, so the per-unit figures divide correctly.
Units, cancellations and the divisor
A quiet source of wrong per-unit figures is the unit count itself. The transaction view records an Order row when the customer places the order, and a cancellation before shipment does not always produce a tidy reversal on the same day. Noon's product views and sales export carries Gross Units, Shipped Units and Cancelled Units per SKU per day, and the honest divisor for per-unit fees is units ordered less units cancelled, taken from rows that carry revenue. Divide by gross units and every per-unit fee looks smaller than it is; divide by shipped units and a SKU with slow couriers looks more expensive than it is.
The same care applies to multi-unit orders. One order row can carry three units of a SKU; the fees on that row are for all three, and a per-unit figure that divides by orders rather than units is off by a factor of three on exactly the orders that matter most.
Period, and why the month is the wrong unit
Everything above is per period, and the natural period, the calendar month, is a poor fit for Noon. Sales are recognised on order date, fees can land days later, refunds weeks later, and the statement that pays it all runs on Wednesdays. A month-end line cuts through all four.
Two practical answers. For decisions, use a rolling window, ninety days for return rate and thirty for margin, so a refund landing on the second of the month does not distort a comparison. For reporting, use calendar months but re-pull the previous month for two weeks after it closes, so late fees and refunds attach to the right period before the number is treated as final. A per-SKU figure that never changes after month end is a per-SKU figure that is missing its refunds.
Refunds: the line that arrives late
A refund reaches the transaction view when the customer's return is received, which is typically weeks after the sale and often in a later statement. Two consequences for per-SKU profit.
First, attribution. The refund belongs against the SKU that was sold, in the period the sale was recognised, if you want the SKU's true margin. Booked in the month it arrived, it makes a good month look bad and hides the product's real return rate. Most spreadsheets do the latter because it is easier.
Second, the reversal rows. When Noon refunds, it also reverses the fees it charged on the original sale, so the refund shows as negative proceeds plus positive fee lines. Read in isolation, the fee reversal looks like income. Pair every refund row to its sale before summing anything.
The practical output is a per-SKU return rate over a rolling window, say ninety days. A SKU at nine percent returns with a thin margin is not profitable however its sale-day numbers look, and that is invisible without the pairing.
Advertising: the line nobody allocates
Ad Manager reports spend per campaign. Campaigns contain several SKUs. The statement reports one advertising charge per week for the whole account, net of any credit or subsidy Noon applied. Nobody reports advertising per SKU, so you build it, and the method that stays honest with the cash is:
- Take what the statement billed for the period, advertising fee rows minus advertising subsidy rows. While a welcome credit is paying, that is zero.
- Take console spend per SKU from Ad Manager for the same period.
- Split the billed amount across SKUs in proportion to console spend.
The total across SKUs always equals what left your account, and when the credit runs out the shares grow with it. Noon sponsored ads: ACOS, ROAS and what Noon bills goes through this properly, including break-even ACOS, which is the per-SKU margin before ads and the only ad metric that tells you whether a campaign is profitable.
A worked example, entirely made up
One SKU, one month, currency omitted, every figure invented.
| Line | Amount | Source |
|---|---|---|
| Units after cancellations | 60 | export |
| Net proceeds | 5,400 | export |
| Referral fee | -810 | export |
| Fulfilment and logistics | -540 | export |
| Shipping credits | +90 | export |
| Refunds (3 units, paired to this month's sales) | -270 | export |
| Advertising, allocated share of the billed charge | -320 | statement plus Ad Manager |
| Cost of goods, 60 at 38 | -2,280 | your cost sheet |
| Freight and packaging, 60 at 2.50 | -150 | your cost sheet |
| Net profit | 1,120 | |
| Margin | 20.7% | |
| ROI on cost of goods | 49.1% |
Seller Lab would show this SKU's payout as roughly 3,870 (proceeds less Noon's fees and the refunds). The profit is 1,120. The refunds and the advertising share together are 590, more than half the profit, and neither is visible per SKU anywhere in Noon's own screens.
Indirect expenses, and where they do not belong
Rent, accounting, software subscriptions and salaries are real costs and they are not per-SKU costs. Spreading them across products by revenue share makes every SKU look a little worse and tells you nothing about which one to fix, because the allocation moves whenever the sales mix moves. Keep them out of the per-SKU line, subtract them once at the store or business level, and read two numbers: contribution per SKU (the formula above) and net after overheads for the whole operation. A SKU is worth keeping if its contribution is positive and its ROI beats what the same cash would earn elsewhere; overheads decide whether the business is worth running, not which SKU is.
From one SKU to the whole catalogue
The single-SKU calculation is a good afternoon's learning. The catalogue version has four requirements that decide whether it stays alive:
- Deduplicate on Reference Number. Overlapping exports are inevitable; the reference is the only safe key.
- Pair refunds automatically. Manual pairing survives twenty SKUs, not two hundred.
- Allocate advertising every statement. The share changes weekly as the credit burns down.
- Refresh more often than monthly. A reprice or a fee change should show in days.
At that point you are running a small data pipeline. Does Noon Seller Lab show your profit? covers the by-hand version and where it stops scaling; the Noon profit tracker page covers what the automated version looks like. Either way, the formula is the same seven lines, and the number they produce is the one every reorder, reprice and ad decision should start from.