How Queenstown rents will affect business owners and investors (2026)

Queenstown is New Zealand's leading tourist city and is heavily influenced by people working in the tourism industry. We'll take a look at how rents in Queenstown are expected to change from 2020 to 2025, and analyze the data to help guide current business owners and prospective investors.

[Summary & Key Insights].

  • Topic: 2020-2025 Queenstown Rental Market Analysis & Business Strategy
  • Data Source: NZ Tenancy Services (Monthly & Quarterly Bonds Data)
  • Core Finding: Rent for 1-bedroom units rose 301 TP3T, while 4-bedroom houses jumped 541 TP3T
  • Business Strategy: For business owners, renting a 4-bedroom house for staff accommodation saves $900/week compared to renting four individual 1-bedroom units.
  • Investment Strategy: Frankton and Shotover (4-bedroom) show the highest growth. Yield is maximized by renting out individual rooms (Flatting) rather than the whole house.
  • Technical Stack: Python (Google Colab), Power BI (DAX), AI-assisted data modeling

Analyzing rent data for Queenstown, New Zealand

I recently completed the Data Fundamentals course at QRC in Queenstown. I used the data analytics course to determine the direction of my data analysis of Queenstown rents, as shown below.

  • Define a problem (Business Question)
  • Explore your data
  • Data cleaning
  • Loading data and further cleaning in Power BI
  • Create dashboards and deliver insights

1. define the problem (Business Question)

Queenstown has an in-and-out demographic, meaning that people come to Queenstown to work and then leave again after a period of time.

Still, as a business owner, it's all about finding that labor. And this is inevitably related to their accommodation (home) and rent. With this in mind, we asked ourselves the following questions.

  • What are the rental rate trends and number of contracts in Queenstown over the past 5 years?
  • If rent goes up, is it actually harder to find people?
  • What's a realistic rent for room 1 and the whole house?
  • What is the difference in rent growth between Room 1 and the whole house over the past 5 years?
  • How can business owners provide employee housing to stay in business?
  • Conversely, where should a Queenstown property investor invest to maximize returns?

2. Scan your data (Data Scan)

1) Data sources

Tenancy Services website

The data source I used was Tenancy Services websitefrom the New Zealand government. In New Zealand, landlords have 23 business days to register the deposit they receive from a tenant online with Tenancy Services.

The website provides monthly and quarterly CSV files from 1993 to 2025. However, while I initially wanted to use only the monthly data, I found that the quarterly data had more detail (such as the number of rooms), so I decided to use both data files.

We decided to start our data analysis with the last five years. This is because the trends in Queenstown rents in recent years are more likely to continue into the future.

The law requires registration, but if the landlord doesn't do it, we don't know what the contract is, so we started with the understanding that the above data sources don't have all the contracts.

2) Monthly data file scans

CSV file for analyzing rent trends in Queenstown

The first thing that caught my eye was the data organized by month for each region of New Zealand since 1993, and I couldn't figure out what the column names meant.

I think it's very important to understand the columns when looking at a data source because if you don't understand them, you can't understand exactly what the data is saying, and you can't explain it to someone else.

  • TimeFrame: Add each month in a format like February 1, 1993
  • Location ID: Show New Zealand locations by ID number
  • Location: Display the New Zealand region as text
  • Lodged Bond: Number of new rentals signed that month
  • Active Bonds: How many remained as rentals that month and how many were total (rental market size)
  • Close Bonds: The number of rentals whose contracts expired that month.
  • Median Rent: The value in the middle when all rents are lined up (median).
  • Geometric Mean Rent: Geometric mean rent (reduces high-priced rent skew)
  • Upper Quartile Rent: The rent that determines the top 25% (anything above this value is in the top 25%)
  • Lower Quartile Rent: The rent that determines the lower 25% (anything above this value is in the lower 25%)
  • Log Std Dev Weekly Rent: Distribution of rental rates, the higher the value, the more polarized it is

