GMROI Calculator

Paste a list of SKUs with gross margin and average inventory cost, and see gross margin return on inventory for each one, ranked.

Describe the result you need. AI will set up the tool and ask for any missing details.

Configure with AI

Enter to submit · Shift + Enter for a new line

Sent to AI. Leave out passwords and private customer data.

Your numbers

Gross margin $ = sales minus cost of goods sold for that SKU. Average inventory cost = the average of what that SKU's stock cost you to buy over the same period.

Your result · updates as you type

GMROI across 4 SKUs

1.9×

Every $1 tied up in inventory returned $1.90 of gross margin across these SKUs, combined.

Total gross margin
$14,700
Total average inventory cost
$7,750
SKUs under 1.5×
1

Many retailers use $2 of gross margin per $1 of inventory as a rough target, but the right number depends on your category. Use average inventory cost over the period, not just the ending balance, or the ratio will be skewed by when you happened to restock.

GMROI by SKU
Classic Tee
4×
Canvas Tote
4×
Denim Jacket
1.61×
Wool Scarf
1.06×

Breakdown

SKU → GMROI (margin ÷ avg. inventory cost)
Classic Tee
4× ($4,200.00 ÷ $1,050.00)
Canvas Tote
4× ($1,800.00 ÷ $450.00)
Denim Jacket
1.61× ($6,100.00 ÷ $3,800.00)
Wool Scarf
1.06× ($2,600.00 ÷ $2,450.00)

What GMROI measures

Turnover tells you how fast a SKU sells. GMROI tells you how hard the money tied up in it works: how many gross margin dollars it returns for every dollar of average inventory cost.

GMROI = gross margin $ ÷ average inventory cost $

Example: the default sample list

Classic Tee
$4,200 margin ÷ $1,050 cost = 4.00×
Denim Jacket
$6,100 margin ÷ $3,800 cost = 1.61×
Canvas Tote
$1,800 margin ÷ $450 cost = 4.00×
Wool Scarf
$2,600 margin ÷ $2,450 cost = 1.06×

Combined GMROI across all four SKUs = $14,700 ÷ $7,750 = 1.90×. The Classic Tee and Canvas Tote work far harder for their inventory dollars than the Wool Scarf.

Using the ranking

  • Use average inventory cost over the period, not just the ending balance, or the ratio gets skewed by when you happened to restock.
  • A common rough target is GMROI above 2: every $1 tied up returns at least $2 of gross margin a year. Treat it as a guideline, not a rule; the right number varies by category.
  • Below 1× means a SKU's gross margin doesn't even cover the cost of the inventory it takes to sell it: a candidate to reprice, bundle, or stop reordering.

Where to get the two numbers

Gross margin $ is sales minus cost of goods sold for that SKU over the period, from Shopify's or WooCommerce's sales reports. Average inventory cost is the average of what that SKU's on-hand stock cost you to buy, which you can approximate from a few inventory snapshots across the period if you don't track it daily.

Questions people ask

What does GMROI stand for?

Gross margin return on inventory: how many dollars of gross margin a SKU generates for every dollar tied up in its average inventory.

What's a good GMROI?

Many retailers use 2× as a rough target, meaning $2 of gross margin per $1 of inventory. It varies by category, so compare SKUs against each other more than against a fixed number.

How is GMROI different from inventory turnover?

Turnover uses cost of goods sold against average inventory and ignores margin. GMROI uses gross margin dollars, so it also captures how profitable each sale is, not just how fast it sells.

What format does the SKU list need?

One line per SKU: name, gross margin $, average inventory cost $, separated by commas. Lines that don't match this are skipped and flagged.

Want this builtinto your store?

I'm Emmanuel, a Shopify and WooCommerce developer. If this tool pointed at something you'd rather have fixed for you (a faster store, cleaner product data, a migration, a custom feature), send me a note.

Emmanuel Asika

Emmanuel Asika

Shopify & WooCommerce developer, Dublin

I build and fix online stores: new builds, migrations, speed, SEO and the custom bits apps can't do.

hello@emmanuelasika.com

Last reviewed 30 September 2026.