Skip to content

Instantly share code, notes, and snippets.

@alcheng10
Last active May 9, 2020 06:27
Show Gist options
  • Save alcheng10/4bb819cb0413e26b26225df9e7253c01 to your computer and use it in GitHub Desktop.
Save alcheng10/4bb819cb0413e26b26225df9e7253c01 to your computer and use it in GitHub Desktop.
Cumulative Growth of Australian Residential Property Prices

BigQuery SQL Script to get the rolling and cumulative percentage change for the Average Housing Price by State

WITH PRICES AS (
SELECT 
  Date
  ,State
  ,Residential_Dwelling_Average_Value_AUD AS AVERAGE_HOUSING_PRICE
  ,LAG(Residential_Dwelling_Average_Value_AUD) OVER (PARTITION BY State ORDER BY Date ASC) AS LAG_AVERAGE_HOUSING_PRICE
  ,ROW_NUMBER() OVER (PARTITION BY State ORDER BY Date ASC) AS RNK
FROM transformation.ABS_DWELLING_DATA_TRF
)
,ANCHOR_PRICE AS (
  SELECT
  Date
  ,State
  ,AVERAGE_HOUSING_PRICE AS ANCHOR_PRICE
  FROM PRICES
  WHERE RNK = 1
)
SELECT
  P.Date
  ,P.State
  ,P.AVERAGE_HOUSING_PRICE
  ,A.ANCHOR_PRICE
  ,P.LAG_AVERAGE_HOUSING_PRICE
  ,ROUND((P.AVERAGE_HOUSING_PRICE - P.LAG_AVERAGE_HOUSING_PRICE)/P.LAG_AVERAGE_HOUSING_PRICE, 2) AS PERCENT_CHANGE
  ,ROUND((P.AVERAGE_HOUSING_PRICE - A.ANCHOR_PRICE)/A.ANCHOR_PRICE, 2) AS CUMULATIVE_PERCENT_CHANGE
FROM PRICES P
LEFT JOIN ANCHOR_PRICE A
ON P.State = A.State
ORDER BY State, Date ASC
;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment