NZ Grocery Price Index
The Marsonya NZ Grocery Price Index tracks month-by-month grocery price movement across Woolworths, Pak'nSave and New World stores in the published sample. The index compares matched listings between months using recorded store prices. Check the observation period, store count and coverage before using the figures. The methodology and CSV are below.
Observation period: 2026-06-11 to 2026-09-30 · complete calendar months (the base month starts on the first day data was collected) · base monthJune 2026 = 100 ·17,544,804 price observations across 382 stores.
What does the index show?
One number per month, per chain and overall: how prices moved for the listings sold in both that month and the month before. A rising index means the same goods cost more; the matched-listings column shows how much of the catalogue each figure stands on.
| Month | All chains | Monthly change | Woolworths | Pak'nSave | New World | Matched listings |
|---|---|---|---|---|---|---|
| June 2026 | 100 | base month | 100 | 100 | 100 | 47,338 |
| July 2026 | 100.5 | 0.5% | 100.9 | 100.8 | 99.9 | 47,338 |
| August 2026 | 100.6 | 0.1% | 100.7 | 100.9 | 100.3 | 48,558 |
| September 2026 | 101.1 | 0.5% | 101 | 102.2 | 100.6 | 238,250 |
How far apart are the chains?
For every product stocked by all three chains in a month, each chain's price is compared with the cheapest chain's price for the same product. The medians below summarise those historical price differences. They do not estimate the saving on a particular household's list or account for travel and delivery costs.
| Chain (September 2026) | vs cheapest chain | vs three-chain average | Matched products | Stores sampled |
|---|---|---|---|---|
| Woolworths | 7.8% | 2% | 11,860 | 175 |
| Pak'nSave | 0% | -4.7% | 11,860 | 58 |
| New World | 10.7% | 3.5% | 11,860 | 149 |
Which categories moved the most?
Category movement for September 2026, computed the same matched-listing way as the headline index. Categories below the sample floor are omitted rather than published on thin data.
| Category | Monthly change | Matched listings |
|---|---|---|
| Baby & Toddler | 0.9% | 6,287 |
| Snacks, Treats & Easy Meals | 0.8% | 11,278 |
| Fridge, Deli & Eggs | 0.7% | 20,466 |
| Health & Body | 0.7% | 32,694 |
| Meat, Poultry & Seafood | 0.7% | 4,777 |
| Pantry | 0.6% | 66,266 |
| Household & Cleaning | 0.5% | 24,178 |
| Bakery | 0.4% | 6,748 |
| Hot & Cold Drinks | 0.4% | 20,673 |
| Frozen | 0.3% | 12,629 |
| Beer, Wine & Cider | 0.1% | 20,107 |
| Pets | 0% | 8,604 |
| Fruit & Vegetables | -0.5% | 3,505 |
How is the index different from a one-off price survey?
A fixed-basket survey compares a chosen set of groceries. This index uses matched listings from the collected price history to measure movement between months. Its scope depends on the stores, listings and days covered by that history. Neither measure establishes what every household pays.
How is the index calculated?
Listing = one product variant at one store of one chain; its monthly value is the median of the daily prices recorded for that listing in the calendar month. Each daily price is the retailer's own current selling price for that day, so promotional and special prices are measured while they run rather than stripped out. Pak'nSave and New World are the exception before September 2026: their loyalty-card and multi-buy prices have been recorded only since early September 2026 (5 to 8 September, depending on the store), so their June to August figures follow the shelf price paid without a card. From then on their daily price is the lowest per-unit price on offer, which is the loyalty-card price wherever Foodstuffs member pricing is in effect and counts a multi-buy deal at its price per unit. So that the start of this recording is not counted as a price change, their two comparisons involving September (August to September, and September to October from the October release) use the shelf price in both months. Later comparisons use the lowest price on offer, so from then on the index tracks what a card-carrying shopper pays, which moves more than a shelf-price measure would.
Chained Jevons index: for each pair of consecutive complete calendar months, the geometric mean of price relatives across listings priced in both months, per chain and overall (base month = 100). The matched set is recomputed for every adjacent pair and the chain multiplies through, so a listing that appears or disappears mid-series never counts as a price change. Where a chain changed how its prices are recorded, the comparisons involving the month of the change use a price recorded the same way in both months (see the price basis). Categories use the same matched basis. The spread compares GTIN-matched products priced at all three chains within one month, each chain's price taken as the median across its sampled stores. It is not adjusted for the change of recording: from September it counts Pak'nSave and New World loyalty-card and multi-buy prices and many more stores, so the September spread is not comparable with earlier months.
Of the 112 days in the observation window, 107 recorded a confirmed run from at least one chain and 5 recorded none at all, from any chain: 2026-06-14, 2026-07-01, 2026-08-31, 2026-09-01, 2026-09-02. A further 11 days recorded imperfect coverage, with a missing and/or unproductive chain: 2026-06-17 (missing New World), 2026-06-18 (missing New World), 2026-06-21 (missing Pak'nSave), 2026-06-22 (missing Pak'nSave), 2026-06-30 (missing Pak'nSave, New World), 2026-07-22 (missing New World; Woolworths, Pak'nSave processed no products), 2026-07-24 (missing New World; Woolworths, Pak'nSave processed no products), 2026-08-01 (missing New World), 2026-08-12 (missing New World), 2026-08-23 (missing Pak'nSave), 2026-08-30 (missing New World). Every low- or no-data day carries the last observed price forward into the index rather than being dropped.
The coverage statement records when the scraper ran, day by day and per chain. It identifies a run that started but processed no products rather than counting that run as a completed collection. Coverage floors check monthly aggregates and cannot detect individual days when collection was incomplete. A month with a missed run can still clear a monthly floor. Every published month cleared those floors. Categories below their matched-listing floor are omitted from that month's table. A chain below its floor blocks publication of the entire dataset. The dataset can be regenerated from the production price history using the documented export script.
How can you use this data?
Download the full series as CSV: nz-grocery-price-index.csv. Republishing a figure with attribution is welcome. Cite the dataset as:
Marsonya NZ Grocery Price Index, September 2026 release. Observation period 2026-06-11 to 2026-09-30. https://marsonya.com/data/nz-grocery-price-index
For planning a current shop, see the guide to spending less at the supermarket.