Автоматизация многономенклатурных закупок без фиксирования периода между поставками
Валерий Разгуляев
Хватит ли одного пальца, чтобы пересчитать все модели автоматизированных закупок для многономенклатурных поставок? – Теперь, нет!
Исходная предпосылка.
Большинство компаний, которые осуществляют многономенклатурные поставки продукции и пытаются автоматизировать свои закупки, сталкиваются с отсутствием выбора моделей для этого. После упорных поисков по дебрям Интернета они обнаруживают, что есть только одна такая модель, правда, предлагаемая в разных вариациях – это модель с фиксированным периодом между поставками.
В многочисленных диссертациях, статьях и научных трудах, посвящённых изучению и выводу этой модели, обычно очень мало говорится о том, почему была выбрана именно она. Большинство авторов старается, вообще, не затрагивать эту тему, те же, кто упоминает об этом, обычно сообщают читателям, что эта модель лучше всех подходит для автоматизации многономенклатурных поставок, без каких-либо объяснений этого вывода или ссылок на другие материалы.
И совсем редко приводятся некие данные математического моделирования, где с некоторым отрывом лидирует, действительно, модель с фиксированным периодом между поставками. Правда, методики проведения этого моделирования и условия (данные, на которых оно проводилось) – не приводятся, дабы не искушать читателя найти в них ошибку, или заведомую неоптимальность альтернативных моделей.
При этом на практике мы можем встретить ситуации, когда закупщики при осуществлении многономенклатурных поставок используют в своей работе алгоритмы, отличные от этой модели. Эти алгоритмы – не автоматизированы и не оптимизированы, зачастую даже не систематизированы: «Это заказываем так-то, а это – так-то,» – а, почему не наоборот, уже не скажут, но при этом работа осуществляется, и осуществляется нелохо…
Так кто же из них прав: теоретики или практики?
Как обычно, истина – где-то посередине, и по-своему правы и не правы – и те, и другие.
Практик-закупщик отвечает за результаты своей работы: привёз мало – дефицит, привёз много – неликвид, а начальника не порадует любой из этих вариантов – вот и выкручивайся, как хочешь. Они и выкручиваются – стараются возить почаще: тогда можно привозить сразу немного, а по мере продажи подвозить ещё. Однако, ясно, что такая практика выливается в дополнительные транспортные расходы – правда, это уже епархия транспортного отдела, а он не может заставить закупщика ездить за одним и тем же реже, да и не всегда перед транспортом стоит такая задача – обычно, их основная цель – это бесперебойное выполнение заявок на перевозку…
Что же на это скажут теоретики? Они затраты на транспорт учитывают обязательно! Более того, подбирают такие параметры модели с фиксированным периодом между поставками, чтобы эти затраты в совокупности со всеми остальными затратами были заведомо минимальными!.. Только не объясняют, почему используют именно эту модель, и не будет ли другая менее затратной… В чём же причина такой узкой направленности, – вроде бы очень умные люди, должны руководствоваться научным подходом: «прежде чем отбраковывать модель – сравни её эффективность с текущей»? – Да, просто, модель с фиксированным периодом между поставками – самая лёгкая, самая изученная и самая разработанная!.. Вот и ищут там, «где светло», а не там, «где потеряли», тем более сама модель, действительно, – очень хорошая, а не редко – и самая лучшая. Но, к сожалению, не всегда, а, значит, надо считать, сравнивать и выявлять те условия, в которых она будет давать лучший результат, и границы, за которыми надо использовать уже другие модели, а не, просто, в любой ситуации искать оптимальные параметры не обязательно оптимальной модели.
На практике я столкнулся с ситуацией, когда математическое моделирование модели многономенклатурных закупок с фиксированием периода между поставками выявило, что даже при самых оптимальных параметрах она даёт результат хуже, чем реально достигнутый практиками-закупщиками, работа которых не была ни автоматизирована, ни оптимизирована. Снижение результативности заключалось в том, что при использовании на том же спросе автоматизированной системы с фиксированным периодом между поставками даже с оптимальными параметрами: и дефицит, и затраты на транспорт, и средний запас – оказывались выше достигнутых на практике. Эта ситуация, стала причиной поиска, а затем создания альтернативной модели, которая давала бы лучший результат, чем до её использования, которую можно было бы автоматизировать, и параметры которой можно было бы оптимизировать.
Постановка задачи.
Есть поставщик, который поставляет нам много позиций: часть из них пользуется регулярным спросом, и соответственно мы их держим у себя на складе, а другие позиции этого же поставщика у нас покупают крайне редко (вплоть до единичных случаев за всё историю продаж), и, соответственно, мы их возим под заказ клиента. Сроки производства позиций до момента, когда поставщик сможет их отгрузить – разные и сильно варьирующиеся: от нескольких дней до месяца (определяется технологией производства и необходимостью закупки поставщиком нестандартных компонентов).
По каждой позиции регулярного спроса политически выставлен необходимый уровень удовлетворения спроса остатками на складе: от 90% до 99% (это главное конкурентное преимущество компании, поэтому при использовании любой из систем закупок это условие должно выполняться). При этом сам их спрос имеет большую вариацию даже на месячных периодах после очистки от тренда и сезонности имеет 50-200% белого шума. Из-за этого, а также в связи с тем, что оборотные деньги для компании – достаточно дорогие, а плечо доставки от поставщиков – достаточно короткое, лучше лишних страховых запасов на складе не держать, а подвоз осуществлять не через равные точки времени, а по достижении точки заказа по одной или нескольким позициям.
В связи с этим была поставлена задача – получить автоматизированную модель расчёта точки и оптимальной величины заказа по каждой позиции регулярного спроса в системе многономенклатурных поставок с регулярными (не значит равномерными или прогнозируемыми) поставками заказных позиций, чтобы минимизировать суммарные затраты на их хранение и доставку. Кроме этого должна осуществляться экономия на транспорте за счёт одновременной поставки заказных поставок под запрос клиента и пополнения складских запасов – в случае, если мы везём в одной машине продукцию и под заказ клиента, и себе на склад, считается, что на склад мы везём её бесплатно, так как клиент оплачивает доставку заказных позиций в полном объёме, а в машине всегда остаётся место.
Решение.
Все формулы в этой статье рассчитываются – отдельно по позициям; формулы, где переменные агрегируются – в сумме по каждому поставщику. Все сроки считаются в рабочих днях. Для экономии места и сохранения нити повествования, используемые формулы не выводятся.
Нахождение критического максимума, больше которого хранить на складе не рентабельно.
Для любой позиции на складе, вне зависимости от используемой вами модели закупок, есть определённое количество, выше которого вы храните остатки по этой позиции себе в убыток, даже, если они продаются в больших объёмах и с хорошей наценкой. Это обусловлено тем, что любые запасы требуют обслуживания, и даже если у вас свой склад, и вы не испытываете нужды в свободном месте, то денег не хватает всем и всегда, а вы их заморозили в эти запасы. Конечно, некоторую долю этих затрат несёт поставщик, давая вам товарный кредит, но и вы кредитуете своих клиентов, поэтому окончательный вариант формулы будет выглядеть так:
, где:
M – критический максимум остатков по позиции, выше которого хранить на складе убыточно [Единиц];
Ai – суммарные отгрузки из документов расхода за i-тую дату по позиции [Единиц];
Si – остатки по позиции на утро i-той даты без учёта оплаченных резервов [Единиц];
Vi – приходы по позиции за i-тую дату [Единиц];
R – средняя маржинальная рентабельность продаж по позиции [%];
Н – альтернативная доходность вложенных в запасы денег [% / День];
Y – средняя отсрочка платежа клиентам компании [Дней];
W – отсрочка платежа у поставщика [Дней].
Дробь со «страшными» суммами в начале формулы – это просто среднедневные продажи, но не во всякий день, а только тогда, когда остатков на складе (вместе с приходами в этот день) было достаточно для обеспечения минимальных продаж за день. Это условие используется, чтобы не занижать это среднедневное значение из-за нулевых продаж в те дни, когда заведомо ничего продаваться и не могло (из-за отсутствия товара на складе).
R / H – это количество дней, которое вы можете себе позволить держать деньги в запасах этой позиции – дальше вы начинаете делать это себе в убыток (заработок от продажи позиции R не покроет затрат на заморозку средств H в течение такого длительного периода). По-хорошему в H надо ещё включить переменные затраты на хранение (только переменные и только на хранение – не путать с затратами на склад), но обычно они значительно меньше затрат на замороженные средства для компаний со своим складом (совсем своим или арендуемым целиком), поэтому я ими пренебрёг в своих расчётах. При необходимости их включение не составит большого труда. В данном же случае, умножая, полученное количество дней на среднедневную продажу по позиции мы получаем максимальный остаток, выше которого нам хранить на складе – заведомо не выгодно. Соответственно, если поставщик даёт нам отсрочку платежа, то весь срок этой отсрочки в наши остатки вложены не наши деньги, а его. А, значит, никаких убытков мы от заморозки своих денег в это время не несём и можем дополнительно положить на остатки на этот срок продаж или поделиться этими деньгами с клиентами, дав отсрочку платежа им.