Items where the wholesale unit cost we charge Costco is materially below our own DTC list price. MAP-compliance + margin signal.
At a glance
Cross-channel comparison: items where the supplier’s Costco wholesale unit cost is materially below the supplier’s own DTC retail list price for the same SKU. Bar chart of items by parity ratio. Two business signals in one card. (1) MAP-compliance risk: Costco’s per-unit retail price (typically wholesale unit-cost × ~1.15 for the warehouse-club mark-up) ends up below the supplier’s DTC list, which can violate the supplier’s own MAP (Minimum Advertised Price) policies that the supplier publishes to other DTC channels. (2) Margin signal: items where the wholesale-vs-DTC gap is widest are the lowest-margin items in the Costco channel; persistent low-margin items across the catalogue erode the channel’s contribution. The card joins Costco SIP’s purchase_order line-item costs to the supplier’s commerce sibling (Shopify, BigCommerce, Adobe Commerce) product list price for the same SKU.
| What it counts | JOIN costco_sip.item_master TO commerce_sibling.product BY supplier_sku/UPC WHERE costco.cost_per_unit < commerce_sibling.list_price * 0.7. The 70 percent threshold is the alert trigger; the chart shows every item with the parity ratio (costco.cost_per_unit / commerce_sibling.list_price). |
| API endpoint | Two-side join. Costco-side from EDI 850 PO line-item unit_cost plus item-master wholesale_cost; commerce-side from Shopify Storefront API GET /products/{id} variants[].price, BigCommerce /v3/catalog/products price, or Adobe Commerce /V1/products/{sku} price. Joined by supplier_sku or UPC (whichever is present on both sides). |
| Threshold rationale | The 70 percent threshold approximates the typical wholesale-to-retail margin in retail-club channels (Costco’s own mark-up on items rarely exceeds 15 percent above wholesale cost). When wholesale cost dips below 70 percent of the supplier’s DTC list, the on-shelf price at Costco lands below 80 percent of the DTC price, which is roughly the threshold where MAP-policy violations become a brand-protection concern. |
| Cross-channel only | Card requires a connected commerce sibling (Shopify, BigCommerce, Adobe Commerce). If no commerce sibling is connected the card is not visible in the Nerve Centre. |
| Currency / FX | All figures normalised to USD (Costco SIP US program). For Costco Canada SIP the card normalises to CAD. The commerce-sibling price is converted at the day’s FX rate if the commerce sibling lists in a different currency. |
| MAP-policy nuance | The card flags pricing-parity gaps; whether the gap actually violates MAP depends on the supplier’s published MAP policy and the tolerance the supplier applies to wholesale partners. Costco specifically negotiates MAP exemptions in many supplier contracts; the card is a flag for the merchant team to review, not an automatic violation. |
| Time window | 30D (rolling 30-day average; daily values are noisy because not every item ships every day on Costco POs). |
| Alert trigger | Costco unit-cost <70% of DTC list. Triggers when any active item crosses the 70 percent threshold. |
| Cross-channel only flag | only_when: has_commerce_sibling. Card hides if no commerce-sibling connector is integrated. |
| Roles | owner, finance, sales |
Calculation
Calculated automatically from your Costco SIP data. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.Worked example
The same US household-goods supplier on Costco SIP plus a connected Shopify DTC site. Reading taken at 09:00 PT on 11 Mar 26 for the trailing 30 days.| Item | Costco unit-cost (USD) | DTC list (Shopify, USD) | Parity ratio | Implied Costco shelf price (cost × 1.15) | DTC list vs Costco shelf gap |
|---|---|---|---|---|---|
| 24-pack premium paper towels | 12.40 | 22.99 | 53.9% | 14.26 | -38.0% |
| 36-pack premium paper towels | 17.85 | 32.99 | 54.1% | 20.53 | -37.8% |
| Glass storage 8-piece set | 19.50 | 32.99 | 59.1% | 22.43 | -32.0% |
| Travel toothbrush 4-pack | 7.20 | 11.99 | 60.1% | 8.28 | -30.9% |
| Bamboo paper towels 12-pack | 16.40 | 21.49 | 76.3% | 18.86 | -12.2% |
| Recycled paper towels 24-pack | 13.95 | 17.99 | 77.5% | 16.04 | -10.8% |
| Items below 70% threshold (this card) | 4 items |
- The two paper-towel SKUs at ~54 percent are the headline risk. Costco’s implied shelf price on the 24-pack (USD 14.26) is around 38 percent below the DTC list (USD 22.99). Customers comparing prices online will see the gap and the supplier’s other DTC retailers (Walmart.com, Amazon DTC, brand.com) may flag MAP-compliance concerns. The supplier needs to either (a) raise the wholesale cost to Costco at next contract review, (b) lower the DTC list to narrow the gap, or (c) propose a Costco-exclusive pack-size (24-pack at Costco vs 12-pack at DTC) that prevents direct comparison.
- The two items at ~59 to 60 percent are moderate risk. Same logic but smaller gap. Often resolvable through Costco-exclusive variants (Glass Storage 8-piece set at Costco vs 4-piece at DTC) without contract renegotiation.
- The two items above 70 percent are healthy. The card surfaces them in the chart for context but the alert does not fire on these. The 12-pack bamboo (76.3 percent) and 24-pack recycled (77.5 percent) are at parity ratios consistent with normal wholesale-vs-DTC economics; no action needed.
- The 70 percent threshold is configurable. Suppliers with stricter MAP policies (luxury, premium-tier brands) may want to tighten to 75 or 80 percent. Suppliers in highly price-competitive categories (commodity household goods) may want to relax to 65 percent. Configure at the integration layer.
- Pair with Items Delisted This Week. Items where the parity ratio is very low are sometimes Costco-buyer favourites because Costco gets a strong on-shelf price; items where the parity ratio is too high are sometimes flagged for
velocity_below_thresholddelisting because the on-shelf price is uncompetitive in Costco’s category. Both extremes carry risk.
Sibling cards merchants should reference together
Pricing Parity is a cross-channel margin and brand-protection dial. Pair with these:| Card | Why pair it with Pricing Parity | What the combination tells you |
|---|---|---|
| Average PO Value | Channel-level margin context. | Falling AVP at fixed parity ratios = Costco buyers ranging fewer SKUs per order; falling AVP with falling parity ratios = supplier dropped wholesale prices to chase volume. |
| Items Delisted This Week | Items where parity is too high may be at velocity-cut risk. | High parity ratio = uncompetitive on-shelf price = lower velocity = higher delisting risk; pair to identify items at structural risk. |
| Weekly PO Value | Total channel revenue. | If pricing parity tightens (cost-up at Costco), weekly PO value typically dips; the cost-vs-volume trade is finance’s call. |
| Costco Account Health Score | Composite health view. | A health score holding while parity widens can mask MAP-compliance risk that surfaces later as brand-level commercial issues. |
Cross-connector: shopify.product_sales_velocity | DTC velocity for the same SKU. | Strong DTC velocity at higher list price suggests the brand has pricing power; weak DTC velocity at higher list price may mean the DTC list is itself too high and the parity gap is the supplier’s own pricing inconsistency, not Costco’s fault. |
Cross-connector: shopify.aov | DTC AOV trend. | Falling DTC AOV alongside Costco price-stability widens the parity gap without supplier action; sometimes the answer is to raise DTC pricing rather than negotiate Costco. |
Cross-connector: bigcommerce.bc_aov | Same logic, BigCommerce-side suppliers. | If the supplier runs BC instead of Shopify, this is the equivalent. |
Cross-connector: amazon.amzn_buybox_share | Marketplace pricing competition. | If the supplier also sells on Amazon, low parity ratio at Costco can ripple into Amazon buybox losses (third parties buying at Costco and reselling at lower than supplier list on Amazon). |
Reconciling against the vendor’s own dashboard
Where to look in Costco’s own portal: Costco Supplier Portal → Item Master → Pricing shows the wholesale unit-cost Costco has on file for each item; compare against this card’scostco.cost_per_unit to verify parity. Costco does not publish on-shelf retail price in the supplier-facing portal; on-shelf prices are observable on costco.com or in-store and are typically wholesale cost × ~1.10 to 1.18 depending on category and warehouse-club mark-up policy.
Why our number may legitimately differ from Costco’s portal:
| Reason | Direction | Why |
|---|---|---|
| PO line-item cost vs item-master cost | Either | The card uses the average PO line-item unit_cost over 30 days, which captures negotiated price changes during the period. The portal shows the current item-master price, which is the snapshot. Both are valid; they answer different questions. |
| Cross-region price differences | Either | Costco SIP US, Canada, Mexico, UK, AU each have their own wholesale price; the card reads the integration scope. If the supplier has multi-region SIP and only US is integrated, the parity ratio reflects US only. |
| DTC list price vs DTC sale price | Card uses list | The DTC side reads list_price (Shopify compare_at_price if set, otherwise price). Promotional sale prices are not used; the card represents the steady-state parity, not the temporary-promotion parity. |
| GTIN / UPC matching gaps | Some items missing | If the Costco item-master and the commerce-sibling product list do not share a clean GTIN / UPC, the card cannot join the two and the item is excluded from the parity calculation. Pair with Items with Field Drift. |
| Currency / FX | Either, small | Cross-currency comparisons (Costco UK SIP in GBP vs Shopify US in USD) are normalised at day-of-read FX from the Federal Reserve; the portal does not normalise. |
| Card | Expected relationship | Causes of legitimate divergence |
|---|---|---|
shopify.product_sales_velocity | DTC velocity at the listed DTC price. | Velocity reflects whether the DTC list price is competitive in the DTC market; parity reflects whether the wholesale-to-DTC gap is healthy. |
amazon.amzn_buybox_share | Buybox loss can be triggered by third-parties undercutting from Costco. | The link between low-parity-ratio at Costco and buybox loss at Amazon is real but not deterministic; not every low-parity item triggers buybox loss. |
Known limitations / merchant FAQs
My Costco wholesale cost is supposed to be lower than my DTC list. Isn’t that the point of wholesale? Yes, but the question is “how much lower”. A wholesale-to-DTC ratio of 75 to 85 percent is healthy and gives Costco a normal warehouse-club margin while preserving the DTC channel’s price integrity. A ratio below 70 percent often means Costco’s on-shelf price will be far enough below the DTC list to create MAP-policy violations on other DTC channels (third-party Amazon sellers, brand.com, retail partners). The card is not flagging “wholesale is cheaper than DTC”, it is flagging “wholesale is cheaper than typical wholesale economics suggest”. Costco specifically asked me to negotiate a wholesale price below 70 percent of DTC. Is the alert wrong? The alert is correctly flagging the parity gap; whether the gap is acceptable is a commercial decision. Some Costco supplier contracts explicitly negotiate “MAP-exempt pricing” where the supplier accepts a tighter wholesale-DTC gap in exchange for ranging or volume commitments. The card surfaces every gap below the threshold; you decide which gaps are policy-aligned and which are policy-violations. Suppress the alert per-item if the gap is contract-specified. My DTC list moved up but my Costco wholesale is fixed by contract. The parity widened. Is this fine? Mostly yes, with a caveat. Widening parity (Costco wholesale becoming a smaller share of DTC list) is the supplier’s preferred direction; Costco’s on-shelf price becomes a smaller discount vs DTC, MAP risk reduces. The caveat: Costco’s ranging team monitors on-shelf-price-vs-DTC-list and may flag items where the on-shelf price has crept too high vs the DTC; this can put items at velocity-cut risk because Costco competes on price. Track Items Pending Review to catch this. The card flags an item but the SKU code doesn’t match between Costco and Shopify. How is the join happening? The card joins onsupplier_sku first; if that fails, falls back to UPC/GTIN. If neither matches, the item is excluded from the calculation. Pair with Items with Field Drift to identify items where the join failed; usually the supplier needs to align SKU coding between the two systems.
My DTC site runs frequent promotional sale prices. Should the card use sale price or list price?
List price by default. Promotional sales are time-limited and the parity gap based on sale price would oscillate. The card uses Shopify compare_at_price if set (the strikethrough list price during a sale) or price otherwise. For suppliers who run permanent sale-priced merchandising (the DTC list price is rarely the actual selling price), the card’s reading may overstate the parity gap; configure the integration to use a custom effective_price field if needed.
MAP policy violations are not a Costco issue. Why is this on the Costco card?
Cross-channel context. The card lives on the Costco connector because Costco is the channel that drives the wholesale-cost decision; the consequences play out across other channels. Pair with amazon.amzn_buybox_share and shopify.product_sales_velocity to see the cross-channel ripple.
Can I configure the threshold per-category?
Yes, at the integration filter layer. Suppliers with mixed-category catalogues sometimes set tighter thresholds on premium categories (75 percent) and looser thresholds on commodity categories (65 percent). The default 70 percent is a reasonable single-threshold compromise.
The card shows 4 items below threshold but my buyer says only 2 are on Costco shelf. Why the gap?
Two possibilities. (1) Item-master timing. Items can be on Costco’s item-master with a wholesale price set but not yet on shelf (Costco runs setup periods 2 to 6 weeks ahead of go-live). Pair with the item’s is_active_warehouse flag. (2) Channel-specific pricing. Costco may have different on-shelf pricing for warehouse-club vs costco.com vs Costco Business Center; the card reads the unified item-master price.
Do I need to do anything when the alert fires?
Same-day review by the commercial team. The action depends on the cause: (1) negotiate wholesale price-up at next contract review (slow path, 6 to 12 months), (2) raise DTC list price (if competitive market allows), (3) propose a Costco-exclusive variant or pack-size that prevents direct comparison, (4) update the supplier’s MAP policy to reflect the wholesale partner’s negotiated exception, (5) accept the gap and flag for brand-policy review at year-end. Most suppliers do (3) over time as the cleanest commercial answer.
Costco buys at 65 percent of DTC and sells at 75 percent of DTC. Margin is fine. Why does the card flag?
Because the card is a parity-ratio dial, not a margin dial. The 65 percent wholesale-to-DTC ratio is what the card flags; the on-shelf-price-to-DTC ratio (75 percent) is a separate calculation. If the supplier is comfortable with the on-shelf gap, suppress the alert at the integration level; if uncertain, the card’s flag is a useful prompt to verify the on-shelf gap before declaring the situation healthy.