Master Inventory Velocity to Boost Cash Flow, Service Levels, and Growth
Inventory velocity measures how quickly inventory sells through. Understanding inventory velocity helps ecommerce and operations teams optimize stock levels, protect service, and free cash.
Inventory velocity explained
Definition and purpose
Inventory velocity (inventory turnover) is how many times you sell and replace inventory in a period. It shows the speed of conversion from stock to revenue and cash.
High velocity means faster sell-through and lower holding costs.
Low velocity signals excess, obsolescence risk, and tied-up working capital.
Velocity vs turnover vs DIO
Inventory velocity or turnover: Number of turns in a period.
Days inventory on hand (DIO or DOH): Days of supply on hand.
Relationship: DIO = Period days ÷ Turnover. Turnover = Period days ÷ DIO.
Use both. Turnover is intuitive for growth targets; DIO translates strategy into days of cover for planning.
Why it matters for cash flow and service
Cash flow: Higher turnover reduces DIO, shrinks working capital, and shortens the cash conversion cycle.
Service: Right-sized inventory lowers stockouts and backorders.
Margins: Fewer markdowns and write-offs; lower storage and handling costs.
Agility: Faster learning loops for assortment and pricing.
When to use COGS vs Sales in the formula
COGS-based turnover is preferred for operations and finance comparability:
Turnover = COGS ÷ Average Inventory (at cost)Sales-based turnover can be used for quick merchandising views but is distorted by price changes and discounts.
Use COGS for KPI governance. Use Sales only when cost is unavailable or for directional analysis
How to calculate inventory velocity
Data you need (COGS, inventory, returns, in-transit)
COGS by SKU, by day/week/month
Beginning and ending inventory at cost, by SKU
Returns and cancellations by SKU and date
In-transit, allocated, and on-hand quantities and costs
Stock adjustments: shrink, write-offs, revaluations
Lead times and receipts by PO line for context
Formulas step-by-step
Average Inventory (period) = (Beginning Inventory + Ending Inventory) ÷ 2
Adjusted COGS = Gross COGS − COGS from returns + write-off cost (if applicable)
Inventory Turnover = Adjusted COGS ÷ Average Inventory
DIO = Period days ÷ Inventory Turnover
Optional sales-based version: Sales ÷ Average Inventory (less preferred)
Tips:
Use rolling 3, 6, or 12 months to smooth seasonality.
For SKU-level, use weekly aggregation to reduce noise.
Worked example
Period: Last 90 days
Beginning inventory at cost: 1,200,000
Ending inventory at cost: 1,000,000
Gross COGS: 2,700,000
Returns (at cost): 150,000
Write-offs: 50,000
Average Inventory = (1,200,000 + 1,000,000) ÷ 2 = 1,100,000
Adjusted COGS = 2,700,000 − 150,000 + 50,000 = 2,600,000
Turnover = 2,600,000 ÷ 1,100,000 = 2.36 turns in 90 days
DIO = 90 ÷ 2.36 ≈ 38 days
SKU, category, and company-level calculations
SKU level: Best for diagnostics. Use weekly COGS and average weekly inventory.
Category level: Roll up by ABC segments and categories to set differentiated targets.
Company level: Use for financial reporting and working capital planning.
Use weighted averages when aggregating:
Aggregate Turnover = Total Adjusted COGS ÷ Total Average Inventory
Adjusting for returns and allocated stock
Returns: Subtract returned COGS from period COGS. Add back returned units to available inventory when restocked; exclude if unsellable.
Cancellations: Remove from sales; exclude from COGS. Reclassify allocated stock back to available.
In-transit: Include in inventory if ownership has transferred. Exclude if title remains with supplier.
Allocated/reserved: Keep in inventory for velocity math, but report an “available-to-promise” view separately.
Interpreting the number
What is a good velocity
Good velocity balances service, margin, and cash. Aim for target DIO aligned to lead times, variability, and service level.
Rule of thumb: Target DIO ≈ Lead Time Days + Safety Stock Days.
For fast-movers, DIO near 1–2 cycles of lead time is achievable.
For slow-movers, use ABC targets with higher DIO tolerance.
Industry ranges and seasonal context
Indicative annual turnover ranges (company level, COGS-based):
Grocery and convenience: 15–25 turns
Beauty and personal care: 6–12 turns
Apparel and footwear: 4–9 turns
Consumer electronics: 5–10 turns
Home and furniture: 3–6 turns
Industrial/wholesale MRO: 3–7 turns
Adjust for:
Seasonality: Peak seasons inflate turnover; off-season deflates it.
Lifecycle: New launches and EOL naturally depress/raise velocity.
Channel mix: Marketplace and drop-ship models show higher velocity with lower owned inventory.
Signals from high vs low velocity
High velocity:
Pros: Strong demand, low holding cost, healthy cash conversion.
Risks: Stockouts, expedited freight, service pressure, lost sales.
Low velocity:
Pros: Fewer stockouts if demand spikes.
Risks: Working capital drag, obsolescence, markdowns, storage cost.
Converting turnover to days on hand (DIO)
DIO = Period days ÷ Turnover
Example: 8 turns per year → DIO = 365 ÷ 8 ≈ 46 days
Target setting: Set DIO by ABC class and lead time band; roll up to company goal.
Link to cash conversion cycle:
CCC = DSO + DIO − DPO
Lower DIO directly reduces CCC, freeing cash.
Drivers of inventory velocity
Forecast accuracy and promotions
Better forecasts reduce safety stock needs and excess buys.
Promotions pull demand forward; measure lift vs cannibalization.
Diagnostic tip: If forecast accuracy is low and bias is positive, velocity may be inflated by markdowns rather than healthy demand.
Lead times and variability
Longer or volatile lead times force higher DIO for the same service level.
Stabilize inbound cadence to reduce safety stock days.
Assortment and SKU rationalization
Fragmented assortments dilute volume per SKU and slow velocity.
ABC analysis and long-tail pruning raise average turns.
Pricing and markdown cadence
Clear, planned markdown ladders move aged stock early, boosting velocity and margin versus last-minute fire sales.
Supplier MOQs and terms
High MOQs create excess. Negotiate lower MOQs, split shipments, or vendor-managed inventory to reduce DIO.
Returns and reverse logistics
Slow return processing traps inventory off-shelf, depressing velocity.
Faster triage, refurbishment, and re-listing improve effective turns.
Decision path to diagnose slow velocity:
Is demand low vs forecast? → Fix forecast and marketing mix.
Is stock trapped (in-transit, QC, reserved)? → Accelerate flow and allocation.
Are MOQs/lead times too high? → Renegotiate or qualify alternates.
Is price-value misaligned? → Optimize pricing and content.
Is assortment bloated? → Rationalize SKUs and bundle.
More time, More Sales
Sign Up
Playbooks to improve velocity (without stockouts)
Safety stock and reorder point tuning
Calculate safety stock using service targets, demand variability, and lead time variability.
Reorder point = Demand during lead time + Safety stock.
Use ABC service tiers: A SKUs 95–98% service, B 92–95%, C 85–92%.
Move from static to rolling parameter updates monthly.
Demand shaping: pricing, bundles, and channel mix
Use targeted promotions on aged SKUs with guardrails on margin.
Bundle slow-movers with fast-movers to lift attachment.
Rebalance channel allocation toward higher-conversion channels.
Scenario test: Price elasticity and promo depth vs sell-through and gross margin return on inventory (GMROI).
Supplier and PO optimization (lot sizes, cadence)
Break MOQs, convert to weekly or biweekly PO cadence.
Use flexible delivery windows to smooth receipts.
Pull forward or push out POs based on DIO thresholds and forecast deltas.
Model landed cost vs DIO trade-offs before changing MOQ or cadence.
Lifecycle management: launch, mid-life, EOL
New product: Smaller initial buys, tight feedback loops, faster PO turns.
Mid-life: Maintain target DIO; adjust safety stock with actual variability.
End-of-life: Plan markdown ladder 12–16 weeks out; cap replenishment; set liquidation triggers.
Omnichannel allocation and fulfillment tactics
Ship-from-store and store-to-store transfers to free stranded stock.
Dynamic ATP rules: prioritize high-velocity nodes and reduce splits.
Use geo-demand allocation to match inventory to conversion hotspots.
Measurement and reporting
KPI definitions and guardrails
Primary KPI: Inventory Turnover (COGS-based), with DIO conversion.
Supporting KPIs: GMROI, fill rate, stockout rate, weeks of supply, aged inventory buckets (30/60/90/120+ days).
Guardrails: Do not improve velocity at the expense of service or margin beyond agreed thresholds.
Frequency and granularity (rolling windows)
Refresh weekly at SKU level; report monthly at category and company level.
Use rolling 3M, 6M, and 12M windows to balance recency and stability.
Seasonal businesses should align windows to season cycles.
Dashboard layout and key cuts
Top tiles: Turnover, DIO, GMROI, Fill Rate, Aged Inventory %.
Views: By ABC class, category, channel, location, lifecycle stage.
Drilldowns: Slowest 50 SKUs by DIO; highest value stranded stock; upcoming EOL risk.
Action cues: PO push/pull list, markdown candidates, rebalance suggestions.
SQL/Excel examples for data pulls
SQL, period turnover:
SELECT SUM(cogs_cost) / NULLIF(AVG(inventory_cost),0) AS turnover
FROM inventory_daily
WHERE date BETWEEN start_date AND end_date;SQL, SKU-level weekly COGS and average inventory:
SELECT sku, DATE_TRUNC('week', date) AS week,
SUM(cogs_cost) AS cogs,
AVG(inventory_cost) AS avg_inv
FROM inventory_daily
GROUP BY sku, DATE_TRUNC('week', date);Excel turnover (category):
=SUMIFS(COGS,Period,StartToEnd,Category,CatName) / AVERAGEIFS(InvCost,Period,StartToEnd,Category,CatName)Excel DIO:
=PeriodDays / Turnover
Governance, owners, and review cadence
Ownership: Ops owns data quality; Planning owns targets; Finance validates definitions.
Cadence: Weekly ops huddle for SKU actions; monthly S&OP for targets and supplier actions; quarterly review for policy changes.
Single source of truth: Lock definitions and keep versioned KPI logic.
Need help with your E-Commerce store? Check out our blog for lots of tips, including standard operating procedures.
Common mistakes to avoid
Using revenue vs COGS incorrectly
Mixing sales-based and COGS-based turnover breaks comparability. Use COGS for official reporting.
Ignoring seasonality and promotions
One-time promos spike turnover. Use rolling windows and annotate exceptions.
Averaging across SKUs hides issues
Weighted averages mask long-tail problems. Always review bottom decile SKUs by DIO.
Excluding in-transit/allocated inventory
If you own it, it counts. Excluding it inflates velocity.
Not accounting for shrink and obsolescence
Write-offs should reduce inventory and pass through COGS. Missing these understates DIO and overstates margin.
Case study walkthrough
Baseline and problem statement
Business: DTC apparel, 2,500 SKUs.
Baseline: Turnover 4.8/year (DIO 76), fill rate 94%, aged 90+ days at 18% of inventory. Cash tied up in slow-mover styles.
Interventions applied
ABC targets: A at 45 DIO, B at 60, C at 90.
PO cadence: Shifted to biweekly for core styles; MOQs cut by 30%.
Safety stock: Recalculated using 6M variability; monthly updates.
Lifecycle: EOL ladder launched 14 weeks before season end; bundles for slow colors.
Omnichannel: Enabled ship-from-store to clear stranded stock.
Results and KPIs
After 2 quarters: Turnover 6.5/year (DIO 56), fill rate 96%.
Aged 90+ days reduced to 9%.
GMROI up 11% via earlier, shallower markdowns.
Working capital and margin impact
Inventory at cost reduced by 1.8M while sales grew 6%.
Estimated cash conversion cycle improved by 15 days, cutting carrying cost and freeing cash for paid media and new launches.
Tools and templates
Calculator overview and inputs
Use a simple SKU-level template with these columns:
SKU, Category, ABC Class, Lifecycle Stage
Period Start Inv Cost, Period End Inv Cost
Gross COGS, Returns at Cost, Write-offs
In-Transit Cost (owned), Allocated Cost
Turnover, DIO, Weeks of Supply
Flags: Aged 90+, Markdown Candidate, PO Push/Pull
Core calculations:
Avg Inv = (Start + End) ÷ 2
Adj COGS = Gross COGS − Returns + Write-offs
Turnover = Adj COGS ÷ Avg Inv
DIO = Period Days ÷ Turnover
How to collect and validate data
Reconcile COGS to GL for the period.
Tie inventory subledger to cycle counts and WMS snapshots.
Verify ownership cut-off for in-transit and vendor terms.
Cross-check returns disposition rates and timing.
Assumptions, limitations, and QA checks
Assume costs are at standard or actual consistently; do not mix.
For new SKUs, use partial-period logic or exclude from trend KPIs.
QA checks:
Turnover must be non-negative; flag extreme outliers.
DIO should align with lead time ± safety stock days.
Sum of SKU COGS equals reported total COGS within tolerance.
FAQs
Is inventory velocity the same as inventory turnover?
Yes. Inventory velocity and inventory turnover are used interchangeably and both mean how many times inventory is sold and replaced in a period.
What is a good inventory velocity for my category?
It depends on category, lead times, and service goals. As rough annual ranges: grocery 15–25, beauty 6–12, apparel 4–9, electronics 5–10, home 3–6, MRO 3–7. Set SKU-level DIO targets by ABC class and lead time.
How do I convert turnover to days of inventory on hand (DIO)?
Use DIO = Period days ÷ Turnover. Example: 8 turns per year → 46 DIO. Turnover = Period days ÷ DIO.
Should I use COGS or Sales when calculating velocity?
Use COGS for consistency and comparability. Sales-based turnover is acceptable for quick merchandising views but is sensitive to pricing changes.
How often should I measure and report inventory velocity?
Track weekly at SKU level, report monthly at category and company levels, and use rolling 3–12 month windows to smooth seasonality.
How do returns and backorders affect velocity calculations?
Subtract returns at cost from COGS and add returned sellable units back to inventory. Backorders do not count as COGS until shipped; keep allocated units in inventory until fulfillment.
How can I increase velocity without increasing stockouts?
Tune safety stock and reorder points, reduce lead time variability, right-size MOQs, plan markdown ladders, bundle slow-movers, and optimize omnichannel allocation—while monitoring fill rate and GMROI guardrails.
How does inventory velocity impact cash flow and the cash conversion cycle?
Higher velocity reduces DIO, which lowers the cash conversion cycle and frees working capital. Every day cut from DIO shortens the time between paying suppliers and collecting cash.
