Revenue and pricing

Hotel market segmentation: how to set up segment codes

Set up hotel market segmentation by separating segment, source, channel, market and board type into distinct fields. Use a short, fixed code list assigned at booking, and run a monthly check to catch miscoding before it distorts your pace and ADR reports.

  • 11 min read
  • AI Otel Editorial

AI draft · awaiting editorial review

Contents

Key takeaways

  1. Segment, source, channel, market and board type answer five different questions, and storing them in one field guarantees that at least one report will be wrong.
  2. A segment code list should be short, fixed and mutually exclusive, and every code needs an owner and a written one-line rule for when it applies.
  3. The code belongs to the booking and is assigned by the person taking it, not reconstructed later by finance from the rate.
  4. One monthly pass over the previous month's bookings catches most miscoding before it reaches pace, ADR by segment or a contract review.
  5. Source market describes the market a contract covers, not the guest's nationality or any personal detail.

Market segmentation splits a hotel's bookings into groups that behave alike, so each can be priced and measured on its own. Set it up by giving segment, source, channel, market and board type their own fields, using a short fixed code list, one code per booking, assigned at reservation and checked monthly.

A forty-room group is entered under the same code as a walk-in, and for a month three reports quietly disagree with each other. Segment codes are not paperwork: they decide what your pace, your ADR by segment and your next contract review actually measure. This article gives you the five fields, a starter code list, rules for who assigns the code at booking, and a monthly check that catches miscoding before it distorts anything you act on.

What is hotel market segmentation, and why do segment codes go wrong?

Hotel market segmentation is the practice of grouping a hotel's bookings by how they are bought and who buys them, so each group can be priced, forecast and reviewed on its own. Codes go wrong because one field is asked to answer several different questions at once.

A segment is a group of bookings with a similar buying behavior and a similar decision maker: a tour operator holding rooms on allotment, a company buying negotiated rates, a family booking on the hotel's own website. Hotels segment because the answers change decisions: what rate to load, what cancellation terms to attach, who in the team owns the relationship, and whether a contract is worth renewing. It is a working tool, not a reporting ornament, and it feeds directly into hotel revenue management practice.

The first failure is a single list that mixes who the guest is, how the booking arrived and which country the contract covers. The codes then overlap, and staff choose by habit or by whatever the list happens to show first. The second failure is the silent default. The system fills a code when nobody touches the field, that default becomes the largest segment, and everything else disappears inside it. The third failure is undocumented codes invented by one person: when that person leaves, nobody can say what the code meant, and the history stops being comparable.

What clean coding buys is modest but real. You get an ADR by segment you can compare across months, a pace you can read segment by segment, and a defensible answer in a contract review. None of that requires new software; it requires the fields to be separated and the rules to be written down.

Which fields do you need: segment, source, channel, market and board?

Each of the five answers a different question, and each needs its own field. When two of them share a field, one of the two questions stops being answerable.

Segment answers who buys and how the booking is bought, and it is the field that pricing and reporting rules hang on. Source names the company, contract or partner that produced the booking: a named agency, a corporate account, the hotel's own website. It is a party, not a category. Channel answers through which system the booking arrived; the same agency can send a booking through its own system or through a booking site, and the two behave differently when something goes wrong.

Source market answers which market the contract or rate covers, and board type answers what the price includes. Board type belongs to the rate, not to the segment name, or you end up with a code list that doubles every time a board changes. The test for a new field is simple: name the report or decision that cannot be made without it. If there is no such report, do not add the field.

FieldQuestion it answersIllustrative values (for example)What it must not carry
SegmentWho buys, and how is the booking boughtindividual direct, corporate negotiated, group, agency allotment, agency free sale, booking-site businessthe guest's nationality, the agency's name
SourceWhich company, contract or partner produced the bookinga named agency, a corporate account, the hotel's own websitethe pricing rule
ChannelThrough which system did the booking arrivethe hotel's own system, an agency's system, a booking sitethe guest's reason for travel
Source marketWhich market does the contract or rate covera country or region named in the contractthe guest's passport or nationality
Board typeWhat is included in the priceroom only, bed and breakfast, half board, all inclusivethe rate code or the meal vouchers

Why source market is not guest nationality

Source market is a commercial attribute of a contract: it says which market the negotiated rate was built for. It is not the guest's nationality, and it should never be filled from a passport or an identity document. A German agency can sell an all-inclusive contract for the German market to a family whose members hold three different passports; the contract is still one line, in one market. Keeping source market on the contract and the rate, and off the guest record, also keeps you away from personal data you do not need for the report, which is the safer position under any privacy regime.

What should a starter segment code list look like?

Start with six to eight codes that match how the hotel actually sells today, and add a code only when a report or a contract needs the split.

For example: individual direct, booking-site business, corporate negotiated, group, agency allotment, agency free sale. A hotel with airline crew or long-stay contracts adds one code for each, not a family of codes. Allotment and free sale must stay apart: allotment means the agency holds rooms the hotel has committed, free sale means the agency sells and the hotel confirms each booking. They behave differently in pace and carry different cancellation risk, so merging them hides exactly the difference a contract review needs.

Write one line per code: what it means, who may use it, and one example booking. A code without a written rule is a code that will drift. Keep names fixed and free of dates, hotel names or staff initials, because a code whose meaning changes between seasons makes last year's comparison useless.

Give a group one master code, and let the individual rooms inside it inherit that code, so the group's revenue and its displacement can be measured together. And retire codes instead of deleting them: old bookings keep the code they were made with, while new bookings cannot select it.

TipThe one-line test

