At a glance
The top-N products by revenue over the period. The merchandising answer to “where does the money come from?” at the SKU level. Rankings shift week-to-week for low-volume stores (any store with <500 orders/month should read on 30D+ windows for stability), and the ordering is sensitive to whether you measure by revenue, units, or order count. This card defaults to revenue ranking; toggle to units or count for different lenses. Pair with BC Bottom Products to see the full distribution and identify SKUs to delist.
| What it counts | SUM(line_total_inc_tax) GROUP BY product_id over the period. Each line item attributes to its parent product (variants roll up). Top 25 by default; toggle for top 50, 100, or full list. |
| VAT / tax treatment | Tax-inclusive at the line-item level. Per the BC Total Revenue treatment. |
| Shipping | Pro-rated shipping per line item (line_subtotal / order_subtotal * order_shipping). Approximation breaks for orders with item-specific shipping rates. |
| Discounts | Deducted at the line-item level for item-specific discounts; order-level discounts pro-rated across items. |
| Refunds | Not deducted by default. Top products show gross revenue. Toggle to “net” to see refund-adjusted (useful for finding products with high return rates). |
| Cancelled orders | Excluded. |
Incomplete orders | Excluded. |
| Currency | Multi-currency without FX; per-currency aggregation, with the dominant currency featured. |
| Channels / sources | All channels aggregate by default; per-channel toggle reveals different top-N lists. A SKU that’s #1 on web may not be on Amazon at all because of channel-specific listing strategies. |
| Variant rollup | Default rolls variants to parent product. So “T-shirt” sums all sizes / colours into one row. Toggle to “show variants separately” for SKU-level granularity. |
| Sample size warning | Below 500 orders, ranking is sensitive to single-customer purchases; one bulk order from a big customer can put a B2B-only SKU into the top 10. Use 90D windows for stable strategic ranking. |
| B2B Edition behaviour | B2B orders contribute large line-totals on bulk SKUs (often 50-1000 units per order). B2B-only SKUs can dominate the top-N in revenue terms while contributing tiny units of customer count. Filter to DTC if you want consumer-facing top products; aggregated views mix the two. |
| Time window | 30D (rolling 30 days; settings allow 7D, 30D, 90D, 180D). |
| Alert trigger | None directly; threshold alerts can fire if a top-5 product drops out of the top 10 (suggesting a stockout, listing issue, or competitor action). |
| Roles | owner, marketing |
Calculation
Worked example
A UK home-fragrance brand on BigCommerce, 30-day window 14 Apr 26 to 13 May 26.| Rank | Product | Units sold | Revenue (£) | Units share | Revenue share |
|---|---|---|---|---|---|
| 1 | ”Vetiver large candle” (CAN-LRG-VTL) | 856 | £42,800 | 7.3% | 18.4% |
| 2 | ”Wild rose diffuser 200ml” (DIF-200-WLD) | 568 | £28,400 | 4.8% | 12.2% |
| 3 | ”Oud medium candle” (CAN-MED-OUD) | 480 | £19,200 | 4.1% | 8.3% |
| 4 | ”Discovery gift set” (GFT-001) | 295 | £14,800 | 2.5% | 6.4% |
| 5 | ”Linen large candle” (CAN-LRG-LIN) | 246 | £12,300 | 2.1% | 5.3% |
| 6 | ”Sandalwood medium candle” (CAN-MED-SAN) | 220 | £11,000 | 1.9% | 4.7% |
| 7 | ”Refill candle, 4-pack” (CAN-RFL-4PK) | 158 | £9,500 | 1.4% | 4.1% |
| 8 | ”Vetiver diffuser 100ml” (DIF-100-VTL) | 195 | £8,800 | 1.7% | 3.8% |
| 9 | ”Travel candle, 3-pack” (CAN-TRV-3PK) | 142 | £8,500 | 1.2% | 3.7% |
| 10 | ”Reed refills, set of 8” (DIF-RFL-8) | 286 | £7,200 | 2.4% | 3.1% |
| Top 10 total | 3,446 | £162,500 | 29.4% | 70.0% |
- Top 10 = 70% of revenue from 29% of unit volume. Classic Pareto distribution: a third of units drive most of the revenue. This is healthy concentration; below 50% revenue share for top 10 means flat distribution (no flagships); above 80% means dangerous flagship dependency.
- The Vetiver large candle is the undisputed hero at 18.4% of revenue. A stockout on this single SKU costs ~£1,400/day. Reorder triggers should be aggressive; warehouse floor space should be allocated. This is the SKU that the entire P&L turns on; defend it.
- Refills (#7, #10) are stealth winners. Refills (CAN-RFL-4PK and DIF-RFL-8) appear in the top 10 with high unit-volume but lower per-unit revenue. These are subscription / retention indicators: customers buying refills are bonded to the brand. Consider a subscribe-and-save program for refill SKUs.
- Gift set (#4) is the breakout. £14,800 from 295 units = £50 average. Gift sets typically have 10-15% gross margin lower than singletons (curated bundle costs more to assemble) but generate 2-3x the customer-acquisition value (gift recipients become customers). Expand the gift-set range and double-promo around Mother’s Day, Christmas, Valentine’s.
- Three of top 10 are Vetiver-scented (CAN-LRG-VTL, DIF-100-VTL, and the Vetiver-included gift set). Scent concentration: vetiver is the brand’s signature note. Lean into the brand identity; develop more vetiver SKUs (small candle, room spray, body care extension).
- Defend top 5 inventory aggressively. Reorder triggers at 30 days of cover, not 14.
- Identify hero scent / category. If 3+ of top 10 share a theme, that’s the brand identity; develop adjacencies.
- Promote refills heavily. Refill customers are 2-3x more likely to repeat-purchase within 90 days; refill SKUs are LTV indicators.
- Audit the long tail (490 SKUs at 30% revenue share). Most have <5 units sold in 30 days; consider delisting or relaunching.
- Pair with BC Bottom Products to find the worst SKUs (often candidates for delisting).
- Pair with BC Top Refunded to find SKUs with high refund rates relative to sales; quality issues hide here.
Sibling cards merchants should reference together
| Card | Why pair it with Top Products |
|---|---|
| BC Bottom Products | The opposite tail. Often a bigger opportunity: which SKUs to delist or relaunch. |
| BC Top SKUs | SKU-level (variant) view; this card rolls variants into parents. |
| BC Top SKUs by Revenue | Same idea, sorted by revenue rather than unit count. |
| BC Top Refunded | High-refund SKUs hide here; cross-reference to find quality issues. |
| BC Refunded Products | Refund-rate per top product. |
| BC Revenue Breakdown | Composition view; this card is just the top tail of that. |
| BC Product Status | Top products should always be active and visible; cross-check. |
| BC Inventory Alerts | Top products are the most stockout-sensitive. |
| BC Stock vs Sales | Days-of-cover for top products; the inventory-management view. |
| BC Top Customers | Top products and top customers often correlate (specific high-value SKUs sold to specific high-value customers). |
| BC Product Margin | Top revenue products may not be top margin products; pair to see profitability ranking. |
| Total Revenue | Denominator. |
Reconciling against the vendor’s own dashboard
Where to look in BigCommerce’s own dashboard: The native view is BC Control Panel → Analytics → Insights → Top Products (Plus and Enterprise tiers) or Reports → Sales Reports → Sales by Product (all tiers). Both expose top-N products with revenue and unit columns; match the date range for direct comparison. For finance-grade audit, Settings → Data Solutions → Export → Orders (with line-item detail) provides the underlying data for spreadsheet pivot. Why our number may legitimately differ from the vendor’s:| Reason | Direction | Why |
|---|---|---|
| Variant rollup | Either | We default to parent-product rollup; BC Insights may show variants separately. Toggle either to match. |
| Time zone | Boundary days off | UTC vs store time zone. |
| Bundle handling | Either | BC counts bundle SKUs at parent revenue; line-item detail can show constituent SKUs. We follow BC’s parent-attribution. |
| Discount pro-rating | Either | Order-level discounts pro-rate differently in BC reports vs our index materialisation. ±0.5-2% per SKU normal. |
| Sync lag | Ours lower for last 30 minutes | Webhook fanout. |
| Refund treatment | Either | We default to gross (refunds not deducted); BC reports may show net. |
| Currency | Either | We aggregate per-currency; BC may convert. |
| Card | Expected relationship | Notes |
|---|---|---|
google_analytics.ga_top_products | Top-N list should overlap by ~80% | GA4 attributes by purchase event with item parameter; differs in the long tail. |
klaviyo.klaviyo_top_products | Email-attributed subset | Klaviyo only sees SKUs in email-driven purchases; long tail differs significantly. |