Every observation carries where it came from and a weight. This is not metadata you can ignore — it is the field that decides whether a value should drive an automated decision.
| channel | confidence | Meaning |
|---|---|---|
| direct_api | 1.00 | The seller's own interface, under its terms. |
| merchant_feed | 0.98 | A structured catalogue the seller publishes for machines. |
| verified_agent | 0.90 | An identified, signed client reading a public product surface. |
| listing_view | 0.75 | A category listing. No shipping or seller detail. |
A repricer that moves real prices should require a high confidence and treat everything below as advisory. A comparison page can display anything, provided it shows the reader what it is looking at.
const offers = res.offers.filter(o => o.source.confidence >= 0.9);
Separate from source confidence, a mapping's own confidence can fall — a seller relists under a new title, a bundle changes, a generation turns over. When that happens an event fires rather than the system quietly continuing to compare two different products.