Revenue and pricing

Budget vs actual in hotels: reading the monthly variance

This guide shows how to split a rooms revenue gap into volume, price and mix, and how to flex costs to actual occupancy. It explains what a monthly variance note must contain.

  • 10 min read
  • AI Otel Editorial

AI draft · awaiting editorial review

Contents

Key takeaways

  1. Variance to budget answers whether the plan was delivered; variance to forecast answers whether the hotel understood its own month.
  2. Split rooms revenue into volume, price and mix, and write down the order of the split, because a different order produces different numbers from the same data.
  3. A cost variance only means something after the budget is flexed to the room nights actually sold; otherwise a quiet month looks like good cost control.
  4. Report foreign-currency contracts in the contract currency first, then show the translation effect as its own line.
  5. Every variance line needs a cause, an owner and a dated action; "monitor" is not an action.

A hotel budget vs actual variance analysis compares the month's ledger with the plan and splits each gap into its causes: volume (room nights), price (ADR), mix (segment, board, length of stay) and currency on the revenue side, and volume-flexed versus fixed costs on the cost side. Each line ends with a named owner and an action.

The month closes below the rooms budget and the meeting stalls: reservations says occupancy was close, sales says rates were up, the controller says the mix was wrong. All three can be right at once, and the note still has to name one cause per line. This article shows how to do that: which comparison answers which question, how to split a rooms revenue gap into volume, price and mix, how to flex costs to actual occupancy, and what a one-page monthly variance note must contain.

Budget, forecast and actual: which comparison answers which question?

Each comparison answers a different question, and mixing them on one page is the most common reason a variance meeting goes nowhere.

The budget is fixed before the year starts. It is the commitment and the basis for accountability, so actual against budget asks one question: did we deliver the plan? The forecast is the latest expectation for the year, rebuilt monthly from what is on the books and the pace of pickup; actual against forecast asks a different one: did we understand our own business? A hotel that hits a stale forecast while missing budget has a planning problem, not a trading problem. For how the two documents are built, see building next year's hotel budget month by month and estimating the next 90 days from what is on the books.

Prior year answers seasonality and trend, not performance against a promise. Keep it on the page, but do not let it answer for the budget: beating last October does not mean the plan was delivered.

A monthly budget must be seasonal. If it is one twelfth of the annual figure, most of the variance belongs to the budget, not to the hotel, and the note will spend its credibility on the wrong argument.

State the sign convention once, in the budget document: revenue is favorable above budget, cost is favorable below it. Write "favorable" and "unfavorable" rather than plus and minus, so nobody has to remember which side of zero is good news on a cost line.

Compare like with like. The budget and the actual must use the same segment codes, the same ADR definition and the same room-night count, with house-use and complimentary nights shown separately rather than buried inside occupancy.

NoteThree comparisons, three questions

Budget answers accountability, forecast answers control, prior year answers seasonality. Decide which one each page of the report is answering before the meeting starts.

How do you split a rooms revenue variance into volume, price and mix?

Compute the total gap first, then rebuild it in three steps: actual nights at budget rates, actual nights at actual rates, and the difference each step creates.

The volume variance is (actual room nights minus budget room nights) multiplied by budget ADR. It answers how much of the gap came from selling a different number of nights. The mix variance is (ADR of the actual nights priced at budget rates minus budget ADR) multiplied by actual room nights; it answers how much came from selling a different combination of segments. The price variance is (actual ADR minus ADR of the actual nights at budget rates) multiplied by actual room nights; it answers how much came from selling the same segments at different rates.

Order matters. Volume-then-price and price-then-volume split the same total differently, so choose one order, write it in the note, and keep it every month so months compare. The split is also only as good as the segment codes: if "other" is a large bucket, the mix line is noise, not analysis. If your codes need work first, start from how to set up segment codes, and keep the ADR definitions from RevPAR, ADR and occupancy rate formulas consistent between budget and actual.

