Analyze Shopify store data and prioritize product, inventory, and revenue opportunities.
View on Shopify App Store ↗How to Choose BFCM Products Using Inventory and Margin
Build a BFCM product shortlist using sellable stock, campaign allocations and realistic order costs, with an illustrative tote-and-pouch comparison.

A bestseller can be a poor BFCM headline product if its sellable stock is already spoken for or the planned offer leaves too little to cover the order. Build a shortlist at variant level, then decide how much exposure each product can support. The result should be a promotion decision with an owner and a limit, rather than a ranking that quietly becomes a sales forecast.
Start with a dated product card
For each candidate, record the exact variant, fulfillment location, current available quantity, proposed campaign allocation, regular price, planned discount and cost source. Add recent sales and returns as context, with the reporting period attached. A popular color does not establish demand for every size, and last year's holiday sales do not guarantee this year's result.
Make missing data visible. If a variant has no reliable item cost, mark its economics unverified and assign someone to resolve it before approving paid promotion. If stock is split across locations, check which location can fulfill the campaign's orders instead of treating every physical unit as interchangeable.
Count sellable inventory once
Shopify's inventory-state documentation distinguishes on-hand stock from available stock. On hand includes committed, unavailable and available units. Incoming inventory is separate and is not available to sell until received and moved into the appropriate state. Verify the variant and location shown in your admin.
Use available units as the starting point for campaign planning. Do not subtract committed orders again from an available quantity that already excludes them. Likewise, if a safety buffer is already recorded as unavailable, do not deduct that same buffer a second time. A separate allowance for ordinary orders can still be a deliberate planning choice; label it clearly.
A spreadsheet campaign allocation does not itself reserve inventory or enforce a storefront purchase limit. Identify the actual inventory settings, monitoring process and person responsible for stopping or changing the promotion. Treat expected replenishment as a separate scenario until the stock is genuinely ready to fulfill.
Work from the proposed selling price
Calculate an illustrative contribution per order as: merchandise receipts after the planned discount, plus shipping receipts, minus item cost and the other variable costs of fulfilling that order. State what is included. Packaging, payment processing, fulfillment, shipping expense and an estimated returns allowance can matter, but avoid counting the same cost in two places.
This planning calculation is different from a Shopify product gross-margin report. Shopify's profit-report documentation explains that cost coverage depends on costs recorded when products sell, and that discounts and refunds affect reported gross margin. Check missing costs before interpreting a report as a complete picture. Product gross profit also does not establish your final business profit after every expense.
A Shopify Community discussion about BFCM break-even checks makes a similar case for reviewing costs before discounts. Its author discloses building a discount app; treat that contribution as a vendor perspective, not evidence of typical merchant results.
An illustrative tote-and-pouch shortlist
The following figures are hypothetical, in USD, and refer to one variant of each product at one fulfillment location. Each calculation assumes a single-unit order, zero shipping receipts, no additional stacked discounts and no tax receipts included in the calculation. The variable-cost estimates are invented planning inputs, not a published payment or shipping rate.
Canvas tote: 36 units on hand consist of 12 committed, 6 unavailable and 18 available. The merchant allocates 10 of those available units to the campaign and leaves 8 for ordinary orders. A $52 regular price with a 25% discount becomes $39. With $24 item cost and $8 of other variable order costs, the illustrative contribution is $39 − $24 − $8 = $7 before acquisition spending and fixed costs.
Navy zip pouch: 130 units on hand consist of 15 committed, 5 unavailable and 110 available. Another 40 incoming units are excluded from the current allocation. The merchant allocates 90 available units to the campaign and leaves 20 for ordinary orders. A $30 regular price with a 20% discount becomes $24. With $9 item cost and $7 of other variable order costs, the illustrative contribution is $24 − $9 − $7 = $8 before acquisition spending and fixed costs.
The pouch has more campaign capacity and a slightly larger contribution under these assumptions, despite its lower selling price. That makes it a candidate for broader exposure only if demand evidence and fulfillment capacity support the decision. The tote could receive a bounded promotion or remain at its regular price. Neither allocation predicts how many units will sell.
Acquisition spending can change the decision again. If the same illustrative single-unit order costs $6 to acquire, the tote leaves $1 and the pouch $2 before fixed costs. A merchant requiring at least $3 after acquisition would reject both offers as currently modeled. Revise the offer, costs or channel assumptions before committing; a higher revenue total would not repair a negative order calculation.
Give each candidate a role and a stop condition
Choose a role such as broad campaign candidate, limited exposure, or hold for review. Beside it, record a minimum acceptable contribution, a stock checkpoint, the person who can change the offer and an approved replacement product. Recheck when costs, discounts, inventory availability or fulfillment conditions change.
Keep the decision conditional. Abundant stock can reflect weak demand. A low-cost item can still create expensive returns or handling work. If orders commonly contain several products, rebuild the example around those actual baskets and allocate shared order costs consistently instead of multiplying a single-unit estimate mechanically.
Use AISellor to investigate the shortlist
AISellor: AI Retail Analytics lists inventory-risk scanning and product, order and revenue analysis among its capabilities. It can help organize questions about a candidate product and surface signals worth inspecting. Check the data and features available in your selected plan, then verify any suggested action against your inventory and cost records before applying it.
For example, ask which candidate variants need an inventory review and which sales changes deserve investigation. Then attach the underlying report and timestamp to the product card. The app's listing does not establish that every merchant has complete cost data or that an AI suggestion can guarantee demand, profit or an enforceable stock allocation.
Approve products before writing the offer copy
Before sign-off, confirm the exact variants, fulfillment locations, available quantities, campaign allocations, selling prices, cost assumptions and stop conditions. Give unresolved items an owner. Move approved products into your BFCM offer calendar so the advertised scope matches the assortment decision.
Finally, rehearse the actual basket and storefront experience using the BFCM store stress-test guide. This shortlist answers which products can support the proposed campaign; the rehearsal checks what a shopper will actually encounter.
Documentation and app listing checked October 29, 2026. All worked-example quantities and dollar amounts are illustrative. The feature image is an AI-generated illustration.


