Сортировка по цене должна честно обращаться с объектами без цены
Как сортировать каталог, если часть объектов имеет подтверждённую цену, а часть — только состояние «по запросу», не превращая неизвестное значение в самое дешёвое или самое дорогое.
Материал отражает практическую позицию указанного эксперта. Как готовятся и проверяются публикации — в редакционной политике NovAsia.
Сортировка кажется нейтральной функцией: есть числа, пользователь выбирает «сначала дешевле», система расставляет карточки. Но каталог недвижимости почти никогда не состоит только из полностью сопоставимых чисел. У части объектов цена подтверждена, у части указано «по запросу», у части известна цена проекта «от», но нет суммы для выбранной квартиры. Как только эти состояния попадают в один список, сортировка превращается в продуктовый выбор.
Самая грубая ошибка — представить отсутствие цены как ноль. Тогда объект без подтверждённой суммы становится формально самым дешёвым. Покупатель нажимает «по возрастанию» и получает наверху предложения, о бюджете которых система ничего не знает. Это выглядит как техническая сортировка, но фактически сервис сделал коммерческое предположение без данных.
«Без цены» не находится ни ниже, ни выше подтверждённой суммы
Если сумма неизвестна, мы не можем честно сказать, что объект дешевле квартиры за три миллиона или дороже квартиры за тридцать миллионов. У неизвестного значения нет места на числовой оси. Поэтому его позиция в интерфейсе должна объясняться отдельным правилом, а не маскироваться под арифметику.
Один разумный вариант — сначала сортировать все объекты с подтверждённой ценой, а предложения без цены показывать отдельной группой. Другой — оставить их в исходном порядке, но визуально отделить от числового результата. В некоторых задачах пользователь может захотеть вообще скрыть такие предложения. Важно не выбрать единственную «правильную» схему для всех сайтов, а сделать выбранную логику понятной и устойчивой.
Если объект без цены просто оказывается последним, это тоже не означает, что он самый дорогой. Интерфейс не должен подталкивать к такому выводу. Хорошая подпись объясняет, что позиция связана с отсутствием подтверждённого значения, а не с размером суммы.
Фильтр по бюджету и сортировка решают разные задачи
Особенно легко спутать эти функции. Сортировка отвечает: в каком порядке показать известные значения. Фильтр «до 5 млн» отвечает более сильным утверждением: какие объекты соответствуют пределу бюджета. Если цена неизвестна, система не может доказать соответствие такому фильтру.
Это не обязательно значит, что объект нужно навсегда исключить. Можно дать пользователю отдельную опцию «показывать также объекты без подтверждённой цены». Тогда человек понимает, что часть результатов ещё требует уточнения. Но автоматически включать их как подходящие по бюджету — значит выдать отсутствие данных за положительный ответ.
Обратная ситуация тоже важна. Если пользователь ищет дорогой сегмент, объект «по запросу» не становится премиальным только потому, что цена скрыта. Неизвестность нельзя превращать в статус.
Цена проекта «от» не заменяет цену конкретного предложения
В каталогах часто встречается ещё одно промежуточное состояние: известна стартовая цена проекта, но не подтверждена сумма той квартиры, которую человек открыл. Число здесь есть, но оно отвечает на другой вопрос.
Если сортировка использует «от» как цену каждой карточки, пользователь может решить, что конкретное предложение доступно за эту сумму. Если же карточка прямо представляет проект, а не отдельную квартиру, стартовое значение может быть допустимым показателем при ясной подписи. Ключевой момент — не смешивать разные уровни объекта.
Технически всё это снова упирается в тип данных. Поле должно сообщать не только число, но и его смысл: конкретная подтверждённая цена, стартовая цена проекта, историческое значение, ориентир или отсутствие текущего подтверждения. Иначе алгоритм сортирует числа, которые внешне похожи, но семантически несовместимы.
Порядок должен переживать обновление цены без сюрпризов
Представим, что объект без цены находился в отдельной группе, а затем команда получила подтверждённую сумму. После обновления он должен занять место среди сопоставимых предложений. Пользователь может заметить, что карточка переместилась, и это нормальное следствие появления нового факта.
Ненормально другое: когда карточка прыгает в начало списка потому, что пустое поле временно стало нулём, затем исчезает вниз после исправления и снова меняет позицию при следующем импорте. Такое поведение создаёт ощущение нестабильного рынка, хотя на самом деле нестабильна обработка данных.
Поэтому сортировку полезно тестировать не только на красивом наборе цен. Нужны состояния «цена есть», «цены нет», «цена изменилась», «значение временно не подтверждается». Для пользователя это обычная реальность каталога, а не крайний технический случай.
Честная сортировка помогает понять предел знания сервиса
В живом каталоге NovAsia уже встречаются проекты с состоянием «цена по запросу» или без указанного ценового диапазона. Само наличие такого состояния нормально: лучше не придумывать сумму. Следующий шаг — не позволить интерфейсу превратить это честное отсутствие данных в ложное числовое преимущество.
Для меня хороший результат выглядит так: подтверждённые цены действительно сортируются как числа; неподтверждённые значения не притворяются нулём; пользователь видит, почему часть карточек находится вне числового порядка; фильтр бюджета не обещает соответствие без данных. При появлении подтверждённой цены объект естественно входит в числовую сортировку.
Сортировка — маленькая функция, но она влияет на первый экран каталога и поэтому незаметно формирует представление о рынке. Если данные неполны, честность важнее иллюзии идеального порядка. Сервис может не знать цену. Он не должен делать вид, что знает её место среди других цен.
Источники
- NovAsia — каталог проектов Таиланда: на дату обращения в каталоге присутствуют объекты с состояниями цены «по запросу» / без указанного ценового диапазона; это подтверждает практическую необходимость корректно обрабатывать отсутствие цены. Дата обращения: 6 октября 2026 года.
- NovAsia — профиль Александра Ельшина: описывает техническую ответственность за каталог, данные, формы, пользовательское состояние и согласованность отображения. Дата обращения: 6 октября 2026 года.