What this page is
This is the method behind the hotel fee stack calculator: every formula it applies, the precision it works to, the rules that must always hold true, and how those rules were tested. It exists so that a number the calculator produces can be checked rather than taken on trust, and so that anyone citing it can see exactly what was computed.
Nothing here is proprietary. The arithmetic is simple by design. What matters is where each charge sits relative to gross operating profit, which is where most fee comparisons go wrong.
What the calculator computes
Every charge is a percentage of a stated revenue base, except the residual category, which is entered as an amount. The bases differ by charge type because that is how hotel operating agreements are written: brand and distribution charges are usually struck against rooms revenue, while management and corporate charges are struck against total revenue.
| Output | Formula | Base |
|---|---|---|
| Base management fee | base% × total revenue | Total revenue |
| Incentive fee | incentive% × GOP | Gross operating profit |
| Brand marketing | mkt% × rooms revenue | Rooms revenue |
| Reservations and distribution | dist% × rooms revenue | Rooms revenue |
| Channel and OTA commissions | ota% × rooms revenue | Rooms revenue |
| Loyalty programme | loyalty% × rooms revenue | Rooms revenue |
| Technology and systems | tech% × total revenue | Total revenue |
| Central services | central% × total revenue | Total revenue |
| Procurement and shared services | proc% × total revenue | Total revenue |
| Other charges | entered directly | Amount |
| FF&E reserve | reserve% × total revenue | Total revenue |
Those components then aggregate:
| Headline fees | base + incentive |
| The rest of the stack | marketing + distribution + OTA + loyalty + technology + central + procurement + other |
| Total operator cost | headline + stack |
| As a share of revenue | total ÷ total revenue × 100 |
The part that matters: above GOP and below it
This is the design decision that separates a correct fee comparison from a misleading one, and it is why the owner return figure is not simply GOP less the total stack.
Under the Uniform System of Accounts for the Lodging Industry, brand and distribution charges are departmental and undistributed operating expenses. They are deducted before gross operating profit. So when you enter a GOP figure taken from an operating statement, those charges have already been taken out of it. Subtracting them again from GOP would double count them, and would make any branded structure look far worse than it is.
Only two things in this calculator fall after GOP: the management fees, which are a deduction from operating profit rather than an operating expense, and the FF&E replacement reserve. So the owner return runs:
| Management fees | base + incentive |
| Left before fixed charges and debt | GOP − management fees − reserve |
| Share of GOP retained | left ÷ GOP × 100 |
The total operator cost figure and the owner return figure therefore answer two different questions. The first asks what the operator relationship costs in total across the whole profit and loss. The second asks what is left to the owner once the charges that sit below GOP have been taken. Reading the first as though it were the second is the most common error in fee analysis.
Precision and rounding
All arithmetic uses IEEE-754 double precision. Inputs are bounded well inside the range where sums and products of doubles are exact for values of this magnitude, so no intermediate rounding is applied at any step.
Rounding happens only at display: currency to whole units through the browser's own internationalisation formatter, percentages to one decimal place. The figures shown are therefore rounded views of unrounded calculations, not the results of rounded arithmetic. Two displayed numbers may differ from their displayed difference by one unit for that reason.
Division guards are explicit. Where total revenue is zero, the percentage of revenue is reported as zero rather than producing an undefined result. Where GOP is zero, the retained share is reported as zero on the same basis.
What must always be true
These are the invariants the method is held to. They are asserted in the test suite, not merely intended.
- Total operator cost equals headline fees plus the rest of the stack, exactly, for any valid input.
- Every component is greater than or equal to zero when its inputs are.
- Changing a charge that sits above GOP, such as brand marketing or loyalty, does not alter the owner return. Changing the base fee does. This is the direct test of the placement rule described above.
- The result left to the owner may be negative, and is reported as negative rather than clamped to zero. A deal that does not cover its operator is a real outcome and hiding it would be dishonest.
- All outputs are finite for all valid inputs. No output is ever produced as not-a-number or infinity.
How it was verified
The calculator was checked against an independent re-implementation of the same specification, written separately in Node rather than reusing the page's own code, so that a shared mistake in one implementation would not silently validate the other.
That check ran 31 assertions covering a hand-verified golden data set, boundary conditions including zero GOP, zero revenue and an all-zero input set, billion-scale values to confirm precision holds at magnitude, and the invariants listed above. All passed with no drift.
The same discipline governs the wider Stax IQ application, where every release passes the full financial verification suite before it ships.
Scope, and what this deliberately does not do
Being explicit about the boundary is part of the method.
- It models a single year at a single set of rates. It does not project a term, escalate rates, or ramp occupancy.
- It takes GOP as an input. It does not build GOP from departmental revenues and costs.
- It does not model fixed charges, debt service, tax or terminal value, which is why the owner figure is described as what is left before those items.
- It applies no incentive fee hurdle. Where a deal has an owner's priority, the incentive fee calculator models that separately.
- The default values are illustrative starting points drawn from published industry ranges. They are not a benchmark, and they are not a quote for any specific hotel.
How to cite this
If you are quoting a figure the calculator produced, cite the method version alongside it. The version number changes whenever a formula, a base or a rounding rule changes, so a figure quoted against version 1.0 remains checkable even after the calculator itself has moved on.
The calculator is free to use and needs no account. If it is useful to your readers, a link is welcome.
Common questions
Why is the total operator cost not simply deducted from GOP?
Because most of those charges sit above GOP under the USALI structure and have already been deducted before the GOP figure you entered. Taking them out again would count them twice. Only the management fees and the FF&E reserve fall below GOP, so only those two are deducted in the owner return.
What revenue base does each charge use?
Brand marketing, reservations and distribution, channel and OTA commissions and loyalty are calculated on rooms revenue. The base management fee, technology, central services, procurement and the FF&E reserve are calculated on total revenue. The incentive fee is calculated on gross operating profit. These follow the way the charges are usually struck in hotel operating agreements.
Are the default numbers a benchmark?
No. They are illustrative starting points so the tool shows something meaningful before you enter your own figures. They are drawn from published industry ranges but they are not a benchmark and not a quote for any specific hotel.
Can the owner return be negative?
Yes, and it is shown as negative rather than floored at zero. If GOP does not cover the management fees and the reserve, the deal loses money before fixed charges and debt, and the calculator says so.