Active Listing: A listing that has an active page on
Airbnb or had one at some point in the last 15 days.
Bedroom Category: By default listings in the Market
Dashboard are grouped by the number of bedrooms they advertise on Airbnb. In
addition, there is a “Room” category that groups all listings with 0 or 1
bedroom that is advertising as a shared, private, or hotel room.
Booked Dates: This refers to a time period where we
consider the bookings that were received, whether or not the stay dates for
those bookings have occurred yet. For example, “Past 30 Booked Dates” can be
read as “for bookings received in the last 30 days”.
Booked Nightly/Weekly/Monthly Price: The price per
night for bookings that have a certain length of stay. Booked Nightly Price
would consider all bookings, Booked Weekly Price would consider bookings with
length of stay greater than or equal to 7, Booked Monthly Price would consider
bookings with length of stay greater than 30. Length of Stay discounts are
Booking Window: The number of days between when the
booking was made and the first stay date for that booking. A same day booking,
where the first stay date is the same as the booked date, would have a Booking
Window of 0. If someone books today to start their stay tomorrow that would be
a Booking Window of 1. Etc.
Length of Stay (LOS): The number of nights a booking
is for. For a booking where guests check in Friday and checkout Sunday the
Length of Stay would be 2 (Friday night and Saturday night)
Percentile: The percentage of listings that fall at
or below the given value. For example, if the 25th percentile price
is $144, that means 25% of listings have a price equal to or lower than $144.
Scraped Data: Data that comes from publicly viewable
websites and pages. For listings some examples of data that we scrape are
future prices, future available dates, listing info such as number of bedrooms
and amenities included. See Data Source and Processing section for more details
on the data we gather and how we process it.
Stay Dates: This refers to a time period where we
consider bookings where guests have stayed at the listing during the period.
“Past 30 Stay Dates” can be read as “In the past 30 days for bookings where
guests have stayed”.
Methodology: Data Sources and Processing
Currently Market Dashboards is using
only scraped data from Airbnb. For a listing all data we gather could be found
by going to that listing’s public Airbnb page and looking through their
calendar and the listing info they provide. We then keep records of how their
calendar has changed, what dates have become unavailable (or re-available), how
their prices have changed, etc. and we build up a history for that listing. We
currently do this for all listings that appear on Airbnb. Using scraped data enables us to provide Market Dashboards for any location around the world (regardless of whether we have customers there or not).
Much of the booking data we show on
Market Dashboards is not directly available from a listing’s calendar. Data
like Booking Window, Length of Stay, Booked Date, and Booked Price are instead
inferred from the changes we see to a listing’s calendar over time. If
consecutive dates become unavailable from one scraping to the next, we will
initially mark it as a single booking. Due to the frequency at which we scrape
the booked date is well determined and the chances that it is two separate
consecutive bookings is low. We can then calculate the Booking Window and
Length of stay for this booking. The booked price is then assign based on the
last listed prices for those dates we saw prior to the dates becoming
One of the main challenges for
scraped data is that there is no guaranteed way of determining if specific
dates are not available because they were booked or if the owner has decided to
block those dates. Everyone using scraped data faces this issue and
generally has some way in which to try and remove these blocked dates from the
data, and no method is perfect. PriceLabs has its own block removal logic that
looks at patterns in the whole market as while as individual listing data to
help us determine whether a booking is real or a block. Some of the factors of
a booking we look at to determine if it is a block or not are: Length of Stay,
Booking Window, Market Occupancy, extreme Price variations, and more. We also
automatically remove any stay greater than 60 days as we feel they do not fall
under the Short-Term Rental category and can have a large impact on the data. Once
a block has been found the corresponding dates for that listing are changed to
available and do still count as the listing being empty when calculating market
level Occupancy for those dates. All other booking info is also removed.
Bookings made on other OTAs or Direct Website
As long as a property is listed on Airbnb in addition to other OTAs, we still are able to deduce bookings on other OTAs as they block the calendar on Airbnb. As described above, once a date is unavailable (either due to a booking on Airbnb, or from any other OTA) we use our block detection logic to identify whether it's a booking (made through any channel) or a blocked date.
Dynamic Pricing Analysis for listings in your market/comp-set
When creating listing comp-sets, you will see a column named "Dynamic Pricing." Here's what it means:
We track the prices of each listing and score them on a 0 to 1 scale on both day to day to day price variation as well as how much their prices have changed for the same day since the last time we checked. A 1.0 would indicating their prices vary strongly from one day to the next and are constantly changing, while a zero indicates the price is always constant. I can't divulge exactly how this score is calculated but to give you a rough reference an average PriceLabs user generally falls into the 0.6 - 0.8 range depending on their customizations.
For the table we then bin these scores:
None: score 0.0 - 0.1, these listings almost never change their prices
Low: score 0.1 - 0.25, these listings may change their prices for holidays and events, but their overall price week to week is pretty constant
Moderate: score 0.25 - 0.5, these listings prices vary week to week but the variance is overall small and prices don't update too often (someone manually updating their prices every week may fall into this category)
High: score >0.5, these listings prices account for DOW and holiday/event demand changes and update every few days (listing is most likely using some dynamic pricing software to update their prices on a daily basis).
Frequently Asked Questions
- Why do we
sometimes use Median instead of Mean?
There tends to be a few outliers in
every market that set extremely high prices or only take extremely long
bookings, the listings are not indicative of the market but would have a large
effect when calculating the mean for these values. Median on the other hand is
more stable and resistant to outlier behavior.
- Why is the area covered in the listing map smaller than
the inputted radius?
We currently cap the number of active listings in
each Dashboard to 1,000. If the area you selected has more than 1,000 listings
in it we will only show you data for the closest 1,000.
- In the listing table (under Location Map) how do you
classify professionally managed listings?
We use 4 categories:
Individual, Small, Moderate, Large. The individual category is for property
managers that only have a single listing tied to their account, Small means
they have between 2 and 10 listings, Moderate between 11 and 50 listings, and
Large is 51 or more listings. Unknown may appear if we haven’t yet determined
how many listings the property manager has.
- Is there a way to search for Airbnb Luxe listings using
- Why do some listings have extremely high
occupancy/revenue in the past 30 days even though the market as a whole isn’t
It is likely that at least some of the bookings we have
assigned to that listing are actually blocks that we missed. Our block removal
isn’t perfect but do send us cases you find suspicious so that we can try to