---
title: "GMROI: formula, meaning and example | Product Metrics"
description: "GMROI = annual gross profit ÷ average inventory at cost. A worked ecommerce example, category roll-ups and how GMROI differs from inventory turnover and ROAS."
canonical: "https://www.productmetrics.io/glossary/gmroi"
pageType: article
language: en
publisher: "Product Metrics"
author: "Berend Vrakking"
datePublished: 2026-10-25
dateModified: 2026-10-25
---

> Content index: https://www.productmetrics.io/llms.txt

# 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.

## 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

Worked example, one year, average inventory at cost:

| 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 Insights](https://www.productmetrics.io/inventory-insights): Apply the definition to your products.
- [Read the guide: How to calculate stockout cost and revenue at risk](https://www.productmetrics.io/blog/stockout-cost-ecommerce): Work 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?

GMROI stands for gross margin return on investment, also written gross margin return on inventory investment (GMROII). It tells you how many euros of gross profit a product, category or shop earned in a year for each euro it held in stock at cost.

### How do you calculate GMROI?

Subtract cost of goods sold from net sales for the year to get gross profit. Average the stock value at cost over the same year. Divide the first by the second: €18,000.00 of gross profit on €8,000.00 of average stock at cost gives a GMROI of 2.25. Illustrative data.

### What counts as average inventory for GMROI?

The stock you held during the year, valued at what it cost you, on the same cost basis as your cost of goods sold. Add the opening value and the 12 month-end values and divide by 13. An opening and closing value alone can miss a seasonal peak in between.

### Can you compare GMROI across categories?

Yes, if every category’s figure is built the same way: the same 12 months, stock at cost, and gross profit and stock summed across its products before dividing. A gap between two categories can come from margin or from how fast they sell, so check which one before acting on it.

### What is the difference between GMROI and ROAS?

ROAS divides revenue by ad spend, so it measures what advertising returns. GMROI divides gross profit by average inventory at cost, so it measures what stock returns. A product can have a strong ROAS and a weak GMROI when its ads sell well but it carries far more stock than it sells. They answer different questions, and neither replaces the other.

## Keep reading

- [Inventory turnover](https://www.productmetrics.io/glossary/inventory-turnover): How often the same average inventory sells, without the margin.
- [Inventory turnover calculator](https://www.productmetrics.io/inventory-turnover-calculator): Turn cost of goods sold and average inventory into turnover and days.
- [Gross margin](https://www.productmetrics.io/glossary/gross-margin): Gross profit as a share of sales, one half of GMROI.
- [Cost of goods sold](https://www.productmetrics.io/glossary/cost-of-goods-sold): What you subtract from net sales to get gross profit.
- [Slow-moving inventory](https://www.productmetrics.io/glossary/slow-moving-inventory): Products that hold stock value but rarely sell, a common reason for a low GMROI.
- [Excess inventory](https://www.productmetrics.io/glossary/excess-inventory): The capital tied up in surplus stock at cost, beyond what demand and safety stock need.
- [Profit per product](https://www.productmetrics.io/glossary/profit-per-product): What remains after order costs and advertising, not only cost of goods.
- [Ecommerce inventory planning](https://www.productmetrics.io/blog/ecommerce-inventory-planning): Read GMROI beside stock cover and POAS to decide what to reorder, hold or promote.
- [POAS](https://www.productmetrics.io/glossary/poas): Profit measured against ad spend instead of stock.
- [Product Segmentation](https://www.productmetrics.io/product-segmentation): See each product in one of six segments, by volume and return.

---

Written by Berend Vrakking, founder of Product Metrics. Last updated 2026-10-25.

HTML version: https://www.productmetrics.io/glossary/gmroi
