Skip to content

Train on the rate guests actually paid #104

Open

Description

@selvarajuv

Blocked by: #84

Problem

The model learns from each night's average rate, worked out as room revenue ÷ rooms sold. That mixes every price the night was sold at, including discounts and group rates, so it isn't the price the hotel was actually charging.

Goal

The model learns from the market price each night was sold at, from the rate guests paid per booking.

Scope

  • Work out a training rate per night from the bookings stored in Store bookings and cancellations #84: each booking's nett average daily rate (ADRSoldNett in Daily New Reservations), e.g. the median or the last public rate sold, leaving out group blocks.
  • Decide which rate plans count (e.g. the standard room-only rate) and which are left out.
  • Use the new rate as the training target, with the current average as a fallback for nights without booking prices.
  • Record which target was used in each model version's settings.

Considerations

  • Daily Rate Analysis was dropped (decision 0037), so there's no price per booking night; a booking's ADR is its average across the nights it covers. Check whether that's precise enough for multi-night stays.
  • Nett vs gross: gross = nett × 1.135 (13.5% VAT), confirmed on 96% of Daily New Reservations rows. Mixing them shifts every recommendation by 13.5%; agree which the manager expects to see and train in the same terms.
  • Overridden or discounted bookings aren't marked in the exports (decision 0037).
  • Compare with the current target using Test which inputs improve the rates #93's backtest.

Acceptance criteria

  • The training rate is in the agreed terms (nett or gross), written down.
  • The training target comes from per-booking rates where available.
  • Each model version records which target it used.
  • Results with the old and new target are on Test which inputs improve the rates #93's backtest.

Activity

  1. added
    featureIntroduces a new and complete feature
    mlModel training, feedback in training, features, evaluation
    on Oct 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureIntroduces a new and complete featuremlModel training, feedback in training, features, evaluation

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions