Налаштування автокорекції цін у 1С-Бітрікс

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

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

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1458
  • 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
    761
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    880
  • 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'], 'RUB' ); 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, ОФД і системами трекінгу конкурентів. Гарантуємо прозорість коду та повну документацію.

Бажаєте виключити ручний моніторинг і отримувати актуальні ціни автоматично? Зв'яжіться з нами — оцінимо ваш проєкт за один робочий день. Отримайте консультацію з налаштування репрайсингу для вашого каталогу.