A BNB Accelerator publication

Read a Rental Booking Calendar Without Hiding Blocked Nights

A booking calendar can show a higher occupancy percentage while producing fewer booked nights. The explanation may be a change in which nights were available rather than a change in demand. Before comparing seasons, separate booked, open, blocked and unknown nights, keep the date range visible and calculate each measure from a stated denominator. That small amount of structure makes a calendar much more useful than a screenshot with one attractive percentage.

This guide uses fictional monthly records and a local CSV utility to demonstrate the comparison. It concerns your own authorized operating records, not scraping another host's calendar or estimating a property's revenue from public availability. The examples are educational arithmetic, not market estimates, BNB Accelerator client results or investment recommendations. A calendar tells you about the recorded status of dates under a particular definition. It does not independently establish why a night was unavailable, whether revenue was collected or what another owner could earn.

Define the unit before counting the nights

Use one property and one stay date as the basic unit. A stay date is the night being sold, not the date a reservation was created or the date money arrived. If a guest checks in on April 10 and checks out on April 13, the stay covers three nights under the ordinary checkout convention. An export may represent those nights individually or as a reservation interval. Confirm the export's meaning before converting it into daily rows.

Keep the property identifier stable across exports. A renamed listing should not suddenly become a second property in your analysis. If the same home appears on several platforms, you need an authorized way to reconcile the underlying stay dates so a booking is not counted twice. The supplied demonstration assumes one already reconciled property calendar. It does not connect channels, resolve overlapping reservations or determine which platform record is authoritative.

Also choose a consistent snapshot. A future night that is open today may be booked next week. A historical export taken before all changes were reconciled can differ from a later accounting record. Record the extraction date and whether the analysis concerns past completed periods or a future booking position. Comparing a completed April with a partially booked future May without saying so would mix two different questions.

Use four explicit status categories

In the fictional file, booked means the authorized record marks the stay date as booked. Open means the night is available and unbooked. Blocked means the night is intentionally unavailable under the supplied record. Unknown means the record does not settle the status. These labels describe the demonstration's data model. They are not a claim that every booking platform uses those exact categories or calculates every dashboard field in the same way.

Blocked nights can have many reasons: owner use, maintenance, a deliberate closure or a default setting. Keep a reason field in a real working record when it is available. Do not convert a blocked night into a paid stay merely because a public calendar prevents booking it. Likewise, do not assume every unavailable night represents lost demand. The source may not provide enough information to distinguish a reservation from another restriction.

Unknown deserves its own category. An incomplete export, a conflicting record or a missing explanation should remain visible. Assigning all unknown dates to open makes the calendar appear less occupied; assigning them to booked makes it appear more occupied. Neither choice is an observation. If you want a sensitivity case, label it as an assumption and keep the original unknown count alongside the result.

Calculate available-night occupancy and calendar use separately

Airbnb's help article on occupancy and rates describes an occupancy measure based on booked nights divided by nights available to be booked. For this demonstration, known eligible nights are booked plus open nights. The known-eligible occupancy calculation is booked divided by that sum. Blocked and unknown nights remain separately reported. If the denominator is zero, the result is undefined, not zero percent and certainly not one hundred percent.

A second measure divides booked nights by all calendar nights represented in the complete month. Call that booked share of calendar nights. It answers a different question: what fraction of the month's nights were recorded as booked? It includes blocked nights in the calendar denominator, so it can move differently from available-night occupancy. Neither measure replaces the other, and neither is a direct measure of profit or cash receipts.

Name both measures in a report rather than labeling them both occupancy. Include the underlying counts so a reader can reproduce the calculation. A useful monthly line shows calendar nights, booked, open, blocked, unknown, known eligible nights and the two stated ratios. When unknown nights exist, mark the available-night result as conditional on the known classifications. The reader should not have to discover that limitation in a separate footnote after acting on the number.

Work through two months with the same percentage

In fictional April, the calendar has thirty nights: eighteen booked and twelve open. There are no blocked or unknown nights. Known eligible nights equal thirty, so booked divided by known eligible nights is eighteen divided by thirty, or sixty percent. Booked share of calendar nights is also sixty percent because every night in this particular month is in the eligible denominator.

In fictional May, there are thirty-one calendar nights: twelve booked, eight open and eleven blocked. Known eligible nights equal twenty. Twelve divided by twenty is again sixty percent, but booked share of calendar nights is twelve divided by thirty-one, approximately 38.71 percent. The matching sixty percent figures do not mean the home produced the same number of booked nights. April recorded eighteen; May recorded twelve.

That comparison still does not establish a seasonal demand decline. Perhaps the owner chose to close eleven May nights for unrelated work. Perhaps the mix of weekends and weekdays changed. Perhaps the two extracts were taken at different points in the booking cycle. The arithmetic reveals a denominator difference. Explaining the business cause requires additional records and context. Keep that distinction explicit when discussing the results with an operator, seller or adviser.

Check that a month is actually complete

