Home / Glossary

GMROI: the formula, and what it says about a slow SKU

GMROI, gross margin return on investment, is the gross margin a product earned divided by the average cost of the inventory you held to earn it. The formula is one line, the inputs are your cost prices and your sales, and the answer tells you how hard each dollar of stock is working.

The formula

GMROI is gross margin return on investment: the gross margin a SKU earned over a period, divided by the average cost of the inventory you held during that period.

GMROI = gross margin dollars / average inventory at cost

The two inputs, precisely:

  • Gross margin dollars. Revenue for the SKU over the period, minus the cost of goods sold for the units that sold. Not revenue. Not margin percentage.
  • Average inventory at cost. The average value of the stock you held, valued at what you paid your supplier, not at retail. Opening cost value plus closing cost value, divided by two, is enough for most stores. Monthly counts averaged over twelve months is better if you have them.

A GMROI of 3.0 means every dollar you had tied up in that SKU's stock came back as three dollars of gross margin over the period. Some retailers write the same number as 300 per cent. Either way the pivot is 1.0: below it, the SKU returned less gross margin than the cash it occupied.

Use the same period on both sides. A year is the usual choice, because seasonal SKUs look wild over a quarter. If you run it per quarter, do it for every SKU so the comparison holds.

A worked example on two SKUs

Take two products with illustrative figures, one fast and thin, one slow and wide. Both sit in the same store, and both look fine on a sales report.

Illustrative GMROI, twelve months

SKUGross margin, 12 monthsAverage inventory at costGMROI
Best-selling candle$9,000$3,0003.0
Ceramic tray$4,000$8,0000.5

What a GMROI of 0.5 says about a slow SKU

The tray earned real money. Four thousand dollars of gross margin is not nothing. But it held eight thousand dollars of your cash on the shelf all year to do it, so every dollar of stock returned fifty cents of margin. The candle returned six times as much per dollar held.

GMROI punishes two faults at once, and it is worth splitting them apart before you act:

  • Thin margin. The SKU sells, but you buy it too dear or price it too soft. Fix the buy price or the retail price, and GMROI moves without touching stock levels.
  • Slow movement. The margin per unit is healthy, you are simply holding months of cover. Order less per cycle, more often, and the average inventory figure at the bottom of the fraction falls.

That second case is the common one in a small store. A low GMROI usually means the order quantity, not the product. Before you drop a SKU, check how many weeks of cover the last purchase order bought you.

One more thing the arithmetic makes plain. GMROI is turnover multiplied by the margin you earn per dollar of cost, so a SKU can climb by moving faster or by earning more per unit. Two different decisions, one number.

Where GMROI stops being useful

GMROI looks backwards. It grades a period that has already closed, at store level or SKU level, and it is good at that. It will not tell you anything about the week ahead.

That matters because your best GMROI SKU is also the one most likely to run out. It turns fast, you hold little of it, and the gap between healthy stock and no stock is short. A product can post a GMROI of 4.0 for the year and still cost you a fortnight of sales in November because nobody noticed it dropping.

So GMROI answers what to buy more of and what to stop buying. A reorder point answers when the next order has to be placed. Run both. Neither substitutes for the other.

Related terms

GMROI sits in a small family of ratios. Each one isolates a different part of the same problem, and mixing them up is how merchants end up arguing about the wrong SKU.

  • Inventory turnover. How many times you sold through and replaced your stock. GMROI is turnover with margin bolted on.
  • Days of inventory on hand. Turnover expressed as time, which is the version you can actually act on this week.
  • Inventory carrying cost. What holding that stock costs you in cash, space and risk. The expense side of the same coin.
  • Sell-through rate. The share of what you received that has sold. Useful on a single buy or a season, where GMROI is too slow to help.
  • Dead stock. Where a GMROI near zero ends up if nobody intervenes.
  • ABC analysis. A way of ranking SKUs so you spend your attention on the ones carrying the store.
  • Reorder point. The trigger level that keeps a fast-turning SKU in stock. Restoc is built to set one per SKU from a sales velocity window of 7, 14 or 30 days and the lead time you enter, and to show current stock, days of inventory remaining and reorder status per active SKU on a dashboard. The reorder point page works the formula through on a single SKU.

Questions

What is a good GMROI?

There is no single number worth quoting, and an industry benchmark for a jewellery brand tells a candle maker nothing. Read it two ways instead. Above 1.0 means the SKU returned more gross margin than the cash its stock occupied. Then rank your own SKUs against each other, because the gap between your best and worst is the figure you can act on.

How is GMROI different from inventory turnover?

Turnover counts how many times stock cycled through. It ignores margin entirely, so a fast-moving product you barely make money on scores well. GMROI multiplies that cycling by the margin you earn per dollar of cost, which is why a slow SKU with a wide margin can beat a fast SKU with a thin one.

Should average inventory be valued at cost or at retail?

At cost, the price you paid your supplier. Using retail value inflates the bottom of the fraction and drags every GMROI down, and worse, it drags them down unevenly depending on each SKU's markup, so the ranking stops being comparable.

What period should GMROI be measured over?

Twelve months is the safe default, because a quarter flatters whatever was in season and penalises whatever was not. Shorter periods are readable only if you run every SKU on the same window and compare like with like. Whatever you choose, the gross margin and the average inventory have to cover exactly the same dates.

Can GMROI be calculated per SKU as well as for the whole store?

Yes, and per SKU is where the decisions are. Store-level GMROI is a scoreboard. SKU-level GMROI is a buying list, because it tells you which products to order deeper and which to order thinner or let run out on purpose.

Where do the numbers come from for a Shopify store?

Units sold and revenue come from your sales history. Cost per unit comes from your own purchase records or the cost per item you keep against each variant in Shopify. Average inventory at cost needs a stock value at the start and end of the period, which is why many merchants record a cost valuation at each stocktake.

Get told when Restoc ships

Leave your email and your store size. You will get one message when the Shopify App Store listing goes live, and nothing else in the meantime.

One email when it launches, and the occasional update. Unsubscribe any time. Privacy.