Saturday evening, Jul 22, Hotel Peaqplus City. The hotel closes with a full house: 80 rooms, 80 sold, and the system registers 100% occupancy, a 112 EUR ADR and 112 EUR RevPAR — 8,960 EUR in room revenue. In the RM report, this is a perfect day.
But there is a question the classic report never asks: how many more people wanted to book this date — and couldn’t?
If 3 guests looked for a room on Booking.com and left empty-handed because the hotel was full, real demand wasn’t 80 but 83. If 12, then 92. And if the RM knew this, they would price the next similar Saturdays differently — because 92 rooms’ worth of demand against 80 rooms means the 112 EUR rate was low.
This is the difference between constrained demand (the demand you served) and unconstrained demand (the true market demand) — one of the deepest foundational concepts of mature RM. In this lesson we learn: what the difference is, how to measure the demand you didn’t serve, and why it is critical for forecasting and pricing decisions.
Constrained demand — what we serve
Constrained demand is the demand the hotel actually served — what our systems register: rooms sold, realised ADR, actual revenue.
On the Saturday of the Coldplay concert we discovered in lesson 12 (Nov 18), Hotel Peaqplus City closed full: 80 rooms, 145 EUR realised ADR (the BAR stood at 148 EUR), 11,600 EUR room revenue. That is the constrained demand.
The traditional RM toolkit — pace analysis, forecasting, day-class and dynamic pricing — is all built on this data. Understandably: it’s what is in the PMS.
Unconstrained demand — what the market would have asked for
Unconstrained demand is the true market demand: how many rooms would have been requested at the given price if capacity and restrictions did not constrain.
On the Coldplay Saturday this might have been the 80 rooms sold + 15 guests who wanted one but no longer fit: unconstrained demand = 95.
The gap between the two is the unserved demand — guests who would have chosen the hotel but were told no, or walked away themselves. By definition, unconstrained demand is never smaller than constrained.
One important clarification before we move on: unconstrained demand is price-dependent. We are always talking about demand at a given price — one point of the demand curve behind lesson 36’s elasticity logic. At 145 EUR there was demand for 95 rooms; at 90 EUR there would obviously have been more. We come back to this in the paradox section.
Why it matters
The naive model works like this: what we sold = the demand. At a full house that obviously undercounts — but it can mislead at low occupancy too.
Picture a hotel sitting persistently at 60%. From the constrained data the conclusion reads: “that’s what the market gives — this is reality.” But if true demand at a lower price point would be around 80% — that is, the hotel’s rate position is systematically above the market, and guests bounce at the search stage — then the 60% is not a market ceiling but the consequence of a pricing decision. The right action is not “more marketing” but rethinking the rate position.
And the reverse: a hotel that keeps closing full with high unserved demand is underpricing itself.
Pricing decisions, forecast building and group acceptance (lesson 40) should be built on unconstrained demand — constrained only tells you how much fit through the bottleneck.
The four loss components
Unconstrained demand = constrained + the unserved demand. The latter breaks into four distinct components:
1. Denial — the hotel says no
A denial is any booking attempt rejected on the hotel’s side: no room available, or an active restriction (MLOS, CTA — lesson 24) blocks the requested stay. Important: a restriction-driven denial is still a denial even if rooms are physically empty.
For the Coldplay Saturday, say 20 booking attempts come in on Booking.com over the day: the first 12 still get a room, the last 8 leave empty-handed — 8 denials.
2. Turn-away — at the front desk
A turn-away is the offline version of a denial: the walk-in or phone guest the front desk says no to because there is no room. This is generated nowhere automatically — it has to be logged by hand. A downtown hotel on a sold-out night typically produces 2-4 turn-aways.
3. Regret and recapture loss — the guest who bounces on price
A regret is the mirror image of a denial: the hotel could have offered a room, but the guest says no — typically because of the price. They looked, found it too expensive, moved on.
Some regret guests end up with us anyway — booking another date, another room type or a promotional rate. That is recapture. What is still lost after that is the recapture loss — the true, price-driven loss. This is the hardest component to measure: the guest never appears in the hotel’s systems. Industry experience suggests that on event-peak days this loss typically runs at 15-25% of constrained demand — a high rate bounces a lot of guests.
4. Search loss — the loss in the search funnel
Search loss is the loosest signal: the guest views the hotel for the date on metasearch or in the OTA list, then exits — booking neither with us nor elsewhere, or postponing the trip. Metasearch and OTA analytics (views vs. conversion) flag it.
Careful: search loss overlaps with the previous components (the regret guest also “viewed and left”), and it is full of window-shoppers. A cross-check signal, not an addable line item.
How do we estimate it? — four methods, built on each other
Let’s walk the Coldplay Saturday through as the estimate builds layer by layer:
Method 1 — OTA denial analytics. Booking.com’s extranet analytics show how many searches ran for a date on which you had no room available; Expedia provides similar data. For the Coldplay Saturday: Booking.com 8, Expedia 3 — 11 measured denials together.
Estimate: 80 + 11 = 91.
Method 2 — the turn-away log. The front desk turned away 4 walk-in guests that evening — a hand-kept list.
Estimate: 91 + 4 = 95.
Method 3 — regret estimate (statistical). Recapture loss cannot be measured directly — it has to be modelled, from the pace path, the rate position and compset movement. For an event peak the rule of thumb is ~15%: 0.15 × 80 = 12 guests.
Estimate: 95 + 12 = 107.
So the hotel’s 80 rooms served 80 guests — but true demand, per the estimate, was ~107 rooms’ worth. 27 rooms’ worth of demand went unserved.
Method 4 — the search-loss signal (cross-check). Per the metasearch and OTA analytics, the date generated 850 page views and 82 bookings (2 of them later cancelled — 80 realised). Conversion: 82 / 850 = 9.6%, while the hotel’s usual Saturday baseline is around 15%. The −5.4 pp drop signals roughly 850 × 0.054 ≈ 46 “lost bookings”.
This 46 does not get added to the 107: it overlaps with the denial and regret numbers, and it includes window-shoppers. (The absolute conversion level varies a lot by hotel — the signal is the drop against your own baseline.) What it is good for is confirming that the loss is real and large.
Peaqplus Smart Forecast builds a weighted estimate from these signals — the measured components (denials, turn-aways) with harder weight, the modelled and funnel signals with softer.
The accuracy paradox — demand measured at a high price is invisible
Denial-based measurement has a trap: a denial is only generated when the constraint actually binds.
Suppose the hotel asks 165 EUR for the Coldplay Saturday and closes at 60% (48 rooms). Denials run at ~0 — there was always a free room. The report suggests: “no unserved demand.” Meanwhile a queue of guests looked at the rate and moved on — all regrets, all invisible.
The reverse: if it asked 90 EUR for the same Saturday, it would fill to 100% and log, say, 30 denials. Suddenly the high demand “shows up” — 110 rooms’ worth, at 90 EUR.
This is the accuracy paradox: unconstrained demand is well measurable at a low price (the capacity constraint binds, and you see more of the demand curve) and invisible at a high price (the constraint doesn’t bind, denials are zero — but that doesn’t make the demand known). And since demand is price-dependent, the two measurements show two different points of the curve — not the same number.
A mature RM handles this with deliberate testing: running different rate positions on comparable days, and drawing the hotel’s own demand curve from the pace, denial and conversion signals — the practical counterpart of lesson 36’s elastic demand model.
Unconstrained demand in the forecast
In lesson 38 we saw: the classic forecast learns from constrained data. On sold-out days that builds a systematic underestimate into the model — data cut off at 100% (in statistics: censored data) erases the top of demand. Remember: on lesson 38’s event Saturday, the theoretical, uncapped number ran to nearly 110% — that was exactly this unconstrained signal.
A mature Smart Forecast therefore builds the denial signals in:
- If the hotel closes full on 3 consecutive Saturdays and the daily denial count runs above 10, the model flags it: unconstrained demand for these days is estimated to be 10-15% higher than what we serve.
- The strategic conclusion: raise the rate on these pattern days — or, longer term, put the capacity question on the table.
Translated to the Coldplay-type event Saturday: constrained forecast 80 rooms (100%), unconstrained estimate 95-107. For the next similar event Saturday, the suggestion: 175 EUR instead of the 148 EUR BAR — given the estimated excess demand, the house very likely still closes near full, at a meaningfully higher ADR. This is unconstrained-based pricing: you don’t ask “will the date fill”, you ask “how much demand would still be squeezed out”.
Unconstrained demand and the capacity question
There is a longer-term reading too. If the unconstrained estimate runs structurally and repeatedly above capacity — at Hotel Peaqplus City, 20-30 rooms above on event-peak days — that is no longer a pricing question but a capacity question.
A rough, order-of-magnitude calculation: a 10-room expansion (80 → 90), on ~50 sold-out nights a year at a ~170 EUR peak ADR, would bring 10 × 50 × 170 ≈ 85 thousand EUR of extra annual room revenue purely from the peak demand turned away today — with partial fill on shoulder nights, roughly 85-120 thousand EUR. (That is the revenue side; without investment and operating costs it is not yet a business case.)
The decision belongs to the owner — but the data comes from the RM. The unconstrained estimate is one of the inputs of long-term strategic planning.
Peaqplus Smart Forecast and unconstrained demand
The Smart Forecast module works with unserved demand at three points:
- Denial tracking. It follows the denial signals from the OTA analytics daily; if a date’s count spikes, it flags it as an anomaly.
- Regret / recapture estimation. It estimates the not-directly-measurable, price-driven loss with a statistical model — from the pace path, the rate position and compset movement, calibrated daily.
- Dual forecast. Two numbers for every date: the constrained forecast (expected served occupancy — the classic) and the unconstrained estimate (expected true demand). The gap between them is the potential being squeezed out.
A morning scene: Daniel opens the anomaly list, and at the top: “Dec 31, New Year’s Eve. Constrained forecast: 100%. Unconstrained estimate: ~125% — about 20 rooms’ worth of demand would be squeezed out. Suggestion: BAR +30 EUR (280 → 310). Expected effect: the full house holds, ADR and RevPAR ~+10.7%.”
At the expert level (lesson 55: Smart Forecast Enhanced) we’ll see how this estimate becomes even more accurate over longer horizons and with AI components.
Key takeaways
- Constrained demand = what you actually serve; unconstrained demand = what the market would have asked for at the given price, without capacity and restriction constraints. By definition, unconstrained is never smaller than constrained.
- The four components of unserved demand: denial (the hotel says no), turn-away (at the front desk), regret/recapture loss (the guest says no — typically on price), search loss (funnel exits — an overlapping cross-check, not addable).
- The accuracy paradox: at a low price demand is measurable (the constraint binds), at a high price it is invisible — zero denials do not mean there is no lost demand.
- Sold-out days leave censored data in the forecast — a mature model corrects with denial signals and produces a dual forecast: constrained + unconstrained.
- Unconstrained-based pricing: regular full houses + a high denial count = underpricing. The right question is not “will it fill” but “how much demand is being squeezed out”.
Click an answer — you see immediately whether it is right.
Answer all of them and the lesson counts as complete — and toward your progress.
See the full definitions in the glossary.
A hotel closed the last 5 Saturdays at 100%, the Booking.com analytics show an average of 12 denials per Saturday, and the BAR is 135 EUR. What rate strategy would you propose for the next 5 Saturdays? Walk it through with the elastic demand logic (lesson 36): how much unconstrained demand do you estimate, and in what steps would you raise. And: another hotel averages 65% occupancy over 30 days, denials run at 0-2 a day, and the RM concludes: "there is no lost demand." What questions would you ask before accepting that — and give three alternative explanations the denial count does not rule out.
- Kalyan T. Talluri and Garrett J. van Ryzin: The Theory and Practice of Revenue Management (2004) — the foundational theory book of revenue management; it also gives the deepest treatment of unconstraining (re-estimating demand data censored at the capacity ceiling).
- The big hotel chains' CRS systems have logged denial and regret statistics from booking calls for decades — measuring unconstrained demand is daily practice there. Modern tools assemble the same picture from OTA and metasearch analytics.