Calculate Gross Margin Return on Inventory Investment from sales and COGS or from gross margin directly. Compare period and annualized GMROI, test a target, and model changes in margin or inventory.
GMROI compares gross margin dollars with average inventory valued at cost. Keep sales, COGS and inventory on the same reporting period. Annualization is shown separately so short periods are not mistaken for full-year performance.
Performance data
Average inventory at cost
Target and what-if analysis
Results
Calculated| Scenario | Gross Margin | Average Inventory | Period GMROI | Annualized GMROI | Change |
|---|
GMROI — Gross Margin Return on Inventory Investment — answers a fairly blunt question: for every dollar you've got sitting in inventory, how much gross margin is it actually pulling in?
WareStat calculates it two ways. There's the raw number for whatever period you enter, and there's an annualized run-rate next to it. It can also run the math backward — give it a target GMROI, and it'll tell you what inventory, margin or sales figure would get you there.
The Formula
GMROI = Gross Margin / Average Inventory Cost
Gross margin itself is nothing exotic:
Gross Margin = Net Sales − Cost of Goods Sold
And average inventory, in its plainest form:
Average Inventory = (Beginning Inventory + Ending Inventory) / 2
That two-point average is fine when inventory holds fairly steady. It falls apart the moment stock swings hard through the year — a beginning/end snapshot just misses everything in between. Several evenly spaced snapshots instead of two gives a far more honest number. WareStat supports this directly, so you're not stuck averaging just two data points if your business doesn't work that way.
An Example, Worked Through
A retailer pulls in $500,000 in net sales. Cost of goods sold comes to $300,000.
Gross margin: $500,000 − $300,000 = $200,000.
Average inventory at cost: $75,000.
GMROI = $200,000 / $75,000 = 2.67
Every dollar tied up in inventory generated $2.67 in gross margin over the year. Not bad — though whether it's good depends entirely on the category, which we'll get to.
Not the Same Thing as Turnover
Inventory turnover asks a different question — how fast stock is moving:
Inventory Turnover = COGS / Average Inventory
GMROI cares about something turnover doesn't capture on its own: profitability weighed against the capital sitting on the shelf. A product can fly off the shelf and barely make anything. Another can sit there with a fat margin and just... not sell fast enough to matter. Neither turnover nor margin rate alone tells you which situation you're in. GMROI does.
That's the reason WareStat puts GMROI next to gross margin rate, turnover and sales-to-inventory in the same view — whenever sales and COGS are both available, anyway.
Period vs Annualized
Don't compare a one-month GMROI to a twelve-month one. They're not on the same scale, and treating them as if they were will mislead you.
Period GMROI = Period Gross Margin / Average Inventory
Annualized GMROI = Period GMROI × (365 / Days in Period)
The annualized figure assumes the period you measured just... keeps repeating itself for the rest of the year. Fine for a business with steady demand. Less fine if you're seasonal — a strong December annualized out to a full year will hand you a number that flatters you a lot more than reality will.
Reverse-Engineering a Target
Set a target GMROI and let the calculator work backward from it. What comes out:
- the average inventory you'd need at your current margin run-rate
- the gap between that and where you actually stand
- the gross margin required to hit the target
- net sales required, holding your current margin rate constant
- the margin rate required, holding current sales constant
This is where GMROI stops being a number you check after the fact and starts being something you can actually plan toward.
Running "What If" Scenarios
You can also test how GMROI moves when gross margin or average inventory shifts. A few combinations worth trying:
- push gross margin up 10%
- pull average inventory down 10%
- do both together
Running these side by side is genuinely useful — it tells you whether a weak GMROI is a pricing problem, an inventory problem, or some mix of the two. Guessing which lever to pull without this is how a lot of businesses waste a quarter fixing the wrong thing.
Is There a "Good" GMROI Number?
No. Anyone claiming otherwise is selling something.
It depends on your margins, how fast product moves, lead times, how wide your assortment is, how much stockout risk you're willing to carry, and the underlying economics of the category you're in. A jewelry retailer and a grocery chain will land on wildly different "healthy" GMROI figures, and that's fine — the comparison that actually matters is against your own past periods, or against similar products in your own catalog.
Ways to Get It Wrong
A few mistakes come up often enough to flag:
Valuing inventory at retail rather than cost. It should be cost, full stop.
Using only ending inventory. One snapshot, especially at period-end, can badly misrepresent a seasonal business.
Mixing periods that don't line up. Sales, COGS and inventory all need to cover the same stretch of time — blend mismatched periods and the math quietly breaks.
And relying on GMROI in isolation. A great-looking number driven mostly by razor-thin inventory might just mean you're one bad week from running out of stock entirely.
FAQ
What does GMROI stand for? Gross Margin Return on Inventory Investment.
Can it go negative? Yes — if COGS outruns net sales, gross margin turns negative, and GMROI follows it down.
Can I calculate it monthly? Yes. Enter the actual number of days in that period and WareStat gives you both the raw period figure and the annualized version alongside it.
Should inventory be valued at cost or retail? Cost. That's the standard, and it's what makes the comparison to gross margin dollars meaningful.
Isn't this basically inventory turnover? No — turnover tells you speed. GMROI tells you how much gross margin that inventory investment is actually returning. Related, but not the same measurement at all.
