Occupancy is the number most people want and the one no booking platform publishes. JokerPrice estimates it from the one public signal that changes when a guest books: the availability calendar.
One check a day
For each tracked listing, JokerPrice reads the public calendar about once a day and stores the state of every future night. Nothing is inferred from a single read. The signal is the change between two reads.
From a change to a booking
If a night was open at one check and closed at the next, it is counted as booked. We store how many days ahead it closed (the lead time) and the listing's asking price for that night, which later becomes part of the average daily rate.
What we deliberately leave out
- Nights that were already closed the first time we looked. We cannot know whether they were booked or blocked, so they count as unknown and are excluded from both sides of the occupancy ratio.
- Long closures and closures far in advance. A run of more than 14 nights, or a closure more than 180 days ahead, usually means the owner took the property off the market. Those count as owner blocks unless the listing's booking counter rose at the same time.
- Tonight. Calendars close on the day regardless of bookings, so same-day closures are ignored.
- Cancellations. A night that reopens before it arrives is removed again.
Why destinations say "collecting"
A few days of calendar changes are noise. Until a destination has at least 7 days of tracking and 100 observed listing-nights, reports show a dash instead of a number. Our own tracking started in late October 2026, so most destinations will be in that state for their first week, and year-over-year comparisons arrive in 2027.
Known limits
Hosts who block short runs for personal use or off-platform bookings can look booked. Airbnb exposes no booking counter, so its blocks are separated from bookings only by run length and lead time. Tracked listings are a sample, not the whole market. The guide to reading occupancy estimates goes through each of these in more detail.