> For the complete documentation index, see [llms.txt](https://revhero.gitbook.io/revhero-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://revhero.gitbook.io/revhero-docs/your-hotels-performance/dashboard/business-mix.md).

# Business Mix

See which booking sources your business is coming from, and how each has moved since last year.

The **Business Mix** widget breaks down where your bookings come from. Everything is grouped into five parent sources, each holding its own channels underneath. Use it to spot channel shifts, commission creep and the real strength of your direct business.

| Parent                           | Colour  | Typically holds                                          |
| -------------------------------- | ------- | -------------------------------------------------------- |
| **Bedbanks / Wholesalers / B2B** | Indigo  | Wholesale and B2B partners                               |
| **Direct Booking**               | Teal    | Your own booking engine, email and other direct channels |
| **Metasearch**                   | Orange  | Metasearch and free booking link traffic                 |
| **OTA**                          | Blue    | Online travel agencies — often your largest slice        |
| **Tour Operators**               | Magenta | Tour operator channels                                   |

Which channel sits under which parent is set per property in [Segmentation mapping](/revhero-docs/your-hotels-setup/settings/segmentation-mapping.md). The colours stay consistent across the pie, the legend and every tooltip.

![When the mix shifts](https://272652298-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnzEa7YGji6t92Mfc0ZJ1%2Fuploads%2Fgit-blob-5b10c3ac05e56b326d90c915fe95a1cd4362432c%2Fwhen-the-mix-shifts.svg?alt=media)

*A source only grows because another gives the share up. Read the movement, not the slice.*

## Choosing what you measure

The dropdown at the top right switches the whole widget between **Revenue**, **Occupancy**, **ADR** and **Room Nights**. Room Nights is the default, and both views redraw against whatever you pick.

In the expanded view the two icon buttons beside the dropdown switch between the **chart** (pie) and **table** views. The subtitle there shows the period and the reference date, for example `June 2026 · Reference Date: 26/06/2026`.

## The pie view

One pie for the period, with slices sized by the metric you chose and a legend naming each parent against its colour.

Hover a slice for the detail:

* **Collapsed** — the parent name and a two-row comparison, for example `June 2026 · 244 · 27.63%` over `June 2025 · 194 · 23.89%`.
* **Expanded** — the parent name, this year's value and share, last year's value and share, a `June 2026 VS June 2025` figure, and a small table of the channels inside that parent with **OTB**, **STLY** and **OTB VS STLY** columns.

## The table view

A two-level table you can expand parent by parent:

| Column              | What it shows                                          |
| ------------------- | ------------------------------------------------------ |
| **Booking Sources** | The parent, and its channels when you expand it        |
| **OTB**             | On the books for the current period — volume and share |
| **STLY**            | What was on the books at the same point last year      |
| **OTB vs STLY**     | The change, as a green ↑ or red ↓ figure               |

At parent level the percentage is share of your total. At channel level it is share within that parent — so the channels under one parent add up to 100%.

{% hint style="info" %}
The pie shows the current state only. If you want the year-on-year movement, use the table view and read the **OTB vs STLY** column.
{% endhint %}

## How to read it

**Start with your dominant sources.** Heavy OTA share is normal distribution, but it is commission-heavy. Direct above 20% means your direct strategy is earning its keep.

**Then look for movement.**

| Pattern                                  | What it usually means                                                                           |
| ---------------------------------------- | ----------------------------------------------------------------------------------------------- |
| Direct up sharply, OTA flat              | Your direct campaigns are working — protect the commission you are saving                       |
| Metasearch up by a very large percentage | Either a campaign change or a small-base effect — check the absolute volumes                    |
| Wholesale down sharply                   | Contracts have shifted, or your rates have lost competitiveness there                           |
| A channel at zero                        | It has been paused, its rates stripped, or there is a contract problem — worth a same-day check |

**Then switch the metric.** Volume share and revenue share often diverge: a channel can deliver plenty of room nights at thin rates, or few bookings at high value. Switching between Room Nights and Revenue shows you which.

**Then drill in.** Expand a parent and read the channel inside the channel — one OTA can be carrying a whole category.

## If something looks wrong

| What you see                              | Usual cause                                                 | What to do                                                                                         |
| ----------------------------------------- | ----------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| A channel is missing entirely             | It has not been mapped to a parent yet                      | Add it in [Segmentation mapping](/revhero-docs/your-hotels-setup/settings/segmentation-mapping.md) |
| OTB and STLY both show 0                  | The period or filters have no data behind them              | Clear the filters and check the period                                                             |
| A huge percentage on a low-volume channel | Small-base distortion — 3 bookings against 1 reads as +200% | Read the absolute volumes; ignore percentages below about five bookings                            |
| Direct Booking missing from the table     | Your direct channels are not labelled as direct at source   | Review your source labels, then the mapping                                                        |

## Common questions

**How are bookings classified?** By the source recorded against the reservation, then grouped by your mapping.

**What does the percentage beside a channel mean?** Its share within its parent. The percentage at parent level is share of your total.

**What about phone bookings?** They fall under Direct Booking, against whichever channel they are attributed to at source.

## Related

* [Segmentation mapping](/revhero-docs/your-hotels-setup/settings/segmentation-mapping.md)
* [Revenue](/revhero-docs/your-hotels-performance/dashboard/revenue.md) · [ADR](/revhero-docs/your-hotels-performance/dashboard/adr.md) · [Room Nights](/revhero-docs/your-hotels-performance/dashboard/room-nights.md)
* [Reading a widget](/revhero-docs/your-hotels-performance/dashboard/widget-anatomy.md)

***

**Was this page helpful?** If something here is wrong, unclear or missing, email [support@revhero.com](mailto:support@revhero.com?subject=Manual%20feedback%20%5Ben%5D%20dashboard%2Fbusiness-mix.md) and quote this page: `dashboard/business-mix.md`. Say what you expected to find — that is the part we can fix.
