Occupancy Was 78%. So Why Was It a Bad Year?
Two numbers that lie in opposite directions
Occupancy tells you how full you were and says nothing about the price. You can fill a year at a loss and report 90%.
Average nightly rate tells you what you charged and says nothing about how often anyone accepted it. You can post a magnificent rate on an empty calendar.
Hosts know both numbers are incomplete, which is why they usually quote them together — “78% at an average of 190” — as though two flawed figures add up to one good one. They do not. They hide each other’s failures. A strong summer can carry a ruinous spring all the way to a respectable annual pair, and you will not find the ruinous spring by staring at the pair.
What you actually want to know
For every night of the year: what did you ask, and what did that night earn?
The shaded band is the gap, and the gap is the year’s real story.
July and August are almost perfect. 238 earned against 240 asked — the rate held, the nights sold, there is nothing to fix and no money left on the table.
April and May are the problem. 112 earned against 150 asked. Not “we charged less” — the asking rate was already discounted to 150 from a 180 winter rate, and it still came in at 112. That is the signature of a month where you cut the price and the cut did not buy occupancy. The discount was given away for nothing.
The annual pair for this property is 78% at 178. Both numbers are fine. Both conceal a spring that lost money.
| Asked | Earned | Shortfall | |
|---|---|---|---|
| Jan–Feb | 180 | 177 | −2% |
| Mar–May | 155 | 124 | −20% |
| Jun–Aug | 225 | 220 | −2% |
| Sep–Nov | 170 | 147 | −14% |
| Dec | 205 | 199 | −3% |
Example figures from a demo account, not a real customer.
What you do about it
The two shoulder blocks are not the same problem, and the chart is what separates them.
Spring is a pricing problem. The rate was cut and occupancy did not respond, so the cut was not the lever. Something else — minimum stay, photographs, a competitor who opened nearby — is deciding those weeks.
Autumn is a smaller version of the same thing and probably worth one experiment rather than a strategy.
Airflow will suggest a per-season rate card from your own booking history, and you apply it or you do not — nothing changes your prices on its own. Once applied, the chart refetches, so the asking line moves and next year you can see whether the change did anything. That last part is the point. A pricing recommendation you cannot check afterwards is a horoscope.
The honest limit
This chart is only as good as your booking history. A property with two months of data has a chart, and the chart means very little. It gets useful somewhere around a full season and genuinely good with a year, which is the argument for importing your past bookings when you set up rather than starting from today.
One clarification, because it changes the numbers: nightly value here is gross, including the cleaning fee — the whole amount attributable to the night, not your payout after costs.
What these reports need. Every chart here is built from bookings Airflow can see. A channel it cannot read is a channel missing from the picture, and a report with a hole in it is worse than no report — so the pages say what they are missing rather than quietly averaging it away. The profit and reconciliation views need a connected ledger; without one you get income, not profit.
See it on your own numbers
Everything above is one demo account. The version that matters is the one built from your bookings, and it takes about twenty minutes to get there:
- Create an account — start free; a card is needed at sign-up.
- Import your history. Paste your Airbnb or Booking.com iCal link, or upload a CSV export. Past bookings come in too, which is what makes the first chart worth looking at on day one rather than in six months.
- Connect your accounting, if you keep books in Xero. That is what turns the income charts into profit charts, and it is what makes the reconciliation view work at all.
- Open Stats. Property tab for one place, Overview for the portfolio.
Related: How to Set Seasonal Rates, Price Next Season Before You Have To, and Every Booking You Already Have.