How to Build a Hotel Forecast Report: A Step-by-Step Example
Revenue Management

How to Build a Hotel Forecast Report: A Step-by-Step Example

October 15, 2026

Using on-the-books, same-time-last-year and pickup data, we build a 90-day forecast report for a 60-room hotel step by step, with variance and action columns.

ÇB

Author

Çağdaş Bayram — Direct Booking Revenue Architect

In Short

A hotel forecast report is a weekly-updated table estimating how many room nights will be sold in each week of the next 90 days, at what average rate and with what revenue. Four inputs are enough to build one: current reservations on the books, the reservations on the books at the same point last year, last year's actual result, and pickup over the past seven days. The safest method for small hotels is additive pickup: last year's remaining net pickup for that period is added to this year's on-the-books figure. In a 60-room hotel, a week with 330 room nights on the books plus last year's remaining 42 gives a forecast of 372 room nights, or 88.6% occupancy. The report is compared with budget and every row gets a decision. A forecast can never be more accurate than its data: if phone demand goes unrecorded, the direct channel is systematically under-forecast and the hotel discounts dates that were actually strong.

Knowing what a forecast is does not mean knowing how to build a forecast report. Most hotel managers can define forecasting: an estimate of future occupancy, rate and revenue. But put an empty spreadsheet in front of them on a Monday morning and it is far less clear which column comes from where, which number is added to which, and what decision the table is supposed to produce. The result is that the forecast either never gets done or shrinks to a single sentence: "we did 80% last year, so we will probably do the same."

In What Is Hotel Revenue Management? we placed forecasting among the four core revenue decisions. This article moves into practice: we build a forecast report for the next 90 days of a 60-room city hotel from scratch, using realistic example numbers. By the end you will have a structure you can copy and fill with your own PMS data.

What Questions Does a Forecast Report Answer?

A good forecast report answers three questions, and each one leads to a decision:

  • On the current trend, how many room nights will we sell? This tells you whether to raise rates or open a campaign.
  • At what average rate, and with how much revenue? This forces occupancy to be read together with revenue; 90% occupancy at a low rate can still miss budget.
  • How far are we from budget and from last year? This sets the urgency of the response.

Budget and forecast are not the same thing. The budget is the target set at the start of the season and it stays fixed: "what we aimed for". The forecast is a live estimate revised every week: "where we are heading on the current trend". The real value of the report is seeing the gap between the two 60 days in advance. If you only see it in the final week, discounting is the only tool left.

Step 1: Pull Four Data Points from Your PMS

You do not need software to forecast. Four data points from your PMS's standard reports and a spreadsheet are enough. In our example we split the 90 days into weekly buckets (13 weeks). For small hotels, weekly buckets are more stable than daily ones: a single group cancellation can wreck a daily table but barely dents a weekly one.

  1. OTB (on the books): confirmed room nights for each week as of today.
  2. STLY (same time last year): the room nights that were on the books for the same week at the same distance last year (for example, 50 days out). Most PMSs provide this as a pace or historical booking position report; if yours does not, filter last year's reservation list by creation date.
  3. LY final: the actual room nights last year for that week, net of cancellations.
  4. Pickup over the last 7 days: the net room nights added to each target week during the past week. It shows the direction of demand earlier than occupancy does.

Make sure the calendar is aligned: "the same week last year" means the same days of the week, not the same dates. Movable holidays shift from year to year (in Türkiye, the two Eid holidays move roughly 11 days earlier every year), as do Easter and many local events. If a holiday fell in a different week last year, compare holiday with holiday and normal week with normal week instead of matching dates blindly.

Step 2: Build the Forecast with the Pickup Method

For a small or mid-sized hotel, the clearest and safest method is additive pickup. The logic fits in one sentence: however many net room nights still arrived for that week after this point last year, we assume a similar amount will arrive this year.

Forecast = OTB (this year) + [LY final − STLY]

The figure in brackets is last year's "remaining net pickup". A 60-room hotel has a weekly capacity of 60 × 7 = 420 room nights. Four example weeks:

Week (days out) OTB this year STLY LY final LY remaining pickup Forecast Occupancy
Week 2 (8-14 days) 330 310 352 42 372 88.6%
Week 4 (22-28 days) 240 250 340 90 330 78.6%
Week 8 (50-56 days) 150 120 310 190 340 81.0%
Week 12 (78-84 days) 70 95 290 195 265 63.1%

Two things to watch when reading the table. First, a forecast cannot exceed capacity: if the calculation comes out above 420, cap it at 420 and treat the excess as a signal to raise your rate. Second, the alternative multiplicative pickup method (OTB × LY final / STLY) overreacts for weeks far out. For Week 8 it gives 150 × 310 / 120 ≈ 388 room nights, or 92%, because last year's low STLY inflates the ratio. Small hotels work with small numbers, so the additive method is calmer and more reliable. A large gap between the two methods is useful information in itself: that week's forecast is uncertain and deserves close weekly attention.

Step 3: Correct for the Cancellation Profile

The "remaining net pickup" in the additive method already includes cancellations: last year's new bookings for that week are counted net of those that were later cancelled. So if your cancellation behaviour is the same as last year, no extra correction is needed. A correction is needed only if this year's booking mix has changed.

An example: of the 150 room nights on the books for Week 8, 60 are OTA bookings with free cancellation. At the same point last year, only 30 room nights were of that type, and that segment cancels 20% of the time before arrival. Twenty percent of the extra 30 room nights, roughly 6 room nights, carries more cancellation risk than the method assumes. Adjusted forecast: 340 − 6 = 334 room nights (79.5%).

