Задача
Для увеличения скорости продаж и оборачиваемости средств, разработать критерий рентабельности перемещения товаров между филиалами, инициируемого из головного офиса. Так же необходимо разработать методику расчёта оптимального для перемещения количества по каждой позиции. Оба алгоритма должны рассчитываться на основании текущих значений следующих данных:
Критерий для оценки перемещений
Изначально необходимо придумать критерий выбора между филиалами-донорами и филиалами-реципиентами. Этот критерий нам понадобиться в случае, когда в двух и более филиалах есть одна и та же позиция в сверхзапасе или / и есть два и более возможных филиала-реципиент по данной позиции. В таком случае возникает вопрос: откуда и куда везти сверхзапас. Везти из обоих в каждый – не выгодно по причине распылённости перевозок, а значит, нам надо разработать критерий выбора филиала-донора и филиала-реципиента, применив который последовательно ко всем филиалом мы получили бы все необходимые перемещения между ними. Этот критерий должен позволять нам понять выгодно ли конкретное перемещение, в принципе. И если да, и при этом возможно несколько разных вариантов, то какой из них самый выгодный, чтобы осуществлять именно его.
Создавать этот критерий мы будем с конца – от того, какой результат мы хотим получить в итоге. А это – разумеется, конечная прибыль от увеличения скорости продаж. То есть нам надо искать критерий не по выбору филиалов, а по выбору перемещений – пар филиалов с направлением движения товара, которые дадут нам максимальную прибыль. Но прибыль – это валовый показатель, который не всегда корректно сравнивать с другим таким же показателем. Гораздо лучше в данном случае использовать рентабельность для всех возможных пар филиалов «донор ® реципиент», при этом пары с одними и теми же филиалами в разных ролях считаются разными парами:
Rij – рентабельность перемещения,
Bij – доходы от перемещения,
Aij – расходы на перемещение.
Но для этого нам надо связать разные величины: упаковки, которые нужно или не нужно перемещать и доход – деньги. Эти два показателя всегда связывает между собой цена упаковки. А цены в разных филиалах – разные. Поэтому при расчёте «расхода» перемещения мы должны брать цену в филиале-доноре – (по сути, филиал-реципиент покупает эту продукцию у филиала-донора по этой цене), а при расчёте «дохода» перемещения – уже цену в филиале-реципиенте – потому что в случае осуществления перемещения мы будем продавать уже по этой цене.
Теперь надо пояснить, что является доходом, а что расходом перемещения, учтя при этом все возможные издержки. Для этого поймём, что изменяется при перемещении некоторого товара между филиалами: и тогда в расход мы запишем всё, что мы потеряем на перемещении, а в доход то, что в результате получим.
Расходы на перемещение
Под расходами на перемещение подразумевается выручка, которую мы не получим от продажи в филиале-доноре плюс затраты на перемещение в филиал-реципиент. Для расчета используется формула:
Aij – расходы от перемещения,
Sij – затраты на доставку,
– выручка от продажи в филиале-доноре,
Доходы от перемещения
Под доходами от перемещения подразумевается выручка, которую мы получим от продажи в филиале-реципиенте, умноженная на доходность высвобожденных средств и на выигранное от перемещения время. Для расчета используется формула:
Bij – доходы от перемещения,
М – доходность высвобожденных средств,
– выручка от продажи в филиале-реципиенте,
– выигранное от перемещения время.
Доход на вложенный капитал
Доход же посчитать гораздо сложнее чем расход, так как именно здесь надо учесть выигрыш от увеличения скорости продаж. Все знают пословицу «время – деньги», но каков коэффициент соответствия? Ответ на этот вопрос лежит в области эмпирических данных полученных из статистики по прибыльности вложения высвобожденных денег – М. Это очень важный аспект, так как, если, высвобожденные от ускоренных продаж, деньги просто лягут в сейф, то через некоторое время, необходимое для продажи перемещённого товара в филиале-доноре, выигрыш от перемещения просто нивелируется, а вот затраты на перемещение уже никуда не исчезнут.
А значит, что бы в перемещении между филиалами был смысл, полученные от него деньги должны куда-то вкладываться. Либо класться под процент в банк, либо вкладываться в новые закупки, либо как-то иначе, но приносить прибыль. И тогда мы уже можем говорить о том самом коэффициенте, который связывает время и деньги – это и есть та самая прибыльность от вложения высвобожденных средств М. Пример: в филиале-доноре позиция стоит 100 рублей и будет продаваться год, в филиале-реципиенте – 95 рублей и будет продаваться месяц, при стоимости кредита в 24% годовых, быстро продав в филиале-реципиенте, мы получим к моменту, когда мы продали бы эту позицию без перемещения: 90 рублей + 22% (за 11 месяцев) = 110 рублей. Если доставка нам стоила меньше 10 рублей, то нам такое перемещение будет выгодно.
Выигранное время (коэффициент ускорения продаж). Вкладываем же мы деньги на то самое время, которое выигрывается от перемещения. А какое время выигрывается от перемещения? Надо считать: фактически, после перемещения оба филиала начнут вместе продавать их общие остатки, а значит, скорости продаж и остатки филиалов суммируются: (срок продаж общих запасов в обоих филиал сообща). Но это они вместе будут так хорошо продавать, а что бы узнать выигрыш во времени нам надо отнять полученное время от времени продажи своих остатков, но уже одним филиалом-донором, когда скорость продаж – не суммированная: (срок продажи запасов филиала-донора без осуществления перемещения). В результате мы получаем тот самый период времени, который выступает в качестве множителя для расчёта прибыльности от вложения высвобожденных средств:
А чтобы избежать деления на ноль, стоит изначально откорректировать входные данные: , таким образом мы избегаем в дальнейшем необходимость оговаривать случаи деления на ноль. Результат расчётов от этого не ухудшается, так как точность расчётов всё равно будет вестись до одной штуки товара. Новые же позиции, по которым статистики продаж ещё нет, лучше вообще не обсчитывать, чтобы не пришлось возить их туда-обратно.
Конечно, нужно ещё учесть время подвоза товара, чтобы не получилась ситуация, когда филиал «торгует» виртуальным товаром. Для этого достаточно скорректировать выигранное время разницей между коэффициентом складского запаса филиала-реципиента и временем подвоза товара: . В случае, если товар из филиала-донора в филиал-реципиент будет подвезён, до того как там закончится свой товар, то есть этот минимум будет равен нулю. В случае же, если время подвоза будет больше, то по этой формуле мы отнимем из временного выигрыша вынужденное время простоя. В это время продажи филиалом-реципиентом осуществляться не будут, а, соответственно, прибыль от продажи поступит на такое же количество дней позже.
Учесть среднюю отсрочку платежа в разных филиалах ещё проще – это необходимо, что бы не везти товар в филиал, который быстро продаёт, да медленно деньги за проданное получает. Эти данные уже даны нам в нужном формате выигрыша во времени. Следовательно, для учёта данного показателя достаточно прибавить разницу между средними отсрочками платежа обоих филиалов к нашей степени, и мы получим нужный результат:
Подитог
В результате мы получаем итоговое неравенство критерия прибыльности перемещения позиции:
– цена реализации позиции в филиале-доноре,
– цена реализации позиции в филиале-реципиенте,
M – доходность высвобожденных средств,
– чистый выигрыш по времени от продажи позиции в филиале-реципиенте.
Тогда получаем в качестве критерия рентабельности перемещения следующее значение:
где суммы считаются по всем k, для которых соответствующие перемещения – выгодны, то есть выполняется предыдущее неравенство.
Допустим у нас два филиала, и мы хотим переместить из одного филиала в другой несколько позиций. Мы считаем рентабельность всего перемещения (по последней формуле) и получаем, что она ниже нуля, то есть вроде как всё перемещение – не выгодно. Но при проверке каждой позиции с помощью неравенства критерия прибыльности перемещения мы понимаем, что перемещение одной из них – нам заведомо не выгодно. Тогда возможна ситуация, что после выкидывания этой позиции из перемещения, всё остальное перемещение – становится выгодным, если прибыли от перемещения оставшихся позиций хватит на покрытие транспортных расходов, – но в любом случае, эта прибыль уже не будет тратиться впустую на убытки по перемещению невыгодной позиции. То есть для выполнения главного условия на рентабельность всего перемещения, нам необходимо составлять его из заведомо рентабельных перемещений отдельных позиций, чтобы прибыль от их перемещения могла покрыть транспортные расходы – в любом случае, включение в перемещение невыгодных позиций будет снижать рентабельность всего перемещения.
Как мы помним, нам необходимо решить ещё проблему распылённости перемещения сверхзапаса, когда объём отгрузки некоего филиала-донора, распределяясь по филиалам-реципиентам, становится для каждого конкретного перемещения настолько мал, что оно оказывается экономически не выгодным. Для предотвращения этого необходимо последовательное распределение сверхзапаса взамен одновременного. То есть полученный список из всех значений Rij нужно отсортировать в порядке их убывания, при этом отрицательные и нулевые значения можно сразу отбросить. Тогда при распределении сверхзапаса филиала-донора выбирается один из филиалов-реципиентов с наибольшим значением Rij. Рассчитывается виртуальное перемещение, как будто других филиалов кроме этих двух не существует, данная продукция резервируется под это перемещение. После этого свободные текущие остатки в филиале-доноре уменьшаются на соответствующее перемещению количество, а в филиале-реципиенте на это же количество увеличивается транзит, а значит, уменьшается потребность. Когда эти изменения оказались внесёнными, можно производить новый полный расчёт необходимых количеств к перемещению, проверять выполнение критерия прибыльности по каждой позиции и делать расчёт рентабельности уже суммы выгодных перемещений. Затем выбирать перемещение с максимальной рентабельностью для следующего филиала-реципиента, и так далее, пока в филиале-доноре не останется сверхзапаса. При таком методе даже небольшой сверхзапас будет перемещаться только в один филиал, а значит, не будет его распыления. Само же перемещение будет наиболее экономически целесообразным.
Сколько можем перевезти – объем перемещения
Теперь осталось определиться с количеством товара, который нам надо перевезти. Собственно, рентабельность перемещения, какого количества товара мы будем оценивать? В связи с этим возникают четыре возможных ситуации, только одна из которых позволяет производить перемещение позиции между филиалами без риска прогадать на резком изменении скоростей продаж. Однако перед этим нужно определить норматив в днях продажи для каждого филиала – сделать это можно исходя из политики организации.
Если филиал-донор не имеет сверхзапаса по позиции: , то перемещать не надо в любом случае. Если филиал-реципиент имеет сверхзапас по позиции: , то перемещать не надо в любом случае. Если оба этих условия выполнены, то перемещать нельзя ни в коем случае. Остаётся только случай, когда в филиале-доноре – сверхзапас, а в филиале-реципиенте – нехватка до нормы. А формула расчёта количества перемещаемой позиции получается как раз из этих условий. То есть мы перемещаем товар до тех пор, пока не достигнем одной из стоп-ситуаций – кончается сверхзапас в филиале-доноре или он появляется в филиале-реципиенте . А значит, перемещение будет равно минимуму между запасом сверх норматива филиала-донора и нехваткой до нормы в филиале-реципиенте: . Однако при таком расчёте, возможно получение отрицательных значений, физический смысл которых – перемещение в обратную сторону. Такие движения будут рассмотрены в своих перемещениях, когда донор и реципиент – меняются местами - для системы это, просто, другое перемещение. А чтобы не рассматривать эти отрицательные значения сейчас, мы, просто, берём максимум между полученным минимум и нулём, тем самым, оставляя только положительные значения. Именно их в дальнейшем можно будет суммировать для расчёта рентабельности перемещения всех позиций уже без учёта их знака:
По сути, мы берём минимум между дефицитом в филиале-реципиенте и сверхзапасом в филиале-доноре, а максимум с нулём используем, чтобы не рассматривать движение в обратном направлении.
Алгоритм
В описании алгоритма мы будем использовать формулы, которые уже вывели выше. Полный вывод был предоставлен, чтобы специалист мог пренебречь не нужными слагаемыми, или наоборот добавить дополнительные для повышения его точности. Использование же чётко определённого запрограммированного алгоритма позволит снизить риски, уменьшить сложность и количество итераций при перерасчётах, избежать ситуаций, при которых итоговое перемещение является не рентабельным, увеличить скорость расчёта, минимизировать ручную обработку результатов в ходе его выполнения. После проведения всех расчётов, из головного предприятия в филиалы должны направляться уже управленческие решения по перемещению без права отказа в отгрузке или приёме товара, исключая редкие ситуации, когда большой объём по позиции завозится на спец-акцию, или, высокий уровень продаж обусловлен разовой крупной продажей, которая не повторится. Такие случаи каждый раз должны утверждаться отдельно, так как выкидывание некоторых позиций может привести к потере рентабельности у всего перемещения из-за того, что прибыли от их перемещения не будет уже хватать, чтобы покрыть транспортные расходы. Данный алгоритм предназначен для расчёта перемещений всех позиций, имеющихся в наличии на складах филиалов.
, таким образом, корректируется скорость продаж, что бы облегчить вычисления и избежать деления на ноль. Затем для всех филиалов, для всех позиций рассчитывается предварительный объём перемещения каждой позиции по формуле:
Дополнительно стоит отметить, что при автоматизации этого алгоритма нужно учесть минимальную партию одной позиции для каждого конкретного филиала, чтобы не отправлять по одной штучке. Это условие может быть связано с неделимостью единичной заводской упаковки иди ценой сертификации в филиале-реципиенте. Например, если сертификация каждой партии стоит 1000 рублей, то везти продукции на меньшую стоимость – точно не стоит:
Критерий выгодности перемещения k-той позиции из i-того в j-тый филиал:
По всем позициям, удовлетворяющим критерию выгодности перемещения из i-того в j-тый филиал рассчитываем коэффициент рентабельности такого перемещения:
где суммы считаются по всем k, для которых соответствующие перемещения – выгодны, то есть выполняется предыдущее неравенство.