A table of twenty-five daily rows does not describe a complete thirty-day month unless the five absent dates are accounted for. The supplied utility requires every date in each represented property-month to be present exactly once. It rejects duplicates and missing dates rather than treating the remaining rows as a whole month. That basic check prevents an incomplete export from silently shrinking the denominator.

Completeness of dates is not completeness of knowledge. A month can contain every date and still include unknown statuses. The date check only establishes that the represented calendar has the expected daily coverage. It does not prove that the classifications are correct or that the source captured every later cancellation, manual adjustment or cross-platform change. The output therefore reports unknown counts separately even after the coverage check passes.

A file can contain April and May without containing a full year. The script evaluates the months present; it does not certify annual coverage. State the overall period in your report and list missing months if the question concerns a year. A complete single month is useful for testing a calculation, but it is weak evidence for a seasonal pattern that repeats across years. Resist turning a successful file check into a broader data-quality claim.

Keep unknown nights visible in a sensitivity example

Fictional June has thirty dates: twelve booked, ten open, four blocked and four unknown. The known eligible denominator is twenty-two. Twelve divided by twenty-two is approximately 54.55 percent. That figure describes the known classified portion under this guide's definition. It is not a complete-month occupancy conclusion because the four unknown dates could change both the numerator and denominator.

To illustrate the range of assumptions, suppose all four unknown nights were eligible to be booked. If all four were open, the ratio would be twelve divided by twenty-six, approximately 46.15 percent. If all four were booked, it would be sixteen divided by twenty-six, approximately 61.54 percent. If instead the unknown nights were blocked, the known-eligible calculation would remain twelve divided by twenty-two. Each case uses a different assumption about missing information.

Do not select whichever case supports a purchase or operating story. Present the unresolved count and obtain the source explanation when possible. A sensitivity exercise shows how much the missing information could matter; it does not discover the actual status. If the unknowns concern especially valuable dates, a count-based range still will not establish their revenue effect. You would need the relevant reservation and financial records for that separate question.

Distinguish a seasonal pattern from one unusual event

A seasonality analysis asks whether outcomes vary with a recurring part of the year under comparable conditions. One strong holiday weekend, an unusual closure or a change in owner use is not enough to establish a repeatable pattern. Start by describing the observed months without assigning a cause. Then ask what other information could explain the difference: availability policy, booking horizon, property changes, distribution channels or an event that did not occur in the comparison year.

Compare similar windows when practical. A completed month should be compared with another completed month if your question concerns realized calendar use. Future booking positions can be compared at a consistent lead time if your question concerns pace. Keep weekday composition and length of month in view. The point is not to manufacture perfectly identical conditions, which may be impossible, but to identify differences that limit the interpretation.

A simple calendar review can guide the next evidence request. If lower booked nights coincide with a larger blocked count, ask for block reasons before concluding that pricing failed. If unknowns cluster around a channel change, reconcile the export. If dates are complete and classifications are stable but booked nights vary, then a broader demand and pricing review may be useful. Each observation should lead to a specific question rather than an automatic investment conclusion.

Separate calendar status from revenue and cash

A booked night is not necessarily a collected night at the rate shown on a public listing. Reservations can involve discounts, cancellations, refunds, fees, taxes and settlement timing. This guide does not infer revenue from the booked count. It also does not multiply an advertised nightly rate by all unavailable dates. A revenue analysis needs a defined financial field and a source that supports it, such as an authorized reservation or accounting export.

If you later add revenue to the worksheet, define whether it means accommodation charges, gross guest payments, platform payouts or another measure. Those are different quantities. State the currency and time basis, and reconcile the selected figure to its source. Keep cleaning charges, taxes and pass-through amounts identifiable according to the question being asked. A calendar ratio should not become a shortcut around that reconciliation.

For a purchase discussion, historical records also do not guarantee future performance under a different owner, use pattern or cost structure. The calendar can help identify evidence gaps and operating choices. It does not settle financing, insurance, permitted use, condition or valuation. Use the relevant professional reviews for those questions. The educational calculation here is deliberately narrow so the resulting number does not appear to answer more than the data supports.

Run the local calendar summary utility

Download the fictional CSV, Python script and expected report into one local folder. Run python3 calendar_summary.py fictional-calendar.csv. The script reads property_id, date and status columns, validates each represented month and prints a JSON summary. It makes no network or model calls. It does not alter a booking calendar or write a new database. If you redirect its output to a file, that file remains wherever you save it.

The accepted statuses are booked, open, blocked and unknown. Dates use the year-month-day format shown in the sample. The utility rejects repeated property-date pairs, invalid dates, unexpected statuses, missing fields and incomplete represented months. Its ratios are rounded for display after calculation. A clear input error is preferable to a polished report with an unexplained denominator. Correct the export or the scope of the analysis before relying on the output.

Compare the generated JSON with the supplied expected report. The fictional file contains the April, May and June cases described above. Matching the report shows that the downloaded program handles this example as documented. It does not validate your real records or establish that a platform's own dashboard uses identical inclusion rules. If you adapt the utility, retain the original example as a small regression check and document any changed definitions.

