AU Online Shelf-Price Index: how it is measured
The method behind the AU Online Shelf-Price Index. Field definitions are in the data dictionary.
What it measures
The index follows the posted online shelf prices of the same products at Coles, Woolworths and Aldi Australia from one week to the next. Prices are in Australian dollars (AUD). It is not what shoppers paid, it is not the ABS Consumer Price Index (CPI), it is not weighted by market share, and it is not a forecast. The price used is the shelf price shown to every visitor, including promotions that need no card.
Coles is a partial slice, not the whole Coles range. Read Coverage and limits before quoting a figure.
Method
Each week's snapshots are compared with the week before. Snapshots are taken on Wednesdays, and weeks are ISO weeks. A product is matched by the retailer's own product id, and only products present in both weeks with a price in both are used. For each retailer and each broad product class, the weekly change is the geometric mean (a Jevons index) of the products' price ratios: equal weight to each product within a retailer-class cell, equal weight to each retailer, no spending weights.
The weekly changes are chained from a base of 100 in 2026-W41. A price that multiplies by 3 or more in one week (a rise of 200% or more), or falls to a third or less (a fall of 66.7% or more), is treated as a probable pricing error, or the correction of one, and left out of the index. When a product's pack size changes, the change in its price per unit is used, and if that cannot be worked out the product is left out that week. A cell (one retailer and class) with fewer than 20 used products that week keeps last week's level. Its status is carried, or insufficient when it has no used products at all.
Classes come from keyword rules on the retailer's category names and product names, so they are approximate. There are 16 classes, the same as in the UK index. Products that match no rule fall in the class other, and the share of each retailer's products in other is checked every week. The rules are identified in each vintage's meta by classRulesVersion.
The headline
The headline is like-for-like, so that Coles, which is a partial slice, is compared with Woolworths and Aldi over the same kinds of product.
- Each week, the headline covers only the classes where Coles has at least 20 used products that week. The class
otheris never one of them. - Each retailer gets a like-for-like figure over its own products in those classes.
- The headline is the equal-weight geometric mean of the three retailers' like-for-like figures.
The classes used are listed in each vintage's meta (headlineClasses) and can differ from week to week. Each retailer's figure over all its matched products is published beside the like-for-like figure. The all-retailer figure over all products is not published.
A vintage is published only if Coles, Woolworths and Aldi all have valid snapshots in both weeks, and the headline covers at least 4 classes. A Woolworths or Aldi snapshot part must hold at least 80% of the same part's products the week before. If any of this fails, the vintage is not published. It waits for a rerun or for the next Monday. Nothing is ever imputed.
Coverage and limits
Only what the retailers show online is covered. A product relaunched under a new identifier drops out of the match, so its price change is missed. When a retailer's snapshot covers far fewer products than the week before, the release says so.
- Coles is a staples-first partial. Coles is read from its listing pages only, in priority order (dairy, eggs and fridge; bakery; meat and seafood; fruit and vegetables; pantry; then the rest), until Coles' per-session limit of about 80 requests. In 2026-W41 that was about 21% of the products in the Coles lists. The Coles figure is a figure for those staples, not for Coles overall. A Coles run counts only if it stopped at that limit (60 or more requests) and holds at least 90% of the products its plan expects (3,513 and 3,506 for the two runs). The Coles coverage of each week is in the meta (
colesProducts,colesRangeSharePct,colesRequests). - The Coles slice is promotion-heavy. In 2026-W41, 18% of its rows had a was-price and 24% had promotion text. The Coles figure therefore moves with weekly specials.
- Woolworths and Aldi are measured on their whole collected range.
- Woolworths is read for store 1101. A part of its snapshot counts only if every row is from that store; otherwise the part, and with it Woolworths for that week, is left out.
- Aldi is its regular range only. Special Buys are never in the index, and neither are Aldi's promotional and curated groups.
- In 2026-W42 the share of products in the class
otherwas 0.1% at Coles and 0.0% at Woolworths and Aldi. - Class rows can rest on fewer than three retailers, because Coles has cells only in the classes its slice reaches. The row's matched count and status show it.
- Promotions move the index. The index follows posted shelf prices, so a promotion that starts or ends moves it. In 2026-W42, Personal care rose 5.3% on the shelf, most of it at Woolworths, because a half-price offer on vitamins and sports nutrition in the base week (2026-W41) ended in W42. Measured on regular prices (the was-price where one is shown, in both weeks), the class was about flat.
- The index is not a CPI, not prices paid, not market-share weighted and not a forecast.
- Barcode coverage, completeness and canary run success for the AU scraper are on the data quality page; how the data is collected is in the methodology, and a short recording is on the demos page.
Release and cadence
The index is normally published on a Monday, after the Wednesday snapshot and the days in which a failed snapshot part can be rerun. A vintage is held if the checks described in the method fail. The first vintage was published on Thursday 15 October 2026: it added the base vintage 2026-W41 (level 100) and the first change week 2026-W42 together. Each week is added to the public dataset au-shelf-price-index as a vintage and is never revised afterwards. A correction, if ever needed, would be a new revision that is clearly marked. The dataset's general access is "Anyone with ID can read". The licence is CC BY 4.0.
Download the full series: CSV or JSON.
Changelog
- 15 October 2026: first vintage: the base 2026-W41 (every level 100, status
base) and the first change week 2026-W42, published together. - 2026-W42: a dated note on Personal care and promotions is on the index page. The published values stay.
Announced changes are posted on the notices page before they ship.
Cite
Yappman Data, AU Online Shelf-Price Index, CC BY 4.0, vintage [week], https://data.yappman.com/au-shelf-price-index/. The index page fills in the latest vintage.