This month in brief
Headline vs core inflation
Year-on-year % · shaded band = SARB target 3–6%
What's driving inflation
Contribution to headline YoY, percentage points
COICOP category breakdown
Weights: StatsSA CPI weights (headline, all urban areas). Contributions use w·Δindex / headline index₍t−12₎ and sum to headline YoY (small residual from rounding of published indices).
Analytical series
StatsSA pre-computed composites · all urban areas
Contributions to headline YoY over time
Stacked monthly contributions by division (percentage points) · line = headline YoY
Momentum: what changed vs last month
Change in YoY contribution (pp), current vs previous month
Contribution detail
Series explorer
Compare up to 6 series · type to search, click × on a legend chip to remove
Monthly momentum heatmap
Month-on-month % change · years × months
Goods vs services
Year-on-year % · goods (CPS00006) vs services (CPS00007)
Inflation breadth
Share of the 391 products with rising prices month-on-month
A classic central-bank gauge: when breadth stays high while the headline rate falls, price pressure is still widespread — just smaller per item. Above 50% = more products rising than falling.
Inflation volatility
Rolling 12-month standard deviation of month-on-month headline change
Higher = inflation has been swinging around more from month to month, independent of its level — useful for judging how forecastable recent inflation has been.
Provincial inflation map
Provincial CPIs measure price change within each province — they are not cost-of-living level comparisons. Education and some sub-indices are urban/national only.
Province race
Headline YoY % by province over time
Regional convergence
Spread between the highest- and lowest-inflation province each month
A narrowing band means provinces are converging on a common inflation rate; a widening band signals regional shocks (e.g. a local fuel or food disruption) hitting unevenly.
Provincial detail
Click a province on the map
Top risers
Largest YoY increases among 391 products
Top fallers
Largest YoY decreases among 391 products
Product explorer
8-digit product indices, all urban areas. Contribution = w·Δindex / Σw·index₍t−12₎ (Laspeyres); contributions sum to the basket YoY.
What things actually cost
StatsSA's own price-collection panel · actual average retail price in Rand, not an index number
Price over time
Click a product above
Price by province
Source: StatsSA P0141 Average Prices survey (national urban + by province), Jan 2017 onward — a separate representative price-collection panel from the CPI index basket, so item coverage and start date differ slightly from the main product explorer. Not every item is priced in every province every month.
This month in brief — producer prices
PPI vs CPI
Year-on-year % · producer prices (final manufactured goods) often lead consumer prices by a month or two
PPI by sector
Year-on-year % · the 5 sector headline indices StatsSA publishes independently
Category breakdown
No official category-level weights are published in this file (unlike CPI's COICOP breakdown), so this table shows index levels and rates of change only — not weighted contributions.
Analytical series
Core-style cuts that strip out the most volatile components — StatsSA's own "Analytical series" table within P0142.1
Precious metals and stones move on world commodity prices, not domestic producer costs — comparing it against "Mining excl. precious metals" shows how much of headline Mining inflation is really a gold/platinum/rhodium story.
Biggest producer-price risers
Largest YoY increases among 277 elementary products
Biggest producer-price fallers
Largest YoY decreases among 277 elementary products
Elementary product explorer
277 elementary product indices with within-sector Laspeyres weights (WEIGHTS_2026); contribution = w·Δidx / Σw·idx₍t−12₎ within each sector — these sum to that sector's own YoY, not to a single combined PPI headline (StatsSA doesn't publish one).
My inflation vs headline
Custom-basket YoY (Laspeyres over included items, re-normalised) vs official headline
Purchasing power of your money
What R100 in the base period is worth today, given your basket's own inflation
Basket configuration
Presets, or tick items and override weights (% points). Excluded weight is re-normalised automatically.
Inflation by expenditure decile
YoY % by decile (1 = poorest 10%, 10 = richest 10%) · line = headline
Inflation inequality over time
YoY % · decile 1 vs decile 10 · gap shaded
Decile detail
Decile weights (share of total expenditure) from StatsSA CPI weights publication. Lower deciles spend proportionally more on food; upper deciles more on transport, insurance and housing — so the decile gap widens when food or fuel inflation diverges from the rest.
Data status
Automatic update
Easiest: run
Update-CPI-Data.ps1 (or double-click Open CPI Dashboard.bat, which runs it for you) — it downloads and parses new StatsSA releases into data/live-data.js. No server involved: this page picks it up automatically the next time it's opened, even as a plain double-clicked file.
Run Update-CPI-Data.ps1 -Install once to also add a weekly Wednesday check as a Windows scheduled task.
The button below only checks that local file — a browser can't reach StatsSA directly (its server blocks that regardless of whether a new release exists), so this button won't do that by default; see the link it offers if you want to try anyway.
Built by Preneshen Naicker
Drop a StatsSA file
Click a direct link below (StatsSA's filenames are predictable — this isn't a proxy or a script, just the plain URL) — your browser downloads it straight from statssa.gov.za, same as pasting the link yourself. Then drag the download onto the box, or the
time-series page works too if a link below 404s.
These are guessed filenames, not confirmed releases — StatsSA hasn't necessarily published that month yet, so a link may show StatsSA's own 404 page until the actual release date (see the status line above). That's expected, not a bug; try again closer to the date, or a month further back.
CPI (P0141)
PPI (P0142.1 — published on its own schedule, not always the same day as CPI)
Drop zip / xlsx here
or click to browse
or click to browse
Paste from Excel
Open the StatsSA export in Excel, Ctrl+A → Ctrl+C, then paste here (works for both file types — format is auto-detected).
Export
Download the current computed tables as CSV.
Method notes
YoY % = index₍t₎ / index₍t−12₎ − 1 · MoM % = index₍t₎ / index₍t−1₎ − 1 · 12m avg = mean of the last 12 YoY readings.
Division contributions = weight × (index₍t₎ − index₍t−12₎) / (100 × headline₍t−12₎/100)… i.e. w·Δidx / headline idx₍t−12₎, matching the StatsSA additive decomposition; the residual line shows the rounding gap to published headline YoY.
Product-level (Laspeyres): headline = Σwᵢ·idxᵢ₍t₎ / Σwᵢ·idxᵢ₍t−12₎ − 1 over items with data in both months; item contribution = wᵢ·Δidxᵢ / Σwⱼ·idxⱼ₍t−12₎. This reproduces StatsSA aggregation and is what powers My Basket.
Updates are stored in your browser (localStorage) and survive reloads; the file itself keeps its embedded baseline. Sources: StatsSA time-series page · P0141 statistical release.