Review the result with the person who knows the calendar

Bring the counts and a few source examples to the operator who can explain them. Ask what blocked means in each period, how cancellations are represented and whether the export was reconciled across channels. Show the unknown dates directly rather than asking a vague question about data quality. A focused discussion can often resolve a denominator problem faster than another round of modeling.

Record corrections in a revised input file with a clear version note. Keep the original extract in an appropriate authorized location so the change can be explained. If a previously unknown date becomes booked, note the source supporting the correction. Do not rewrite the earlier report without preserving the fact that the evidence changed. The objective is a reproducible explanation of the calendar, not a permanently favorable statistic.

Conclude the review with one concrete next step: obtain block reasons, complete a missing month, reconcile reservations or examine a comparable period. The broader investor research library can help with separate capital and operating questions, while BNB Accelerator is the relevant brand context for an implementation discussion. Keep each decision tied to its own evidence. A well-explained calendar is useful because it narrows uncertainty, even when it does not produce a simple answer about the investment.

Combine properties through counts rather than averaging percentages

If you compare more than one home, add the booked and eligible counts before calculating a portfolio ratio. Consider a separate fictional example: property A has nine booked nights out of ten eligible nights, while property B has nine out of thirty. Their individual ratios are ninety percent and thirty percent. The simple average is sixty percent, but the combined count is eighteen booked nights out of forty eligible nights, or forty-five percent. The difference comes from unequal denominators.

Neither arithmetic operation is inherently mysterious. The average of the two property percentages describes the average property-level percentage when each property receives equal weight. The combined-count ratio describes booked nights relative to eligible nights across the two calendars. Name the question you intend to answer. Do not present the equal-weight average as the combined-night result merely because both are percentages and one looks stronger.

The supplied utility keeps property-month rows separate, which preserves those counts for review. If you add a portfolio summary, retain the underlying rows and apply the same status definitions across properties. A calendar with owner-use blocks and another with unrestricted availability may deserve different operating discussion even when their combined denominator is mathematically valid. Arithmetic consistency does not make the properties operationally interchangeable.

Preserve the cancellation and snapshot cutoff

A reservation that later cancels can change a historical comparison depending on when the file was captured. State the extraction date and the rule used to classify the final stay date. If your question concerns bookings held at a particular lead time, preserve that earlier snapshot. If it concerns completed stays, reconcile to the final operating record. Do not mix those two views in one unexplained series. The same date can legitimately appear differently in different snapshots because the underlying status changed.

Frequently asked questions

Does an unavailable public night prove a booking?

No. A public calendar can show that a guest cannot book a date without explaining why. The date may be reserved, manually blocked, restricted or otherwise unavailable. This guide uses authorized records with explicit classifications. Do not translate another host's public availability into paid nights or revenue without evidence that supports those conclusions. Unknown status should remain unknown rather than becoming an optimistic estimate.

Why report both known-eligible occupancy and calendar booked share?

They answer different questions. The first compares booked nights with known booked-plus-open nights under this demonstration's definition. The second compares booked nights with every date in a complete represented month. Blocked dates create a difference between the denominators. Seeing both counts helps explain why an identical available-night percentage can accompany fewer booked nights, as the fictional April and May examples demonstrate.

Should a fully blocked month have zero percent occupancy?

Under the known-eligible definition here, a fully blocked month has a zero denominator, so the occupancy result is undefined. The script reports a null ratio rather than dividing by zero. Booked share of calendar nights can still be zero when no dates are booked. Keep those measures distinct. Reporting one as the other would hide the fact that no nights were offered within the defined eligible set.

Can unknown nights be excluded from the report?

They can be excluded from the known-eligible denominator only if their count and the conditional nature of the ratio remain visible. They should not disappear from the calendar total or the evidence discussion. The June sensitivity cases show how different classifications could change the result. A sensitivity assumption is not a correction to the source. Seek the missing explanation before presenting a complete-month conclusion.

Does the utility reproduce every platform dashboard?

No. It implements the stated four-status educational model. Platforms and data providers may apply different definitions, filters, timing or listing eligibility rules. Read the relevant documentation and compare the actual source fields before expecting matching results. The supplied example helps you inspect denominators and completeness; it is not an official Airbnb integration or a claim of compatibility with every export.

Can I use these numbers to forecast purchase returns?

The fictional numbers are not market evidence and should not be used as a forecast. Even authorized historical records require separate review of availability, revenue definitions, costs and the intended future operation. The calendar analysis can identify questions for that review. It does not determine a purchase price, loan suitability, legal rental capacity or expected return. Keep those decisions separate from this narrow arithmetic exercise.

AI-assisted website editorial content with checked examples and primary-source references. No named professional review or client outcome is asserted. Published October 25, 2026.

Download the fictional example

Fictional educational material, not actual property records, client outcomes or product specifications.

Primary sources and scope

Related reading and next steps