You can find the code and data for this article at this link. It's all hosted on Deepnote, a new kind of data notebook designed for collaboration. Thank you to Deepnote for sponsoring this week's article.
I've noticed many people complaining about Airbnb cleaning fees lately, especially on Twitter. Complaints of cleaning fees over $100 seem to be happening more and more. I've seen Tweets like this gem.
Or this Airbnb host that wanted you to tip the cleaners that they hired.
It's a pretty bad customer experience to have a low nightly rate and then many fees piled on top. Airlines have been doing this for years to make the base ticket price as low as possible. But Airbnb's advertised nightly rate on the site includes the cleaning fee, so this does not seem to be an effort to compete on base price.
Notably, the Airbnb service fee is not included in the nightly rate. From what I found in my data and according to Airbnb, this fee is between 14-15% of the total stay cost.
To figure out what going on, I decided to scrape the Airbnb site and do a bit of analysis on the fees being charged. Let's dive in!
In this article:
- How I collected the data
- What is the average Airbnb cleaning fee?
- Do certain cities have higher cleaning fees?
- What percentage of the total price is the cleaning fee?
- Why I think some cleaning fees are higher
How I collected the data
To start, I needed some fee data. Airbnb doesn't just give this out, and their fee transparency page isn't particularly helpful other than to say that hosts set their cleaning fees. So to get the data I needed, I had to resort to scraping the data from the site.
My approach was to do a simple search for a city (I picked 12 different cities around the world) and then through the listings using a headless browser to simulate a person browsing. I collected the links for each listing on these pages. Airbnb only gives you 15 pages per search, for a total 300 listings, unless you use other filters. This seemed like a good sample for my purposes.
I think set my scraper to visit each of those listings and pull several pieces of data from the listing page:
- Listing subtitle (Entire home/Guest room/etc)
- Room price minus fees - the base price
- Cleaning fee
- Service fee
- The number of guests allowed, beds, bedrooms, and baths
- Check-in and check-out dates for the corresponding prices
I repeated this process for two batches of searches. The first was with a flexible dates search, which gave me results with stays ranging from 5-7 days. For the second, I searched for one-day stays about two weeks ahead of when I did the scraping. I wanted these two groups of results to see if fees changed based on stay duration.
For each batch, I ended up with around 3,300 listings (and prices) for 12 cities. Those cities are Dallas, Austin, Los Angeles, New York (Manhattan), San Francisco, Brisbane, Sydney, London, Berlin, Toronto, Montreal, and Paris.
Note: When searching Airbnb for a city, it returns results in downtown, so these results should be viewed in that context.
Let's move on to the results! Please note that the results below are from the data I collected. If you would like to see the code and data I used, please see the link at the bottom of the article.
What is the average Airbnb cleaning fee?
From the Tweets above, you might think that $150 or $200 cleaning fees are normal on Airbnb. This doesn't seem to be the case at all. In fact, for multi-day stays, the average cleaning fee was $50. For one-day stays, the average was only $35.
Of course, these averages include the listings with $0 in cleaning fees. Almost 28% of one-day listings had no cleaning fees, with only 13% of multi-day listings having no cleaning fees.
To visualize the distribution of cleaning fees in my sample, I plotted a histogram for multi-day and one-day stays.
As you can see, more than half of the listings in the sample had cleaning fees below $50. The biggest drop off in cleaning fees happens at the $75 mark. Cleaning fees of more than $100 aren't as common but add up to more than 5% of listings.
For one-day stays, we see more than 45% of listings having cleaning fees of less than $25. On the other hand, cleaning fees of over $50 represented more than 26% of listings for one-night stays.
Many Airbnb hosts are trying to keep cleaning fees low, but more than a quarter are charging relatively high cleaning fees even for one-night stays. Most of the complaints I've seen on Twitter stem from one-night stay cleaning fees.
Do certain cities have higher cleaning fees?
My next question was whether location had any influence on cleaning fees. My first hypothesis was that cities like New York or San Francisco would have higher cleaning fees. I was certainly wrong there.
I calculated the average Airbnb cleaning fee by city and sorted them from smallest to largest. Take a look.
It's something when Austin, Texas can claim to be more expensive than Paris on something. When I made this plot, I jumped out of my chair. I hurried over to show my wife holding my laptop like a crazed person. She wasn't as enthusiastic as me about a bar chart of Airbnb fees, but she agreed the result was notable.
I started thinking about why the US could be more expensive than other countries on something as silly as cleaning fees. The only answer I could come up with is that cleaning companies in the US are more expensive than their international counterparts. Either that or Airbnb hosts outside the US are cleaning themselves.
To underscore the point, I made separate histograms of cleaning fees for the most and least expensive cities, Austin and Berlin.
The most common cleaning fee in Austin is between $50 and $75. Notably, 10% of listings have cleaning fees between $175 and $200.
In Berlin, the story is very different.
It seems cleaning fees aren't popular in Berlin. Just a massive difference here, with more than 60% of listing having cleaning fees of less than $25. I noticed similar distributions of cleaning fees in US vs non-US cities. In the US, the center of the distribution is around $50, with a small group of outliers above $100. Outside the US, most of the listings had cleaning fees of less than $50, with very few above $100.
Perhaps this trend is due to the massive influx of startups in Austin in recent years. Are VC-backed startup employees significantly messier than other people? Nevermind. This also wouldn't explain why the other four US cities are more expensive than non-US cities.
Understanding the world through data
Get notified when a new post drops.Subscribe
What percentage of the total price is the cleaning fee?
The raw numbers of cleaning fees are notable but don't give context to the situation. For a more expensive Airbnb, you would expect to have a higher cleaning fee. Conversely, a less expensive Airbnb would be expected to have a lower cleaning fee. So what matters isn't the fee itself but the ratio of cleaning fees to the total price of the stay.
This is what I saw a lot of Twitter complaints mention, with one notable difference. On Twitter, the complaints were about the ratio of cleaning fees to the nightly price. So let's look at both one-day and multi-day listings.
To chart this, I took all listings with non-zero cleaning fees and calculated the percentage of the total price the cleaning fee represented.
It makes sense that one-day listings would have a higher cleaning fee ratio than multi-day stays. They only have to clean once, after all. That being said, I have seen an Airbnb charge a higher cleaning fee the longer you stay. But in my case, this was for an Airbnb in Paris.
When the stay duration is 5 or more days, the cleaning fee becomes less than 10% of the total cost. This becomes significantly more reasonable.
The ratio for one-day stays in the US is 27.8%. For those outside the US, it is 23.5%. These aren't significantly different numbers. So for those Airbnb listings that charge a cleaning fee, expect the cleaning fee to be roughly the same percentage of the total price inside or outside the US.
Why I think some cleaning fees are higher
From the data I collected, there are a few takeaways I have. The complaints about cleaning fees seem to involve either 1) high cleaning fees (over $100) or 2) staying only one night where cleaning fees are a significant fraction of the total cost (higher than 50%).
Inside the US, only 18% of one-day stays on Airbnb had no cleaning fees (compared to 58% outside the US). This, combined with the comparatively higher number of listings with above-average cleaning fees, creates opportunities for customers to get upset.
From the sample of data I collected, these two cases seem to happen with a minority of listings. But their complaints are still valid. Importantly, hotels, which Airbnb competes with, don't charge cleaning fees. Even if you save money at an Airbnb compared to a hotel, you still see that cleaning fee on your bill. It's not a great customer experience when your pricing structure is compared to airlines.
Amazon loses money on free shipping via Amazon Prime every year. Yet customers love it. Even if you are paying for it in some other way, simple pricing with no extra fees makes people happy. Asking your guest to tip the cleaners sounds like a lazy Airbnb host side hustling their way to a 4-hour work week. Charging high cleaning fees on a one-night stay sounds like a solution from a "turn-key passive income" book where you do as little as possible and outsource everything.
My family travels a few times a year, and we now choose hotels over Airbnb. Cleaning fees and even Airbnb's service fee have played a big part in that decision. If Airbnb is guilty of something, it's not caring about bad PR or a bad customer experience.
If you are curious or want to replicate my results, you can access all the code I used to perform the analysis above here. I host it all on Deepnote, a great place to perform analysis and share it with others.
Deepnote is a new kind of data notebook that’s built for collaboration— Jupyter compatible, works magically in the cloud, and sharing is easy as sending a link.