By Rahul Pannu [S4029345]

Introduction

Australia’s cost-of-living crisis has emerged as a major concern in recent years, driven by sharp increases in the prices of essential goods and services. Inflation surged to multi-decade highs during 2022–23, significantly straining household budgets [ABS]. By the March quarter 2025, inflation has eased to 2.4% annually — back within the Reserve Bank’s target range of 2–3% — but this moderation masks substantial variation across spending categories [ABS].

In this report, we analyse official Consumer Price Index (CPI) data from the Australian Bureau of Statistics (ABS) for the March quarter 2025. We focus on five key categories that shape everyday living costs:

Through a series of targeted visualisations, we explore both quarterly spikes and annual trends, providing a clearer picture of where cost pressures are most intense. This analysis is intended for a general audience and policymakers, translating raw CPI data into meaningful insights on how Australians are being affected — and where policy interventions may already be having an impact.

Objective

This project aims to tell a data-driven story about the cost-of-living crisis in Australia through:

The analysis uses data published in March Quarter 2025 to provide timely insights for public discourse and policy engagement.

Data Source:

The analysis is based on publicly available CPI datasets from the Australian Bureau of Statistics (ABS), using data up to the March Quarter 2025.

Data Preparation (Load and Clean)

library(tidyverse)

# Set working directory if needed
# setwd("your-path-to-files")

# Load all CSVs
cpi_trimmed       <- read_csv("All groups CPI and Trimmed mean, Australia, annual movement (%).csv", skip = 1)
cpi_quarterly     <- read_csv("All groups CPI, Australia, quarterly and annual movement (%).csv", skip = 1)
goods_services    <- read_csv("CPI, Goods and Services components, annual movement (%).csv", skip = 1)
education         <- read_csv("Education, Australia, March quarter movements (%).csv", skip = 1)
electricity       <- read_csv("Electricity Index, Australia (June 2023 quarter = 100.0).csv", skip = 1)
grocery           <- read_csv("Grocery products, annual movement (%).csv", skip = 1)
insurance         <- read_csv("Insurance, Australia, quarterly and annual movement (%).csv", skip = 1)
new_dwellings     <- read_csv("New dwellings, quarterly and annual movement (%).csv", skip = 1)
rents             <- read_csv("Rents, Australia, quarterly and annual movement (%).csv", skip = 1)
services          <- read_csv("Selected services annual movements (%).csv", skip = 1)

Sectoral Price Pressures

3. Quarterly CPI Change Contributors (Top Categories)

Goal: To identify the key drivers of inflation in the March 2025 quarter by highlighting the top categories with the highest annual percentage increases. This visual isolates the most inflationary service sectors, such as insurance, pet services, and education, which are contributing disproportionately to the cost-of-living pressure.

library(tidyverse)

# Step 1: Load with correct header row
services_raw <- read_csv("Selected services annual movements (%).csv", skip = 2)

# Step 2: Rename columns manually
colnames(services_raw) <- c("Category", "Mar_24", "Jun_24", "Sep_24", "Dec_24", "Mar_25")

# Step 3: Drop NA or footer rows (like "Source")
services_clean <- services_raw %>%
  filter(!is.na(Category), !str_detect(Category, "Source"))

# Step 4: Get top 10 contributors by Mar 2025
top_mar25 <- services_clean %>%
  arrange(desc(Mar_25)) %>%
  slice(1:10)

# Step 5: Plot
ggplot(top_mar25, aes(x = reorder(Category, Mar_25), y = Mar_25)) +
  geom_bar(stat = "identity", fill = "#4682B4") +
  coord_flip() +
  labs(
    title = "Top CPI Contributors (Annual % Change – Mar 2025)",
    subtitle = "Selected Services Categories",
    x = "Category",
    y = "Annual % Change"
  ) +
  theme_minimal(base_size = 8)

5. Grocery Price Changes Over Time

Goal: Track annual price changes in grocery items — a major driver of household cost pressures.

grocery_clean <- grocery %>%
  rename(Category = 1) %>%
  pivot_longer(-Category, names_to = "Quarter", values_to = "Annual_Change") %>%
  mutate(Quarter = zoo::as.yearqtr(Quarter, format = "%b-%y"))

ggplot(grocery_clean, aes(x = Quarter, y = Annual_Change, color = Category)) +
  geom_line(size = 1.1) +
  labs(
    title = "Annual Price Change in Grocery Items",
    subtitle = "Selected food and non-alcoholic beverage categories",
    x = "Quarter",
    y = "Annual % Change"
  ) +
  theme_minimal()

Housing & Utilities

6. Electricity Price Index Over Time

Goal: To show the impact of government electricity rebates on household electricity costs by comparing index values with and without rebates. The visual captures how policy interventions, like the Energy Bill Relief Fund (EBRF), helped cushion electricity price rises, especially across key quarters in 2023–25.

library(tidyverse)
library(lubridate)


colnames(electricity) <- c("Quarter", "Excluding_Rebates", "Including_Rebates")

# Convert Quarter to proper date
electricity <- electricity %>%
  filter(!is.na(Quarter)) %>%
  mutate(
    Quarter = as.Date(as.yearqtr(Quarter, format = "%b-%y"))
  ) %>%
  pivot_longer(cols = c(Excluding_Rebates, Including_Rebates),
               names_to = "Rebate_Type", values_to = "Index")

ggplot(electricity, aes(x = Quarter, y = Index, color = Rebate_Type)) +
  geom_line(size = 1.3) +
  geom_point(size = 2) +
  labs(
    title = "Electricity Index (June 2023 = 100)",
    subtitle = "Showing effect of Government Rebates on Electricity Prices",
    x = "Quarter",
    y = "Index Value",
    color = "Index Type"
  ) +
  scale_color_manual(
    values = c("Excluding_Rebates" = "#D55E00", "Including_Rebates" = "#0072B2"),
    labels = c("Excluding Government Rebates", "Including Government Rebates")
  ) +
  theme_minimal(base_size = 13)
## Warning: Removed 16 rows containing missing values or values outside the scale range
## (`geom_line()`).
## Warning: Removed 16 rows containing missing values or values outside the scale range
## (`geom_point()`).

Insurance & Education Costs