Динамическое ценообразование работает на простых правилах
Как устроено динамическое ценообразование в малом отеле: правила загрузки, дней недели и глубины бронирования без ежедневной ручной правки.

Динамическое ценообразование в объекте на 5-30 номеров не требует прогноза на нейросети и отдельного revenue-менеджера. Ему нужны четыре вещи: честная базовая цена, несколько заранее заданных поправок, понятный порядок применения правил и границы, за которые автоматика не выйдет. Если владелец может объяснить итоговую цену администратору за минуту, система настроена правильно.
Сложный алгоритм на маленьком номерном фонде часто создает видимость точности. Одна групповая бронь резко меняет процент загрузки, отмена так же резко возвращает его назад, а редкое городское событие ломает статистику прошлого года. Простые правила признают эту неровность. Они не пытаются угадать идеальную цену, а регулярно убирают две дорогие ошибки: продажу последних номеров слишком дешево и удержание пустых номеров по завышенной цене.
Базовая цена должна выдерживать обычный день
Базовая цена - это цена нормального буднего дня при средней для сезона загрузке, а не самая низкая сумма, которую готов принять владелец. Все надбавки и скидки считаются от нее. Если база взята с потолка, автоматизация лишь быстрее разнесет ошибку по календарю и каналам.
Начните с экономики одной проданной ночи. Соберите переменные расходы на заселение: уборку и белье, гостевые расходники, завтрак, если он включен, эквайринг, комиссию канала и налоговую нагрузку, которую вы учитываете в управленческом расчете. Затем добавьте долю постоянных расходов и нормальную маржу. Комиссию канала нельзя вычитать после назначения цены как неприятный сюрприз. При комиссии 20% цена 4 000 рублей приносит объекту 3 200 рублей до остальных расходов, а прямая бронь по той же цене приносит 4 000 рублей до эквайринга и прочих затрат.
Посчитайте нижнюю границу отдельно для прямой продажи и для каждого комиссионного канала. Это не значит, что гостю обязательно показывают разные цены. Расчет показывает, где скидка перестает окупаться. Если номер после комиссии, уборки и налогов оставляет меньше суммы, которую вы готовы получить за занятую ночь, правило не должно опускать цену ниже этой границы.
Базу лучше задавать по категории, а не по каждому физическому номеру. Двухместный стандарт, семейный номер и койка в общем номере продаются по разной логике. Внутри одной категории разница между номерами обычно относится к описанию и назначению, а не требует отдельной ценовой кривой.
Проверка базы проста: откройте четыре обычных недели прошлого сопоставимого сезона, исключите праздники и разовые группы, затем сравните фактическую среднюю цену проданной ночи с расчетной базой. Большой разрыв требует объяснения. Возможно, база устарела, либо прошлые скидки съели доход. Копировать среднюю цену без разбора не стоит.
День недели задает календарный рисунок спроса
Поправка по дню недели должна отражать повторяющееся поведение ваших гостей. У городского мини-отеля сильнее могут быть вторник и среда, у загородного гостевого дома - пятница и суббота, у объекта возле трассы разница иногда почти исчезает. Универсального правила «выходные дороже» нет.
Возьмите данные хотя бы за восемь обычных недель одного сезона. Для каждого дня посчитайте загрузку и среднюю цену без праздников, крупных событий, закрытий на ремонт и групп, выкупивших заметную часть фонда. Смотрите не только на загрузку. Если суббота заполнялась на 95%, но половину номеров вы продали заранее по будней цене, высокий спрос как раз говорит о недополученном доходе.
Для первого запуска достаточно трех календарных типов:
- слабый день: скидка 5-10% от базы;
- обычный день: базовая цена;
- сильный день: надбавка 10-15%;
- праздник или подтвержденное событие: отдельный уровень, который ставит человек.
Последний пункт нельзя полностью отдавать прошлой статистике. Концерт, спортивный турнир, выставка, выпускной или перекрытие дороги меняют спрос только на конкретные даты. Заведите календарь событий на три-шесть месяцев вперед и назначьте ответственного за еженедельную проверку. Для объекта с одним администратором это пятнадцать минут по понедельникам, а не ежедневное редактирование сотен ячеек.
Не делайте скидку на слабый вторник, если к нему примыкает сильное событие в среду и гости обычно приезжают накануне. Дни недели описывают повторение, но соседние даты влияют друг на друга. Поэтому событие и ограничение минимального срока проживания должны иметь приоритет над обычной недельной поправкой.
После первого месяца сравните дни не по ощущениям, а по тому, как часто правило реально влияло на цену и что происходило с продажами. Если понедельник одинаково заполняется с поправкой и без нее, правило лишнее. Чем меньше правил приходится помнить и проверять, тем надежнее схема.
Загрузка повышает цену только на оставшийся фонд
Правило загрузки смотрит на долю уже проданных доступных номеров на конкретную дату и меняет цену тех номеров, которые еще можно купить. Оно не пересчитывает подтвержденные брони. Гость заключил договор по цене, которую видел и принял, последующее изменение спроса не дает оснований переписывать его сумму.
Для маленького фонда процент иногда обманывает. В объекте на 6 номеров одна бронь меняет загрузку на 16,7 процентного пункта, а в объекте на 24 номера - на 4,2. Поэтому пороги надо проверять еще и в штуках. Формулировка «при загрузке 80%» для шести номеров означает пять проданных и один оставшийся. Этот последний номер вполне можно поднять в цене, но скачок не должен зависеть от ложной математической точности.
Рабочая начальная сетка выглядит так:
- до 30% загрузки: уровень -10%;
- от 30% до 60%: базовый уровень;
- от 60% до 80%: уровень +10%;
- от 80%: уровень +20%;
- один последний номер категории: ручная проверка или заранее заданный верхний уровень.
Считайте загрузку по продаваемому фонду. Номер, закрытый на ремонт, не должен входить в знаменатель. Служебная блокировка, номер для персонала и подтвержденный выкуп тоже требуют правильного статуса в шахматке. Иначе система видит мнимый избыток мест и снижает цену, хотя продать их нельзя.
TravelLine в своей базе знаний описывает динамический тариф как набор ценовых уровней и связывает уровни с интервалами загрузки. Это полезная модель, потому что она отделяет правило выбора уровня от самих цен. Но маленькому объекту обычно не нужны шаги по 5% и десяток уровней. Четыре уровня легче проверить, а ошибка в одном пороге не маскируется соседними почти одинаковыми значениями.
Не понижайте цену автоматически только потому, что сегодня отменили две брони. Добавьте задержку или запускайте пересчет по расписанию, например дважды в день. Мгновенная реакция на каждое движение создает скачки, которые администратор не успевает объяснить, а постоянные посетители замечают.
Глубина бронирования показывает, успеете ли вы продать номер
Глубина бронирования - это число дней между датой покупки и датой заезда. Она полезна не сама по себе, а в сравнении с обычным темпом продаж на такой же день недели и сезон. Пустая суббота через 90 дней не тревожит, если ваши гости обычно бронируют за две недели. Та же суббота без броней за три дня до заезда уже требует действия.
Постройте простую кривую набора броней. Для каждой даты проживания зафиксируйте, сколько номеров было продано за 60, 30, 14, 7, 3 и 1 день до заезда. Не пытайтесь сразу получить гладкий график. Таблицы с медианой по сопоставимым дням достаточно, чтобы увидеть обычный ритм и не позволить одной ранней группе исказить среднее.
Для первого набора правил можно использовать такие окна:
- больше 30 дней до заезда: базовая цена или небольшая надбавка на сильные даты;
- 14-30 дней: цена зависит прежде всего от фактической загрузки;
- 4-13 дней: скидка 5-10%, только если загрузка отстает от обычной;
- 0-3 дня: последняя скидка допустима при реально пустом фонде;
- сильная загрузка в любом окне: скидка не применяется.
Популярный совет «чем раньше бронь, тем дешевле» слишком груб. Он появился из понятной потребности получить деньги и уверенность заранее, но часто отдает самые востребованные даты тем, кто и без скидки планирует поездку заблаговременно. Ранний тариф имеет смысл, когда он покупает объекту полезное обязательство: невозвратные условия, длинное проживание или заполнение слабого периода. Просто раздать скидку всем ранним гостям - дорогая привычка.
Последняя минута тоже не обязана быть дешевой. Гость у вокзала в 23:00 может иметь мало альтернатив, а владелец несет расходы на позднее заселение. С другой стороны, пустой загородный дом вечером пятницы уже нельзя продать в субботу за пятничную ночь. Решение дает история вашего темпа, а не правило из чужого отеля.
Когда правила спорят, нужен один порядок
Цена должна рассчитываться в фиксированной последовательности, иначе два одинаковых запроса дадут разные результаты после ручной правки. Самая частая ошибка возникает, когда надбавки просто складывают: суббота +15%, загрузка +20%, короткое окно +10%, событие +30%. Итог +75% может не иметь отношения к спросу, хотя каждое правило по отдельности выглядит разумно.
Для объекта до 30 номеров я использую порядок, в котором сначала выбирается календарная база, затем один уровень спроса заменяет другой, а не суммируется с ним:
- Выберите базу категории и сезон.
- Примените тип дня недели.
- Если дата относится к событию, замените обычный тип дня событийным уровнем.
- Сравните загрузку и темп продаж, затем выберите более высокий или более низкий уровень по матрице.
- Проверьте нижнюю и верхнюю границы, округлите цену.
Глубина бронирования не должна автоматически давать скидку поверх слабой загрузки. Она отвечает на другой вопрос: осталось ли время дождаться обычного спроса. Если загрузка ниже нормы, а до заезда 45 дней, цена остается базовой. Если такое же отставание видно за 4 дня, система выбирает нижний уровень. Если загрузка уже 85%, близкий заезд скорее подтверждает надбавку.
Задайте ручные исключения с датой окончания. Администратор может зафиксировать цену на период ремонта соседнего корпуса, групповую квоту или городской фестиваль, но исключение не должно жить в календаре вечно. Поле «причина» обязательно: через месяц никто не вспомнит, почему на обычный четверг установили верхнюю границу.
Правила должны быть идемпотентными: повторный расчет на тех же данных дает ту же цену. Если система каждый раз прибавляет 10% к уже измененной цене, она ошибочно начисляет надбавку на надбавку. Все расчеты надо вести от сохраненной базовой цены или именованного ценового уровня.
Нижняя и верхняя границы защищают от автоматики
Минимальная цена защищает маржу, максимальная - доверие гостя и позицию объекта на рынке. Обе границы задают по категории и сезону. Одна общая сумма для койки, стандарта и семейного номера почти наверняка окажется бесполезной.
Нижнюю границу считайте после комиссии канала. Допустим, прямые переменные расходы на занятую ночь равны 1 100 рублям, минимальный вклад в постоянные расходы и прибыль - 1 400 рублей, а комиссия канала - 20%. Чтобы после комиссии осталось 2 500 рублей, цена в канале должна быть не ниже 3 125 рублей: 3 125 × 0,8 = 2 500. Цена 2 500 рублей в этом канале оставит лишь 2 000 рублей до прямых расходов.
Это управленческий расчет, а не формула бухгалтерского или налогового учета. Туристический налог считайте по правилам главы 33.1 НК РФ и настройкам муниципалитета, а не как произвольный процент, который можно забыть внутри скидки. Цена для гостя и внутренний расчет доходности должны сходиться на уровне конкретной брони.
Верхняя граница не равна самой высокой цене конкурента. Соседний отель может включать завтрак, бассейн, круглосуточную стойку или более мягкую отмену. Сравнивайте итоговую стоимость сопоставимого проживания и условия, а не одну цифру в карточке. Если ваша верхняя цена требует длинного объяснения, возможно, объект пока не дает гостю достаточной причины ее принять.
С 1 марта 2026 года действуют Правила предоставления гостиничных услуг и услуг иных средств размещения, утвержденные постановлением Правительства РФ № 1912. Они требуют доводить до потребителя сведения о цене и закрепляют одинаковую цену для потребителей одной категории, кроме предусмотренных льгот и преимуществ. Динамика по дате заезда, категории номера, условиям тарифа или каналу продаж не означает тайное персональное ценообразование. Но назначать двум одинаковым гостям разные суммы по впечатлению администратора нельзя: опишите тарифные условия заранее и сохраняйте примененное правило в брони.
После подтверждения брони новая цена действует только для новых продаж. Исключения относятся к изменению договора по согласованным условиям, например если гость сам меняет даты или категорию. Автоматика не должна молча переписывать подтвержденную стоимость.
Набор правил помещается на одной странице
Первую версию можно записать как конфигурацию, которую поймет владелец, администратор и разработчик PMS. Значения ниже не являются отраслевым стандартом. Это стартовый образец для объекта, где база категории «Стандарт» равна 4 000 рублей, а пределы составляют 3 200 и 6 000 рублей.
category: standard
base_rate: 4000
floor: 3200
ceiling: 6000
round_to: 100
weekday:
mon: -5%
tue: -5%
wed: 0%
thu: 0%
fri: +10%
sat: +15%
sun: 0%
occupancy_levels:
0-29: -10%
30-59: 0%
60-79: +10%
80-100: +20%
booking_window:
31+: hold
14-30: hold
4-13: -5%_if_behind_pace
0-3: -10%_if_behind_pace
priority: manual_event, occupancy_and_pace, weekday
recalculate: 09:00, 18:00
Здесь hold означает отсутствие отдельной поправки, а behind_pace требует сравнить текущую загрузку с обычной на такой же глубине. Сначала календарь выбирает базовый уровень дня. Затем матрица загрузки и темпа может заменить его. Ручное событие имеет самый высокий приоритет. В конце система применяет границы и округляет сумму до 100 рублей.
Проверьте конфигурацию на четырех контрольных датах до включения автоматики. Обычная среда с загрузкой 45% должна остаться около базы. Суббота с загрузкой 70% должна подняться, но не получить две полные надбавки простым сложением. Пустой вторник за два дня до заезда может опуститься, но не ниже 3 200 рублей. Событийная пятница с ручной ценой должна игнорировать автоматическую скидку.
Сохраните рядом ожидаемый результат каждого теста. После изменения правил прогоните те же даты снова. Это элементарный регрессионный тест, который ловит больше ошибок, чем визуальный просмотр цветного календаря.
Проверять надо доход на доступный номер
Высокая загрузка сама по себе не доказывает, что цена хорошая. Объект можно заполнить на 100% слишком дешево и потерять больше денег, чем при 85% загрузки по нормальной цене. Смотрите вместе на загрузку, среднюю цену проданной ночи и RevPAR, доход от проживания на один доступный номер.
Для упрощенной проверки возьмем 10 доступных номеров. В варианте А проданы все 10 по 3 000 рублей: доход 30 000 рублей, загрузка 100%, RevPAR 3 000 рублей. В варианте Б проданы 8 номеров по 4 000: доход 32 000 рублей, загрузка 80%, RevPAR 3 200 рублей. Вариант Б дает больше дохода от проживания и оставляет два номера для позднего спроса, хотя процент загрузки выглядит хуже.
Комиссию полезно учитывать во втором управленческом показателе, чистом доходе на доступный номер. Если половина продаж варианта А пришла с комиссией 20%, после комиссии останется 27 000 рублей. Если в варианте Б три брони комиссионные, после комиссии останется 29 600 рублей. Так становится видно, почему одинаковая опубликованная цена не означает одинаковую доходность источника.
Оценивайте правило на сопоставимых периодах минимум несколько недель. Записывайте для каждой даты:
- цену за 30, 14, 7, 3 и 1 день до заезда;
- загрузку в те же срезы;
- число новых броней и отмен между срезами;
- среднюю фактическую цену и комиссию;
- причину ручного вмешательства.
Не меняйте пороги после одной пустой среды. Маленькая выборка шумит, а погода, дорожные работы или одна свадьба легко переворачивают неделю. Менять правило стоит, когда повторяется конкретная ошибка: сильные даты стабильно заполняются слишком рано, слабые остаются пустыми к короткому окну или цена часто упирается в неправильно рассчитанный предел.
Сравнивайте новые правила с тем же сезоном и тем же типом дней, а не с предыдущей календарной неделей. Январские праздники и рабочая неделя после них не образуют честную пару. Если сопоставимого прошлого нет, считайте первые четыре-шесть недель калибровкой и оставьте надбавки умеренными.
Отмены и группы не должны дергать цену
Отмена меняет доступность, но не всегда меняет спрос. Если гость отменил один из двух последних номеров за месяц до заезда, резкое снижение цены не нужно. Если за 48 часов отменили группу из шести номеров в объекте на двенадцать, ситуация другая: номерной фонд снова открыт, а времени на обычный набор броней мало.
Введите защиту от частых переключений, или гистерезис. Например, цена повышается при достижении 60% загрузки, но возвращается на базовый уровень только при падении ниже 50%. Разрыв в 10 процентных пунктов не дает одной отмене гонять цену вверх и вниз возле порога. Для шести номеров лучше выразить разрыв еще и количеством: повышение после четырех проданных, снижение после двух, а при трех сохранить текущий уровень.
Групповые квоты учитывайте отдельно от подтвержденных броней. Предварительная заявка на восемь номеров не должна навсегда закрыть дешевый уровень, но игнорировать ее тоже опасно. Назначьте квоте срок подтверждения. До него система может считать часть фонда условно занятой, после него администратор либо подтверждает группу, либо освобождает номера.
Ремонт и служебные блокировки не относятся к спросу. Они уменьшают доступный фонд, но не должны автоматически доказывать, что гости разобрали номера. Храните причину закрытия. Для правила загрузки полезно различать sold, option, out_of_order и owner_block, даже если гостевой календарь показывает их одним цветом.
Овербукинг нельзя использовать как дешевый способ исправить слабый прогноз в маленьком объекте. Один переселенный гость способен занять администратора на вечер, потребовать транспорт и испортить отзывы сразу на нескольких площадках. Сначала добейтесь единого фонда номеров во всех каналах и надежной синхронизации, затем автоматизируйте цену.
Автоматизация начинается после недели теневого расчета
Не включайте автоматическую публикацию сразу после записи правил. Семь дней считайте рекомендованную цену в тени: система показывает, что изменила бы, но в каналы ничего не отправляет. Владелец раз в день сверяет предложения с календарем событий, реальной доступностью и ценой, которую назначил бы сам. Каждое несогласие получает короткую причину.
Теневая неделя быстро выявляет ошибки данных. Часто система считает закрытый на ремонт номер свободным, принимает неподтвержденную заявку за продажу, использует неверную вместимость категории или складывает поправки. Исправлять такие вещи надо в источнике данных, а не дополнительным ценовым костылем.
После проверки включите автоматическое повышение цены, а снижение на первые две недели оставьте с подтверждением владельца. Повышение при росте загрузки обычно легче ограничить потолком. Ошибочная скидка быстрее продает номер по сумме, которую уже нельзя отозвать у подтвердившего бронь гостя. Когда журнал показывает, что понижения срабатывают верно, переведите их в автоматический режим.
Журнал каждого расчета должен отвечать на пять вопросов: какая была базовая цена, какие входные данные увидела система, какое правило победило, какие границы сработали и куда отправили результат. Запись вида «цена изменена алгоритмом» бесполезна при споре. Нужна конкретика: «Стандарт, 18 августа: база 4 000; суббота +15%; загрузка 7 из 10, уровень +10% заменил недельную поправку; итог 4 400; пределы не сработали».
В Плацкарте правила ценообразования работают рядом с шахматкой, единым фондом по каналам и прямыми продажами, поэтому цене не приходится жить в отдельной таблице. Для маленького объекта это важнее еще одного умного коэффициента: правило получает актуальную доступность и отправляет одну согласованную цену во все выбранные источники.
Назначьте одного человека владельцем правил. Администраторы могут ставить обоснованные исключения, но пороги, границы и приоритеты меняет ответственный после просмотра журнала. Иначе за сезон образуется набор личных поправок, в котором никто не может воспроизвести итоговую сумму.
Хорошая схема через месяц становится скучной. Она дважды в день пересчитывает календарь, оставляет понятную запись и зовет человека только на событие, крупную отмену или сомнительный крайний номер. Если владелец по-прежнему открывает каждую дату вручную, автоматизирован не процесс, а кнопка сохранения.
Частые вопросы
Сколько ценовых уровней нужно маленькому отелю?
Для первого запуска обычно хватает четырех: нижнего, базового, повышенного и верхнего. Большее число уровней имеет смысл только тогда, когда журнал продаж показывает повторяющуюся ситуацию, которую существующая сетка не различает.
Можно ли менять цену номера несколько раз в день?
Можно, но маленькому объекту редко нужна реакция на каждую бронь и отмену. Пересчет дважды в день уменьшает скачки и дает администратору время заметить неверную доступность.
Нужно ли снижать цену в день заезда?
Только если номер действительно рискует остаться пустым и скидка не пробивает нижнюю границу. Для сильной даты, объекта у вокзала или почти заполненной категории последняя минута может требовать прежней или более высокой цены.
Как учитывать цены соседних отелей?
Сравнивайте сопоставимую категорию, итоговую стоимость и условия отмены, питания и заселения. Цена соседа полезна как сигнал, но она не знает ваших расходов, комиссии, загрузки и темпа продаж.
Что важнее: загрузка или средняя цена?
Ни один показатель не стоит смотреть отдельно. Сравнивайте загрузку, среднюю цену и RevPAR, а для управленческого решения добавляйте доход после комиссии каналов.
Надо ли давать скидку за раннее бронирование?
Скидка оправдана, если взамен объект получает невозвратные условия, длинное проживание или спрос на слабый период. Давать ее всем ранним гостям на востребованные даты обычно невыгодно.
Как часто пересматривать правила динамической цены?
В первый месяц проверяйте журнал еженедельно, но не меняйте пороги после одной неудачной даты. После калибровки достаточно сезонного пересмотра и проверки перед крупными местными событиями.
Что делать, если одна бронь сильно меняет процент загрузки?
Проверяйте пороги одновременно в процентах и в количестве номеров. Для фонда из шести комнат правило «выше 80%» фактически относится к единственному оставшемуся номеру, и это надо прямо записать.
Законно ли показывать разные цены на разные даты?
Да, тариф может зависеть от даты проживания, категории номера и заранее описанных условий. При этом одинаковым потребителям одной категории нельзя назначать разные суммы произвольно, а подтвержденную цену нельзя молча менять после бронирования.
Когда можно полностью автоматизировать снижение цены?
После теневого периода и проверки журнала на ошибочные статусы, неверные пределы и конфликтующие правила. Сначала безопаснее автоматически повышать цену, а снижение временно оставлять на подтверждении владельца.