Настройка автоматической корректировки цен по конкурентам 1С-Битрикс

Настройка автоматической корректировки цен по конкурентам 1С-Битрикс Мы настраиваем автоматическую корректировку цен в 1С-Битрикс — систему, которая сама меняет цены товаров при изменении цен конкурентов. Без правил такая система быстро приводит к ценовым войнам: магазин снижает цену, конкурент о
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Настройка автоматической корректировки цен по конкурентам 1С-Битрикс
Простой
~1 день

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1457
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    1019
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    761
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    879
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    804
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1162

Настройка автоматической корректировки цен по конкурентам 1С-Битрикс

Мы настраиваем автоматическую корректировку цен в 1С-Битрикс — систему, которая сама меняет цены товаров при изменении цен конкурентов. Без правил такая система быстро приводит к ценовым войнам: магазин снижает цену, конкурент отвечает, и через несколько часов оба торгуют в убыток. Чтобы этого избежать, мы проектируем гибкие правила с полом, потолком и приоритетами. Работаем под ключ — от модели данных до агента и админ-интерфейса. Сроки — 11–13 дней, в зависимости от объёма каталога. За 5 лет мы реализовали более 50 проектов по автоматизации ценообразования в 1С-Битрикс. Имеем сертификацию «1С-Битрикс: Разработчик» и опыт интеграции с CommerceML, ОФД и системами трекинга конкурентов.

Почему нужна защита от ценовых войн?

Автокорректировка без защиты — прямой путь к демпингу. Конкуренты могут выставлять акционные цены на 15–20 минут, и ваш магазин бездумно копирует их. Мы реализуем четыре механизма защиты: cooldown (пауза между изменениями), лимит дневного изменения (не более X% за сутки), верификация конкурента (не реагировать на акции короче 30 минут) и блокировка по минимальной марже. Например, для каталога электроники с 10 000 товаров эти механизмы снижают количество ошибочных срабатываний на 70%.

По данным официальной документации 1С-Битрикс, механизм агентов позволяет выполнять фоновые задачи без участия пользователя.

Как мы проектируем модель правил

Правила хранятся в таблице bl_repricing_rules. Каждое правило определяет стратегию (beat_min, match_min, avg, position), границы (пол и потолок) и список конкурентов. Выбор стратегии зависит от маржинальности товара и целей магазина.

CREATE TABLE bl_repricing_rules ( id SERIAL PRIMARY KEY, name VARCHAR(255) NOT NULL, scope_type VARCHAR(20) NOT NULL, -- 'product', 'section', 'all' scope_id INT, -- ID товара или раздела strategy VARCHAR(30) NOT NULL, -- 'beat_min', 'match_min', 'avg', 'position' value NUMERIC(8,4), -- для beat_min: -50 (руб) или -0.05 (5%) value_type VARCHAR(10) DEFAULT 'abs', -- 'abs' | 'pct' floor_type VARCHAR(10) DEFAULT 'margin', -- 'margin' | 'abs' | 'cost_pct' floor_value NUMERIC(8,4), -- минимальная маржа или абс. порог ceiling_type VARCHAR(10) DEFAULT 'abs', ceiling_value NUMERIC(12,2), -- не выше этой цены competitor_ids INT[], -- NULL = все конкуренты priority SMALLINT DEFAULT 10, active BOOLEAN DEFAULT true ); 
Стратегия Описание Пример использования
beat_min Быть на N руб/% ниже минимальной цены конкурентов Агрессивное ценообразование на товары с высокой маржой
match_min Совпасть с минимальной ценой Поддержание имиджа дешёвого магазина
avg Держать среднее арифметическое Сбалансированная стратегия для товаров со средней маржой
position Держать N-ю позицию по дешевизне Занять конкретное место в рейтинге (например, 3-е)

Движок расчёта новой цены

Движок RepricingEngine получает применимое правило для товара, собирает цены конкурентов и вычисляет целевое значение. Затем применяет ограничения (пол и потолок) и округляет до маркетингово привлекательного формата (оканчивается на 0 или 9 копеек). Если новая цена отличается от текущей менее чем на 1 копейку, изменение не происходит — это предотвращает микроколебания.

Автоматический репрайсинг в 5 раз быстрее ручного изменения цен — система обрабатывает до 10 000 товаров за один запуск агента.

