ShopHop · Methodology · Last updated 3 August 2026

How we do it

ShopHop tracks every advertised price at Woolworths, Coles and Aldi and keeps it current. This page documents how we detect misleading “specials,” how we cross-reference products across retailers, and how anyone can verify our findings.

Data collection

We capture the publicly visible product listings at Woolworths, Coles and Aldi on an ongoing basis. Each capture records the advertised price, any “special” or “was” price, the unit price, pack size, and category. Snapshots are timestamped and stored permanently — we never overwrite historical records.

Coverage as of 3 August 2026: 52,391+ products across 3 retailers, with over 5,177,189 price snapshots in our archive.

What we capture per product
  • Advertised price and any “was” / regular price
  • Sale flag (whether the retailer marks it as a special)
  • Unit price and pack size
  • Brand, category, and product name exactly as shown online
  • Timestamp in AEST

Cross-store matching

When the same product is sold at multiple retailers, we link the listings to a single canonical product. This powers our “where to buy” comparisons and cross-store price records.

A pair of products is only treated as the same item when they line up on every dimension that matters:

  • Same brand
  • Same size (a 500g pack is never merged with a 600g one)
  • Same pack count (a multipack is never treated as a single)
  • Same variant or flavour (Original ≠ Sour Cream & Chives)
  • Same form (liquid ≠ powder, fresh ≠ frozen)

Matches are built by automated rules (barcode when available, brand + size + name similarity, hard vetoes for flavour/variant/pack conflicts). Ambiguous pairs go to a manual review queue — we do not hand-check every mapping. We deliberately err on the side of not matching when there is any doubt — a wrong match is worse than a missing one.

Every mapping is recorded with its source and confidence. Cross-store coverage is intentionally incomplete (private-label and ALDI exclusives often have no counterpart). Staples are prioritised for precision over raw match count.

How we flag fake specials

The Federal Court found in May 2026 that Coles made misleading representations about 245 Down Down promotions — prices were temporarily raised before promotions so the “discounted” price was the same as or higher than the original. ShopHop flags this pattern automatically.

Public “fake special” claims on ShopHop are gated by our own observation density — we will not call a special misleading until we have watched the product on enough days. The shipped consumer detector works like this:

1
Dense observation first
We require dense coverage of the last 90 days (84 observed days at full archive depth — about 93%). While our scrape archive is still younger than 90 calendar days, we scale the gate to ~93% of available history (never below 56 days). Below that floor we show “still building history”.
2
Was-price establishment (ShopHop benchmark)
Among those days, if the advertised “was” / regular price applied on fewer than 28 days, we classify short-establishment. This is ShopHop’s working benchmark informed by ACCC commentary — not a statutory rule. The court uses a contextual “reasonable period” test.
3
Three methodology conditions
We also check: (a) special at or above the 90-day median; (b) price raised more than 15% within 30 days then “dropped” to at/above the prior median; (c) a lower price within the last 60 days. Peak-then-drop maps to was-price-inflated; recurring saw-tooth maps to price-cycling.

Published tiers use neutral labels (observed special, limited “was” history, recurring pattern, price rose then fell). We cite exact dates and prices from our scrape history — verifiable on the product chart. Classifications below our confidence threshold are not shown; patterns that may reflect legitimate cost movement go to a human review queue first.

Detection becomes strongest once a full 90-day baseline is available. The current public baseline is 104-day price history.

How to verify our findings

Every product page on ShopHop shows the available price history as a chart. The dates and prices we cite in explainers are always verifiable from the chart on the product page — click any flagged special to see the underlying data.

Our scraping timestamps, price values, and sale flags are stored verbatim from the retailer's own product pages. We don't infer or adjust prices.

Limitations

We track online advertised prices, not in-store prices. These can differ. We don't capture loyalty pricing (Everyday Rewards, Flybuys), member-only discounts, or bulk-buy deals unless they are publicly advertised on the product page.

Our cross-store matching is high-accuracy but not perfect. Mappings flagged as uncertain are excluded from automatic comparisons until human-verified. If you spot an incorrect match, email us.

Prices are kept current. In-store prices may vary and are not verified by ShopHop.

For media and researchers

ShopHop is independent. We accept no payment from any retailer, brand, or industry body. All data presented on this site is derived from publicly available product listings.

Journalists, researchers, and government bodies can request the raw underlying snapshot data for analysis.

Media enquiries: [email protected]Data requests: [email protected]

Prices shown are sourced from publicly visible online listings and may not reflect current in-store prices. Data is refreshed regularly. Learn more

Methodology | ShopHop