Storekeeper

GMROI: Formula, Benchmarks and How to Improve It

Working capital · 9 min read

Nothing you paste is stored.

SKU On hand Cover Status

A live preview of Storekeeper's forecasting engine on fictional sample dataon the rows you pasted. The full product connects to your POS and store and runs this continuously.

GMROI (gross margin return on investment) measures how many dollars of gross profit you earn for every dollar tied up in inventory. The formula is gross margin dollars divided by average inventory at cost. A GMROI of 3.0 means each dollar of stock returned three dollars of gross margin over the period. Most US retailers aim for above 3.2, though the healthy number varies sharply by category.

Turnover tells you how fast stock moves. Margin tells you how profitable a sale is. Neither alone tells you whether a product deserves the cash and shelf space it occupies. GMROI combines both into one number, which is why buyers and merchandise planners lean on it when they decide what to reorder, what to discount and what to drop.

The GMROI formula

GMROI = Gross margin dollars ÷ Average inventory cost

Gross margin dollars are revenue minus cost of goods sold for the period. Average inventory cost is the average value of the stock you held at cost over that same period, usually beginning inventory plus ending inventory divided by two. Both halves have to cover the same window, and both have to be at cost. Mixing retail value into the denominator is the single most common way people get an inflated GMROI.

There is a second version you will see in retail textbooks that reaches the same place from different inputs: GMROI = gross margin percentage × sales-to-stock ratio. It is useful because it shows exactly what moves the number. You raise GMROI by widening margin, by selling the same stock faster, or by holding less stock to support the same sales.

A worked GMROI example

Take a specialty retailer looking at one category over a year. Sales were $480,000 and cost of goods sold was $300,000, so gross margin dollars are $180,000. Inventory at cost started the year at $70,000 and ended at $50,000, so average inventory is $60,000. GMROI is $180,000 ÷ $60,000 = 3.0. Every dollar invested in that category threw off three dollars of gross margin.

Input Value Where it comes from
Net sales $480,000 Revenue for the category, returns removed
Cost of goods sold $300,000 Landed cost of what actually sold
Gross margin dollars $180,000 Sales minus COGS
Average inventory at cost $60,000 ($70,000 + $50,000) ÷ 2
GMROI 3.0 $180,000 ÷ $60,000

What is a good GMROI?

A GMROI above 1.0 means the category earns more gross margin than the cost of the inventory carrying it, which is the bare minimum. In general merchandise retail the common rule of thumb is 3.2 or better, meaning $3.20 of gross margin per dollar of inventory. Grocery and other fast-turning, thin-margin categories can look healthy in the 2 to 3 range because volume does the work. Jewelry, furniture and other slow-turning, high-margin categories often run below 2 and still make money, because the margin per unit is large enough to carry the wait.

The honest answer is that GMROI is a comparison metric, not an absolute grade. Compare a category against itself over time, and against sibling categories in the same store, before you compare it against an industry figure you read somewhere.

GMROI vs inventory turnover

Inventory turnover counts how many times you sold through your average stock. It is blind to profitability, so a fast-moving product sold at a thin margin can post a strong turnover and still contribute very little. GMROI weights that same movement by the margin it earned, which is why two products with identical turnover can have GMROI numbers that differ by a factor of three.

Metric What it answers Blind spot
Inventory turnover How fast stock sells through Ignores margin entirely
Gross margin % How profitable each sale is Ignores how much cash is parked
GMROI Margin earned per dollar of stock Hides very different turnover and margin mixes behind one number
Sell-through rate Share of a buy that sold in a window Season-specific, not a full-year view

How to improve GMROI

There are only three levers, and they map straight to the formula. Raise margin: renegotiate cost, fix pricing on items you have been under-charging for, cut the reflexive discounting that trains customers to wait for a sale. Sell faster: improve placement, bundle slow items with fast ones, get the assortment closer to what people actually ask for. Or hold less stock for the same sales, which is usually the fastest win, because the denominator is where most retailers are quietly bleeding.

That third lever is mostly a buying-accuracy problem. Over-buying a product with a long lead time parks cash for months and drags category GMROI down even when the product eventually sells at full price. Right-sizing the buy needs a real read on each item's demand rather than a round number, which is where per-SKU demand forecasting earns its keep. It also helps to know precisely what each unit really costs you landed, since freight and duty sit inside the COGS half of the ratio.

Common mistakes when calculating GMROI

Four errors account for most bad GMROI numbers. Using retail value instead of cost in the denominator inflates the result. Using a single month-end snapshot instead of an average punishes any category that happened to receive a shipment that week. Excluding freight and duty from COGS overstates margin. And rolling the whole store into one figure hides the categories that are quietly destroying return, which is the entire reason to run the metric in the first place.

Calculate it per category and per SKU, not just at company level. The point is to find the tail of products earning under a dollar of margin per dollar invested so you can shrink those buys and move the cash into the products earning four. Buyers who track it monthly also spot a slide early, while it is still a reorder decision rather than a markdown.

Where GMROI fits with your other numbers

GMROI is a purchasing metric, so it belongs beside the other inventory KPIs you review on a cycle: turnover, days of inventory on hand, carrying cost and dead stock share. Read together they answer one question: is the cash sitting on your shelves working as hard as it would anywhere else in the business? Sellers who track what each product actually earned across every channel tend to spot a weak performer well before the annual review does.

Want a fast read on which items are dragging your return down? Paste your stock and sales history into the live stock scan at the top of the site. It flags the SKUs holding cash that is not earning, which is exactly the tail that pulls GMROI down. For the software side of the decision, our retail inventory software page covers what to look for.

See this math run itself

The free stock scan computes cover, safety stock and verdicts per SKU on sample data or rows you paste. No signup.

Run the stock scan

More from the stockroom

Early access · launching soon

Reading about it is step one

Step two is a system that does this arithmetic for every SKU, every day. Join the early-access list.

One confirmation email, no spam, no card.