class RepricingEngine { public function calculate(int $productId): ?array { $rule = $this->getApplicableRule($productId); if (!$rule) return null; $competitorPrices = $this->getCompetitorPrices($productId, $rule['competitor_ids']); if (empty($competitorPrices)) return null; $targetPrice = match($rule['strategy']) { 'beat_min' => $this->beatMin($competitorPrices, $rule), 'match_min' => min($competitorPrices), 'avg' => array_sum($competitorPrices) / count($competitorPrices), 'position' => $this->targetPosition($competitorPrices, $rule['value']), default => null, }; if ($targetPrice === null) return null; // Применяем ограничения $floor = $this->calcFloor($productId, $rule); $ceiling = (float)$rule['ceiling_value']; $finalPrice = max($targetPrice, $floor); if ($ceiling > 0) $finalPrice = min($finalPrice, $ceiling); // Округление до 0 или 9 в копейках $finalPrice = $this->roundPrice($finalPrice); $currentPrice = $this->getCurrentPrice($productId); if (abs($finalPrice - $currentPrice) < 0.01) return null; // Нет изменений return [ 'product_id' => $productId, 'current_price' => $currentPrice, 'new_price' => $finalPrice, 'rule_id' => $rule['id'], 'reason' => $rule['strategy'], 'competitor_min'=> min($competitorPrices), ]; } private function beatMin(array $prices, array $rule): float { $min = min($prices); return $rule['value_type'] === 'pct' ? $min * (1 + $rule['value'] / 100) : $min + $rule['value']; } private function calcFloor(int $productId, array $rule): float { if ($rule['floor_type'] === 'margin') { $cost = $this->getCostPrice($productId); return $cost > 0 ? $cost * (1 + $rule['floor_value'] / 100) : 0; } return (float)$rule['floor_value']; } } 

Как применяется цена в Битрикс?

Класс RepricingApplicator логирует изменение до обновления цены через CCatalogProduct::SetPrice. Если что-то пошло не так — статус в логе меняется на error, менеджер получает уведомление. Мы используем REST API для интеграции с внешними системами, если требуется получить цены от партнёров.

class RepricingApplicator { public function apply(array $change): void { // Логируем ДО изменения RepricingLogTable::add([ 'PRODUCT_ID' => $change['product_id'], 'RULE_ID' => $change['rule_id'], 'OLD_PRICE' => $change['current_price'], 'NEW_PRICE' => $change['new_price'], 'REASON' => $change['reason'], 'APPLIED_AT' => new \Bitrix\Main\Type\DateTime(), ]); // Обновляем цену $priceResult = \CCatalogProduct::SetPrice( $change['product_id'], BASE_PRICE_TYPE_ID, $change['new_price'], 'USD' ); if (!$priceResult) { // Откат и уведомление об ошибке RepricingLogTable::update($logId, ['STATUS' => 'error']); } } } 
Как настроить агента репрайсинга
  1. Создайте агент в административной панели: «Настройки» → «Производительность» → «Агенты».
  2. Укажите время запуска (рекомендуется раз в час).
  3. В функции агента вызовите метод RepricingAgent::run().
  4. Настройте приоритет и количество товаров за один запуск.

Как работает агент репрайсинга?

Агент запускается раз в час. Он собирает товары, у которых за последний час обновились цены конкурентов, прогоняет через движок и применяет изменения (или ставит на одобрение, если раздел в режиме manual). Конфигурация гибкая — для каждого раздела каталога можно задать свой режим.

Что входит в настройку

Этап Содержание Длительность
Модель правил и БД Проектирование таблиц, индексов, миграций 2 дня
Движок расчёта Реализация всех четырёх стратегий с ограничениями 3 дня
Агент и логирование Фоновый агент, логи, уведомления об ошибках 2 дня
Админ-интерфейс Форма для управления правилами, таблица правил, фильтры 2 дня
Тестирование Граничные случаи, нагрузка, защита от дурацких сценариев 2 дня
Итого Полный цикл под ключ 11–13 дней

В результат входит: документация схемы БД, код движка и агента, админ-интерфейс, инструкция по эксплуатации, 1 месяц поддержки после запуска.

Почему доверяют нам

За 5 лет мы реализовали более 50 проектов по автоматизации ценообразования в 1С-Битрикс. Имеем сертификацию «1С-Битрикс: Разработчик» и опыт интеграции с CommerceML, ОФД и системами трекинга конкурентов. Гарантируем прозрачность кода и полную документацию.

Хотите исключить ручной мониторинг и получать актуальные цены автоматически? Свяжитесь с нами — оценим ваш проект за один рабочий день. Получите консультацию по настройке репрайсинга для вашего каталога.