Разбирался тут с одним производственным проектом и откопал небольшой, но интересный расчет.
Суть такая: производство изготавливает на заказ различные изделия. По каждому заказу есть срок, который определяется исходя из имеющихся мощностей, загрузки на текущий момент и суммы поступающего заказа. Но всегда что-то идет не так, и некоторые заказы задерживаются.
Так как у каждого заказа разные параметры: объем, сроки, направление, на котором он выпускается, количество заказов с просроченной датой выполнения на этом участке — определить, куда бежать и что чинить в первую очередь, бывает не понятно.
Поэтому решили придумать некоторый синтетический показатель, который бы показывал, на сколько в деньгах производство кидает заказчика. Ну и по сумме кидков на направлении перераспределять менеджерские усилия. Такой простенький data-driven подход для любого заказного производства.
Штука несложная для внедрения, справится почти каждый.
Что нам нужно
Список производственных направлений (Плюшевые медведи, Городки из дерева и так далее).
-
Для каждого направления — сумма, которую мы по этому направлению производим за рабочий день, ориентировочно (например, 100 000 р./день).
Эта сумма должна коррелировать со сроками производства. Например, если заходит заказ на 200 000 р. при мощности в 100 000 р. и очереди производства на 300 000 р., то его срок производства должен составлять не менее 5 дней (3 дня на производство очереди + 2 дня на производство заказа).
Сумма всех непроизведенных заказов и их частей — очередь производства (вы ведь отмечаете, что уже выпущено).
Сумма заказа.
СрокПроизводстваДней = ([4] СуммаЗаказа + [3] Очередь) / [2] ВыработкаПоНаправлению.
Дата приемки заказа в работу.
Дата готовности = [6] ДатаПриемки + [5] СрокПроизводстваДней (если работаете с выходными, то учтите их, пожалуйста).
-
Срок просрочки в днях, на которые мы задерживаем срок выпуска (здесь рабочие дни можете не учитывать — заказчик вас ненавидит и в выходные тоже).
СрокПросрочкиДней = ТекущаяДата - [7] ДатаГотовности.
Дальше считаем некий коэффициент
Напоминаю, что показатель синтетический, поэтому физического смысла тут сильно искать не нужно.
Коэффициент X = [4] СуммаЗаказа / [2] ВыработкаПоНаправлению / [5] РасчетныйСрокПроизводства.
Получаем какое-то странное число, типа 0,023 хомяка для каждого заказа.
На самом деле это не хомяк, а доля заказа от общего производственного объема по направлению (это мне o3-mini подсказал, раньше я сам не понимал).
Считаем опаздывающий оборот
Так в этом проекте называлась цифра в условных деньгах, которая отображала боль заказчика, не получившего свой заказ в срок. Точнее, наверное, не совсем его боль, а потенциал давления, которое он может оказывать на отдел продаж и менеджмент, чтобы наконец его заказ был готов.
Когда у нас пошла просрочка, то по заказу считаем (обновляя раз в день):
ОпаздывающийОборот = [8] СрокПросрочкиДней × КоэффициентX × [2] ВыработкаПоНаправлению.
Посчитаем пример
Заходит заказ на 200 000 р. при мощности в 100 000 р. и очереди производства на 300 000 р., и потом мы его задерживаем на 3 дня.
СрокПроизводстваДней = (200 000 + 300 000) / 100 000 = 5 дней.
X = 0,4 (он составляет 40 % от очереди).
ОпаздывающийОборот = 3 дня × 0,4 × 100 000 р./день = 120 000 р.
Что как-то дофига. В среднем не будут нас кошмарить на 120К, если мы на 3 дня задержим (хотя, зависит от обстоятельств).
Потому что в реальных производствах есть еще минимальный срок производства, который закладывается на подвоз материалов, конструкторские работы и т. п. Мы плюсуем его к сроку производства, даже если у нас пустой цех (нет заказов).
Предположим, для наших медведей это будет 10 дней:
СрокПроизводства = 5 + 10 = 15 дней.
X ≈ 0,1333.
ОпаздывающийОборот = 3 × 0,1333 × 100 000 р. ≈ 40 000 р.
Что больше похоже на реальность. Но вы также можете ввести понижающий коэффициент — чем непробиваемее ваша первая линия менеджеров на телефоне, тем больше можно понижать.
Суммируем весь опаздывающий оборот по участку и считаем процент завала
ПроцентЗавалаПоНаправлению = СуммаОпаздывающегоОборотаПоНаправлению / [2] ВыработкаПоНаправлению / 4 × 100.
4 — это эмпирически полученный коэффициент. Можете его подвигать. Чем он меньше, тем больше он влияет на процент завала по направлению.
Для нашего примера с 40 000 р. опаздывающего оборота процент завала равен 10 %. Хорошо это или плохо — зависит от ваших представлений о том, что такое «сдать заказ в срок».
Записываем историю
Из нее видим в динамике, на каком участке у нас начинают развиваться проблемы, ставим алерты, бежим разбираться.
Усложнения
Полезным улучшением является перерасчет коэффициента при частичной отгрузке. То есть, если мы из заказа на 200 000 р. отгрузили на 150 000 р., то в производстве осталось только 50 000 р., и можно только их учитывать в проценте паники. Тогда [4] СуммаЗаказа становится ОставшейсяСуммойЗаказа.
Как-то так, вроде несложно.
Комментарии (6)
Apoheliy
03.02.2025 14:10Вангую: появится новый вид корпоративного шпионажа: узнать схему обсчёта кидка заказчиков и появятся люди, которые будут тюнинговать это KPI уже со стороны заказчика: где та граница заказа, превысив которую на лишний рубль мы сразу прибавим в приоритете?
А дальше теория игр цветёт и пахнет: производитель будет просчитывать схемы подсчёта KPI от заказчика и рихтовать уже свою методу: что денег больше занесли и вообще.
AlexeyPolunin Автор
03.02.2025 14:10Я размещая заказ на производстве именно так и делал, иначе получить его в срок нереально. Более того, если размещается большой заказ с ответственными сроками и качеством — то делегация своего представителя в цех заказчика жизненно необходима.
AstorS1
03.02.2025 14:10Авиакомпании с продажей билетов больше, чем количество посадочных мест, тоже сюда.
CitizenOfDreams
03.02.2025 14:10А это правильно - считать размер "кидка" по денежной стоимости?
Клиенту A задержка была неважна, он разместил заказ заранее, у него на складе еще остались запасы на непредвиденный случай. Все довольны, сотрудничество продолжается.
Для клиента Б задержка стала катастрофой, но это был единичный заказ, он в любом случае больше к вам не пришел бы. Клиента жаль, конечно, но бизнес есть бизнес, хомо хомини, не мы такие, понять и простить, ваш звонок очень важен для нас.
Клиент В задержку пережил без особых последствий, но из-за нее он решил со следующими заказами пойти к конкуренту. Мы потеряли много денех.
Ну то есть даже с "поправочными коэффициентами" стоимость заказа в рублях может слабо коррелировать с полученным ущербом.
Я не бизнесмен если что, ногами не пинайте.
AlexeyPolunin Автор
03.02.2025 14:10Тут вон вообще кто-то из читателей решил, что это инструкция как взять с людей больше денег и поплевать им в душу, хотя ровно про обратное. Далее по порядку:
Единичный/Множественный: если единичный заказ на 5 млн, то там где есть один такой, скорее всего найдется и второй. Если он на 5 тр но этот заказчик заказывает много, и у него по одному из 20 просрочка, то вполне переживаемо, если по всем 20, то как раз будет видно. Если на 5 тр и он реально единичный, ну тут цех старался конечно, но как получилось.
Заранее/Впритык: размещение заранее — большая редкость, и скорее всего в этот момент участок не сильно загружен и как мы запланировали, так срок и будет реализован. Проблемы у всех в сезон, когда приходит множество заказов одновременно. В цеху всегда что-то идет не так, но когда очередь производства большая, даже мелкие проблемы получают больший мультипликатор. Со стороны заказчика, даже если он заказывает заранее, неразумно сообщать, что у него есть время, так как в этом случае его заранее будет бесполезно.
Ну и цифра то синтетическая, она не заменяет взаимодействия с заказчиком. Но например, часто просят подвинуть срок на более раннюю дату, нежели расчетную и если видно, что на направлении завал, то врядли он реально подвинется.
AdrianoVisoccini
ХМ.... а мы именно такую схему и использовали когда в высокий сезон(декабрь например) распределяли мощности в типографии. Правда это не было вот так вот расписано и стандартизировано, а решали все с начальником отдела продаж, начальником производства и директором, но суть рассуждений была 1в1, так что схема рабочая. Осталось скрипт написать чтобы он сразу эту цифру считал