Guides · trust
How Priceory Matches Products Across Stores — Honest Methodology
Transparent Priceory matching methodology — barcodes, brand and pack keys, fuzzy matching limits, price plausibility, soft-disables, and why some multi-store links are rejected on purpose.

Why this page exists
Price comparison only helps shoppers if the same product is compared. A site that pairs a single can with a carton, or “any Milo-ish drink” with a different pack, will show exciting savings and still be wrong.
Wrong matches destroy trust faster than missing a store. This guide explains how Priceory links products, what we refuse to link, and how you should read every compare screen.
Priceory is independent. We are not the official channel of any supermarket. Prices come from public catalogues, flyers, product pages, and approved marketplace feeds we process with quality gates.
Matching quality beats raw product count
Thousands of SKUs mean nothing if half the “deals” are pack mismatches. We optimise for:
- Precision first — fewer false multi-store pairs
- Readable names — not OCR garbage or test fixtures
- Honest labels — real shelf vs carton vs derived vs online marketplace
- Reversible hygiene — soft-disable junk instead of silent wrong prices
If you ever see a suspect pair, check pack size first, then brand, then store.
Our matching layers (simplified)

1. Barcode / GTIN (strongest)
When both merchants expose a reliable barcode, we prefer exact code identity. This is the gold standard for same-SKU confidence (common on some web catalogues).
2. Name + pack structured keys
We extract pack tokens (e.g. 1L, 5kg, 6×200ml, 40s) and normalise titles. Different packs stay different products — 1L milk is not 3×1L multipack.
3. Brand + pack keys
Brand-led keys help when titles are noisy (abbreviations, ALL CAPS catalogue names). Mydin-style abbreviations are cleaned for display; matching still looks at structure.
4. Fuzzy name similarity (last resort)
Fuzzy matching is capped and supervised. It is never the only reason a homepage “Save RMXX” card is allowed to run without pack/plausibility checks.
5. Price plausibility
Extreme ratios (e.g. one store 10× another on a “same” item) are treated as likely pack or category errors. Those groups are blocked from deal boards even if a fuzzy link exists.
What we intentionally do not force together
| Situation | Why |
|---|---|
| 99 carton vs single retail tin | Unit economics differ; many 99 rows stay unlinked on purpose |
| Private label vs national brand | House brands are not forced into same-SKU matches |
| GWP / “Not for sale” stubs | Soft-disabled — often absurd placeholder prices |
| Test / validity fixtures | Soft-disabled |
| OCR garbage titles | Soft-disabled when unreadable |
| Marketplace multi-seller clones | Within Shopee, one best offer per logical SKU (price / sold / rating) |
| Unreadable marketplace spam titles | Soft-disabled — promo/emoji/junk noise; UI is EN + BM for family shoppers |
Related reading: 99 carton vs single · bulk-buy mistakes.
Price source labels (how to read the UI)
Not every number is a live single-unit shelf sticker:
| Label (concept) | Meaning for you |
|---|---|
| Real shelf price | Best-effort live / catalogue unit shelf style price |
| Carton / bulk | Full multipack price — do not treat as one piece |
| Derived from bulk | Estimated from multipack maths — verify before buying singles |
| Catalogue fill | Coverage fill for matching — prefer real shelf peers when comparing |
| Online marketplace | Shopee-style online listing — stock and seller may change |
Shopee is a merchant on Priceory (online marketplace), not a sponsored strip of random affiliate banners. Outbound Shop at {store} uses the original datafeed merchant URL when available (tracked where configured). Online may earn commission and is not counted in the green TIP physical trip on Plan this week.
What you see on the homepage

- Multi-store deals require 2+ merchants and positive savings after filters.
- Savings badges prefer trustworthy pack-aware comparisons.
- If savings look “too good,” the UI may hide the save burst and show a short note instead of inventing miracles.
- Freshness windows and scrapers rotate; always treat the site as decision support, then confirm in store or on the merchant page.
Online marketplace vs physical supermarket
Physical chains (AEON, 99, Lotus’s, Jaya, Mydin, Giant, etc.) reflect catalogue / shelf-oriented pipelines.
Shopee rows come from an affiliate grocery-focused datafeed subset, then:
- Grocery-ish category filters
- Multi-seller dedupe (one winner per SKU key)
- Spam soft-disable (emoji / promo fluff / unreadable junk titles)
- Ranking that still prefers clean supermarket hits for staple queries
That keeps search usable for beras, gula, diaper, milo without drowning in marketplace noise.
How you can help yourself (shopper checklist)

- Read pack size on every card.
- Prefer compare views with multiple merchants (Search 2+ stores only, default OFF).
- Use unit price when packs differ (
RM x.xx/100g,RM x.xx/L,RM x.xx each). - Treat outlier savings with scepticism — then verify (catalogue ≠ till).
- Use Plan this week for multi-item green TIP totals, not single-item FOMO.
- For policy context (not matching): Harga Terkawal · MyKasih.
Why we soft-disable instead of hard-delete
Soft-disable (is_available = false) keeps history and lets us re-enable if a row was over-filtered. It also keeps junk out of search, basket evaluate, and homepage boards without destroying audit trails.
Platform maintenance re-applies hygiene rules on a schedule so quality does not silently rot.
Limits (honest)
- Matching is probabilistic when barcodes are missing.
- Flyer windows expire; a cheap price may be gone by Saturday night.
- Store-level stock and geo pricing can differ from national catalogue feeds.
- We continuously improve parsers and gates — coverage is uneven by merchant design, not by “random favourites.”
Related

Related guides
Plan this week → · catalogue prices · confirm on shelf




