Feature Request - Improvements to the Velocity Report

Chris

Currently, the Velocity Report’s design makes accurate Purchase Order (PO) planning extremely difficult. Below are the four main problems we’d like to see addressed.

Problem 1: Missing SKUs with No Recent Movement

The Issue

  • When can filter the report by supplier and sort by SKU (A–Z)
  • However, the problem is Cin7 automatically hides SKUs / products that have zero movement within the selected report period. 

Operational Impact

  • This creates a major blind spot during Purchase Order planning. 
  • To plan inventory effectively, we must see all SKUs assigned to that supplier, regardless of whether they sold in the selected timeframe.

When reordering, we need to review entire product families to maintain balanced stock ratios across variants. For example:

  • Supplier Minimum Order Quantities (MOQs): A supplier might require an MOQ of 1000 units across a product family.
  • Ratio Misalignment: If only size Large is sold out while sizes S, M, XL, 2XL and 3XL have healthy inventory, we cannot simply will not purchase 1000 Large shirts. Nor can we blindly allocate units to slow-moving sizes just to meet an MOQ
  • We need to see the entire SKU list side-by-side to make informed decisions on whether to reorder, balance ratios, or retire an old product family for a newer model. Hiding SKUs from this view makes accurate PO planning nearly impossible.

Proposed Solution

  • Display all SKUs linked to the selected supplier, even if a SKU has zero sales or zero inventory movement during the reporting window.

 

Problem 2: Rigid Date Range Options

The Issue

  • The reporting window is currently restricted to preset increments: 7, 14, 30, 60, or 90 days.

Operational Impact

  • A 90-day window is far too restrictive for real-world supply chains, long lead times, or items with yearly or multi-year reorder cycles
  • For instance, if our last purchase order was received 3 years ago, a 90-day window shows zero data for items that sold out earlier in the cycle. 
  • A short reporting window provides no actionable insight into overall product performance over the lifetime of the stock.

Proposed Solution

  1. Short term fix: Add 180-day and 365-day options to the preset dropdown (would help somewhat)
  2. Best long-term fix: Provide a Custom Date Range Picker (calendar selection) so users can define the exact timeframe matching their reorder or PO cycle.

 

Problem 3: Velocity Calculation Flaw (Stockout Bias)

The Issue

  • Cin7 currently calculates velocity using Calendar Velocity
  • Calendar Velocity = Units Sold / Report Period Time
  • This metric measures historical volume realized, but it is flawed for future demand forecasting because it incorporates Stockout Bias
  • When a SKU sells out, daily sales drop to zero, not because customer demand vanished, but because there was no inventory left to buy.
  • Standard calendar velocity penalizes fast-selling items for running out of stock.

Example - Theoretical 1-Year Report Window Example (365 days from 01/01/2025 to 31/12/2025)

  • M Tee: 20 units in stock from 01/01/2025 → Sold out 30/01/2025 (Was in stock for 30 days).
  • L Tee: 30 units in stock from 01/01/2025 → Sold out 29/06/2025 (Was in stock for 180 days).

Cin7’s Current Method (Calendar Velocity):

  • M Tee: 20 units / 365 days = 0.0547 units/day
  • L Tee: 30 units / 365 days = 0.0821 units/day
  • Ratio: 0.0821 / 0.0547 = 1.5x
  • Distorted Conclusion: L Tee appears to sell 50% more (1.5x more) than M Tee, simply because it had more quantity on hand to begin with. 

Proposed Solution

  • Introduce In-Stock Velocity
  • In-Stock Velocity = Units Sold / Days Item Was In Stock
  • M Tee:  20 units / 30 days = 0.6666 units/day
  • L Tee:  30 units / 180 days = 0.1666 units/day
  • Ratio: 0.6667 / 0.1667 = 4x
  • Real Conclusion: M is the faster moving units at 300% faster in daily sales (4x more) when both items are available to purchase.

Why This Matters for Reordering

If both items are currently out of stock and we are planning to reorder both M and L

  • Using Calendar Velocity: If we were to order 30 L tees, then M would be 20 tees (30 x 1/1.5)
  • Using In-Stock Velocity: If we were to order 30 L tees, then M would be 120 tees (30 x 4)

It is very clear to see these are very different results.

Using Calendar Velocity causes a continuous cycle of over-purchasing SKUs that simply had higher initial stock depth, while under-purchasing items that sold out early due to lower starting stock, leading to repeated premature stockouts and wasted purchasing funds.

Proposed Solution

  • Introduce In-Stock Velocity as a standard metric in the Velocity Report for demand forecasting.
  • It is CRITICAL for any business to be able to plan and order the correct quantities and ratios accurate to the real demand, which is what In-Stock velocity does, not distorted demand that is affected by stockout bias (which is what Cin7 currently does).

 

Problem 4: Missing Columns — "Days Sold Out" and “Days in Stock”

The Issue

  • When reviewing the Velocity Report, we cannot easily see how long an Out of Stock SKU (Available = 0) has been unavailable for.
  • Likewise, we are unable to see the exact number of days a SKU was actually In Stock during the selected period.

Why "Days Sold Out" is Critical for PO Planning:

  • Provides instant context for zero sales: Without this column, a SKU showing zero sales looks like dead stock, when in reality it might be a top seller that has simply been unavailable.
  • Prioritizes reorder urgency: An item sold out 10 days ago represents active, daily lost revenue requiring immediate triage, whereas an item sold out for 500 days requires a completely different purchasing strategy (or retirement).
  • Quantifies lost revenue: Knowing days out of stock—combined with true daily velocity—lets us estimate lost sales to justify PO quantities or expedited freight.
  • Flags supply chain bottlenecks: Comparing days sold out against expected supplier lead times instantly highlights severe replenishment delays.

Why "Days in Stock" is Critical for PO Planning:

  • Powers accurate velocity calculations: This value is required to calculate In-Stock Velocity (as outlined in Problem 3).
  • Exposes past over-purchasing: If an item has been in stock for 1,000+ days with slow movement, it immediately flags that we over-ordered in the past, allowing us to prevent re-ordering / repeating the same mistake on future POs.

Proposed Solution

Add two new, transparent data columns to the Velocity Report:

  • Days Sold Out: The number of calendar days an item has remained at zero inventory.
  • Days in Stock: The total number of calendar days the item had available inventory within the evaluated period.


I really hope someone at Cin7 spends some time and looks into this, because this report is the most critical of the lot.

Related to

3

Comments

2 comments

  • Comment author
    Warehouse Default Name

    This is an excellent analysis and I hope that many of these changes are seriously considered. For the reasons mentioned above we do not use the velocity report at all and instead create own own version as the missing data in the current report makes it innacurate.

    1
  • Comment author
    Chris

    Yeah, hopefully it gets enough votes that someone at Cin7 HQ sits down and goes over it / gets these implemented and perhaps some additional things I may have missed. 

    We simply don't use the report in its current form due to the issues above :(

    0

Please sign in to leave a comment.