Dynamic Pricing

Price every night on the data you already have

Nightly ML rate recommendations that show their work. Every suggestion is built from signals you can audit — pace, competitor position, day of week, lead time, and events — and clamped by guardrails you define.

Retrains nightlyFull override controlChannex push
Flat rate sheet$128 ADR
ML dynamic$151 ADR
ADR lift
+18.0%

Same 7 nights · same demand · dynamic pricing recaptures what a flat sheet leaves behind

Manual rate decisions lose money every week you delay them

Hotels that price reactively consistently under-monetize pickup spikes and over-discount soft windows. The gap compounds.

Rate sheets react too late

You find out pickup softened when the week arrives and you are already discounting into a full hotel. Shoulder weeks routinely under-monetize because nobody flagged the trend.

Over-reliance on comp-set average

Matching the median ignores your own mix and brand position. You lose margin on your strength days and lose occupancy on your weak days.

Spreadsheet drift

A revenue manager manages one hotel well in spreadsheets. Two is strained. Five is impossible. Rate decisions go stale the moment the reservation graph moves.

Opaque RMS black boxes

Legacy systems recommend a rate without explaining the inputs. You cannot tell whether a suggestion reflects real demand or a signal you do not trust.

Five signals, visible on every suggestion

No black box. Every recommended rate breaks down to the inputs that built it, weighted the way your property responds to demand.

High

Booking pace

Pickup versus same-time-last-year on a rolling 7-day window. When pace runs hot the multiplier lifts; when pace softens the engine recommends a fade before the date compresses.

Example

+7% multiplier when 30-day-out pickup is 15% ahead of STLY

High

Competitor position

Rate delta against your configured comp set median (from Channex rate shopping plus direct OTA scrapes). The engine aims for a target band, not a race.

Example

Hold at comp median minus 4% on weekdays, plus 2% on Saturdays

Medium

Day of week

Each DOW gets its own learned multiplier from your 90-day booking history. Sunday business hotels and Saturday leisure hotels look completely different; the model learns your curve.

Example

Saturday runs at 1.35x base on a leisure mix; Sunday at 0.82x

Medium

Days out (lead time)

Lead-time curve from your own bookings. Short lead = business transient; long lead = planned leisure. Pricing curvature follows your actual funnel, not a generic one.

Example

0-3 days out on a weekday lifts +12%; 30-60 days out softens -3%

High

Events and holidays

Local event calendar, public holidays, school breaks, and conferences. Tagged events earn a boost that decays with distance. You keep the final say on magnitude.

Example

Conference 1.5 miles out adds +18% on shoulder dates, +32% on peak

Trained on your 90 days

Each property's regression is fit only on its own booking window and comp set. Your Saturday curve is not your comp's Saturday curve.

Every rate is a product of parts you can see

The engine starts from your Base BAR and applies a stack of named multipliers. You see exactly which signal contributed how much and can override any layer without breaking the model.

  • Green multipliers lift the rate; amber reduce it.
  • Blue rows are clamps — floor, ceiling, margin, velocity.
  • Click any row to trace the source data for that signal on that date.
Saturday, Nov 15 — King suite

How the suggested rate is built

Base BAR1.000
Day of week (Sat)×1.320
Lead time (3 days)×1.080
Pace vs STLY (+14%)×1.060
Competitor position×0.980
Event proximity×1.090
Ceiling clampclamp
Suggested rate$239.00

Your floors, ceilings, and margin rules — enforced nightly

Dynamic pricing without guardrails is gambling. The engine supports six layered rules so an unusual signal never produces an unusual rate.

Guardrails (King suite)
Min floor$99
CurrentMax $239

Margin floor

32%

Velocity cap

±15% / 24h

All guardrails satisfied

Minimum rate floor

Hard floor below which no suggestion will ever land, even with a collapsed market. Set per room type and per season.

Maximum rate ceiling

Hard ceiling to protect brand positioning during demand spikes. Useful for compliance and for comp-set parity commitments.

Margin floor

Minimum gross margin per room night after expected OTA commission and variable cost. The engine back-calculates the net floor.

Comp-set distance band

Defines how far below or above the comp median the engine may wander. Breaches enter a review queue instead of auto-applying.

Change velocity cap

Caps the maximum rate jump per 24 hours so existing bookings at lower prices do not compare unfavourably to inventory going on sale.

Role-based approval

Suggestions above a configured delta require revenue manager approval before pushing to the channel manager.

Disagree with a suggestion? Override without poisoning the model

Manual pricing is part of revenue management. The engine isolates overrides so future training stays clean.

1

Flag

Any suggestion you disagree with gets a one-click flag from the review queue. You add a reason code: event, group block, maintenance, or manual.

2

Override

Set a fixed rate, a custom multiplier, or a locked range. Overrides honor your guardrails unless you explicitly bypass.

3

Isolate

Overridden dates are tagged in the training data so the model does not learn from manual pricing as if it were organic demand.

4

Audit

Every override is logged with user, timestamp, and reason. Revenue managers get a weekly override digest to spot patterns.

Tonight's rate queue4 changes · 1 review
Fri Nov 14Auto-applied
$172

$198

Sat Nov 15Needs review

Velocity cap reached

$198

$239

Sun Nov 16Auto-applied
$168

$175

Mon Nov 17Manual override

Group block release

$132

$149

Two operating modes. Switch per property.

Review queue

Every suggestion lands in a review queue. Approve in bulk, edit individual rates, or reject. Nothing pushes until you say so.

  • Best for owner-operators
  • Revenue-manager oversight
  • Bulk approve 30 days in one click
Recommended

Auto-apply

Suggestions inside your guardrails auto-apply at 02:00 local time. Breaches or outliers bubble up to a review queue for manual approval.

  • Best for multi-property groups
  • Zero-touch for normal days
  • Outliers always queued

Common questions

How does the model produce a nightly rate?

Each night, the engine rebuilds a regression using your last 90 days of bookings, current pickup, competitor rates, and calendar signals. For every future date it combines a base BAR with a multiplier stack: demand index, pace vs same-time-last-year, day-of-week weight, lead-time weight, competitor position, and event boost. The output is clamped by your floor and ceiling.

How is this different from a flat seasonal rate sheet?

Seasonal rate sheets react to the calendar but not to reality. If pickup is soft three weeks out you will not know until the shoulder hits and you are discounting into a full property. Dynamic pricing re-scores every future date every night so drift gets corrected the same day it shows up.

What stops it from racing competitors to the bottom?

Guardrails. You set a min rate, a max rate, a margin floor, and a competitor distance band (for example: never price more than 12 percent below comp median). Suggestions that would breach a guardrail are either clamped or flagged for manual review.

Can I override a suggestion without breaking the model?

Yes. Overrides are first-class. Set a fixed rate, a one-off multiplier, or lock a date range. The model records the override and excludes that date from future training so your manual pricing on a known event does not corrupt the baseline.

Does it push to channels automatically?

Only if you enable auto-apply. By default suggestions land in a review queue where you approve in bulk. Once approved, rates push to Channex which distributes to every connected OTA within seconds.

What if I have no booking history?

For new properties the engine starts in guided mode: day-of-week and lead-time multipliers from a comparable market segment, plus your competitor set. After roughly 45 days of your own bookings it transitions to fully data-driven mode.

Let the data price your rooms tonight

Connect your property, configure guardrails, and start with a 14-day review queue. No auto-apply until you trust the output.