HoverBot™
Back to Blog

Technical

A Shopper’s Price Limit Belongs in Retrieval, Not the Reply

Vitaly Goncharenko5 min read
A Shopper’s Price Limit Belongs in Retrieval, Not the Reply

In short

A shopper’s budget is a constraint on the product shortlist, not a preference for the reply model to remember. Pass the ceiling into catalogue retrieval, verify the price of the purchasable variant, and say plainly when no item qualifies. A fluent answer cannot repair a shortlist that already crossed the limit.

A shopper says “under $700.” The catalogue search finds six good matches, but the cheapest is $749. The assistant can write a perfect sentence about budget-friendly choices and still be wrong. The mistake happened before it wrote a word.

Product search often starts with the nouns in a message: snowboard, jacket, desk chair. A price phrase can be reduced to background context while a keyword search returns plausible products. Once those products reach the reply model, asking it to “respect the budget” is a weak repair. The shortlist has already broken the shopper’s rule.

Treat the Ceiling as Part of the Query

Separate the request into product meaning and hard constraints. The product meaning helps rank relevant matches. The ceiling limits which matches are eligible at all. Apply the limit in the catalogue query where the source supports it; otherwise filter the retrieved candidates before ranking and answer generation. Do not let relevance put an over-budget item back into the answer.

This is an ordinary catalogue capability, not a prompt trick. Shopify’s product filter includes a price range, and its range definition has an explicit maximum. A chatbot can use the same principle even when its store has a different search interface: carry the ceiling as structured search input, then verify what came back.

Check the Item That Can Be Bought

A product card may say “from $649,” while the size or finish the shopper wants costs more. Shopify distinguishes a product’s minimum and maximum variant prices. That distinction matters in conversation: a qualifying starting price does not make every variant eligible.

Before naming a choice, check the actual available variant and the currency in which its price is shown. Keep sale and regular prices distinct. If the assistant cannot identify a purchasable choice inside the ceiling, it should not hide behind the product’s lowest possible price. This is the approach we use in HoverBot: the catalogue decides eligibility, while chat explains the eligible choices.

Make No Match an Honest Answer

An empty result is information. Say that nothing currently matches the product request within the budget. Offer to change the ceiling or another preference, but let the shopper make that choice. Quietly showing a near miss turns a stated constraint into an undisclosed suggestion.

Test the boundary, not just the prose. Place products just below and above a ceiling. Add one product whose variants straddle it and another that is unavailable. Follow every route the assistant uses to search, refine and recommend. Inspect both the retrieved shortlist and the final answer. If either contains an item outside the limit, the conversation has not kept its promise.

Frequently asked questions

Where should a chatbot apply a shopper’s price limit?
Apply the limit before ranking products or asking a language model to describe them. The catalogue query should return only purchasable choices within the ceiling. Then check the selected variant price again before the recommendation is shown. A final wording instruction alone cannot reliably remove over-budget products from a shortlist.
What if a product has variants on both sides of the budget?
A product-level starting price is not enough to promise that the recommended item fits. The assistant should identify the specific size, colour or configuration it is offering and compare that purchasable variant with the shopper’s ceiling in the relevant currency. If only a different variant qualifies, name that distinction clearly.
What should the chatbot say when no products fit?
It should say that the current catalogue has no matching item within the stated limit, then offer a useful next choice: change the budget, relax another preference or ask a person. It should not quietly raise the ceiling or recommend a near miss as though it met the request. The shopper owns that trade-off.
How can a team test a budget-aware product chatbot?
Use catalogue cases with items just below, exactly at and just above the ceiling, including products with differently priced variants and unavailable stock. Check the retrieved shortlist as well as the final words. Repeat the cases across every search route the assistant can use, because one unfiltered path is enough to break the promise.

Sources

  1. ProductFilter · Shopify
  2. PriceRangeFilter · Shopify
  3. ProductPriceRange · Shopify

About the author

Vitaly Goncharenko

Founder & CEO at HoverBot

Founder of HoverBot, where he leads product strategy and applied AI architecture, and CTO and co-founder of WTFox.ai, a separate company. Nineteen years in software engineering, most recently as Software Architect at Mercer, where he shipped HR chatbots and OCR claims processing on Azure AI, and as tech lead at Darwin and Technosoft SEA, after engineering roles at Sberbank, Veon, and Softline. Hands-on with architecture decisions, deployment operations, and benchmark-driven quality optimization. Based in Singapore.

  • 19 years of software engineering, architecture, and engineering leadership
  • Founder of two separate AI startups: HoverBot and WTFox.ai
  • Applied AI: conversational systems, RAG pipelines, agentic workflows, and safety controls
  • Enterprise AI delivery: HR chatbots and OCR claims processing on Azure AI at Mercer
  • Led engineering teams of 10+ as tech lead and software architect
  • Cross-industry: enterprise HR and benefits, banking, telecom, automotive, e-commerce and marketplaces
  • Writes on AI chatbot architecture, agentic systems, and deployment patterns at vitaliks.me

Related Articles