The 38 bed nights that earned nothing, and what they did to our ADR
Two pricing arms, four days each. The capped arm looked 17.6 percent worse on rate. Then we found 38 bed nights counted as occupied with zero revenue, and the comparison changed sign.
The number that changed sign
Since 7 September we have been running two pricing regimes side by side at our own hostel in Oaxaca, 46 beds. One arm lets the learned discount ladder go as deep as its hard cap allows. The other refuses to sell any bed more than 15 percent below rack. Four days have landed in each arm so far. They run in parallel rather than one after the other for a reason: September weather, September festivals and September competitors hit both arms equally.
Here is what the two arms reported after four days each. The deep-ladder arm: 79 bed nights, 42.9 percent occupancy, and an average daily rate we will treat as the baseline. The capped arm: 142 bed nights, 77.2 percent occupancy, and an average daily rate 17.6 percent below that baseline. Read at that level, the result is the one every revenue-management article warns you about. We bought occupancy and paid for it in rate.
That reading is wrong, and the reason it is wrong is the part worth ten minutes of your morning.
Thirty-eight beds that earned nothing
Our channel breakdown has four rows: Booking.com, Hostelworld, direct, and other. In the capped arm, the other row holds 38 bed nights, 26.8 percent of everything that arm sold, against revenue of zero. Not low revenue. Zero. In the deep-ladder arm the same row holds 5 bed nights, 6.3 percent, also at zero.
An average daily rate is revenue divided by bed nights. If 38 of your 142 bed nights contribute to the denominator and nothing to the numerator, the rate you are reading is not a price anybody paid. Divide each arm's revenue by only the bed nights that carried revenue and the comparison inverts: the capped arm's realised rate comes out 5.4 percent above the deep-ladder arm, not 17.6 percent below it. Same data, same nine days, opposite sign.
The occupancy comparison is distorted too, in the other direction. As reported, the gap between the arms is 34.2 points. Counting only beds that produced revenue, it is 16.3 points: 40.2 percent against 56.5 percent. The capped arm does still fill more beds. It fills about half as many more as the headline claims.
Three ways to catch this without a data team
You do not need a dashboard to find beds like these. You need three checks, each of which takes a few minutes on whatever your property management system already exports.
1. Read the bed-night column, not the revenue column
In our capped arm the four channel revenue figures sum exactly to the arm total. That looks like a clean reconciliation, and it is what let this sit for a week. A zero is a number; it adds up fine. The check that catches it is the bed-night column: any row with positive bed nights and zero revenue is a row to walk down the hall and ask about. If your report only shows percentages of revenue, that row is invisible by construction, because zero percent of revenue and no row at all look identical.
2. Reconcile discount against rack
Our report carries three things: the revenue we took, the discount we gave, and the rack value of the same bookings. Revenue plus discount should equal rack value. In the capped arm it does not. The two sides differ by 25.9 percent of that arm's rack value. In the deep-ladder arm they differ by 6.3 percent of it. Those gaps are the invisible beds valued at what they would have sold for, and the per-night figure implied by each gap lands within 2 percent of the other across the two arms. That agreement is what told us we were looking at ordinary beds recorded at nothing, rather than at a broken rate or a botched export.
3. Look at your rate on your busiest nights
Across the last 30 nights on our ledger, the four nights with the lowest average daily rate are four of the six nights with the highest occupancy. A discount ladder capped at 15 percent below rack cannot produce a rate drop of that size. When your rate falls further than your own rules permit, on exactly the nights you sold the most beds, you are not looking at a pricing effect. You are looking at beds entering the occupancy count without entering the revenue count.
Why one metric never flinched
Through all of this, revenue per available bed told the truth. It was 48 percent higher in the capped arm on the reported figures, and it stays 48 percent higher after you strip the zero-revenue beds out, because it never counted them in the first place. Its denominator is 46 beds times four nights, which is a fact about our building, not about our record-keeping. A bed that generates nothing adds nothing to the numerator and cannot move the denominator.
That is the whole case for making revenue per available bed the number you argue about in the morning meeting. Occupancy can be inflated by beds nobody paid for. Average rate can be deflated by those same beds. Revenue per available bed is immune to both, which is why the experiment is now judged on it, with rate and occupancy kept as diagnostics rather than verdicts.
What we still do not know
We do not know what those 38 bed nights are, and neither does the engine. The data says only: bed occupied, no revenue attached. On a property this size the honest shortlist is short. Walk-ins paid in cash that never got entered. Staff and friends. Nights comped for a booking that went wrong. A long-stay guest invoiced outside the system. A channel whose rate stopped syncing and wrote a reservation at nothing. Every one of those is a real operational fact worth knowing, and they call for completely different responses. A cash walk-in is a bookkeeping habit to fix at the desk. A channel writing zeros is an integration on fire.
The one thing we will not do is let a pricing decision rest on them. Four days an arm is thin evidence to start with. More days would not have fixed this. It would have made us more confident about a rate comparison that had the wrong sign, which is the difference between measurement error and noise: noise shrinks as you collect more of it, while a number counted wrong stays wrong and only looks steadier the longer you watch it.
So the arms keep alternating, the engine keeps pricing to its caps, and the rate comparison stays parked until that row reads either zero bed nights or real revenue. If any of this sounds like your own month-end, the three checks above cost you an afternoon and will tell you whether the rate you have been defending is a price a guest actually paid. Results vary by property, market and season, and Nightfill is operated independently of any channel or booking system. If you would rather have this run every morning without you, see the three Nightfill tiers and start a free 14-day pilot on your own data: view pricing.