ShopTools AI selects coupons from a catalog, but a card's position does not establish eligibility. Ranking is an engineering task of choosing candidates to test, not promising an outcome for every cart.

The source describes a proposed, partially implemented trust model. This is a reference contract for an evidence score. It does not establish that current ShopTools has a calibrated success probability or the complete system described here.
Define what each signal measures
- Domain and country matches describe relevance; a stated validity period describes terms supplied by a source.
- Store acceptance is not a lower total. A measured decrease belongs to one specific, comparable order.
- An impression, click or copy records interest. Do not count it as a successful application.
- Keep user feedback separate from cart observations: a vote may concern another country, item or simply the interface experience.
Design the evidence record first
The proposed record links offer_id, store_host, region, source type and validity bounds. Feed-update time, last successful measurement and last failure need separate fields.
Distinguish a verified decrease, a verified rejection and an unknown result. Each observation needs a timestamp and provenance. Do not populate counters with demo values or turn missing data into zero.
If a code hash links observations, limit its scope and access. Hashing is not anonymization or permission for indefinite retention. Removing the literal code does not remove the risk of linking technical records.
An internal priority need not be a percentage
Start with an explainable order based on completeness, store match, region, validity and evidence freshness. Make ambiguity penalties explicit. Until weights are evaluated against observations, the score is a heuristic, not a probability.
One success or failure cannot provide a stable estimate for every shopper. Smoothing can limit extreme small-sample values, but cannot repair sampling bias. Unknown attempts should not silently become failures.
Examine the sample before calibrating
Highly ranked codes get more exposure and more attempts. Counting only those attempts can make the ranking reinforce its own choices. Analyze duplicates, stores, regions and observation conditions rather than a single vote balance.
A probability claim needs held-out data and comparisons with an outcome defined in advance. Check calibration across segments and time. Even sound evaluation on a past period cannot promise the outcome of an individual order.
Freshness and quarantine need separate reasons
Receiving a record today is not the same as testing its code today. Choose evidence-aging rules to suit an offer's lifecycle. Do not assign one lifetime to all retailers without supporting data.
A proposed quarantine should preserve its reason, history and recheck condition. Failures may be regional, and new evidence may justify reconsideration. Expiry is a separate exclusion condition, not merely a low score.
Checks before exposing a rating
- Repeating an event does not add another confirmation; feedback and measured results remain separate.
- Refreshing a feed does not change the last application time, and missing dates remain unknown.
- A country change does not turn an older estimate into a fact about a new cart.
- The visible label describes evidence: a source, date or lack of confirmations. Do not display percentages without a defined outcome, sample and evaluation.
The useful output of this model is a decision about what to test first. Evidence of savings still requires a comparable store total, not a high internal score.
By the ShopTools AI editorial team.
Some ShopTools links are affiliate links. ShopTools may earn a commission on a qualifying purchase confirmed by the retailer; a click alone does not guarantee a commission.
Prepared with AI assistance. Product descriptions were checked against ShopTools code and interface; this is not a report of tests at every store.