How MarginOS calculates Gross Margin %
Quick Reference
Inputs
A connected store for revenue; product costs, or the store-wide cost defaults MarginOS falls back on where an item has no cost evidence of its own.
Outputs
A 30-day gross margin percentage on your direct-to-consumer business, computed from real per-order profit rather than a blended assumption, and N/A for any window with no net revenue.
Outcomes
Compare products and periods on equal footing, see how far your real margin sits below a COGS-only figure, and spot mix shifts that move profitability without any price changing.
Gross Margin % is your Gross Profit (CM1) expressed as a percentage of net revenue. Where CM1 answers “how many dollars did we keep,” Gross Margin % answers “what share of each revenue dollar did we keep” — the same measurement, rebased so it can be compared across products, periods and business sizes.
What it measures
Gross Margin % divides the profit left after all variable delivery costs — product cost, fulfillment, payment fees and refund handling — by the net revenue that produced it, and shows the result as a percentage.
Because it is CM1 rebased, everything true of CM1 is true here: it is calculated from your real orders rather than from a blended assumption, it is after returns, and it is before any advertising spend or fixed overhead.
Before you start
- Product costs must be in place, or the percentage will read higher than reality. Check Data Trust if a figure looks too good.
- Where a product has no evidenced cost, MarginOS falls back to your store-wide cost defaults and marks the result as less exact — see the Defensible Profit Model.
How MarginOS calculates it
The calculation is CM1 ÷ net revenue, over a 30-day window, on your direct-to-consumer business by default. Two details explain most disagreements with other tools.
The numerator is full contribution profit, not just revenue minus product cost
Most “gross margin” figures — including the one in your store’s own reporting — subtract only the cost of goods. MarginOS subtracts every variable cost of delivering the order: product cost, fulfillment, payment processing and refund handling.
That makes the MarginOS percentage lower, and more honest, than a COGS-only margin. It is also the number you can actually spend against, because the costs it omits are the ones that do not scale with an order.
Shipping the customer paid is in the profit, not in the base
When a customer pays for shipping, that money is real profit contribution and is counted in the numerator. The denominator stays product net revenue.
The consequence is worth knowing: a brand that charges for shipping will show a higher Gross Margin % than the same brand offering free shipping, even with identical products and costs — because the shipping revenue lifts the profit without lifting the revenue base. This is deliberate. It keeps the percentage answering “how much did we keep per dollar of product sold” while still crediting delivery income that genuinely offsets fulfillment.
When it is not computable
With no net revenue in the window there is no denominator, so MarginOS reports N/A rather than 0% — an unmeasured period is not a zero-margin period. See why MarginOS shows N/A instead of a made-up number.
A worked example
A 30-day window with $100,000 of net product revenue and $6,000 of shipping paid by customers. Product costs are $38,000, fulfillment $9,000, payment fees $2,900 and refund handling $1,100.
Gross Profit is $100,000 + $6,000 − $38,000 − $9,000 − $2,900 − $1,100 = $55,000. Gross Margin % is $55,000 ÷ $100,000 = 55%.
A COGS-only calculation on the same orders would report 62%. The seven-point gap is fulfillment, payment fees and refunds — costs you paid in cash, which the simpler figure quietly ignores.
Common questions
Why is my MarginOS margin lower than the one in Shopify?
Because Shopify’s margin generally subtracts product cost alone. MarginOS also subtracts fulfillment, payment fees and refund handling. Both are arithmetically correct; they answer different questions. The MarginOS figure is the one that survives contact with your bank statement.
Is Gross Margin % the same as CM1?
They are the same measurement in different units. CM1 is the dollars; Gross Margin % is those dollars as a share of net revenue. Use CM1 to see the size of the prize and Gross Margin % to compare products or periods on equal footing.
Does advertising spend reduce Gross Margin %?
No. This figure is before marketing entirely. Advertising appears later in acquisition cost and the ratios built on it, so you can see product profitability separately from what it costs to find customers.
My margin moved but my prices and costs did not. Why?
Mix. Gross Margin % is a blend across everything you sold, so selling more of a thin-margin product moves the percentage without any individual product changing. That is the intended behaviour and it is usually the most useful signal in the number.
Why is it N/A rather than 0%?
Because there was no net revenue in the window to divide by. Zero would claim you sold things at no margin; N/A correctly says nothing was measured.
Related
- How MarginOS calculates Gross Profit (CM1) — the same measurement in dollars, with the full cost stack.
- Store-wide cost defaults — the fallback used where a product has no cost evidence.
- Data Trust levels — how reliable the costs behind this percentage are.
- Why MarginOS shows N/A — what an empty margin cell means.
About the author
Aron Baczoni is the founder of MarginOS and a former decade-long veteran of Google's Ads and Global Business Operations units. His work is focused on bridging the gap between AI's promise and its practical implementation for direct-to-consumer (DTC) brands, helping them build a sustainable competitive advantage through strategic, high-ROI AI solutions.
Read Aron's story