Hotel revenue leakage is the booking your inbox lost.
It is direct-booking demand a hotel has already paid to attract and then loses on its own channels: the WhatsApp nobody answered, the reply that came after the guest had booked elsewhere, the quote nobody followed up. Wizorks sorts lost enquiries by where they stalled, under four named causes, so they can be counted — and the ones not classified yet are counted apart.
Where did the enquiry stop?
Every enquiry ends in one of five classes, or waits, counted apart, until it is classified. Four are leaks; the fifth is the healthy flow the other four are measured against.
The message sat unanswered past your response window.
“Suite for Friday?” arrives on WhatsApp at 23:12, after the desk has closed. Nobody ever writes back.
A reply went out — after the guest had already asked two other hotels.
A web-chat question sent at 23:47 is answered at 07:12. The guest booked three streets away at 00:04.
The conversation stalled and nobody wrote again.
“Is breakfast included?” at 23:41 gets its answer, and the thread stops there. Nobody writes again to ask whether to hold the room.
The price went out, and the thread went quiet.
“Rate for 3 nights” at 23:58 is answered with a price. Two days later the thread is still waiting for a yes.
The enquiry was answered in time and is moving normally — the flow the other four are measured against.
“Two rooms, next weekend” at 23:26 is answered from the PMS inside the reply target, and the conversation carries on.
Every figure comes with the formula that made it.
- Estimated lost value
- Enquiries in the four leak classes × the property’s average confirmed booking value for the period
- An estimate, labelled as one. It is printed beside what you booked and never added to your return, and currencies are never mixed.
- Attributed booked value
- The value of bookings whose evidence reconciles with the booking, under the rule you choose: observed only, observed + inferred, or observed recovery
- A booking counts once. Missing or mismatched evidence is left out and counted separately.
- Value after Wizorks costs
- Attributed booked value − the period’s Wizorks cost, as recorded in your cost settings
- Booked value, not profit: room costs, refunds and when the money is collected are outside it.
- Return on investment
- (Attributed booked value − period cost) ÷ period cost × 100
- Not shown when the period’s cost is zero or not recorded.
- Value per unit spent
- Attributed booked value ÷ period cost
- The same rule: no cost recorded, no figure.
- Payback at this pace
- Period cost ÷ (attributed booked value ÷ days in the period)
- Assumes bookings keep arriving at the same pace.
Here is the arithmetic for one invented hotel.
Illustrative: every figure below is made up — not a property’s data and not an average. The calculator runs the same steps on yours.
The invented hotel
- Direct enquiries a month
- 200
- Arriving after hours
- 30%
- First reply to a night enquiry
- 7.5 h
- Average daily rate
- €340
- Average stay, in nights
- 2
- OTA commission
- 15%
- Enquiries that become a booking (assumed)
- 20%
- Late-reply limit (assumed)
- 15 min
The arithmetic
- After-hours enquiries60Direct enquiries × share after hours200 × 30% = 60
- Answered after the limit60After-hours enquiries, counted only when your night reply is later than the late-reply limit7.5 h > 15 min → 60
- Average booking value€680Average daily rate × average stay€340 × 2 = €680
- Late enquiries, valued€40,800Late enquiries × average booking value — the dashboard’s method, applied to your figures, before any booking rate60 × €680 = €40,800
- Bookings at risk12Late enquiries × enquiries that become a booking60 × 20% = 12
- Direct revenue at risk€8,160Bookings at risk × average booking value12 × €680 = €8,160
- Commission, if the same stays were booked through an OTA€1,224Direct revenue at risk × OTA commission€8,160 × 15% = €1,224
The dashboard sees what this page cannot.
Each booking request in the period carries its latest recorded class. A request not yet classified stays in view and is never counted as healthy.
Reply time runs from the guest’s first message to the first reply sent, nights and weekends included, whether Sarah or your team answered.
The dashboard starts at a 5-minute reply target and a 15-minute late-reply limit, with reference windows of 24 hours for a silent thread and 48 hours for an unanswered quote. Each hotel sets its own, and can set different ones for a channel.
Estimated lost value uses each property’s own average confirmed booking value for the period, in that property’s currency, and is never added to the return.
The calculator replaces that average with your rate times your average stay, and asks you for a booking rate. The dashboard needs neither: it sees each enquiry and what became of it.
A revenue manager asks four things before an owner sees this figure.
Each answer says where the number comes from.
Is revenue leakage the same thing as OTA commission?
No. Commission is what you pay on a booking you won through someone else’s site. Leakage is the direct booking you never won, because an enquiry on your own channels was not answered in time, not chased, or lost after the price.
Can we measure it without Wizorks?
Roughly, yes. Take last month’s direct enquiries, mark the ones that never became a booking and give each one of the four causes. The dashboard does the same for each enquiry it can classify, with the time of each reply, and counts the rest apart.
Why is 15 minutes the late-reply limit?
It is the dashboard’s starting value, not a rule. Each hotel sets its own target and limit in Goals & response times, and can set different ones for a channel.
Does Wizorks count the estimated loss as part of its return?
No. The estimate is printed beside what you booked and labelled as an estimate. The return counts only bookings whose evidence reconciles.
Watch it answer a real enquiry from your property.
Thirty minutes on a call, with your own channels and rates on the screen, and no contract at the end of it.
- PMS live + Mews in certification
- 2
- Live channels
- 4
- Days to go live
- 2