Skip to main content
Card class: Non-HeroCategory: Ecommerce Platform

At a glance

Top N SKUs ranked by units sold in the 30D window. The unit-velocity view; pair with Top Products by Revenue for the £-weighted version.
What it countsSUM(lineItem.quantity) GROUP BY sku ORDER BY sum DESC LIMIT 50. Units sold per SKU, regardless of price.
VAT / tax treatmentNot applicable, count metric.
ShippingNot applicable.
DiscountsUnits count regardless of discount; the £-implications are visible in Top Products by Revenue.
RefundsRefunded units are NOT subtracted from the velocity here. A SKU with high refunds appears as high-velocity even though net is lower.
Cancelled / voided ordersExcluded if Shopify removed them from the index.
CurrencyNot applicable.
Channels / sourcesAll channels. POS contributes; B2B bulk orders may dominate top of list if you sell wholesale.
Time window30D (default 30D rolling)
Alert triggerNone directly; pair with stockout-velocity for ops alerts.
Rolesowner, operations

Calculation

Calculated automatically from your Shopify 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 apparel DTC brand on Shopify, ~1,800 active variants. 30D window 12 Apr 26 to 12 May 26.
RankSKUProductUnits sold (30D)Revenue (30D)Note
1LIN-TEE-SAND-MLinen tee, Sand, M240$7,200Unit price $30
2LIN-TEE-WHT-MLinen tee, White, M195$5,850Same product, different colour
3LIN-TEE-SAND-LLinen tee, Sand, L220$6,600
4TROUS-BLK-10Wide-leg trouser, Black, 10180$14,400Higher unit price $80
5TROUS-BLK-12Wide-leg trouser, Black, 12165$13,200
50SOCK-PACK-3Sock pack of 338$570$15 unit price
Top-50 totals4,820$162,400~38% of total units, ~31% of revenue
Six things to notice:
  1. The Pareto signature. Top 50 SKUs (~3% of catalogue) drive 38% of unit sales. Nearly every Shopify store sees this concentration; it’s healthy.
  2. Unit-velocity isn’t revenue-velocity. SKU rank-1 (Linen tee Sand M) sells most units but rank-4 (trouser Black 10) sells more revenue. Ranking by units alone misleads margin discussions; pair with Top Products by Revenue.
  3. Variant concentration matters. 3 of the top 5 are colour/size variants of one product (Linen tee). The brand has one viral product with deep variant assortment. Operationally this means stocking strategy is more about size-mix than SKU breadth.
  4. Sock pack at rank-50 is the threshold. 38 units/30D ≈ 1.3 units/day. Below this, SKUs aren’t candidates for safety-stock or ad-spend; they’re long-tail.
  5. Refund-impact hidden. If 20% of Linen Tee Sand M is refunded, gross velocity 240 hides net velocity 192. Pair with refund rates by SKU for net view.
  6. Marketplace orders included. If the brand sells via Shop Pay Buy Button on partner blogs, those order line items still attribute SKUs. The aggregate may include surprise top-rankers from one popular blog post.

Sibling cards merchants should reference together

Top SKUs is the unit-velocity view. Companions:
CardWhy pair it with Top SKUs
Top Products by RevenueThe £-weighted version; differs when unit prices vary across catalogue.
Stock vs Sales VelocityCombines top-velocity with on-hand to predict OOS.
Inventory DistributionAggregate band view; helps see whether top-velocity SKUs are well-stocked.
Products with Zero/Negative StockCross-reference: any top-50 SKU on this list is a five-alarm fire.
Bottom ProductsThe flip-side; slow-movers worth de-listing or marking down.
Total OrdersDenominator for Pareto-share calculations.
Top RefundedRefund-rate companion; refund-heavy top SKUs may need quality investigation.

Reconciling against the vendor’s own dashboard

Where to look in Shopify Admin:
Shopify Admin → Analytics → Reports → “Sales by product variant SKU” (under Sales)
The most direct equivalent. Pick the same window. SKU ranking should match this card to within sync-lag tolerance. Other Shopify Admin views:
  • Reports → Sales by product: aggregates variants under parent product; this card splits by SKU.
  • Reports → Inventory snapshot (Plus): inventory-side companion.
  • Apps like Stocky / Inventory Planner: typically expose unit-velocity rankings.