3) Quarterly data file scans

The monthly data source had Queenstown with a Location ID of 70. However, the quarterly data source did not have a Location column and the Location IDs were more granular and numeric.

So I needed the quarterly Location IDs for each of the locations in Queenstown 70. I used AI to get the quarterly Location IDs as follows

The columns in the quarterly data source were almost identical to the monthly, with the only difference being a column called Total Bonds, which is the sum of the number of new leases signed in the quarter.

I have monthly data for the trend and quarterly data with details, but I created another data source (Bridge) role to connect the two. I connected using Location Id, and created additional columns Location Id(detail) and Area name to complete the connection


3. Clean your data

1) Google Colab

First, Google Colabto import a monthly CSV file using Python.

Cleaning data to analyze rent trends in Queenstown (google colab)

For the monthly CSV data, we decided to delete the data we didn't need for analysis, starting in 1993, and only keep data from January 2020 onward.

Cleaning data to analyze rent trends in Queenstown (google colab)1

And since the data is from all of New Zealand, I extracted only the Queenstown data for my analysis.

Cleaning data to analyze rent trends in Queenstown (google colab)2

I then saved it as a file to load into Power BI in the future.

Cleaning data to analyze rent trends in Queenstown (google colab)3

For the quarterly CSV file, I extracted only those with Location Id's 348100, 348200, 348400, 347801, 348700, 348801, 348901, 347901, 347401, 348300, 348600, 348000, 347700, 347300, 346000, 347501.

Cleaning data to analyze rent trends in Queenstown (google colab)4

Because only that Id belongs to Queenstown (Id 70).

2) Power BI cleaning

After trimming the big chunks in Colab, they decided to do some further refinement in Power BI. I viewed the CSV file I cleaned in Colab in Power BI under Load.

Cleaning data to analyze rent trends in Queenstown (Power BI) _1

When you look at the quarterly file, you notice ALL in the data value for the Number of Beds column. ALL doesn't mean the number of all the rooms in the house, but rather the total number of rooms in each house type.

This is actually counting each of the Number of Beds once again, which would be redundant, so we treated the ALL part as unfiltered.

The ones with no room count listed at all were also unfiltered for accurate analysis.

Data cleaning to analyze rent trends in Queenstown (Power BI) _2

In the Number of Beds column, we saw 9 rooms, which we decided that including 5+ would help us categorize the number of rooms, so we changed the data value from 9 to 5+.

The problem was that I wanted to change the data type to numeric for sorting, but the presence of 5+ prevented me from doing so, so I created a new column (Sort beds) simply for sorting and set the data type to numeric.

Data cleaning to analyze rent trends in Queenstown (Power BI) _3

We've renamed the Location Id(detail) column to match the quarterly data with the matching data.

Data cleaning to analyze rent trends in Queenstown (Power BI) _4

Finally, I created a new column (rent monthly growth) to represent the monthly growth in the monthly data, which is the number of new rental contracts minus the number of expired contracts. This gives us a sense of how many people were actually renting that month.


4. data modeling

Data modeling ERD for Queenstown rent trend analysis

In the quarterly table, there may be cases where the same subdivision is in the same region, but the type of house and number of rooms are different. Although there may be multiple cases, they are still attributed to the same subdivision. So we define the relationship between Matching and the Quarterly table as 1 : many.

The Monthly table is a standalone table because I only use it as data to show trends in Queenstown rents and rental market liquidity, so I didn't feel the need to bridge it.


6. visualize your data

1) What has been the trend in rental rates and number of contracts in Queenstown over the last 5 years?

Chart 1 for analyzing rent trends in Queenstown

Over the past five years, Queenstown rents have continued to rise. However, it's important to note that from 2023 to 2025, there is a very small increase. It's almost leveling off, which means we've reached a critical mass of Queenstown rents. People think that Queenstown rents have gotten too high.

