Between 2019 and 2023, the median house price rose faster than median income in nine out of ten Australian councils with data, and the gap was about as wide in councils whose populations were shrinking as in those growing fastest.
In just four years, the typical Australian council experienced a 46.5% increase in median house prices, while median income rose by only 17.5%.¹ The difference is more than a contrast between two figures: it points to a growing divide between the cost of housing and what people earn.
Between 2019 and 2023, house prices grew faster than income in 429 of the 476 councils (90.1%) where both measures could be compared. Across the 423 councils with sufficiently reliable sales data, the median house-price-to-income ratio rose from 7.3 to 9.2. In other words, a typical house represented a larger multiple of annual income by 2023 than it had four years earlier. As this relationship widens, saving for a deposit and borrowing enough to buy a home can become more difficult for households whose incomes do not keep pace with prices.
Population growth offers one possible explanation. When more people compete for housing, demand may increase and place upward pressure on prices. If population growth were the main factor behind the widening affordability gap, we might expect councils experiencing the fastest population growth to show the largest divergence between house prices and income. However, the patterns in these data do not support such a straightforward explanation. The gap was also substantial in councils with little or negative population growth, suggesting that population change alone cannot account for the differences observed across local housing markets.
This report investigates that relationship across Australia’s 547 local government areas (LGAs), referred to here as councils, using official data from the Australian Bureau of Statistics (ABS). It examines changes in median house prices and median income from the years ended 30 June 2019 to 2023, alongside population change from 2020 to 2023. Through comparisons across councils and states, the analysis explores where housing costs have moved furthest ahead of income and whether population growth is associated with that divergence.
What the data can and cannot tell us. These measures reveal broad patterns in housing affordability and differences between councils; they do not describe the circumstances of every household. Nor can the observed associations establish why house prices changed. The findings should therefore be interpreted as evidence of regional patterns, rather than proof that any single factor caused housing affordability to worsen.
Source. All data come from the ABS Data by region, 2011-25 release, published 26 May 2026 (Australian Bureau of Statistics [ABS], 2026). The measures are council-level (Local Government Areas, 2021 boundaries) plus the state and Australia figures the ABS publishes.
| Measure | ABS item (exact label, code) | Unit | Reference period |
|---|---|---|---|
| House price | “Median price of established house transfers” (HOUSES_3) | $ | Years ended 30 June 2019-2023 |
| House sales | “Number of established house transfers” (HOUSES_2) | count | Years ended 30 June 2019, 2023 |
| Income | “Median total income (excl. Government pensions and allowances)” (INCOME_17; Australian Taxation Office data) | $ per year | Years ended 30 June 2019-2023 |
| Population | “Estimated resident population” (ERP_P_20) | persons | 30 June 2020-2023 |
Derived measures (calculated in
scripts/08_build_report_data.R):
Data treatment.
Definitions, coverage and the treatment of confidential cells follow the ABS methodology (ABS, 2025). The analysis was carried out in R (R Core Team, 2024; Version 4.6.1) using ggplot2 (Wickham, 2016), plotly (Sievert, 2020), crosstalk (Cheng & Sievert, 2025), DT (Xie et al., 2025), dplyr (Wickham et al., 2026) and tidyr (Wickham et al., 2025), and the report was produced with rmarkdown (Allaire et al., 2026) and knitr (Xie, 2025).
The first step is to put prices and incomes on one scale. The price-to-income ratio divides a council’s median house price by its median annual income. A ratio of 9 means the median house costs nine times the median income. It is a measure of relative cost, not a repayment period.
● council (20+ house sales) ○ council (fewer than 20 sales) ◇ state value (ABS published) ▲ Australia (ABS published)
Each dot is a council; states are ordered by their 2023 ratio. Use the slider or Play to move through 2019-2023 (years ended 30 June). Source: ABS (2026).
What it shows. Across the 476 councils with data in both years, the median house price was 9.2 times median income in 2023, up from 7.3 in 2019. (Across all 490 councils with a 2023 value, the 2023 median is 9.0.) At state level, the ABS-published figures put New South Wales highest (16.0 times income). Western Australia (8.7) and the Northern Territory (8.3) are lowest.
Why it matters. This sets the baseline for the question: across most councils, houses became more expensive relative to local incomes, not just in dollars.
Caveat. Income here is personal income of people who lodge tax returns. It excludes most government payments, so the ratio is higher than ratios based on household income and should be read as indicative.
A rising ratio could come from prices rising, incomes falling, or both. This chart separates the two. Each council’s income change runs across the horizontal axis, and its house-price change up the vertical axis. On the dashed line, both grew by the same percentage. Above the line, prices outran income.
Each point is a council with data in both years (n = 476); dashed line = equal growth. All councils are shown; the 5 labelled ones have extreme changes, and 3 of them had fewer than 20 sales. Use Zoom to main group (above the chart) to see the cluster in detail. Click a point, or a row in the table in section 5, to highlight a council. Source: ABS (2026).
What it shows. Prices outpaced income in 90.1% of councils (429 of 476). The result is almost unchanged when low-sales councils are removed (91.7%, 388 of 423). Among councils with reliable sales data, median house-price growth was 46.5% and median income growth 17.5%; the typical (median) council’s price growth exceeded its income growth by 28.3 percentage points. (The difference between the two medians is 29.0 points; the two measures differ slightly because they summarise different things.) Because price grew faster than income in these councils, their price-to-income ratio rose: these are the same 388 councils.
Why it matters. This is the most direct answer to whether housing “kept pace”: by these measures, in most councils it did not.
Caveat. The comparison is between areas. It does not show that the same households faced the gap, and it does not show that one change caused the other. Income growth also varied less across councils than price growth.
If prices outran income in most councils, the next question is where the gap was widest. This chart uses the figures the ABS publishes for each state and for Australia, indexed so that 2019 = 100. A line rising from 100 to 130 means a 30% increase. All panels share the same vertical scale, so their heights can be compared directly.
Small multiples: each panel is a state (or Australia), using ABS-published state medians indexed to 2019 = 100. Panels are ordered by the size of the gap. Source: ABS (2026).
What it shows. Nationally, the median house price rose 33.4% against 18.6% for income. The gap was largest in Tas (67.9% vs 18.8%). In NT and WA, prices and income grew at almost the same rate. Income growth was similar everywhere (15.9% to 19.9%); the differences between states come mainly from house prices.
Why it matters. “Keeping pace” is not uniform. Whether housing outran income depends heavily on the state.
Caveat. National growth (33.4%) is lower than the median council’s (46.5%) because each council counts once in the council figures regardless of population, and many small councils recorded large rises.
A common explanation for rising house prices is population growth. If it drove the gap, the gap should be wider in the fastest-growing councils. Here the reliable-sales councils are split into five equal groups by population growth, from slowest (top) to fastest (bottom). Each row shows the group’s median income growth (square) and median price growth (circle), and the grey bar between them is the gap.
■ median income growth ● median house-price growth
Councils with at least 20 house sales in 2019 and 2023 (n = 423; 84-85 per group). Population growth is measured over 2020-23, a year shorter than the price and income window (2019-23). Source: ABS (2026).
What it shows. Across the five population-growth groups, house prices grew much faster than income in every group: median price growth 41.7% to 50.0%, median income growth 17.1% to 18.6%. In every group, at least 87% of councils saw prices outpace income. In these data there is no detectable monotonic association between population growth and price growth (Spearman ρ = -0.01, p = 0.77, n = 423), nor with the size of the gap (ρ = -0.01, p = 0.83). Faster-growing councils did, however, have higher price-to-income levels, both before and after: from the slowest to the fastest group, the median ratio rises from 5.6 to 9.3 in 2019 (ρ = 0.27) and from 7.3 to 11.5 in 2023 (ρ = 0.25).
Why it matters. Over 2019-2023, differences in population growth do not account for where prices outpaced income: the gap appears in slow- and fast-growing councils alike. Population growth lines up instead with how expensive housing already was relative to income. This is a pattern in the data, not evidence about what causes prices to move.
Caveat. A near-zero correlation means no clear monotonic relationship in these councils over this period. It does not show that population has no effect on house prices. Effects could operate over longer periods, across neighbouring councils, or alongside factors not measured here. The population window (2020-2023) is one year shorter than the price and income window.
The national pattern may not describe every place. To look up a council, type part of its name in the table’s Search box (below the chart), then click its row. It is highlighted in this chart and in chart 2. Each row of dots is one measure, and a council’s position shows its percentile among all councils: 50 is the middle council (the median), not a state or national average.
Every council appears once in each row. Search for a council in the table below and click its row, or click a point, to see where it ranks on all four measures; it is also highlighted in chart 2. Source: ABS (2026).
What it shows. This view hands control to the reader. It places any council on all four measures used in this report, so a reader can see whether their area follows the national pattern.
Australia’s housing landscape reveals a growing disconnect between local economic prosperity and housing affordability. Across Australian local government areas, house prices generally increased faster than median income, indicating that rising earnings have not kept pace with the cost of purchasing a home. Among councils with sufficiently reliable sales data, 91.7% recorded house-price growth exceeding income growth between 2019 and 2023. The median gap between house-price growth and income growth was approximately 28 percentage points, highlighting the scale of this divergence.
However, the findings also demonstrate that housing pressures are not uniform across Australia. Differences between states and councils reflect varied local housing markets, while the relationship between population growth and house-price growth was weak in the analysis. This suggests that population change alone cannot explain the observed differences in housing affordability. Other local economic and housing-market factors may also contribute, although further analysis would be required to establish their influence.
The analysis has important limitations. The results use nominal rather than inflation-adjusted values, compare different time periods for population and housing measures, and exclude councils with insufficient or missing sales data from relevant comparisons. Consequently, the findings should be interpreted as evidence of regional patterns and associations, not proof of causation.
Overall, the visualisations show that housing affordability is not simply a question of whether incomes are rising, but whether they are rising fast enough to keep pace with house prices. By combining price, income and population data at the council level, this investigation reveals where the gap is widening and why national averages alone can obscure important local differences. The findings provide a starting point for more targeted investigation into regional housing pressures and the factors shaping affordability across Australia.
This report brings data to life through interactive visualisations, allowing readers to explore trends, compare Victorian councils, and discover meaningful insights beyond static charts.
The companion R Shiny application offers deeper analytical exploration, allowing users to select from 18 indicators, explore different years, switch between linear and logarithmic scales, generate dynamic council profiles, and download CSV data.
While the HTML report works independently in a browser, these advanced features require the Shiny application to be running.
Rather than simply presenting statistics, these interactive elements encourage readers to investigate relationships, identify unusual patterns, and compare council-level differences. By combining visual storytelling with user-driven exploration, the report makes open data more engaging, informative, and accessible.
Allaire, J. J., Xie, Y., Dervieux, C., McPherson, J., Luraschi, J., Ushey, K., Atkins, A., Wickham, H., Cheng, J., Chang, W., & Iannone, R. (2026). rmarkdown: Dynamic documents for R (Version 2.31) [Computer software]. https://github.com/rstudio/rmarkdown
Anthropic. (2026). Claude (Opus 5.5) [Large language model]. https://claude.ai
Australian Bureau of Statistics. (2025). Data by region methodology, 2011-25. https://www.abs.gov.au/methodologies/data-region-methodology/2011-25
Australian Bureau of Statistics. (2026). Data by region, 2011-25 [Data set; data cubes 14100DO0001-0010, released 26 May 2026]. Retrieved October 28, 2026, from https://www.abs.gov.au/methodologies/data-region-methodology/2011-25#data-downloads
Cheng, J., & Sievert, C. (2025). crosstalk: Inter-widget interactivity for HTML widgets (Version 1.2.2) [Computer software]. https://CRAN.R-project.org/package=crosstalk
R Core Team. (2024). R: A language and environment for statistical computing (Version 4.6.1) [Computer software]. R Foundation for Statistical Computing. https://www.R-project.org/
Sievert, C. (2020). Interactive web-based data visualization with R, plotly, and shiny. Chapman and Hall/CRC. https://plotly-r.com
Wickham, H. (2016). ggplot2: Elegant graphics for data analysis. Springer-Verlag New York. https://ggplot2.tidyverse.org
Wickham, H., François, R., Henry, L., Müller, K., & Vaughan, D. (2026). dplyr: A grammar of data manipulation (Version 1.2.1) [Computer software]. https://CRAN.R-project.org/package=dplyr
Wickham, H., Vaughan, D., & Girlich, M. (2025). tidyr: Tidy messy data (Version 1.3.2) [Computer software]. https://CRAN.R-project.org/package=tidyr
Xie, Y. (2025). knitr: A general-purpose package for dynamic report generation in R (Version 1.51) [Computer software]. https://yihui.org/knitr/
Xie, Y., Cheng, J., & Tan, X. (2025). DT: A wrapper of the JavaScript library ‘DataTables’ (Version 0.34.0) [Computer software]. https://CRAN.R-project.org/package=DT
Data Source : Australian Bureau of Statistics, Data by region, 2011-25 (ABS, 2026). The ABS releases its website material under a Creative Commons Attribution 4.0 International licence (© Commonwealth of Australia 2026), except content supplied by third parties. The statistics used here are ABS outputs, but two of the series are compiled by the ABS from other organisations’ data:
These series are cited through the ABS release. No ATO or Cotality records were used directly.
Generative AI.
This assignment was completed independently by the author. Generative AI tools were used only as a supporting resource to clarify concepts, understand errors encountered during the development process, troubleshoot technical issues, and provide guidance when needed. The analysis, implementation, interpretation of results, and final presentation of the work were carried out by the author. The author reviewed and verified the final submission and takes responsibility for its accuracy and integrity.