The same logic works in reverse: if prepaid direct bookings make up a larger share this year, your on-the-books figure is "firmer" than last year's and you do not need to pull the forecast down. If you do not know your cancellation rate by channel, note it as the first data problem to fix before forecasting further.

Step 4: Add the Rate and Revenue Line

A room-night forecast on its own is half a report. Add an expected average daily rate (ADR) to every week: the weighted average of the rate on bookings already on the books and the rate you are holding open for the remaining rooms. For Week 2: 372 room nights × 3,600 TRY = 1,339,200 TRY in expected room revenue. The budget for that week assumed 360 room nights × 3,500 TRY = 1,260,000 TRY, so the forecast is 79,200 TRY, or 6.3%, ahead.

Go one step further and write revenue net by channel. The same 3,600 TRY room night leaves roughly 2,950 TRY after an OTA's 18% commission, and considerably more when it comes through your website or by phone. A forecast should show not only occupancy but also where the channel mix is drifting. The full calculation is in The Real Cost of OTA Commission.

Step 5: The Variance and Action Columns

What turns a forecast report from a table of numbers into a decision tool is the last column. Compare the forecast with budget every week and write an action next to each variance. A row without an action is a row nobody read.

Week Forecast occupancy Budget occupancy Variance Action
Week 2 88.6% 85.7% +2.9 pts Raise the rate one step, close last-minute discounts
Week 4 78.6% 81.0% −2.4 pts Hold the rate, watch next week's pickup
Week 8 79.5% 76.2% +3.3 pts Two-night minimum stay at the weekend, tighten the low-rate allotment
Week 12 63.1% 76.2% −13.1 pts Early-booking campaign, direct-channel ads, call back missed calls

Because the large gap in Week 12 is visible 80 days out, the answer is to create demand, not to discount. Had it been spotted 10 days out, the only option would have been cutting the rate on the OTAs: a lower price and a higher commission at the same time. That difference in timing is exactly where the report's monetary value lies.

Step 6: A Weekly Rhythm and an Accuracy Check

A forecast is not a report you prepare once and file away. The rhythm we recommend: 30 minutes every Monday at the same time, with the same people (general manager, front office manager, sales lead). The agenda never changes: update OTB and pickup, recalculate the forecast, fill in the action column for any week more than 3 points off budget, and review the outcome of last week's decisions.

Measure the forecast itself, too. Record each week's forecast 30 days out and compare it with the actual once the week closes. If a week forecast at 330 room nights 30 days out closes at 312, the error is 18 / 312 ≈ 5.8%. For a small hotel, a weekly error band of ±5-8% at 30 days out is a good target. If the error keeps landing in the same direction (always over or always under), the problem is not the method but the data.

A One-Page Forecast Report Template

Put the steps above together and the report you bring to the weekly meeting fits on a single page. Each row is a week, and the columns run from left to right in this order:

  • Week and days out: which period you are looking at, and from how far away.
  • OTB, STLY, LY final: the raw data, pulled fresh from the PMS every Monday.
  • Last 7 days' pickup: the early signal showing whether demand is speeding up or slowing down.
  • Forecast (room nights and occupancy): the final estimate after the cancellation correction.
  • Expected ADR and room revenue: ideally with separate net revenue for direct and OTA channels.
  • Budget and variance: in points and in currency.
  • Action and owner: what will be done, who will do it, and what to check at the next meeting.

This template needs no extra software; a shared spreadsheet is enough. What matters is that the columns stay the same every week and past weeks are never deleted, because that archive is what you measure forecast accuracy against.

The Five Most Common Mistakes

  • Mixing groups and allotments with individual bookings: a 40-room-night group block inflates OTB, but it does not pick up like individual guests. Keep groups on a separate line and add them to the forecast weighted by their likelihood of confirming.
  • Ignoring holiday and event shifts: comparing last year's holiday week with this year's normal week mis-forecasts both weeks at once.
  • Calculating revenue at gross rates: the common thread in seasons that hit their occupancy target but missed net revenue.
  • Only one person knowing the forecast: if the report is not shared between sales, front office and management, the action column stays empty.
  • Ignoring unrecorded demand: the most expensive mistake, covered below.

A Forecast Is Only as Accurate as Its Data

The pickup method only sees bookings that were recorded. But a hotel's demand starts before the booking: guests who call reception about Week 12 to ask for a rate, who ask about availability on WhatsApp, who give up after an unanswered call. If none of that demand is recorded anywhere, the forecast shows the week as weaker than it is, and the hotel discounts a date that was actually strong.

A concrete example: if 40 rate enquiries came in by phone for Week 12 over the past two weeks, but only the ones that converted were entered into the PMS, there is invisible demand behind the 63.1% in the report. Recording those enquiries with date, room type and outcome can turn the action column from "discount" into "call back and hold the rate".

Convertels is not a PMS or a revenue management system; those stay in place. Convertels is the layer that measures the invisible side of the direct channel (website, ads, phone and CRM) in one flow. Advanced reservation reports show pickup by channel, and advanced call reports bring the demand arriving and being lost by phone into the forecast meeting as numbers. That way, Monday morning's table forecasts the hotel's real demand, not just the channels that happen to be recorded.

Building a forecast report does not require a big system: four data points, one spreadsheet, 30 minutes a week and a decision written on every row. The rest comes from keeping that rhythm going for a few weeks without breaking it.


Does your forecast see the demand that arrives by phone?

Convertels reports website, ad and phone demand by channel and adds the unrecorded direct demand to your forecast. Let us look together at where your hotel can start with the data it already has.

Request a Quote

Sources

Independent occupancy, overnight-stay and property-capacity statistics for checking a forecast against the wider market:

For a deeper look at this topic, see Increasing Direct Bookings guide.