The number of new leases signed dropped sharply during the pandemic (2021 -> 2022). It is understood that the New Zealand government's shutdown policy during the pandemic prevented many business owners from opening their businesses, which removed a reason for people who were in Queenstown, or would be moving in, to live in Queenstown.

With the end of the pandemic, there was an explosion in new rental signings between 2023 and 2024 as people who were unable to come to Queenstown returned to the city. However, as we move into 2025, we're seeing a decline in new lease signings again.

It's time for business owners to realize that if current rent trends continue, they won't be able to bring in any more new business.


2) If rent goes up, is it actually harder to find people?

Chart 2 for analyzing rent trends in Queenstown

From 2020 to 2025, the cost of renting in Queenstown is actually on the rise. So, let's take a look at the question of whether it will be harder to find a job if rents actually go up.

In Queenstown, tourism is the main industry, so there are a lot of people who work in the hospitality industry, and they are usually brought in from outside the city (locally and internationally). And the people who actually work in the business are more likely to be renting a flat.

The line chart shows the number of 1-room leases (new and expired) over the past five years. As the cost of rent increases, the number of 1-bedroom leases decreases. This means that as rents go up, it's harder to find people to work.


3) What is a realistic rent for a single room and a whole house (4 rooms)?

Chart 3 for analyzing rent trends in Queenstown

4 rooms for the whole house. For rooms 5+, we chose the most realistic 4-room whole house due to the low number of data points and the possibility of outliers. The median rent for a 1-bedroom in 2025 is $$510, while a 4-bedroom is $$1,140.


4) What is the difference in rent growth between a single room and a whole house over the past five years?

Chart 4 for analyzing rent trends in Queenstown

I wanted to know the growth rate of rent for a single room and a whole house (4 rooms) from 2020 to 2025. To do this, I decided to use Cards, which are more intuitive than charts.

Once you've decided to use the card, you'll need to create a New Measure and enter the Dax Code.

To do this, first find the median rent for a room in 2020 and 2025. Then, subtract the median rent in 2025 from the median rent in 2020, divide by the median rent in 2020, and multiply by 100.

Below is the Dax code I used, which is the code I received after explaining it to the AI. You can do the same for 4 rooms.

[Median rent for 1 room & final growth rate].

Rent_2020_1Bed =
CALCULATE(
MEDIAN(‘quarterly'[Median Rent]),
YEAR(‘quarterly'[TimeFrame]) = 2020,
‘quarterly'[Number Of Beds] = “1”
)

Growth_Rate_1Bed = DIVIDE([Rent_2025_1Bed] - [Rent_2020_1Bed], [Rent_2020_1Bed], 0)


5) How do business owners provide employee housing to stay in business?

Above, we saw that as the cost of rent has risen, the number of rentals for people who actually work (1-room occupants) has decreased. This means that it is harder to find workers.

It's important to make sure that the housing is affordable for employees. Over the past five years, the rental rate for a single room has been around 301 TP3T and 541 TP3T for four rooms. So, why not rent out a single room instead of multiple rooms to your employees?

Chart 5 for analyzing rent trends in Queenstown

For example, is it more beneficial for a business owner to rent a single room for each of their four employees, or to rent out the entire house (four rooms) and rent out each room?

The long bar above is $2,040, which is the cost of renting four 1-bedroom units. We used the cost of renting a single room as of the end of 2025, which is $510/week. What would it cost to rent an entire house?.

As a business owner, you can conclude that renting an entire house (4 rooms) to provide a home for 4 employees will save you $900 more per week than renting a single room from 4 different houses and providing it to your employees.

And employees who are accommodated in this way are more likely to stay with the business much longer than those who don't have any support, which in turn helps keep the business running well.

To create the chart above, I created a New measure and put in the Dax code.

Total_Cost_Individual = [Rent_2025_1Bed] * 4

Total_Cost_Staff_Housing = [Rent_2025_4Bed]

The two Dax codes above were created for use in a horizontal bar chart, and I wanted to emphasize the difference between the two costs, so I used the Dax code below for the card format.

Weekly_Savings = [Total_Cost_Individual] - [Total_Cost_Staff_Housing]


6) Where should Queenstown property investors invest to maximize returns?

