GMROI (gross margin return on investment)
GMROI (gross margin return on investment) is annual gross profit divided by average inventory at cost: the gross profit each euro of stock earns.
By Berend Vrakking, founder of Product Metrics. Updated 25 October 2026.
Formula
GMROI = annual gross profit ÷ average inventory at cost
Take both figures over the same 12 months. Gross profit is net sales after returns and discounts minus cost of goods sold. Value the stock at cost, not at selling price, and average the values at the start of the year and at each month-end. A GMROI of 2 means each euro held in stock earned €2.00 of gross profit in the year.
Example
| Product or group | Includes | Gross profit ÷ average inventory | GMROI |
|---|---|---|---|
| Trail Runner 2 (€129.99) | Shoes, Northpeak | €30,000.00 ÷ €10,000.00 | 3.00 |
| Winter Boot (€189.99) | Shoes, Fjell | €12,000.00 ÷ €15,000.00 | 0.80 |
| Rain Jacket (€159.99) | Clothing, Northpeak | €15,000.00 ÷ €6,000.00 | 2.50 |
| Everyday Sock (€9.99) | Clothing, Fjell | €4,000.00 ÷ €8,000.00 | 0.50 |
| Category: shoes | Trail Runner 2, Winter Boot | €42,000.00 ÷ €25,000.00 | 1.68 |
| Category: clothing | Rain Jacket, Everyday Sock | €19,000.00 ÷ €14,000.00 | 1.36 |
| Northpeak | Trail Runner 2, Rain Jacket | €45,000.00 ÷ €16,000.00 | 2.81 |
| Fjell | Winter Boot, Everyday Sock | €16,000.00 ÷ €23,000.00 | 0.70 |
| Price range: under €150.00 | Trail Runner 2, Everyday Sock | €34,000.00 ÷ €18,000.00 | 1.89 |
| Price range: €150.00 and over | Winter Boot, Rain Jacket | €27,000.00 ÷ €21,000.00 | 1.29 |
| All four products | Every row above | €61,000.00 ÷ €39,000.00 | 1.56 |
The shop earns €1.56 of gross profit per euro of stock, but Fjell holds €23,000.00 of the €39,000.00 at a GMROI of 0.70. Winter Boot and Everyday Sock are where the money sits. Illustrative data.
Put it into practice
- Explore it: Inventory InsightsApply the definition to your products.
- Read the guide: How to calculate stockout cost and revenue at riskWork through the concept in more detail.
For one product, and for an account
Work GMROI out per product first. To roll it up, add the gross profit of every product in the group, add their average inventory separately, then divide one sum by the other. That weights each product by the money it holds in stock. The shoes category in the example comes out at 1.68, not 1.90, the midpoint of 3.00 and 0.80, because Winter Boot holds more of the stock. Averaging product ratios gives every product equal weight, whatever its stock value.
No GMROI is right for every shop. Compare like with like: the same accounting basis and period, and a product’s own earlier years or similar products in its category and season. A seasonal product carries stock for months before it sells, which a product sold all year does not. A product with many returns earns less gross profit than its sales suggest. A product that keeps running out can show a high GMROI because its stock is small, while the sales it missed count nowhere, so a high figure is no reason to cut its stock. Read GMROI beside stock value at cost, gross profit and availability, and look first at products with a low GMROI and a lot of stock at cost. GMROI is gross profit on stock, not net profit: rent, payroll, fulfilment and advertising are not in it.
Inventory turnover divides cost of goods sold by the same average inventory at cost, so it measures speed; GMROI measures the gross profit each euro of stock earns. The two link exactly: GMROI = (gross profit ÷ cost of goods sold) × inventory turnover. With gross margin percentage, which is gross profit ÷ net sales, the same figure is gross margin % × (net sales ÷ average inventory at cost). Do not multiply gross margin % by turnover based on cost of goods sold: the bases differ and the result understates GMROI. Either way, a product can reach the same GMROI through a high margin or through fast sales.
ROI in the wider sense compares profit with all the money invested, not only stock. ROAS and POAS divide by ad spend: they measure the return on advertising, while GMROI measures the return on stock.
Product Metrics reports GMROI per product and rolls it up by category, brand and price range, next to margin and POAS per product. Inventory Insights shows the stock behind the figure: stock cover, reorder dates worked out from lead time, safety buffer and projected demand, stock value at cost and at selling price, and slow-moving stock with its reason.
Common mistake
Valuing the stock at selling price. If Trail Runner 2’s €10,000.00 of stock at cost is worth €20,000.00 at selling price, dividing by the larger figure halves its GMROI to 1.50. Gross profit is measured against cost, so the stock must be too.
Questions
What does GMROI mean?
How do you calculate GMROI?
What counts as average inventory for GMROI?
Can you compare GMROI across categories?
What is the difference between GMROI and ROAS?
Keep reading
- Inventory turnoverHow often the same average inventory sells, without the margin.
- Inventory turnover calculatorTurn cost of goods sold and average inventory into turnover and days.
- Gross marginGross profit as a share of sales, one half of GMROI.
- Cost of goods soldWhat you subtract from net sales to get gross profit.
- Slow-moving inventoryProducts that hold stock value but rarely sell, a common reason for a low GMROI.
- Excess inventoryThe capital tied up in surplus stock at cost, beyond what demand and safety stock need.
- Profit per productWhat remains after order costs and advertising, not only cost of goods.
- Ecommerce inventory planningRead GMROI beside stock cover and POAS to decide what to reorder, hold or promote.
- POASProfit measured against ad spend instead of stock.
- Product SegmentationSee each product in one of six segments, by volume and return.