Why GMROI Beats Margin % for Retail Decisions
Margin percentage tells you what happened. GMROI tells you what to do next. It is the metric most commerce brands overlook — and the one that quietly decides where your inventory dollars earn their keep.
Definition
GMROI (gross margin return on investment) measures how many gross-margin dollars you earn for every dollar tied up in inventory. The formula is GMROI = Gross Margin $ ÷ Average Inventory Cost. A GMROI above 1.0 means each dollar of inventory investment returns more than a dollar of gross margin.
Margin % tells you what happened, not what to do
Gross margin percentage is a ratio on a single sale. It is honest about profitability per unit and blind to everything around it — how much capital a product ties up, and how fast that capital comes back. Two products can carry the same margin % and represent completely different returns once you account for the inventory investment sitting behind them.
That blind spot matters most exactly when the stakes are highest: allocating an open-to-buy budget, deciding which lines earn more shelf and warehouse space, and timing markdowns. Margin % ranks these decisions the same way whether a product turns twelve times a year or twice. GMROI does not.
The formula, worked
GMROI divides the gross-margin dollars a product generates over a period by the average inventory cost that produced them. Consider two products with the same annual revenue and very different profiles.
| Product A | Product B | |
|---|---|---|
| Annual revenue | $100,000 | $100,000 |
| Gross margin % | 50% | 30% |
| Gross margin $ | $50,000 | $30,000 |
| Avg. inventory (at cost) | $40,000 | $10,000 |
| GMROI | 1.25 | 3.00 |
Margin % crowns Product A — 50% against 30%. GMROI reverses the verdict. Product B returns three gross-margin dollars for every dollar of inventory, against Product A's $1.25, because it turns its capital far faster. Allocate your next buying dollar on margin % and you over-invest in A while starving the product that is 2.4× more efficient with your cash.
Why GMROI changes the decision, not just the report
The reason GMROI belongs in front of a buying team is that it is a decision metric, not a scorecard metric. It maps directly onto the calls that move profitability:
- Open-to-buy allocation. Rank SKUs by GMROI and your next inventory dollar flows to the products that return the most margin per dollar deployed.
- Assortment optimization. Low-GMROI lines are the ones failing to earn their shelf and warehouse space, even when their margin % looks respectable.
- Markdown timing. A slow-moving, capital-heavy SKU shows up as low GMROI long before it shows up as a margin problem — the early signal to mark it down and free the cash.
How to calculate GMROI on your own data
GMROI is platform-agnostic. The two inputs exist whether your orders live in Shopify, WooCommerce, Tiendanube, a headless stack, or an ERP — you only need to line them up on the same period and grain.
- Gross margin $ per SKU or category over a period: net revenue minus cost of goods sold.
- Average inventory at cost over the same period — the average of monthly snapshots valued at unit cost, not retail, and not a single point-in-time figure.
- Divide, then roll the result up by category, brand, vendor, or location to see where profitability concentrates.
SKU-level GMROI is where the buying and markdown decisions live; category-level GMROI is where the story for the wider team lives. A value above 1.0 means margin covers the inventory investment; compare everything against your own history and your category, since a strong GMROI for jewelry is a weak one for fresh grocery.
Where teams get GMROI wrong
- Valuing inventory at retail instead of cost, which inflates the denominator and understates the return.
- Using a single point-in-time inventory count, so seasonality quietly distorts the figure.
- Calculating GMROI only at the top level, where healthy categories mask the SKUs dragging profitability down.
- Treating GMROI as the whole capital story — it is a strong proxy for inventory efficiency, best read alongside carrying cost and sell-through.
Frequently asked questions
What is a good GMROI?
Any GMROI above 1.0 means your gross margin more than covers the cost of the inventory behind it. Healthy retail assortments are often cited around 3.0 and up, but the number is category-dependent — perishable and fast-fashion lines run far higher than furniture or jewelry. Benchmark against your own history and your category peers, not a universal target.
Is GMROI better than gross margin %?
For pricing a single unit, margin % is the right lens. For deciding where to put your next inventory dollar, GMROI is better because it accounts for how much capital a product ties up and how fast that capital returns. Two products with identical margin % can have very different GMROI.
How is GMROI different from inventory turnover?
Turnover measures how many times you sell through average inventory; it ignores margin. GMROI multiplies that velocity by profitability, so a fast-turning but low-margin product and a slow, high-margin one become directly comparable on a single profit-per-inventory-dollar basis.
How often should I calculate GMROI?
Monthly at the category level for the narrative, and on a rolling basis at the SKU level for buying and markdown decisions. Use an average inventory figure across the period rather than a single point-in-time snapshot, which seasonality would otherwise distort.
Does GMROI work for e-commerce brands, not just brick-and-mortar?
Yes. GMROI is platform-agnostic — the inputs (gross margin and average inventory at cost) exist whether you sell on Shopify, WooCommerce, Tiendanube, a headless stack, or an ERP. For commerce brands carrying inventory, it is one of the clearest signals of assortment profitability.
See what GMROI says about your assortment
We turn your order and inventory data into the profitability intelligence behind decisions like these — fractional analytics expertise, wired into your stack.