Mix is not automatically bad. Group business that pulls ADR down may carry food and beverage, spa or shoulder nights, so read the mix line next to the cost and ancillary lines before judging it.

A worked example, invented figures

For example, a hotel budgets 1,000 room nights, 600 retail at 120 and 400 group at 80, giving an ADR of 104 and rooms revenue of 104,000. It actually sells 960 nights, 480 retail at 130 and 480 group at 84, an ADR of 107 and revenue of 102,720. The same 960 nights priced at budget rates would have earned 96,000, an ADR of 100. All figures in thousands of lira.

LineRoom nightsADRRooms revenue
Budget1,000104104,000
Actual960107102,720
Actual nights at budget rates96010096,000
Volume variance−4,160
Mix variance−3,840
Price variance+6,720
Total variance−1,280

The hotel sold fewer nights and a cheaper combination, priced better than budget, and still missed by 1,280. That sentence, not three departmental speeches, is what the meeting needs.

What does a foreign-currency contract do to the variance?

It adds a second question: whether the hotel sold the nights at the contracted price, and separately what the lira translation did to the number the owner reads.

Read the month in the contract currency first: nights sold, rate achieved, revenue in that currency. That is the commercial result, and the part the team controls. Then translate. The budget assumed one rate and the month closed at another, so part of the lira gap is translation, not trading.

Show the translation effect as its own line. Folded into price variance, it makes a good sales month look bad, or the reverse. A translation gain is not cash until it is converted, and it may be offset by costs in the same currency, which act as a natural hedge; never present it as profit.

Keep the budget's exchange-rate assumption visible on the budget page. When it changes, say so on the variance note rather than silently restating the plan.

Two regulatory questions are separate under Turkish rules: whether an accommodation contract may be denominated in foreign currency, and how prices must be shown in consumer-facing advertisements. Confirm how each applies to your own contracts and channels with counsel. Which rate and which day's rate apply for tax and invoicing, and how exchange differences are accounted for, belong to your accountant. The variance note should describe the effect, not book it.

Watch outTranslation is not trading

A lira gain on a foreign-currency contract is a translation effect, not trading profit, and it is not cash until converted. Keep it on its own line so the commercial variance stays readable.

Cost variances: how do you flex the budget to actual occupancy?

Recompute every variable cost at the room nights actually sold, then compare actual cost with that flexed figure. The gap to the original budget is a volume effect, not overspending.

Classify each cost line once, in the budget: variable (laundry, amenities, guest supplies, commissions, part of utilities), step (an extra shift, a minibar run, a shuttle) and fixed (rent, insurance, base payroll, software). The flexed budget equals budget unit cost multiplied by the actual driver: occupied room nights, guest nights or covers, whichever the cost actually follows.

From there, volume effect equals flexed budget minus original budget, and spending variance equals actual minus flexed budget. Only the second is a management question.

Step costs do not flex linearly. Flexing a reception shift per room night produces a variance that does not exist, and hides the month the shift really was added. For fixed costs, a variance is a one-off or a decision, not a volume story; check whether the cost was deferred rather than saved. Commissions move with channel mix, not with occupancy: a shift from direct to agency raises cost at flat revenue, and belongs in the mix discussion, not the payroll one.

Flexing a cost line, invented figures

For example, a budget built on 1,000 room nights, flexed to the 960 actually sold, with laundry at 500 per occupied room night. Figures in lira.

Cost lineTypeBudgetFlexedActualVolumeSpending
LaundryVariable500,000480,000540,000−20,000 fav+60,000 unfav
Reception shiftsStep300,000300,000300,00000
RentFixed1,000,0001,000,0001,000,00000

The laundry gap is real spending, the rent line is a decision, and the shift line is neither. Without the flex, the laundry volume saving of 20,000 would have been read as cost control on a month that actually overspent.

Which mix effects hide in a resort's numbers?