Give the code and a real booking to two people on the team separately. If they file it under different codes, the definition is not written yet.

What changes for a resort that sells through agencies?

Two fields carry most of the weight: the source market the contract covers and the board type the price includes. Without them, two contracts that look identical in the system are not comparable.

One agency can hold several contracts, each for a different market and a different board. If the agency is the only thing recorded, the contracts collapse into one line and the review cannot tell which one worked. Board type changes what the guest is buying and what the hotel must deliver: a room-only rate and an all-inclusive rate from the same market are not the same product and should not be averaged into one figure.

Record board type on the rate, and let the booking inherit it. Typing it per booking invites a mismatch between what was sold and what the kitchen and the front desk expect. When you review an agency, read production by source market and board together; a market that looks weak overall can be strong on one board and weak on another, and that distinction is worth money at the next negotiation.

Who assigns the code, and what should the booking screen require?

The person who takes the booking assigns the code, at the moment of booking, and the screen should refuse to save without one.

Reservations owns the field at entry. Sales owns the contract-level default, meaning which segment and source market a contracted rate carries. Finance owns the reconciliation, not the original entry. Make the field required, with no silent default; if a default exists, show it on screen and require the agent to accept it deliberately.

Pre-fill what the contract already decides. A corporate rate is corporate; an allotment booking from a contracted agency is agency allotment. The agent should be confirming, not choosing from a long list every time. For bookings that arrive through a partner system, map the incoming partner or rate to a segment once, in the integration settings, instead of retyping it per booking. One mapping reviewed monthly beats a hundred manual choices.

Put the code list on the reservations desk and train once at setup, then once whenever a code is added or retired. Give the agent a free-text note field next to the code: the note is where the odd booking explains itself, and it is what makes the monthly check fast.

Watch outA default code is worse than an empty field

An empty field shows up in the monthly check; a wrong default never does, and it quietly becomes your largest segment.

How do you clean up miscoded bookings every month?

Run one short pass over the previous month, look for combinations that should not exist, correct them with a note, and then fix the rule that allowed them.

Pick a fixed day and a fixed scope: last month's bookings, with segment, source, channel, market, board type, rate code, nights and room revenue in one export. Correct with an audit trail: void and re-enter, or change the field with a reason, but never delete a booking to fix a code. Keep a one-page log of what was corrected and why, so next month's check starts where this one ended.

Compare each segment with its own previous months, not with an industry figure. A sudden jump in one segment usually means a default, a mapping change or a new rate, not a new market. This is the same discipline described in hotel data quality work before AI: clean the input, and every downstream report improves at once.

ChecklistMonthly check

  • Pull last month's bookings with all five fields plus rate code, nights and revenue.
  • List impossible combinations: agency allotment with no agency on the booking, corporate rate filed as individual direct, a group master with a single room, booking-site business with no booking site, a board type that contradicts the rate.
  • Sample ten bookings per segment and read the notes.
  • Compare each segment with its own previous three months.
  • Correct with an audit trail and a reason.
  • Write down the cause and change the rule, the mapping or the screen.
  • Add the correction to the log.

Which reports depend on clean segment codes?

Pace, ADR by segment, displacement and contract reviews all read the same field, so one miscoded booking can show up in four places.

Pace compares bookings on the books for a future arrival date with the same point in a previous period. A segment carrying the wrong code makes pace look like demand that is not there. ADR by segment is room revenue divided by rooms sold, calculated per segment, and it is only comparable across segments if the posting rules are the same: a group rate that carries meals inside the room rate cannot be set beside a room-only rate. The formulas themselves are simple, and the common mistakes are in what goes into them, as covered in RevPAR, ADR and occupancy rate formulas.

Displacement asks whether a group's rooms would earn more sold to another segment, and that question needs the group to have its own code and its own rate, or the comparison has no second side; the full method is in group displacement analysis. Contract reviews ask whether an agency's production and rate still make sense, and they need allotment and free sale kept apart, with the source market recorded on the contract.

NoteNo benchmarks in this article

Every figure in these reports is the hotel's own. This article uses no segment-mix benchmark, because none was verified for Türkiye.

What to do next

Write the one-page code list this week, make the segment field required at booking, and put the first monthly check in the calendar before the next contract review. The five fields, the short list and the monthly pass are one system: the fields make the list usable, the list makes the check fast, and the check is what keeps pace, ADR by segment and your agency reviews measuring the same thing.

Frequently asked questions

How many segment codes should a small hotel start with?

Six to eight is usually enough: individual direct, booking-site business, corporate negotiated, group, agency allotment, agency free sale, plus one for any contract the hotel actually holds. Add a code only when a report or a contract needs the split, and give every new code an owner and a written rule.

Should each travel agency get its own segment code?

No. The agency is a party, recorded in the source field as a company record; the segment says how the booking is bought, such as agency allotment or agency free sale. Reporting per agency then comes from joining the party record, not from multiplying the code list.

What if a booking fits two segments?

Decide with a written rule: usually the party that holds the contract or pays the bill decides the segment. Record the other characteristic in its own field, such as board type or source market, and never split one booking across two codes, because the room revenue would then be counted twice or halved.

Where does the booking site go if a guest books an agency's website?

Channel records the system the booking arrived through, so it is the agency's system if that is where the booking was made. The segment still describes how the booking was bought, and the source market still comes from the contract. Three fields, three answers, no overlap.

Why does ADR by segment look wrong after a rate change?

Usually because the code was changed mid-stay, or because meals and extras were posted into the room rate for one segment and outside it for another. Check the posting rule first, then check whether the segment field was edited after arrival instead of at booking.

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