How should an agent decide where to buy?

Rank in-stock offers by effective_price_usd, drop members-only stores unless the shopper has that membership, treat coupons that need a code as conditional on their success rate, and use price_insight.verdict to say whether to buy now. Then recommend one retailer and state the numbers behind the choice. The procedure below turns a Cartroute response into a recommendation a shopper can trust.

What is the decision procedure?

  1. Pick the product. If several results match, confirm the exact model with the user before comparing prices. Offers under one product are the same model; check each offer's listing_title when the configuration matters.
  2. Filter offers. Keep availability.in_stock offers. Drop retailer.membership_required unless the shopper has that membership (or search with include_membership=false). Drop condition: "open_box" unless the shopper accepts open-box.
  3. Rank on effective price. Sort by effective_price_usd, never price_usd: shipping and coupons change the winner on a meaningful share of products.
  4. Check the coupon. If the winner's best_coupon.requires_code is true, give the code and mention success_rate when it is below about 0.85. If the next offer is within that coupon's saving, it may be the safer pick.
  5. Check timing. good_time_to_buy: say so. above_recent_average: suggest waiting and quote price_insight.reason. typical_price: no strong signal either way.
  6. Check delivery and returns when the user cares: delivery_days_max and retailer.returns_window_days can justify a slightly higher price.
  7. Recommend one retailer, with the effective price, what it includes (shipping, coupon) and a buy_url.

What does a good answer sound like?

"Buy it at Best Buy for $343.99, shipping included, new and sold by Best Buy. That's the lowest price across the three stores checked an hour ago, and matches the lowest price recorded for it. An eBay seller lists it $6 lower but doesn't state shipping."

Which mistakes should an agent avoid?

Is there a ready-made prompt?

Yes. The MCP server's find_best_deal prompt encodes this procedure; see MCP server.