#
Фильтры и правила мерчандайзинга
Фильтры и правила мерчандайзинга — это мощные инструменты для управления товарной выдачей в рекомендательных стратегиях. Они позволяют сужать или изменять результаты работы алгоритмов для решения конкретных бизнес-задач.
Зачем нужны фильтры и правила?
- Сузить выдачу товарных рекомендаций для большей релевантности.
- Применить бизнес-ограничения, например, не выводить товары собственных торговых марок (СТМ).
- Продвигать промо-товары, которые критически важны в ассортименте.
- Промоутировать новые товары, коллекции или бренды.
В этой статье мы подробно разберём все виды фильтров и правил, их технические особенности, порядок применения, а также дадим практические советы для бизнес-пользователей.
#
Порядок применения фильтров и правил
Чтобы понимать, как формируется финальная выдача, важно знать последовательность, в которой система применяет различные ограничения. Этот процесс состоит из нескольких этапов:
sequenceDiagram
autonumber
participant C as Клиент/Виджет
participant A as Алгоритм
participant P as Pin-правила
participant F as Фильтры
participant PF as Пост‑фильтры
participant S as Правила по слотам
participant R as Восстановление Pin
C->>A: Запрос рекомендаций
A->>A: 1) Пре‑фильтры алгоритма\n(наличие, контекст страницы)
A->>P: 2) Сбор Pin‑правил и резервирование
P-->>A: Зарезервированные SKU/слоты
A->>F: 3) Предустановленные фильтры
F->>F: Include/Exclude для всех слотов
F->>F: Дедупликация по group_id
F->>PF: 4) Пост‑фильтры алгоритма
PF->>S: 5) Include/Exclude для отдельных слотов
S->>R: 6) Восстановление Pin
R-->>C: Финальная выдачаПре-фильтры алгоритма На этом этапе применяются базовые фильтры, встроенные в сам алгоритм. Как правило, это:
- Исключение товаров не в наличии: Убирает товары, у которых в фиде
in_stock: false. - Исключение товаров из контекста страницы:
- На странице товара — исключает текущий просматриваемый товар.
- На странице корзины — исключает все товары, которые уже находятся в корзине.Эти фильтры работают до основного запроса к базе данных.
- Исключение товаров не в наличии: Убирает товары, у которых в фиде
Сбор
Pin-правил Система анализирует выдачу основного алгоритма и "резервирует" товары, которые соответствуют правиламPinдля конкретных слотов. Эти товары временно убираются из общего пула, чтобы не быть занятыми другими правилами.Основные фильтры На этом этапе к результатам работы алгоритма применяются все остальные фильтры в следующем порядке:
- Предустановленные фильтры (например,
Exclude recently viewed items). - Пользовательские правила
Include/Exclude, которые применяются ко всем слотам. - Дедупликация по
group_id: Оставляет в выдаче только один товар из каждой товарной группы.
- Предустановленные фильтры (например,
Пост-фильтры алгоритма Это дополнительные фильтры, специфичные для некоторых алгоритмов, которые применяются после основной фильтрации.
Пост-правила для слотов Применяются пользовательские правила
Include/Exclude, настроенные для конкретных слотов. Эти правила могут изменять состав выдачи уже после всех предыдущих шагов.Восстановление
Pin-правил На финальном этапе система расставляет зарезервированныеPin-товары на их указанные позиции, сдвигая или заменяя другие товары в выдаче. ПравилаPinимеют наивысший приоритет.
#
Типы фильтров и правил
#
Предустановленные фильтры
Это готовые фильтры, которые можно включить в настройках стратегии для быстрой фильтрации на основе поведения пользователя или контекста страницы. Ниже приведено подробное описание каждого из них.
#
Exclude recently viewed/purchased items
Исключить недавно просмотренные/купленные товары
Назначение: Предотвратить повторный показ товаров, с которыми пользователь недавно взаимодействовал, чтобы сделать рекомендации более разнообразными.
Логика работы:
- Источник данных: Фильтр использует профиль пользователя, а именно списки (recently viewed) и (recently purchased).
- Механизм: Система получает
group_idтоваров из профиля пользователя и исключает из рекомендательной выдачи все товары с этимиgroup_id. Использованиеgroup_idвместоskuпозволяет исключить все варианты одного товара (например, разные размеры или цвета). - Ограничения:
Exclude recently viewed items: учитывает до 25 последних просмотренных товаров.Exclude recently purchased items: учитывает до 100 последних купленных товаров.
Логика ослабления: Для этого фильтра логика ослабления отсутствует.
Когда использовать:
- В большинстве рекомендательных стратегий, чтобы не показывать пользователю то, что он уже видел или купил.
- Особенно полезно на главной странице и в категориях, где важно предлагать новый ассортимент.
#
Only include items that match the viewed item category
Включить только товары, соответствующие категории просматриваемого товара/страницы
Назначение: Ограничить рекомендации товарами из той же категории, что и текущий просматриваемый товар (на странице товара) или текущая категория (на странице категории). Это помогает предлагать релевантные альтернативы или сопутствующие товары в рамках одного контекста.
Логика работы:
- Источник данных: Контекст страницы (
page context).- На странице товара: используется полная иерархия категорий товара (например,
Одежда > Мужская > Брюки). - На странице категории: используется иерархия текущей категории.
- На странице товара: используется полная иерархия категорий товара (например,
- Механизм: Фильтр применяет строгое соответствие по полному пути категории.
Логика ослабления (Relaxation Logic): Этот фильтр имеет мощный механизм ослабления, который активируется, если по строгому правилу найдено недостаточно товаров. Ослабление происходит поэтапно:
Попытка 1 (Строгое соответствие): Система ищет товары, полностью совпадающие по пути категории. Пример:
Одежда > Мужская > Брюки.Попытка 2 (Ослабление): Если товаров недостаточно, фильтр "отрезает" последнюю категорию в иерархии и повторяет поиск. Пример:
Одежда > Мужская.Попытка 3 и далее: Процесс повторяется до тех пор, пока не будет найдено достаточное количество товаров или пока не останется только категория верхнего уровня. Пример:
Одежда.
Если даже на верхнем уровне товаров не хватает, система переходит к fallback-алгоритму, но уже с ослабленным фильтром.
Когда использовать:
- На странице товара для алгоритмов "Похожие товары" (
Similarity) или "Просматриваемые вместе" (Viewed Together), чтобы держать рекомендации в рамках той же категории. - На странице категории для алгоритма "Популярное", чтобы показывать хиты продаж именно этой категории.
#
Only include/Exclude items that match the viewed item properties
Включить/Исключить товары, соответствующие свойствам просматриваемого товара
Назначение: Фильтровать рекомендации на основе определённых атрибутов (свойств) товара, который пользователь просматривает в данный момент. Например, показывать товары только того же бренда или, наоборот, исключать товары того же цвета.
Логика работы:
- Источник данных: Контекст страницы (
page context), а именно — просматриваемый товар и его атрибуты из фида (например,brand,color,season). - Настройка: В настройках фильтра вы указываете список свойств, по которым должно происходить совпадение (например,
[brand, color]). - Механизм:
Include: в выдачу попадут только товары, у которых значения всех указанных свойств совпадают со значениями текущего товара.Exclude: из выдачи будут убраны все товары, у которых значения всех указанных свойств совпадают.
Логика ослабления (Relaxation Logic):
При включенной опции Enable relaxation (доступно для Include):
Попытка 1 (Строгое соответствие): Система ищет товары, совпадающие по всем указанным свойствам. Пример:
brand=NikeИcolor=black.Попытка 2 (Ослабление): Если товаров недостаточно, фильтр убирает последнее свойство из списка и повторяет поиск. Пример:
brand=Nike.Порядок важен: Свойства в списке ослабляются с конца. Первое свойство в списке считается самым важным и не убирается. Поэтому на первое место ставьте ключевой атрибут (например,
brand).
Когда использовать:
Include: Для создания подборок "Другие товары этого бренда" или "Все товары этого цвета".Exclude: Чтобы разнообразить выдачу, исключив слишком похожие товары (например, убрать тот же бренд и цвет).
#
Only include items that match search query
Включить только товары, соответствующие поисковому запросу
Назначение:
На странице результатов поиска (SEARCH) ограничить рекомендации только теми товарами, которые соответствуют поисковому запросу пользователя.
Логика работы:
- Источник данных: Контекст страницы (
page context), а именно — поисковый запрос пользователя. - Настройка: В настройках фильтра указывается поле товара из фида, по которому будет производиться поиск (например,
nameилиkeywords). - Механизм: Фильтр применяет поиск на основе поискового запроса к указанному полю товара. Это позволяет находить не только точные, но и частичные совпадения.
Логика ослабления: Для этого фильтра логика ослабления отсутствует.
Когда использовать:
- Обязательно для всех стратегий, работающих на странице поиска, чтобы рекомендации были релевантны запросу пользователя.
#
Пользовательские правила (Мерчандайзинг)
Пользовательские правила (CustomRules) дают полный контроль над выдачей, позволяя настраивать логику по любым полям из продуктового фида.
Типы правил:
Include: Включить в выдачу только товары, соответствующие условию.Exclude: Исключить из выдачи товары, соответствующие условию.Pin: Закрепить конкретный товар (SKU) или группу товаров на определённой позиции (слоте).
#
Логика операторов AND/OR
- Между разными правилами всегда действует логика
AND. Товар должен удовлетворять всем заданным правилам. - Внутри одного правила (при добавлении нескольких условий) можно выбрать логику
OR. Товар должен удовлетворять хотя бы одному из условий.
Частая ошибка
При настройке правил для нескольких категорий (например, "кроссовки" и "кеды") не используйте оператор AND. Это будет означать, что товар должен принадлежать одновременно к обеим категориям, что чаще всего невозможно. Используйте OR.
#
Закрепление товаров (Pin)
Правила Pin (CustomPinRules) имеют наивысший приоритет и позволяют "прибить" конкретный SKU к определённому слоту.
Особенности работы:
- Алгоритм для слота с
Pinне выполняется. - Если в
Pinуказано несколько SKU, система попытается найти один из них в результатах работы алгоритма (до примененияPin). Если ни один не найден, для выбора наиболее релевантного используется Affinity-профиль пользователя. - Если закреплённый товар не в наличии, слот останется пустым.
#
Динамические фильтры (realtimeRules)
Динамические фильтры позволяют адаптировать выдачу в реальном времени на основе данных, доступных только в текущей сессии. Они передаются в choose-запросе и на лету преобразуются в CustomRules.
Примеры использования:
- Показывать товары дороже или дешевле просматриваемого.
- Фильтровать выдачу по бренду, который пользователь выбрал в фильтрах на странице категории.
Пример JSON для realtimeRules:
"selector": {
"args": {
"recs campaign": {
"realtimeRules": [
{
"type": "include",
"query": {
"conditions": [
{
"field": "price",
"arguments": [
{ "action": "more_or_equal", "value": ["1000"] }
]
}
]
}
}
]
}
}
}
#
Shuffle (перемешивание товаров)
Опция Shuffle позволяет показывать пользователям случайный порядок товаров из тех, что подобрал алгоритм.
Как это работает:
- Система запрашивает у алгоритма в 4 раза больше товаров, чем требуется для виджета.
- Из этого расширенного списка случайным образом выбирается необходимое количество товаров для показа.
- Товары, закрепленные правилом
Pin, не перемешиваются. - Перемешивание применяется после всех фильтров, но до применения правил
Pin.
#
Советы и лучшие практики
#
Особенности работы с фильтрами
Ограничение на количество. Можно применять до 3 фильтров на одну стратегию.
Проверьте, не делает ли алгоритм это уже. Убедитесь, что алгоритм не учитывает желаемые фильтры по умолчанию.
Пример: Алгоритм Similarity (Похожие товары) уже анализирует поля фида:
categories,keywords,price,name. Для него не требуется дополнительно применять фильтры соответствия по категории, ключевым словам, цене или названию.Не используйте фильтр "только в наличии". Большинство рекомендательных алгоритмов по умолчанию выводят только товары в наличии.
Исключение: Алгоритмы
Recently Purchased,Purchased with Recently Purchased,Last Purchaseмогут возвращать товары не в наличии. Для них используйте пользовательское правило, а не фильтр.Избегайте противоречивых или избыточных фильтров. Убедитесь, что два фильтра не противоречат друг другу.
Примеры:
- Если в стратегии
Similarityвы используете фильтр "соответствие по категории", то фильтр "соответствие по полу" избыточен, так как категория часто уже содержит указание на пол ("женская обувь", "детские матрасы"). - Аналогично, если категория содержит бренд ("Apple iPhone"), отдельный фильтр "соответствие бренду" не нужен.
- Если в стратегии
Проверьте на конфликт с Пользовательскими правилами (Custom Rules).
Пример: Если на карточке товара бренда "Пушистые хвостики" вы ставите фильтр "соответствие по бренду", а в правилах добавляете "исключить бренд 'Пушистые хвостики'", то рекомендации не отобразятся.
Исключайте недавно купленные товары, если повторные покупки нетипичны. Например, если пользователь купил мангал или квартиру, вряд ли он скоро купит еще один такой же товар.

НЕ исключайте недавно купленные товары, если повторные покупки часты. Например, в продуктах питания, цветочном бизнесе или кормах для животных. Если пользователь купил кефир, он может купить его снова.
Используйте фильтр Shuffle (Перемешивать товары) с осторожностью. При перемешивании в начало выдачи могут попасть менее релевантные товары. Это может снизить вашу прямую выручку (Direct Revenue) и ухудшить пользовательский опыт.
При смене алгоритма фильтры сбрасываются. Если вы меняете алгоритм в существующей стратегии, ранее настроенные фильтры пропадут. Вам потребуется задать их заново вручную.
#
Особенности работы с правилами мерчандайзинга
Ограничение на количество. Можно применять до 30 правил на одну стратегию.
Для "исторических" алгоритмов всегда включайте товары в наличии. Для стратегий
Recently Purchased,Purchased with Recently Purchased,Last Purchaseобязательно задавайте правило "включить товары в наличии" для всех слотов. По умолчанию эти алгоритмы могут отдавать все товары, включая те, которых нет на складе.
Убедитесь, что правила и фильтры не противоречат друг другу. Например, не стоит в фильтре указывать "включить категорию X", а в правиле — "исключить категорию X".
Не создавайте избыточных правил, чтобы не сократить товарную выдачу до минимума.
Можно комбинировать
IncludeиExcludeв одной стратегии. Например, включить во всех слотах кефир, но при этом исключить СТМ-кефир.Принцип работы операторов одинаков для всех и отдельных слотов. Например, если вы исключаете товары с оператором "ИЛИ" для всех слотов, тот же оператор "ИЛИ" используется для исключения в нескольких конкретных слотах.
Правило
Pin(Закрепить) — очень жесткое. Оно позволяет вывести конкретный товар (по SKU) в определённом слоте.Pinможно применить только к отдельным слотам, а не ко всей выдаче.Будьте аккуратны с
Pin. Если закрепленный товар закончится на складе, он просто исчезнет из выдачи, и слот может остаться пустым.Правило
Only Include(Включить) — гибкое. Оно позволяет включать товары по категориям, брендам, сезонам и другим атрибутам. Его можно применять как ко всем слотам, так и к отдельным.
#
Практические примеры и частые ошибки
#
Как правильно настроить включение товаров по нескольким правилам?
Допустим, вам необходимо включить товары, соответствующие всем следующим признакам:
- Товары из категории "кроссовки" ИЛИ "кеды".
- Товары со скидками.
- Товары из летнего сезона.
Для этого необходимо создать три отдельных правила Include с логикой AND между ними.
Обратите внимание, что выше речь идет об использовании разных правил. Если нужно включить несколько категорий в одном правиле, смотрите
этот пункт .
#
Как правильно настроить включение и исключение товаров по нескольким правилам?
Допустим, вам необходимо:
- Включить товары из категории "кроссовки" ИЛИ "кеды".
- Исключить товары со скидками.
- Включить товары из летнего сезона.
Для этого необходимо использовать комбинацию правил Include и Exclude.
Если речь идет об исключении нескольких категорий в одном правиле, смотрите
этот пункт .
#
Как правильно настроить исключение товаров из нескольких категорий?
Исключить товары из нескольких категорий можно двумя способами:
Указав каждую категорию как отдельное правило
Exclude. В списке правил каждая категория появится в отдельной строке.
Указав категории в одном правиле через оператор "ИЛИ" (
OR).

#
Частая ошибка при исключении нескольких категорий
Нельзя применять оператор "И" (AND) для исключения нескольких категорий в одном правиле. Такое условие будет означать "исключить товар, который одновременно находится в категории А И в категории Б", что практически невозможно. В результате правило не будет работать.
#
Как правильно настроить включение нескольких категорий?
Включить товары из нескольких категорий можно, указав их в одном правиле Include через оператор "ИЛИ" (OR). Это будет означать "показать товары из категории А ИЛИ из категории Б".
#
Частая ошибка при включении нескольких категорий
Нельзя применять оператор "И" (AND) для включения нескольких категорий в одном правиле. Это будет означать "показать товар, который одновременно находится в категории А И в категории Б", что невозможно. Рекомендации не отобразятся.
#
Как проверить качество выдачи? Тестирование правил и фильтров
Перед запуском товарных рекомендаций на вашем сайте или в приложении обязательно проведите тестирование стратегий.
Создайте базовую стратегию. Используйте только алгоритм и самые критичные фильтры (например, "исключить купленные товары").

Оцените превью. Посмотрите превью стратегии на разных товарах. Оцените, соответствует ли выдача вашим ожиданиям.
Добавьте фильтры. Создайте копию стратегии и добавьте в нее желаемые фильтры. Снова посмотрите превью. Стала ли выдача точнее? Если нет, измените или удалите фильтры.
Добавьте правила. Создайте копию стратегии из пункта 3 и добавьте в нее пользовательские правила. Оцените превью. Стала ли выдача еще точнее? Если нет, скорректируйте правила.
Опубликуйте лучшую стратегию на вашем сайте или в приложении.
Запустите А/Б тест. Вы также можете запустить А/Б тест двух стратегий, например, с правилами и без, чтобы наглядно оценить их эффективность.