Из-за временных ограничений на территории РФ наблюдаются проблемы с оплатой. Если платёж не проходит, оставьте запрос в службу поддержки.Служба поддержки работает 24/7 — мы всегда на связи по вопросам хостинга и серверов.Открыт прием заявок на аренду выделенных серверов и размещение оборудования в дата-центре.Напоминаем: рекомендуем включить резервное копирование для дополнительной защиты данных.Доступна новая линейка VPS/VDS с NVMe-дисками и увеличенной производительностью.Технические работы на части серверов завершены. Все сервисы работают в штатном режиме.
Статья5 мин чтенияПросмотры0

Самая низкая цена в прайсе: почему закупка у двух поставщиков бывает дороже

На учебной корзине считаем товары и две доставки, находим границу по объёму и определяем, каких условий не хватает автоматическому выбору поставщика.

Комментарии 0

Вера с планшетом для записей сравнивает две посылки: выбор поставщика с учётом всей закупки
В этой статье

Интеграция собрала прайсы поставщиков и выделила самую низкую цену в каждой строке. Кажется, осталось автоматически отправить заказы. Но если товары уедут с двух складов вместо одного, экономия в строках может исчезнуть ещё до приёмки поставки. Для магазина полезнее сравнивать стоимость исполнимой закупки целиком.

Начать стоит с простого расчёта на одной корзине. Он покажет, какие условия нужно передавать в систему выбора поставщика и где автоматическое правило пока нельзя оставлять без проверки. Ниже — учебные цены, не предложения реальных компаний.

Две дешёвые строки дают дорогую корзину

Магазину нужны по одной единице товаров X и Y. У поставщика А товар X стоит 900 рублей, Y — 1 100 рублей. Доставка всей этой закупки на склад магазина стоит 200 рублей. Итого у А: 900 + 1 100 + 200 = 2 200 рублей.

У поставщика Б товар X стоит 850 рублей, Y — 1 200 рублей, а доставка — 250 рублей. Вся закупка у Б обойдётся в 850 + 1 200 + 250 = 2 300 рублей. Если выбрать только минимальные цены строк, X закажем у Б, а Y — у А. Сумма товаров уменьшится до 1 950 рублей, но две доставки добавят 450 рублей. Итог — 2 400 рублей, на 200 дороже закупки целиком у А.

В этой модели товары полностью сопоставимы, доступны в нужном количестве и приезжают в одинаковый допустимый срок. Налоги учтены одинаковым способом, прочие расходы равны. Стоимость каждой доставки фиксирована и не меняется от распределения этих двух товаров. В реальной задаче каждое такое допущение надо подтвердить, иначе сравниваются разные условия.

Стоимость одной пары товаров с доставкой: поставщик А — 2200 рублей, Б — 2300, смешанная закупка — 2400
Учебная корзина: экономия на товарных строках не компенсирует вторую доставку.

Объём может изменить решение

Теперь закупаем несколько одинаковых пар X и Y. Предположим, что указанные цены и фиксированная доставка сохраняются при любом рассматриваемом количестве пар. Тогда закупка у А стоит 2 000 рублей за каждую пару плюс 200 рублей доставки. Разделённая закупка — 1 950 рублей за пару плюс 450 рублей за две доставки.

Разделение экономит 50 рублей на каждой паре, но добавляет 250 рублей доставки. На пяти парах варианты равны: оба стоят 10 200 рублей. На шести парах закупка у А стоит 12 200 рублей, а разделённая — 12 150 рублей. Разница всего 50 рублей. Если обработка второго заказа требует дополнительных оплачиваемых действий, их тоже надо включить в сравнение.

Это граница только нашей модели. У поставщика может быть минимальная сумма заказа, кратность упаковки, порог бесплатной доставки или другой тариф для тяжёлого груза. Тогда стоимость меняется ступенями, а найденное число пять перестаёт быть правилом. Система должна считать по действующим условиям конкретной поставки, а не хранить однажды найденный порог как универсальный.

Разница стоимости смешанной закупки и поставщика А равна 250 минус 50 рублей на каждую пару; равенство достигается на пяти парах
Порог действует только при неизменных ценах и фиксированной доставке: пять пар стоят 10 200 рублей в обоих вариантах.

Сначала сопоставимость, затем минимум

Одинаковое название ещё не означает одинаковую закупочную единицу. Цена за штуку, упаковку из десяти штук и коробку с несколькими упаковками требует приведения к согласованной единице. Важны точный вариант товара, комплектность и допустимая замена. Дешёвая строка с неподходящим вариантом не участвует в выборе наравне с нужным товаром.

Проверьте дату цены и доступность количества. Остаток в прайсе может относиться к моменту формирования файла; магазин должен понимать, когда наличие подтверждается поставщиком. Если требуется резервирование, его результат является отдельным условием. Сам факт загрузки прайса не гарантирует исполнение закупки.

Срок тоже лучше задать как ограничение. Если товар нужен к определённой дате, поставка позже неё не становится подходящей только из-за низкой цены. Нельзя сравнивать срочную подтверждённую поставку с ожиданием поступления как два одинаковых способа выполнить заказ. Сначала исключают неприемлемые варианты, затем считают стоимость оставшихся.

Что поручить интеграции

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

В ответе полезно показывать не только выбранного поставщика, но и состав суммы: товары, доставки, другие учтённые расходы. Рядом — ограничения и неизвестные условия, из-за которых решение требует подтверждения. Это позволяет менеджеру объяснить выбор и заметить устаревший тариф до отправки заказа.

Проверять правило удобно на заранее согласованных учебных корзинах: маленькой, более крупной, с недоступным товаром и с переходом через тарифный порог. Ожидаемый результат считают отдельно. Такой набор помогает принять реализацию, но не доказывает, что все будущие прайсы и ограничения обработаны правильно. В этой статье разобрана арифметика; работа конкретного модуля на стенде не проверялась.

Автоматизация выбора поставщика приносит понятный результат, когда оптимизирует исполнимую закупку с известными расходами. Если система умеет сравнивать пока только цены строк, это полезная подсказка менеджеру. Право самостоятельно размещать заказ стоит давать после того, как в расчёте появились условия, способные изменить итог.

Обсуждение 0

Делись опытом и задавай вопросы. Комментарии без ссылок появляются после проверки редактором.

Пока никто не написал. Начни обсуждение.