> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vortexiq.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Stock vs Sales Velocity, BigCommerce

> Stock vs Sales Velocity for BigCommerce stores. Tracked live in Vortex IQ Nerve Centre. How to read it, why it matters, and how to act on it.

**Metrics type:** [Supporting Metrics](/nerve-centre/overview#metrics-types-explained)  •  **Category:** [Ecommerce Platform](/nerve-centre/connectors#connectors-by-type)

## At a glance

> Per-SKU current stock level compared against 30-day sales velocity, expressed as "days of stock remaining". The card the buying team should refresh weekly; SKUs with \<14 days of stock are urgent reorders, SKUs with >180 days are dead inventory candidates. The single most actionable inventory-management card in BigCommerce.

|                               |                                                                                                                                                                                                                                                                                                                            |
| ----------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **What it counts**            | For each SKU: `current_inventoryLevel ÷ (30D_units_sold ÷ 30) = days_of_stock_remaining`. Ranks the catalogue by velocity-weighted urgency, with a colour band: red \<14 days, amber 14-30 days, green 30-90 days, grey 90-180 days, blue >180 days (overstock).                                                           |
| **VAT / tax treatment**       | n/a (unit-count and days-of-stock metric).                                                                                                                                                                                                                                                                                 |
| **Shipping**                  | n/a.                                                                                                                                                                                                                                                                                                                       |
| **Discounts**                 | n/a.                                                                                                                                                                                                                                                                                                                       |
| **Refunds**                   | Refunded units add back to stock (BC re-credits inventory on refund); we use the live `inventoryLevel` field, so refunds are already reflected.                                                                                                                                                                            |
| **Cancelled / voided orders** | Cancelled-pre-fulfilment returns inventory; cancelled-post-fulfilment does not. We use BC's net `inventoryLevel`.                                                                                                                                                                                                          |
| **Currency**                  | n/a.                                                                                                                                                                                                                                                                                                                       |
| **Channels / sources**        | Sales velocity sums across all channels; stock level is per-product (or per-variant if MLI is configured). Stores using Multi-Location Inventory see a per-location split available via toggle.                                                                                                                            |
| **Variants**                  | The card defaults to variant-level (a King size duvet and a Queen size duvet have different velocities and stock). Toggle to product-level for the merchandising-overview view.                                                                                                                                            |
| **B2B Edition note**          | B2B portal orders (case-quantity or wholesale) have very different velocity profiles than retail. Filter to retail / B2B for the segment that matters; mixing them inflates apparent velocity on shared SKUs.                                                                                                              |
| **Reorder lead-time gotcha**  | "14 days of stock" means 14 days at current velocity, not "you have 14 days to act". Subtract supplier lead-time (typically 7-21 days for domestic, 35-90 days for international shipping); the practical reorder window is days\_of\_stock minus lead\_time. SKUs at 14 days with a 35-day lead time are already overdue. |
| **Time window**               | `30D` for velocity calculation; stock level is real-time.                                                                                                                                                                                                                                                                  |
| **Alert trigger**             | None on this card directly. Pair with [Inventory Alerts](/nerve-centre/kpi-cards/bigcommerce/products-with-zero-negative-stock) for low-stock alerts.                                                                                                                                                                      |
| **Roles**                     | owner, operations                                                                                                                                                                                                                                                                                                          |

## Calculation

Calculated automatically from your BigCommerce data. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.

## Worked example

A US homewares brand on BigCommerce Pro, 30-day window 14 Apr 26 to 14 May 26.

| SKU             | Product                      | Current stock | 30D units sold | Days remaining | Band  | Action                                                       |
| --------------- | ---------------------------- | ------------- | -------------- | -------------- | ----- | ------------------------------------------------------------ |
| `LIN-DUV-K-NAT` | "Linen duvet, King, natural" | 18            | 142            | **3.8 days**   | Red   | **REORDER NOW** (45-day lead time = was overdue 41 days ago) |
| `TWL-6PK-IVR`   | "Bath towel set 6pk, ivory"  | 42            | 96             | **13 days**    | Red   | Reorder this week                                            |
| `LMP-CRMC-WHT`  | "Ceramic table lamp, white"  | 156           | 240            | 19 days        | Amber | Reorder within 2 weeks                                       |
| `THR-WLN-CHC`   | "Wool throw, charcoal"       | 220           | 88             | 75 days        | Green | Healthy                                                      |
| `MUG-CRM-04`    | "Cream mug, set of 4"        | 480           | 80             | 180 days       | Grey  | Slowing, monitor                                             |
| `PNT-DCO-RND`   | "Decorative round plate"     | 1,200         | 48             | **750 days**   | Blue  | **OVERSTOCK**, mark down or cut                              |

What's interesting:

1. **The Linen duvet King at 3.8 days remaining with a 45-day lead time is a five-alarm event.** It's mathematically already going OOS for 41 days; the question is when, not if. Action sequence: (1) emergency air freight from supplier if available; (2) raise price 15-20% to slow velocity (extends days remaining); (3) prepare back-in-stock email list using BC's native back-in-stock notify; (4) consider a "preorder, ships 30 May" button if supplier confirms a date. **Doing nothing forfeits 6+ weeks of revenue on a hero SKU.**
2. **The towel set at 13 days is the next-priority reorder.** Lead time of 21 days for towels means it'll go OOS for 8 days; tolerable but not ideal. Confirm reorder is in flight; if not, place today.
3. **The ceramic lamp at 19 days is the routine planning case.** Reorder within 2 weeks; healthy operational rhythm.
4. **The wool throw at 75 days is the buy-team's "do nothing" pile.** Healthy stock-velocity ratio; the SKU is doing its job.
5. **The cream mug set at 180 days is starting to slow.** Velocity has dropped; if it persists, this SKU will move to overstock band. Monitor for 4 weeks; if velocity hasn't recovered, plan a markdown or reduce next-cycle reorder.
6. **The decorative plate at 750 days of stock is dead inventory.** 1,200 units selling 48/month means 25 months to clear at current velocity. Cost to the business: storage + working capital + opportunity cost of the cash. Action: 30-50% markdown to clear in next 90 days, or write off and donate. **Holding dead stock is more expensive than selling at a loss.**

Action priority order:

1. **Linen duvet emergency reorder** today, in parallel: raise price, prepare back-in-stock notify, evaluate preorder button.
2. **Towel set and ceramic lamp reorders** this week.
3. **Cream mug velocity monitoring** start a 4-week trend watch.
4. **Decorative plate markdown plan** decide on 30%, 40%, or 50% off; project clear-time at each price; communicate the markdown plan to merchandising.
5. **Weekly reorder cadence** institutionalise this card as the buy-team's Monday-morning ritual; every red SKU gets a decision.

## Sibling cards merchants should reference together

| Card                                                                                            | Why pair it with Stock vs Sales                                                                            |
| ----------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
| [Inventory Alerts](/nerve-centre/kpi-cards/bigcommerce/products-with-zero-negative-stock)       | The store-wide low-stock alert headline. This card is the per-SKU drill-down.                              |
| [BC Channel OOS per Channel](/nerve-centre/kpi-cards/bigcommerce/oos-listings-per-channel)      | Currently-OOS SKUs (already at zero); this card shows the trajectory toward zero.                          |
| [BC Inventory Distribution](/nerve-centre/kpi-cards/bigcommerce/inventory-distribution)         | Healthy-vs-OOS-vs-overstock distribution. Tells you whether your portfolio is balanced or skewed.          |
| [BC Top SKUs](/nerve-centre/kpi-cards/bigcommerce/top-skus)                                     | The velocity ranking; cross-reference to identify high-velocity-low-stock SKUs (the most urgent reorders). |
| [BC Top SKUs Revenue](/nerve-centre/kpi-cards/bigcommerce/top-skus-by-revenue)                  | The revenue-impact view; high-revenue-low-stock SKUs are the highest-leverage reorders.                    |
| [BC Alert OOS Spike](/nerve-centre/kpi-cards/bigcommerce/oos-spike-alert)                       | The OOS-trend alert; fires when many SKUs simultaneously approach zero.                                    |
| [Bottom Products](/nerve-centre/kpi-cards/bigcommerce/slow-moving-products)                     | The flip view; SKUs in this card with >180 days of stock are bottom-product candidates.                    |
| [`shopify.inventory_alerts`](/nerve-centre/kpi-cards/shopify/products-with-zero-negative-stock) | Cross-platform peer for stock-velocity reporting.                                                          |

## Reconciling against the vendor's own dashboard

**Where to look in BigCommerce Control Panel:**

[Products → View](https://login.bigcommerce.com/deep-links/manage/products) shows current `inventoryLevel` per product. [Reports → Inventory Snapshot](https://login.bigcommerce.com/deep-links/manage/analytics) on Pro / Enterprise plans gives a daily inventory level snapshot but does NOT calculate days-of-stock; you'd combine it with the [Sales Reports](https://login.bigcommerce.com/deep-links/manage/analytics) manually. **There's no native days-of-stock view in BC**, this card is one of the highest-value adds.

For warehouse-side truth, your ERP / 3PL system is the source-of-truth for physical inventory; BC's `inventoryLevel` should match the ERP within sync-lag tolerance.

**Why our number may legitimately differ from BC catalogue:**

| Reason                                                                                                                                                                                                                                 | Direction                               |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------- |
| **Multi-Location Inventory (MLI)**. Stores using MLI track per-location stock; we sum across locations by default. Per-location view available via toggle.                                                                             | Different aggregation by default        |
| **In-flight stock**. Stock that's been ordered from supplier but not yet received doesn't count in BC's `inventoryLevel`; we use BC's level only. To include in-flight stock, integrate ERP signals via the Vortex Mind ingestion API. | Vortex IQ LOWER than warehouse intent   |
| **Reserved stock**. BC reserves inventory for orders in `Awaiting Payment` / `Pending` states; we use net `inventoryLevel`. Pending orders that fail will release stock back.                                                          | Vortex IQ matches BC live               |
| **Velocity calculation period**. We use 30-day rolling velocity; BC reports may use 7-day, 30-day, or other windows.                                                                                                                   | Different denominators                  |
| **Refund / return restocks**. Refunded units that go back to inventory count in `inventoryLevel`; if your fulfilment doesn't actually restock returned items (damaged returns), the BC level overstates the practical stock.           | Vortex IQ may overstate practical stock |

**Cross-connector reconciliation (when ERP / 3PL integrations are available):**

| Card                                                                             | Expected relationship                                                                      | What causes legitimate divergence                                             |
| -------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------- |
| [`netsuite.ns_inventory_level`](/nerve-centre/netsuite/ns_inventory_level)       | NetSuite ERP inventory should match BC inventory within sync-lag (typically 5-15 minutes). | Sync-lag at peak hours; physical-vs-system discrepancies during cycle counts. |
| [`shipstation.ss_in_flight_stock`](/nerve-centre/shipstation/ss_in_flight_stock) | In-transit POs from suppliers; useful to add to days-of-stock for true reorder timing.     | Cross-reference manually; not auto-overlaid in this card.                     |

**The stock-vs-sales velocity calculation is BC-aligned with similar cards on Shopify (no native Shopify days-of-stock either) and Adobe Commerce; the velocity formula is identical across platforms.**

***

<details>
  <summary><em>Same-metric documentation cross-reference (for agencies running multiple platforms)</em></summary>

  * [`shopify.inventory_alerts`](/nerve-centre/kpi-cards/shopify/products-with-zero-negative-stock)
  * [`adobe_commerce.stock_vs_sales`](/nerve-centre/adobe_commerce/stock_vs_sales) (planned)
</details>

## Known limitations / merchant FAQs

**My new SKU has 3 days of stock and 2 units sold, real urgency or noise?**
Almost certainly noise. Velocity calculations on SKUs with \<50 lifetime units sold are unreliable; one good day distorts the 30-day average. Configure a min-lifetime-units filter (set to 30-50) to suppress new-SKU false positives. Or look at the absolute stock level: if 3 days = 6 units, that's not necessarily an emergency.

**Why does the days-remaining shift week-over-week even when stock is stable?**
Because velocity is rolling 30-day. A high-sales day rolling out of the window or a low-sales day rolling in changes the denominator. Smaller week-over-week shifts (±15%) are normal; larger shifts (>30%) signal real velocity change.

**Should I reorder when days remaining hits lead time, or before?**
**Before, with safety stock buffer.** A SKU with 21-day lead time should be reordered when days-remaining hits \~30 days, giving 9 days buffer for delivery delays, customs, supplier issues. Critical hero SKUs deserve 14-day buffer (reorder at 35 days remaining). Tail SKUs can run to lead-time exact.

**My MLI store, do I see per-location days-of-stock?**
Yes, toggle the per-location view. Per-location matters because a SKU with 30 days at Warehouse A and 0 days at Warehouse B is OOS for customers routed to B. Multi-location stores often have larger total stock than single-location but worse practical availability.

**Why are some SKUs showing >1000 days of stock?**
Either (a) the SKU's velocity is essentially zero (deprecated, seasonal-off-season, niche); (b) a recent inventory adjustment reset stock to a high number without selling many. Both are valid; the action is markdown / cut for (a), routine for (b).

**Should I cut all overstock automatically?**
**No.** Some overstock is strategic: pre-Black-Friday build, seasonal pre-stock for summer, B2B-volume products with long sell-through. Apply judgement: if the SKU has a clear seasonal sell-through coming, hold; if it's drifted into overstock with no plan, mark down or cut.

**My subscription SKUs show low days remaining but I auto-reorder, do I need to act?**
No, if your subscription auto-renewal triggers a supplier auto-reorder. Tag subscription SKUs with `auto_reorder = true` in BC; configure the card to suppress alerts on tagged SKUs. The card is for human-decision SKUs; subscription auto-loops should be silent here.

**What happens to the days-remaining when I'm OOS?**
Zero stock means days = 0 by definition. The card surfaces OOS at the top of the red band; the action is restock urgently or hide the listing. Cross-reference [BC Channel OOS per Channel](/nerve-centre/kpi-cards/bigcommerce/oos-listings-per-channel).

**Why does my variant view show different urgency than product view?**
Variants have independent stock and velocity. The product view averages; one urgent variant (King size duvet at 3 days) gets diluted by healthy variants (Queen size at 60 days). Always reorder at variant level for accuracy; use product view only for merchandising / category planning.

**A high-velocity SKU dropped to 0 velocity overnight, what happened?**
Either (a) the SKU went OOS and orders stopped (cross-check inventory level); (b) the SKU was hidden / disabled (check `availability` field); (c) a competitor pricing move (cross-check pricing); (d) marketplace listing issue (cross-check Channel Manager). Run the diagnostic; this card surfaces the symptom, not the root cause.

**Can I export this card to share with my buyer / supplier?**
Yes, the card supports CSV export. Common workflow: export weekly, share the red-band SKUs with the buying team's reorder spreadsheet, share the blue-band overstock with merchandising for markdown planning.

**My B2B portal sells in case quantities, does the velocity reflect cases or units?**
BC stores units regardless of sale unit; velocity here is in units. If your case = 12 units and you sold 5 cases, velocity = 60 units. Adjust mental math accordingly when planning reorders in case quantities.

***

### Tracked live in Vortex IQ Nerve Centre

*Stock vs Sales Velocity* is one of hundreds of KPI pulses Vortex IQ tracks across BigCommerce and 70+ other ecommerce connectors. Nerve Centre runs the detection layer; Vortex Mind investigates the cause when something moves; Ask Viq lets you interrogate any number in plain English.

[Start for free](https://app.vortexiq.ai/login) or [book a demo](https://www.vortexiq.ai/contact-us) to see this metric running on your own data.
