Trend Weighting
Velocity was a flat 90-day average, which treated a product rising from 5 to 15 units a month exactly like one falling from 15 to 5. For catalogues tied to product generations, that was the largest remaining source of error.
Stockmind now compares the recent 30-day rate against the full window and blends the two — with the recent window availability-adjusted in its own right, not a raw count.
Confidence scales with recent volume. A product selling 18 units in the last month moves the number substantially; one selling a single unit barely moves it at all — so a lucky week can't inflate an order.
- Adjustable from 0–100%, applying live like the other settings
- Ships switched off, so existing numbers are unchanged until you enable it
- Best Sellers gained a Trend column; exports gained 30-day quantity and trend percentage
Order Size In Units
The Reorder cards counted SKUs, which told you how many products needed attention but nothing about the size of the resulting purchase order.
- Every card now shows total units alongside the SKU count
- Applies to the filtered view too — select a supplier and see exactly what that PO comes to
Per-List Arrival Dates
Expected arrival is now set for the whole uploaded list rather than per row, so your CSV stays a simple two-column file.
- Date picker with one-click shortcuts at upload time
- Change a batch's arrival date afterwards when a supplier pushes a shipment back
Measured Availability
Velocity is no longer inferred — it's measured. Stockmind now samples your warehouse's historical stock balances across the whole velocity window and counts exactly how many days each product was genuinely on the shelf.
This closes the last blind spot in the calculation. Estimation can only see products that are out of stock right now. A product that sold out on day 10, was restocked on day 50 and sits in stock today looked fully available for the entire period — and those are, by definition, your fastest movers.
Measured across a real 226,000-SKU catalogue:
- Runs on demand from the Ongoing tab, roughly five minutes
- Sample count is configurable for finer resolution
- Falls back to the previous method for any SKU without measurement data
Sales Quantity Exports
Best Sellers now shows units sold alongside velocity, and the Dashboard exports the full selling catalogue — not just what's on screen — in CSV or Excel.
- Columns: quantity sold, days available, velocity, estimated monthly units, on-hand, incoming, days left, last received
- Sorted by units sold, respecting the supplier filter
Incoming Stock Arrival Dates
Purchase orders can now carry an arrival date, and only stock landing inside your coverage window counts as cover. A shipment arriving in sixty days no longer masks a stockout happening in twelve.
- CSV takes an optional third column: a date or a number of days
- Later arrivals stay visible, shown as "+N later"
- The horizon follows your lead time and safety stock settings automatically
Review Period
Order quantities now account for how often you actually place orders. An order has to last until the next one arrives, not merely until this one lands — so if you order monthly, quantities scale to match.
- Order-up-to level = velocity × (lead time + review period + safety stock)
- Reorder triggers are unchanged, so flagged counts stay stable
Adjustable Lead Time & Safety Stock
Lead time and safety stock moved out of configuration files and into the app, with changes applying instantly — no recalculation needed.
- Reorder points, flags and quantities recompute on the fly
- The Reorder tab states the active basis, so the numbers explain themselves
Incoming Stock Visibility
A sold-out product could show a healthy days-left figure with nothing on screen to explain why. Incoming stock had always been counted — the column that made sense of it was missing.
- Incoming column added to Best Sellers; Incoming stat card added to the Reorder tab
- Zero on-hand highlighted, with an "inbound" tag when cover comes entirely from open POs
Deletable Dead Stock
Dead stock now separates zero-stock listings — which can be deleted straight from your WMS and shops — from items physically sitting in the warehouse that need handling.
- "Out of stock only" filter, combining with supplier and age filters
- Exports respect every active filter, so you get a clean deletion list per supplier
Twice As Fast
Full-catalogue calculation runtime roughly halved, with substantially lower memory use.
Fault-Tolerant Data Fetching
A single slow API response could previously end a data fetch early and quietly cache an incomplete catalogue — missing thousands of the newest products with no visible error.
- Failed requests retry automatically with backoff
- If they still fail, the run aborts rather than caching partial data — your last complete dataset stays intact and the app keeps serving correct numbers
Availability-Adjusted Velocity
The original insight the product is built on: you can't sell what isn't on the shelf, so velocity must be measured against availability rather than calendar days.
- Live warehouse integration replacing manual exports
- Server-side calculation and paging for catalogues in the hundreds of thousands
- Best sellers dashboard, incoming PO tracking, supplier filtering and exports