Useful comparisons need honest boundaries.
BasketScout separates product identity, retailer offers, price observations, and model-assisted interpretation.
Where prices come from
Retailer URLs, prices, stock, and discounts must come from an approved feed, merchant API, authorised source, or explicitly labelled curated fixture. AI can normalize a query and rank candidate matches; it cannot invent a retailer URL, price, stock status, or discount.
How products are matched
Shopper search tries verified global barcodes, then exact brand/model, then canonical product text. Conflicting sizes and packs are excluded. You confirm the exact variant before comparing; model confidence never establishes catalogue identity.
Freshness and history
Current offers must pass source approval, freshness, stock and quarantine checks. History uses the same variant, market, currency and price context. Thirty- and ninety-day lows mean lowest observed in that window, not continuous coverage or lowest ever. Daily trends have no interpolated gaps; a versioned daily-percentile score requires at least 30 observed days. Item prices exclude unknown shipping and conditional cashback. Local stock and postcode refinement are currently unknown.
Prototype note
Shopper comparisons and product pages read persisted non-demo evidence. Empty or unavailable data is never replaced with generated prices. Real-source integration is still pending. The separate feed preview and marketing illustrations remain prototype fixtures, not live market evidence.