Help Centre › Building Processes
Compare a product's price across South African retailers and store a consolidated result.
Add it to a process
In the process designer, open the Add step tab. Find Compare retail prices under Data, or type its name in the search box, and drag it onto the canvas.
Fields
| Field | Required | What it does |
|---|---|---|
| Query | Yes | Product search term, for example '2L Coca-Cola Original', 'Huletts White Sugar 2.5kg', '12 eggs'. |
| Retailers | No | Optional subset of retailer keys. Valid values: pnp, woolies, makro, sixty60, spar. Default is pnp + woolies + makro. |
| Location | No | Optional suburb or 'lat,lng' hint. Recorded against the query for regional-pricing use; full store resolver arrives in a later phase. |
| Confidence threshold | No | Minimum match confidence (0.0 to 1.0) a retailer's result must clear to count as matched. Lower values accept fuzzier matches. Default: 0.7. |
| Brand scope | No | Override the query parser's inferred brand-scope mode. 'any' produces a multi-brand leaderboard; 'name_brand_only' excludes own-label products; 'own_label_only' keeps only retailer house brands. Choices: Single, Any, Name_brand_only, Own_label_only. |
| Store ids | No | Optional {retailer_key: store_id} mapping to pin regional prices. Keys accept either the short key (e.g. 'pnp') or the display name (e.g. 'Pick n Pay'). |
| Variable | No | Name of the variable where the result will be stored Default: retail_result. |
What it gives back
{retail_result}– Dict with keys 'query' (parsed envelope), 'results' (dict keyed by retailer display name - e.g. 'Pick n Pay', 'Woolworths' - each carrying matched flag, confidence, product, alternatives, and reason), and 'summary' (cheapest_listed, cheapest_per_unit, cheapest_own_label, cheapest_name_brand, on_promo_retailers, no_match_retailers).
See all Data steps.