Research · 6 min read

Do Not Let Missing Supplier Data Score as Zero

ShareXLinkedInFacebook
Drop-IQ winning product score with unit economics and weighted formula
Score a product, then check the unit economics before you spend on ads.

A blank supplier field can quietly distort an otherwise sensible product score. If missing shipping cost becomes $0, the listing appears more profitable. If unknown delivery time becomes 0 days, it looks faster than every valid alternative. If blank stock becomes zero, a viable listing may be discarded.

None of those outcomes reflects what the supplier actually reported.

Live feeds change, fields fail to map, and some suppliers simply omit information. Before trusting a shortlist, decide what your formula should do when cost, shipping, stock, or delivery data is unavailable.

Separate zero from unknown

Zero is a real value. Blank is a lack of evidence.

Examples of valid zeroes include:

  • Free shipping with a confirmed shipping cost of $0
  • A supplier reporting zero units in stock
  • No transaction fee for a particular payment method

Examples of unknown values include:

  • No shipping quote for the customer’s country
  • A stock field that was not returned
  • A delivery estimate shown only after checkout
  • A variant with no current supplier price

Do not convert these unknowns to zero before scoring. Store them as null, blank, unavailable, or another explicit missing state.

This matters because scoring formulas often reward low values. A formula that awards more points for lower shipping cost or shorter delivery time will treat an unknown converted to zero as a perfect result.

Classify fields by how much they affect the decision

Not every missing field needs the same response. Divide inputs into three groups.

Critical fields

A listing cannot be evaluated without these. For most Shopify sellers, they include:

  • Product or variant cost
  • A usable shipping cost to the target market
  • Evidence that the selected variant is available
  • Enough price information to calculate landed cost

If one is missing, reject the listing from the ranked shortlist. It can remain in the database, but it should not compete with listings that have complete margin inputs.

A basic eligibility rule could be:

IF cost IS NULL OR shipping_cost IS NULL OR stock_status IS NULL THEN REJECT

Treating the listing as ineligible is not the same as saying the product is bad. It means there is not enough information to calculate whether it is viable.

Important but reviewable fields

These affect the decision, but a seller may still want to inspect the listing manually. Common examples are:

  • Delivery estimate
  • Exact stock quantity when an “in stock” status exists
  • Processing time
  • Tracking availability
  • Variant-specific warehouse location

Missing data here should usually send the listing to a manual-review queue, especially when its margin and demand indicators are otherwise acceptable.

Noncritical fields

These refine a score but do not determine basic viability. Depending on your strategy, examples might include:

  • Number of product images
  • Supplier order history
  • Packaging details
  • Optional trend signals
  • Secondary marketplace ratings

For these fields, assign a neutral value rather than zero. Neutral means “no positive or negative adjustment,” not “average quality has been verified.”

Use a gate before the weighted score

Do not ask one formula to handle both data quality and product attractiveness. Use two stages.

First, apply an eligibility gate:

eligible = cost_known AND shipping_known AND availability_known

Then score only eligible listings:

score = 0.35*margin_score + 0.25*roi_score + 0.20*trend_score + 0.10*delivery_score + 0.10*stock_score

This prevents a strong trend score from compensating for a missing cost. No amount of apparent demand can make an unknown landed cost suitable for automated ranking.

You can also add an explicit review rule:

IF eligible AND delivery_days IS NULL THEN REVIEW ELSE RANK

That produces three useful outcomes:

  1. Reject: Critical information is missing.
  2. Review: The listing may be viable, but an important field needs verification.
  3. Rank: The listing has enough data for normal scoring.

Worked example: why zero creates the wrong winner

Assume a store plans to sell a product for $39. The formula uses:

  • Margin score: 50%
  • Delivery score: 30%
  • Stock score: 20%

Two supplier listings appear in the feed.

| Field | Listing A | Listing B | |---|---:|---:| | Product cost | $15 | $14 | | Shipping cost | $5 | Blank | | Landed cost | $20 | Unknown | | Delivery | 8 days | Blank | | Stock | 120 units | 80 units |

Listing A has a gross profit before Shopify, payment, advertising, returns, and tax costs of:

$39 - $15 - $5 = $19

Its gross margin on the sale price is:

$19 / $39 = 48.7%

Listing B cannot be calculated because shipping is unknown.

Suppose the system incorrectly converts blanks to zero. Listing B would appear to have:

  • Landed cost: $14 + $0 = $14
  • Gross profit: $39 - $14 = $25
  • Gross margin: $25 / $39 = 64.1%
  • Delivery time: 0 days

The incomplete listing would likely outrank Listing A on both margin and delivery. Yet neither result is supported by supplier data.

Under an explicit missing-data policy:

  • Listing A enters the ranked shortlist.
  • Listing B is rejected because shipping cost is critical.
  • If a shipping quote is later obtained, Listing B can be rescored.

For checking the margin impact of known product and shipping costs, use the Drop-IQ profit calculator. Keep uncertain values out of the calculation rather than entering zero merely to produce an answer.

Choose neutral values carefully

For normalized fields scored from 0 to 100, a neutral value is often 50. That can work when the missing field is genuinely noncritical.

For example:

image_score = IF image_count IS NULL THEN 50 ELSE NORMALIZE(image_count)

However, neutral values can accumulate. A listing with many missing fields may receive a respectable score despite having little supporting data. Add a completeness rule, such as:

IF noncritical_fields_missing >= 3 THEN REVIEW

Another option is to calculate a separate data-confidence score. Keep it outside the product score so that “promising product” and “well-documented listing” remain distinct concepts.

Build a useful manual-review queue

A review queue should say why each listing is there. Include:

  • Missing field
  • Supplier and variant
  • Target destination used for shipping
  • Last feed update
  • Current landed-cost estimate, if available
  • Score excluding the missing field
  • Action required

Useful actions might be “request shipping quote,” “confirm stock,” “check delivery estimate at checkout,” or “find an alternate supplier.”

Do not let review items sit indefinitely. Supplier prices and availability move, so record when the listing was checked and expire stale reviews.

Apply the policy at variant level

Supplier data is often complete for one variant and missing for another. A product-level average can hide that difference.

A black medium variant may have a known cost, local stock, and an eight-day estimate, while a blue large variant has no shipping quote. Score those variants separately. If your Shopify offer requires all advertised variants to be available, add a rule that rejects the product when a required variant lacks critical data.

Next step

Write down your policy for each input before changing the scoring formula: reject, neutral, or manual review. Then test it on a small set of live listings, including deliberately incomplete records. The honest goal is not to rescue every listing; it is to ensure that unknown data cannot masquerade as favorable data.

ShareXLinkedInFacebook

← All articles