Chart 5 for analyzing rent trends in Queenstown

What I wanted to show investors was the neighborhoods and room counts with the fastest growth rates and highest rents over the past five years.

To do this, we created a new measure for Rent_Growth_Rate on the horizontal X-axis and Rent_Current_2025 on the Y-axis to represent the chart.

Rent_Growth_Rate =

VAR Rent2020 = CALCULATE(MEDIAN(‘quarterly'[Median Rent]), YEAR(‘quarterly'[TimeFrame]) = 2020)

VAR Rent2025 = CALCULATE(MEDIAN(‘quarterly'[Median Rent]), YEAR(‘quarterly'[TimeFrame]) = 2025)

RETURN

DIVIDE(Rent2025 - Rent2020, Rent2020, 0)


Rent_Current_2025 =
CALCULATE(
    MEDIAN(‘quarterly'[Median Rent]),
    YEAR(‘quarterly'[TimeFrame]) = 2025
)

The dots in the top right of the chart are in the neighborhoods with the highest rent growth over the past five years and the highest current rents. Those neighborhoods are Frankton and Shotover, which have more four-bedroom units.

For investors looking to invest in Queenstown real estate with proven neighborhoods and room counts, we recommend Frankton and Shotover for neighborhoods and 4 bedroom homes.

And to maximize revenue, you shouldn't rent out 4 rooms to a single renter, but rather split them up and rent them out to multiple renters, because the sum of the rent for a single Queenstown room currently brings in more revenue than renting out all 4 rooms at once.

In fact, if business owners need to rent out their entire house (4 rooms) for their employees, while investors need to rent out one room to maximize their profits, there must be a huge gap in supply and demand.


Finalize

Today, I'm analyzing rent data for Queenstown, New Zealand, and presenting business strategies for both business owners and investors. This is the first time I've found and brought my own data sources and thought about questions about this market.

I also tried to refine the data through Colab and Power BI, which I learned, and came up with a conclusion to my question. Here's what I learned along the way

[what was technically challenging].

I had already studied Python programming before using Google Colab at school. I should have saved the modified or removed Daseframes as new and re-exported (saved) them as CSV files, but the existing file contents still appeared in Power BI, which was confusing.

In Power BI, I had to write Dax code to chart what I needed, and I asked the AI to do it for me. But what the AI created was inaccurate, so I had to go back and fix the wrong columns in the code.

There was one difference when dealing with monthly and quarterly data. While I used the monthly data as it was, I didn't realize that the quarterly data had some filters in it, such as Missing value, ALL, and 5+ rooms, which can make it look different when charted.

That was the hardest part, because I spent a lot of time wondering why the charts looked so different.

[My takeaway].

I thought that once I established the sequence for analyzing data above, I could just keep following it.

However, even as I was cleaning the data, I kept looking at the data file and seeing the columns again, and realized that I still had to do the cleanup work that I missed while creating the dashboard, and the Dax work to implement what I wanted.

Data steps and cleanses that I thought were perfect would be modified endlessly.

As I analyzed with the AI, every time the AI tried something ridiculous to prove its logic, I countered it with my own logic to stop it. To counter my logic, I would go back to the initial question I posed and re-read it over and over again.

Data analysis doesn't happen in a vacuum. It doesn't always go according to plan. It's important not to get lost in the data every time, and to do that, you need to think about your own principles, why you're doing this analysis, and what the data is telling you.

I also felt uncomfortable with the results of the analysis at times. For example, business owners should be encouraged to rent out their entire house, while investors should be encouraged to rent out a single room.

This is one of the things I realized while analyzing this data: I came up with one result, but it needs to be presented differently for different people.


Similar Posts