Publish Date :
Margin Looks Fine. So Why Is So Much Cash Tied Up in Stock?
A strong margin percentage can coexist with a heavy inventory investment. Compare gross profit with average stock at cost over the same period, then use Atlas and Core to investigate whether the range’s depth, demand and intake still support that investment. A ratio alone does not tell the buyer which units can safely be removed.

THE MERCHMIX DECISION / Atlas + Core
Good margin. How much stock earns it?
Compare gross profit with the average stock investment, then test a serviceable stock path rather than optimise a ratio alone.
Independent worked retail example. Quantities are planning assumptions, not company records. Financial amounts are USD.
Good margin. How much stock earns it?
| Same 13-week period | Knitwear | Outerwear |
|---|---|---|
| Average stock at cost | $6,000 | $18,000 |
| Gross profit / stock dollar | 1.20 | 0.60 |
A higher margin percentage can still use more inventory per dollar of gross profit. Investigate the stock path before changing depth.
Outerwear shows a higher margin and more gross profit.
THE KEY IDEA
Compare gross profit with the average stock investment, then test a serviceable stock path rather than optimise a ratio alone.
Margin and inventory investment answer different questions
Gross margin percentage relates product gross profit to sales. Gross margin return on inventory investment, or GMROI, relates gross profit to average inventory held at cost. Oracle’s retail metric documentation uses gross margin and average inventory cost in that calculation. The article’s example reports a period ratio, not an annualised forecast or an industry benchmark.
Atlas supports the sales, gross-profit, margin and stock review; Core connects the resulting planning question with budget and intake assumptions. The relevant product claim is the ability to inspect those underlying measures in scope. This article does not assert a particular built-in GMROI report or an automatic stock-optimisation recommendation.
Put the numerator and denominator on the same basis
Agree the merchandise scope, trading period, cost valuation and treatment of returns before comparing categories. A closing stock snapshot is not automatically an average inventory measure. Seasonal receipts can make the difference important, particularly when a large delivery arrives just before the period ends.
Use a consistent method for the average, such as suitable weekly stock-at-cost snapshots over the selected period. The retailer must establish which observations are complete and comparable. Do not mix one category’s quarter of gross profit with another category’s annual average stock, or combine a retail-valued denominator with a cost-based measure without explaining it.
Two healthy margins can conceal very different returns
Consider an independent thirteen-week comparison. Knitwear sells $18,000 with $10,800 cost of goods sold, producing $7,200 gross profit and a 40% margin. Its average inventory at cost is $6,000. Outerwear sells $24,000 with $13,200 cost of goods sold, producing $10,800 gross profit and a 45% margin, while averaging $18,000 of stock at cost.
Knitwear’s period GMROI is 1.20: $7,200 divided by $6,000. Outerwear’s is 0.60: $10,800 divided by $18,000. Outerwear earns more gross profit and a higher margin percentage, but less gross profit per dollar of average inventory. The figures are worked USD assumptions, not a retailer’s reported results.
THE FIGURES BEHIND THE DECISION
| Measure / thirteen weeks | Knitwear | Outerwear |
|---|---|---|
| Sales | $18,000 | $24,000 |
| Cost of goods sold | $10,800 | $13,200 |
| Gross profit | $7,200 | $10,800 |
| Gross margin | 40% | 45% |
| Average inventory at cost | $6,000 | $18,000 |
| Period GMROI | 1.20 | 0.60 |
Period GMROI = gross profit ÷ average inventory at cost. Outerwear sensitivity: $10,800 ÷ $13,500 = 0.80, conditional on unchanged gross profit.
Read the ratio as a question about the stock path
The comparison does not prove outerwear is a bad category. Its seasonality, lead time, future demand or required size coverage may justify some of the investment. It does show why a buyer should examine the average stock balance rather than celebrate the 45% margin alone.
In Atlas, compare sales, gross profit, cover and stock within the agreed scope. Then inspect the receipts and range depth behind the average. A slow location, an early delivery or stock concentrated in weak sizes can create different responses. A category-level ratio should lead to those questions rather than replace their evidence.
Test a smaller investment without assuming unchanged demand
A sensitivity reduces outerwear’s average inventory assumption from $18,000 to $13,500 while holding gross profit at $10,800. The resulting period GMROI is 0.80. The lower denominator improves the ratio mathematically; it does not prove the same profit can be earned with less stock.
The $4,500 difference is a change in assumed average inventory investment, not a guaranteed cash release or saving. A commercially valid plan must show how the lower stock path preserves availability, timing and the relevant demand. Removing the best-selling sizes could improve a spreadsheet denominator while damaging the numerator in practice.
Bring the investment question into Core
Core’s MFP/WSSI connects sales, stock and intake across periods. Use it to test whether the category can achieve a more appropriate stock path through receipt timing, range depth or a different buying assumption. Existing orders remain commitments unless a supported, authorised change is confirmed.
The response need not be a blanket reduction. A targeted intake adjustment can be more useful than suppressing every option in a category that still has credible demand. Keep the approved baseline beside the scenario, identify which stock measure changes and give the commercial owner an explicit decision rather than a single better-looking ratio.
| Signal | Merchmix workspace | Decision to review |
|---|---|---|
| The margin percentage looks strong | Atlas / performance review | Compare period gross profit with average stock at cost. |
| The stock investment is high | Core / intake and depth | Test a lower stock path without presuming unchanged profit. |
Review margin, investment and service together
For the worked example, the next question is why outerwear requires three times knitwear’s average stock investment while producing one and a half times its gross profit. The answer may involve the range, receipts or selling window; the ratio itself does not establish the cause. Check availability before treating lower depth as an improvement.
Use Atlas to keep the evidence comparable and Core to test the stock consequence of a response. Retain the period label and avoid mechanically annualising a seasonal result. A useful GMROI review connects an attractive margin with the investment needed to earn it, and leaves the retailer with a decision it can support at product and period level.
BEFORE THE NEXT DECISION
- Analyst
Align scope, period and the averaging method.
- Planner
Keep the $13,500 stock scenario conditional.
- Buyer
Protect availability before approving a lower commitment.
Common questions
What is GMROI in this article?
Gross profit divided by average inventory at cost over the same selected period. The example uses thirteen weeks.
Why is the 45% category not automatically better?
Its higher gross profit is supported by a much larger average inventory investment, giving a lower period return per dollar of stock.
Can closing stock replace average stock?
Not automatically. Use a consistent averaging method that represents the stock held during the profit period.
Does the $4,500 sensitivity guarantee a cash release?
No. It changes assumed average inventory. The same demand and profit with lower stock must still be demonstrated.
Is GMROI a complete buying instruction?
No. Inspect availability, size mix, seasonality, commitments and receipt timing before changing stock.
FROM THE ARTICLE TO YOUR OWN RETAIL PLAN
Review the decision.
See the workflow.
Bring your planning questions to a demo, or explore a proof of concept on your own data.