Hotel competitive set: choosing rivals and comparing rates fairly
A hotel compset is the short list of hotels a guest actually weighs against yours. This guide shows how to choose the set, compare rates fairly, and turn findings into decisions.
Contents
Key takeaways
- A compset is defined by the guest's choice, not by the map: two hotels on the same street can sit in different sets.
- A price difference seen on a comparison site does not by itself show a real price difference, because the product may differ in room category, breakfast or cancellation rights (European Commission, DG Competition, report on the 2016 online hotel booking monitoring exercise, 6 April 2017).
- A resort selling through tour operators needs a second set drawn from the hotels next to it in the same catalogue and price band.
- Index measures describe your position against the set; they are not a target and have no universal good value.
- A finding is a question to investigate, not an instruction to match a competitor's price.
A hotel compset (competitive set) is the short list of hotels a guest actually weighs against yours, matched on location, class, board, segment and price band. You compare rates like for like: same room, board, cancellation terms and occupancy, then treat differences as questions rather than prices to copy.
A guest tells your front desk she nearly booked the hotel across the road, then chose yours because breakfast was included. Your rate sheet says you are the more expensive hotel on the street. Both statements can be true at once, and the gap between them is what a compset is for. This guide shows you how to choose the set the way a guest chooses, compare rates fairly, read the standard index measures, and turn findings into decisions you can defend to an owner.
What is a hotel compset, and what is it not?
A compset (competitive set) is the short list of hotels a guest realistically weighs against yours before booking. It is a reading tool for your own position, not a list of every hotel nearby.
The purpose is a denominator. Without a set, a sentence like "we are expensive this weekend" is an opinion. With a set, it becomes a comparison you can check: expensive compared with which hotels, on which dates, for which product. That is the whole value of the exercise, and it is why the set has to be chosen carefully rather than generated by a map radius.
A compset is not a ranking, not a list of hotels you dislike, and not a market-share report. Each of those answers a different question. It is also not the market itself. The market is a broad population, for example all certified accommodation or a defined segment of it, while your compset is the short list relevant to one kind of booking decision. Keep the two separate in your reporting, because market figures describe an industry and a compset describes a choice.
No fixed size is correct. Choose a list small enough that one person can check every hotel's rates by hand, and large enough that a single sold-out night does not distort the picture. The set serves two jobs at once: reading your rate position, and reading demand, meaning who is picking up rooms on the nights you are not.
NoteA compset is a hypothesis
Write one sentence per hotel explaining why a guest would compare it with yours. If the sentence cannot be written, the hotel probably does not belong on the list. Date the sheet and review it on a fixed calendar.
If you are new to the broader discipline this sits inside, start with a working guide to hotel revenue management for the foundations of rate positioning and demand reading.
How do you choose a compset the way a guest would?
Start from the booking decision, not the postcode: list the hotels that appear in the same search, at the same price band, for the same kind of trip.
Work through the dimensions the guest actually uses. Location as the guest uses it means beach access, the old town, walking distance to the lift, or airport transfer time. Administrative boundaries mean nothing to a traveler. Class and physical match means star class, room count band, pool, spa, parking and breakfast room: a small boutique and a large resort rarely compete, even when their rates meet.
Board and product matter just as much. Bed and breakfast, half board and all inclusive are three different purchases, and a guest comparing them is comparing value, not price. Segment and channel come next: business transient, family leisure or group, and whether the guest books direct, through an online travel agency (OTA) or through a tour operator. Finally, check the price band on real dates, and include the hotel one band above yours if guests visibly trade up to it.
Ask the front desk. The hotels guests name when they say "we compared you with" are the cheapest and most honest source of a compset you will find. Write the result on one page: hotel, why it is on the list, who added it, and the next review date.
ChecklistSelection checks
- Same guest purpose (the same kind of trip)
- Comparable star class and room count band
- Same board concept
- Same price band on a real date
- Reachable in the same search or the same conversation
- A stated reason for inclusion
- A named owner and review date
For a structured look at where your bookings actually come from, an independent review checklist for how your hotel sells today will give you the channel picture that this selection depends on.
Why does a resort need a second compset in tour-operator catalogues?
Because in a catalogue the guest compares a package, not a room: the hotels printed next to yours, in the same price band and from the same departure airport, are your real rivals for that booking.
A catalogue page works like a shelf. Neighbours on the page and position on the page shape the choice before any guest reads a room description. The package price bundles flight, transfer and board, so the room rate is invisible; comparing your room rate with a catalogue price compares two different things. This is the same product-mismatch trap that appears on metasearch sites, only bundled one level deeper.
The set moves with season and departure airport. The same hotel competes with different neighbours in July and in October, and with different neighbours for a guest flying from a different city. Early-booking discounts and child pricing change the comparison too: a family of four compares the total package price, not the per-person headline.
A hotel can be well placed in its city set and badly placed in its catalogue set at the same time. That is normal, and it is why the two sets must be reported separately. Never average the two sets into one index; the average describes a guest who does not exist.
TipKeep two compset sheets
One sheet for the guest booking a room, one for the guest booking a package, each with its own review date. Label every report with which sheet it came from.
If your package pricing is set in euros while your costs run in lira, the currency side of this comparison deserves its own treatment; see pricing hotel rooms in Türkiye when costs are in lira.
How do you compare rates like for like?
Compare the total price a guest pays for the same product: same room type, same board, same cancellation terms, same occupancy and dates, with taxes and fees handled the same way on both sides.
The trap here is well documented. The European Commission's report on the 2016 online hotel booking monitoring exercise (opens in a new tab) (DG Competition, with EU national competition authorities, 6 April 2017) notes that price differences seen on a metasearch site do not by themselves show true price differentiation, because they can come from differences in the product offered: a different room category, breakfast included, or different cancellation rights. In other words, the number you see and the price the guest pays are not always the same thing.
Build a comparison grid and fill every field for every hotel, including your own. A blank field is a finding, not a detail. Compare the total for the stay, not the nightly headline: minimum-stay rules, resort fees and city taxes all distort a per-night figure. Compare at the same moment and record the time, because rates move during the day and a screenshot without a timestamp is not evidence of anything.
Convert currencies at one stated rate on one stated date, and keep that rate visible in the grid. Check availability: a rate attached to a room type that is already sold out is not a competitor price, it is a leftover. Finally, note what the grid cannot see: negotiated corporate rates, member rates, loyalty rates and tour-operator net rates.
| Field | What to record | Why it changes the comparison |
|---|---|---|
| Date and length of stay | The exact nights | Minimum-stay rules distort per-night figures |
| Room type and occupancy | For example two adults, or two adults and one child | Different room categories are different products |
| Board | Room only, breakfast, half board, all inclusive | Guests price breakfast even when the rate looks equal |
| Cancellation deadline and penalty | Date, time and fee | Free cancellation is worth money to the guest |
| Prepayment requirement | Full, partial or none | Prepaid rates sit below flexible rates by design |
| Taxes and fees included | Yes or no, per side | City taxes and resort fees shift the total |
| Currency and conversion date | One stated rate, one date | Mixed rates make the grid meaningless |
| Availability at time of check | Sold out or bookable | A sold-out category is not a live price |
| Time of check | Date and clock time | Rates move during the day |
To understand how your rates reach those comparison screens in the first place, see what hotel metasearch is and how your rates reach comparison sites.
What do index measures against the set actually tell you?
An index expresses your own result as a share of the set's result, so you can see whether a change came from your hotel or from the market. It describes a position, not a target.
The formulas are simple in plain words: divide your figure by the set's figure and multiply by 100. Do this for occupancy, for average room rate, and for revenue per available room, which is room revenue divided by rooms available. Above 100 means ahead of the set on that measure; below 100 means behind. The number is only as good as the set behind it, which is why the selection work in the earlier sections comes first.
A rising index can hide a falling market. If the set drops more than you do, your index rises while your revenue falls, and a team celebrating the index has misread its own month. Read indices in pairs: a high rate index with a low occupancy index is usually a price-position question, while the reverse usually points to underpricing or a product gap.
There is no universal good value. A defensible index depends on the set, the season and the strategy the owner has chosen. Composition effects matter too: if the set changes, the index changes even when nothing happened inside your hotel. Freeze the set for a period before drawing conclusions.
Key pointOne index is a position, two are a story
One index tells you where you stand; two read together tell you why. Never act on a single index in isolation.
How often should you review the set and the rates?
Check rates often enough to catch a move before it costs you a booking, and review the set itself on a fixed calendar rather than when a number looks bad.
Rate checks run on a rhythm set by season and volatility: more often in high season and around events, less often in quiet months, but always on a stated day. The set itself is reviewed quarterly, and out of cycle only for a structural reason: a new hotel opening nearby, a hotel closing for renovation, your own renovation or repositioning, or a change of board concept.
Name one owner for each sheet. A set owned by everyone is reviewed by no one. Record every review: date, who checked, what changed, what was decided and why. The record is what turns a ritual into evidence.
Keep the two cadences apart in the calendar. Changing the set to fix an uncomfortable index is the classic mistake, and it destroys the comparison. Before any rate reaction, run a parity check on your own prices across channels; a gap may be your own rate leaking, not a competitor's move. A weekly rate parity routine for direct and OTA prices covers that step in detail.
TipFix the set review in the calendar
Put it in as a fixed appointment with a named owner and a written note. Treat a set changed after one bad week as no set at all.
What should you do with the findings?
Turn each finding into a question about your product, your terms or your channel mix, and answer it before you touch a price.
Automatic matching assumes the competitor's product is identical and that their occupancy is worth having. Neither assumption usually survives a check. Ask first whether the gap is a data error: wrong room type, wrong board, a stale screenshot, a sold-out category. Then ask whether it is a terms gap: cancellation deadline, prepayment, minimum stay, child policy, breakfast. Guests price these even when the rate looks the same.
Then ask whether it is a channel effect: an OTA-only promotion, a member rate, a package that bundles something you sell separately. Sort the answer into one of four decisions: fix the data, fix the product or terms, change the price, or do nothing and record why. Write the decision and its date next to the finding, so the next review starts from evidence instead of memory.
Price is the last lever, not the first reflex. Cutting a rate against a better product gives away margin and teaches the market what your room is worth.
Watch outAutomatic price matching copies a number without its context
You cannot see the competitor's room type, terms, costs or occupancy. A copied price is a decision nobody in your hotel actually made.
What to do next
Build the one-page compset sheet this week: one line per hotel, one sentence on why a guest would compare it with yours, one owner and one review date. Then take a single date, fill the like-for-like grid for your hotel and each of them, and read the result as a set of questions. The set gives you a denominator, the grid gives you a fair comparison, and the questions give you a decision you can defend to an owner.
Frequently asked questions
How many hotels should be in a compset?
There is no fixed number that fits every hotel. The practical test is that one person can check every hotel by hand on a regular rhythm, and that no single hotel's sold-out night can distort the picture. Write the reason for each inclusion and review the list on a fixed calendar.
Should the compset include hotels more expensive than mine?
Yes, if guests visibly trade up to them. A compset describes the choice a guest makes, not your current price. Including one band above shows whether you are losing bookings upward, which a set built only from your own price band can never reveal.
Can I use screenshots from an OTA or a comparison site as competitor rates?
They are a starting point, not evidence. Record the date and time, the room type, the occupancy, the board and the cancellation terms. The European Commission's 2017 report on the 2016 monitoring exercise notes that price differences seen on a metasearch site can come from differences in the product offered, such as room category, breakfast or cancellation rights.
What is the difference between a compset and the market?
The market is a broad population, for example all certified accommodation or a defined segment of it. A compset is the short list of hotels a specific guest weighs against yours for a specific trip. Market figures describe an industry; a compset describes a choice.
Should I match a competitor's lower rate?
Not automatically. First check whether the gap is a data error, a difference in terms, a channel promotion, or a genuinely different product. Matching a number you cannot fully see hands pricing control to a hotel whose costs, occupancy and room types you do not know.
Sources
- Report on the monitoring exercise carried out in the online hotel booking sector by EU competition authorities in 2016 (section 3, limitations of the results) (opens in a new tab)European Commission, DG Competition, with EU national competition authoritiescompetition-policy.ec.europa.eu