At a glance
Top N products ranked by revenue in the 30D window. The £-weighted version of Top SKUs; aggregates variant-level lines into product-level totals.
| What it counts | SUM(lineItem.price × lineItem.quantity) GROUP BY product.id ORDER BY sum DESC LIMIT 25. Aggregates variant lines into parent product totals. |
| VAT / tax treatment | Inherits store’s tax-inclusion mode for line-item prices. |
| Shipping | Excluded; product-level revenue is line items only, not order-level shipping or tax. |
| Discounts | Deducted at line-item level (post-line-discount). Order-level discounts (e.g. site-wide 20%) apply proportionally. |
| Refunds | NOT deducted. A refund doesn’t unwind product revenue here. |
| Cancelled / voided orders | Included if Shopify indexed them. |
| Currency | Multi-currency arithmetic without FX. Filter by currency for cross-product comparison. |
| Channels / sources | All channels. Different products may dominate different channels; the blended ranking hides this. |
| Time window | 30D (default 30D rolling) |
| Alert trigger | None directly; pair with stockout / refund alerts on top SKUs. |
| Roles | owner, marketing |
Calculation
Worked example
A US activewear DTC brand on Shopify, ~280 active products. 30D window 12 Apr 26 to 12 May 26.| Rank | Product | Revenue (30D) | Units | Avg unit price |
|---|---|---|---|---|
| 1 | High-rise leggings | $182,400 | 2,280 | $80 |
| 2 | Sports bra (medium support) | $94,200 | 1,570 | $60 |
| 3 | Performance hoodie | $86,800 | 1,240 | $70 |
| 4 | Recovery shorts | $58,400 | 730 | $80 |
| 5 | Tennis skirt | $44,200 | 442 | $100 |
| … | ||||
| 25 | Sock 3-pack | $9,800 | 490 | $20 |
| Top-25 total | $648,000 | 8,420 | $77 avg | |
| All products (~280) | $1,164,000 | 14,200 | ||
| Top-25 share of revenue | 55.7% |
- Strong Pareto signature. Top 25 of 280 products (9% of catalogue) generate 55.7% of revenue. The top 5 alone do ~40%. Common pattern; the curve is steeper for newer brands and flatter for mature catalogues.
- Price points cluster. The brand sells most heavily in the 80 range. Items priced above $100 (tennis skirt, jacket) appear but in lower volumes.
- High-rise leggings is the franchise product. Single product driving 16% of total revenue. If this product OOS, the impact is enormous; cross-reference Inventory Distribution for its variants.
- Sock 3-pack at rank-25 ($9,800). A low-AOV add-on product that nonetheless makes the top-25 by aggregate volume. Confirms the basket-builder bundle strategy works.
- Top-products list should drive marketing weight. Each top-5 product deserves a dedicated landing page, hero photography, and disproportionate ad budget. Long-tail products at rank 26-280 share the remaining 44% of revenue, individually small.
- Refund-blind ranking. A “top product” with high refund rate is over-stated by this card. Pair with refund-rate by product (on roadmap as a card; today via order-line analysis) for net top-products.
Sibling cards merchants should reference together
Top Products by Revenue is the £-weighted product ranking. Companions:| Card | Why pair it with Top Products |
|---|---|
| Top SKUs | Variant-level cousin; useful when one variant dominates a product. |
| Bottom Products | Long-tail flip-side; candidates for clearance or discontinue. |
| Total Revenue | Aggregate; top-25 share calculation context. |
| Stock vs Sales Velocity | Forecast for top-product OOS risk. |
| Products with Zero/Negative Stock | Cross-reference; any top-25 product with OOS variants is high-priority. |
| Top Refunding Customers | Customer-level refund context. |
| Average Order Value | Top-product price tier influences AOV; high-priced top products lift AOV mechanically. |
| Discount % of Revenue | Top products are disproportionately featured in promo events; discount cost concentrates on them. |
Reconciling against the vendor’s own dashboard
Where to look in Shopify Admin:Shopify Admin → Analytics → Reports → “Sales by product” (under Sales)The most direct equivalent. Pick the same window. Product rankings should match this card to within sync-lag tolerance. Other Shopify Admin views:
- Reports → Sales by product variant SKU: variant-level, complements this product-level view.
- Apps like Glew, Polar Analytics: typically expose richer top-product analytics.
| Reason | Direction | Why |
|---|---|---|
| Refund treatment | Theirs may differ | Shopify Net Sales subtract refunded line items; we show gross. |
| Tax inclusion | Either | UK / EU VAT-inclusive products show higher absolute totals than US tax-exclusive. |
| Time zone | Boundary | UTC vs store time zone. |
| Multi-currency | Aggregate distortion | We don’t FX-normalise. |
| Bundle / kit handling | Either | Bundle apps may aggregate components differently; native Shopify Bundles split by component SKU. |
| Sync lag | Ours lower for “today” | Most-recent 5-15 min may not be in. |
| Card | Expected relationship | What causes legitimate divergence |
|---|---|---|
amazon_sp.amazon_top_asins | Independent ranking | Same physical product can rank differently on Amazon (different audience, different price). |
tiktok.tiktok_top_products | Different ranking criteria | TikTok Shop favours impulse-buy products; not the same as DTC top-revenue. |
Known limitations / merchant FAQs
Why is my new launch not in the top-25? A new launch needs ~7-14 days of sales to register meaningfully. Wait for the cohort to mature; if at 30 days post-launch it’s still not top-25, the launch likely under-delivered. My franchise product (top-1) is OOS. What’s the impact? Massive. If top-1 is 15-20% of revenue, a stockout = 15-20% revenue loss until restocked. Beyond raw revenue, the customers who came for that specific product churn (don’t substitute, don’t return). Pair with Stock vs Sales Velocity to confirm cover; if days-cover is <7, escalate reorder. Why is my top-product list stable month-to-month? Healthy. A stable top-5 means the brand has clear hero products with sustained customer demand. Volatile top-5 (different products each month) suggests the brand is launch-driven without a stable core; harder to scale paid acquisition and operations. Should I focus all marketing on top-5 products? Mostly yes, but balance:- 70-80% of paid-media budget should bias toward top-5 / top-10.
- 10-20% to test new products / mid-tier.
- 5-10% reserve for opportunistic / seasonal.
- Influencer / press feature: a creator post or media coverage spiked one product.
- Promo emphasis: an email campaign featured one product disproportionately.
- Seasonal shift: warm-weather products in spring, cold-weather in autumn.
- Operational priority: top-5 deserve daily inventory, fulfilment, and customer-service monitoring.
- Marketing priority: top-5 dominate paid-media and email campaigns.
- Product-page investment: top-5 deserve professional photography, video, detailed copy, customer-review highlights.
- Inventory safety stock: top-5 should have 1.5-2× normal safety stock; OOS impact is disproportionate.
- Pricing experiments: test price elasticity on top-5; small price changes have outsized revenue impact.
- Bundle-anchor selection: top products make natural bundle anchors; pair with complementary products to lift overall AOV.