Why our number may legitimately differ from Shopify Admin:
ReasonDirectionWhy
SKU vs variant IDEitherShopify can group by either; we use SKU string. Variants without SKU populated will not appear here (see SKU Coverage).
Refund treatmentTheirs may differShopify Net Sales by SKU subtracts refunded units; we count gross.
Time zoneBoundaryUTC vs store time zone.
Bundle / kit handlingEitherBundles’ component SKUs may surface separately or as the parent bundle SKU; depends on app config.
Sync lagOurs lower for “today”Most-recent 5-15 min may not be in.
Cross-connector reconciliation:
CardExpected relationshipWhat causes legitimate divergence
amazon_sp.amazon_top_asinsIndependent inventory channelTop SKU on Shopify may not be top ASIN on Amazon; different channel demographics.
WMS / 3PL pick-velocity reportsShould align3PL pick reports show actually-picked-units; minor diff vs ordered-units due to substitutions and pick errors.

Known limitations / merchant FAQs

Why is my top SKU not what I expected? Three usual causes:
  1. Variant deep-dive surprise: a single colour/size combination can dominate. Often the “best-selling” colour in a product line is not the marketed hero.
  2. One-off bulk order: a B2B customer placing 200 of one SKU in a single order skews the 30D window.
  3. Influencer feature: a single creator’s post drove disproportionate demand on one SKU.
My catalogue has thousands of SKUs. How do I make sense of this? Use Pareto-tier segmentation:
  • Top 1-2% (the “A” tier): stock deeply, market hard, monitor daily.
  • Next 5-10% (the “B” tier): stock moderately, market periodically.
  • Bottom 80%+ (the “C” tier): minimum stock, optional discontinue.
This card is the A-tier identification tool. Why are my SKUs missing? Where did the data go? Variants without populated SKU strings don’t appear here. Pair with SKU Coverage. If coverage <95%, fix the catalogue first; this card is meaningless without it. Does this include POS sales? Yes. POS-sold units count toward the SKU velocity. For a brand with retail presence, SKUs popular in-store may dominate the rankings; the online-only velocity is different. Filter by sales channel in Shopify Admin for the online-only view. Why does my B2B account dominate the list? B2B buyers place bulk orders (50-500 units of one SKU per PO). On a 30D window, one B2B PO can move a SKU into the top 10. To filter B2B out: tag B2B orders with tag = "wholesale" and exclude in your reading. Should I rank by units or revenue? Both. Units = volume strain on ops and inventory. Revenue = financial weight. The top-by-units list tells you which SKUs to stock deeply; the top-by-revenue list tells you which SKUs to invest marketing in. They overlap but are not identical. Why does refund not lower SKU velocity? Design choice; we count gross sales. Refund-adjusted net-velocity is on the roadmap. For now, pair with refund-rate by SKU for context. My subscription store, do recurring billings count units? Yes. Each subscription billing creates a line item; the underlying SKU’s units count. Subscription SKUs often dominate top-velocity rankings even with modest customer counts because each customer recurs monthly. Action playbook for using Top SKUs:
  1. Daily ops check: confirm top-50 SKUs are not in OOS or Critical bands of Inventory Distribution.
  2. Weekly reorder review: pace POs based on current top-50 velocity, with safety stock for top-10.
  3. Monthly catalogue rationalisation: identify SKUs that haven’t appeared in top-300 in 6 months; candidates for clearance or discontinue.
  4. Quarterly merch refresh: top SKUs deserve premium PDPs, professional photography, hero placement.
  5. Marketing alignment: paid-media budget should bias toward top-50 SKUs; spending on long-tail SKUs is usually inefficient.
  6. Bundle building: top-velocity SKUs make natural bundle anchors; pair with complementary slow-movers to clear surplus.

Tracked live in Vortex IQ Nerve Centre

Top SKUs is one of hundreds of KPI pulses Vortex IQ tracks across Shopify 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 or book a demo to see this metric running on your own data.