Board, child share and length of stay change revenue per room night and cost per guest without touching ADR, so a flat ADR can hide a real deterioration.

Board mix is the clearest case: moving from half board to all inclusive raises the room rate and the food and beverage cost at the same time. Read revenue per room night and food cost per guest night together, never the rate alone. Child share works the same way from the cost side: room nights stay flat while guest nights and per-guest costs rise, so food, laundry and animation climb against an unchanged room revenue line, especially under free-child policies.

Length of stay changes cost per night. Seven nights in one stay and seven nights in two stays carry the same room nights but different cleaning, laundry and arrival costs per stay, and different exposure when a night is cancelled.

Complimentary, house-use and staff rooms consume inventory without revenue. Show them as their own line; inside occupancy they quietly inflate the base every other ratio is divided by. Segment mix drives commission and extras attach, so a fuller hotel can be a poorer hotel. Read the segment lines next to the cost lines they cause.

Track three numbers beside ADR: revenue per occupied room, revenue per guest night, and guests per room. When they move apart, the mix is moving.

TipWhen ADR looks stable

Check guests per room and revenue per guest night. If either moved, the month changed even though the rate did not.

What should the monthly variance note contain?

One page, one line per material variance, and each line carries four things: the cause, the owner, the action and the date.

Set the materiality threshold before the month, in the budget document, so the note is not renegotiated each time a line looks uncomfortable. A cause must be a mechanism the reader can check, not a label. "The pool closed for four days and retail nights moved elsewhere" beats "market conditions".

Separate controllable from structural. A translation effect or a calendar shift is not a management failure, and saying so protects the credibility of the lines that are. An action names a person and a date: "monitor" and "keep an eye on" are not actions; "repricing group rates for October, revenue manager, by the 12th" is.

Keep the same format and the same order every month, so a line can be read against its own history rather than against a new layout. Open last month's actions before reading this month's numbers: a variance note that never closes its own items stops being read by the third month.

ChecklistThe monthly variance note checklist

  • Total variance stated in one line, with the sign convention
  • The split written out (volume, price, mix, currency) with the order named
  • Every cost line compared with its flexed budget, not the original
  • Every line has a cause written as a mechanism
  • Every line has one named owner
  • Every action has a date
  • Last month's actions reviewed, closed or carried forward
  • The whole note fits on one page

What to do next

Take last month's close and rewrite the variance page in this format: one line per material gap, each with a cause written as a mechanism, one named owner, one dated action. The three comparisons in the first section tell you which question the page is answering; the splits in the middle tell you which part of the business moved; the note turns both into something a person can act on before the next close.

Frequently asked questions

Should variance analysis use room nights or revenue?

Start with room nights and ADR, because together they explain the revenue line and show which lever moved. Then move to cost per driver, such as cost per occupied room night or per cover. Revenue alone hides whether a gap came from selling less or selling cheaper.

Why do my volume, price and mix variances not add up to the total?

Usually one of four reasons: the order of the split was changed between months, ADR was defined differently in budget and actual, complimentary or house-use nights sat in one figure and not the other, or a currency translation effect was left inside the price line. Pick one order and one definition, write them down, and reconcile the split to the total every month.

Is a favorable cost variance always good?

No. An underspend can be timing, with the invoice landing next month; deferral, with maintenance or training postponed; or an unfilled role. Before calling it a saving, check whether the cost will return, and whether the service it paid for was delivered.

How often should a hotel run variance analysis?

The full note belongs to the monthly close, in a fixed format, because that is when the ledger is final. Between closes, a short weekly flash on rooms revenue, payroll and the largest variable costs is enough to catch a trend early. The monthly note stays the record.

AI Otel EditorialEditorial team

Drafted with AI assistance from AI Otel’s published fact base. Not yet reviewed by an editor.

For hotels: OtelCiro.

OtelCiro, AI Otel’s hotel growth and consultancy arm, is operating today.

Talk to OtelCiroRequest a briefing