Оптимизация производственно-торговой деятельности
Блок связывает продажи с производством. Он отвечает на два вопроса: выполним ли план по мощностям рабочих центров и во что обходится единица продукции по нормам — с учётом рецептуры и цепочки переделов.
Сценарии различаются входом, а не сложностью: сценарий 1 берёт экономику позиций из выбранного набора и ограничения мощностей; сценарий 2 — рецептуру и нормативную себестоимость. Раньше и то и другое лежало на одном экране, и было непонятно, что из этого обязательно.
Вкладки сценария 1: Постановка задачи → Границы по номенклатуре → Экономика позиций → Оптимизация выпуска → Отчёт. Отдельной загрузки в сценарии больше нет — файл блока грузится в разделе «Загрузка данных», рядом с набором и справочниками.
Вкладка «Оптимизация выпуска» умеет считать двумя методами: по номенклатуре и каналам (решение принимается по ячейке «канал × позиция», два конструкта и три сценария — раздел Д) и прежним, по продуктовым группам. Прежний метод (05.09.2026): подбирает программу с максимальной маржой в границах мощностей, обязательств и спроса, показывает узкие места и выгружает результат в стандарте формата данных.
AИз чего складывается производственная модель
| Элемент | Что задаёт |
|---|---|
| Рабочие центры | доступная мощность или фонд времени за период — верхняя граница выпуска |
| Рецептура (передел) | что из чего получается и сколько ресурса каждого центра тратится по цепочке |
| Нормы расхода | сколько сырья и ресурсов уходит на единицу — основа нормативной себестоимости |
| План продаж | берётся из общего источника платформы: производство считается под него |
Проверка выполнимости: потребность плана в мощности центра ≤ доступной мощности
узкое место — центр, чья мощность исчерпывается первой: он и ограничивает весь выпуск
Вкладка 1. Загрузка блока (файл)
Загрузить производственные данные проекта одним файлом: рабочие центры, мощности, нормы и спецификацию. Формат — JSON или Excel по шаблону. Вкладка живёт в разделе «Загрузка данных» вместе с выбором набора и справочниками.
Вкладка 4. Перенос: настройка и данные
Перенос блока между серверами — например, с рабочего контура на боевой. В отличие от «Загрузки блока (файл)», которая берёт слепок целиком, здесь два файла и жёсткий порядок: сначала настройка (справочники, мощности центров, нормы времени, рецептуры), затем данные (границы выпуска групп и позиций, спецификация, варианты Vmin).
Почему порядок обязателен. Граница выпуска принадлежит позиции. Загрузите данные в проект, где этой позиции нет, — и они лягут в никуда: расчёт их не увидит, а вы будете думать, что всё на месте. Поэтому файл данных несёт отпечаток настройки — список объектов, под которые он собран.
Что показывается до загрузки. Отпечаток сверяется с настройкой проекта, и разница выводится тремя списками: нет в настройке (эти строки потеряются, показано сколько), нет в файле (эти объекты останутся пустыми), совпало. При расхождении загрузка отклоняется — сначала поставьте парный файл настройки. Кнопка «Загрузить как есть» остаётся: решение ваше, но принимается зряче.
Загрузка замещает соответствующую часть блока, а не дополняет её: половина старой настройки с половиной новой даёт модель, которой не существовало нигде. Данные продаж переносятся отдельно, обычной загрузкой в разделе «Данные» — они принадлежат платформе, а не блоку.
Вкладка 2. Справочники и мощности
Единый вход блока: набор данных, справочники и загрузка слепка блока файлом. Набор — тот же выбор, что в «Продажах»: внешний план, стратегия К1/К2, детальный прогноз, фактические данные из «Анализа» или плановые загрузки. Из набора берутся цена, себестоимость единицы и маржа — на единицу и за период; это и есть вход оптимизации. Справочники — рабочие центры, сырьё, группы, номенклатура и единицы измерения — общие для обоих сценариев, поэтому заполняются здесь, а не в каждом по отдельности.
Таблица 2. Мощность рабочего центра целиком
Таблица 1 ограничивает пару «центр × продукт». Когда на одном центре несколько продуктов, они делят один ресурс, и без общего предела расчёт сложит пределы пар — получится план, который цех не сделает. Центр ограничивается двумя способами: фондом времени (часов в месяц) либо мощностью в единицах. При работе по времени в Таблице 1 участвуют время на единицу и время переналадки — подготовки центра под этот продукт.
Как читать: под таблицей платформа пишет, чем ограничен каждый центр сейчас и почему. Правило простое: время на единицу задано у всех продуктов центра и указан фонд времени → центр считается по времени; иначе → по мощности в единицах из этой таблицы.
Что сделать: заполните хотя бы одно: мощность центра в месяц или фонд времени. Центр без того и другого ничем не ограничен — платформа предупредит.
Таблица 3. Границы выпуска по продуктовым группам
Мощность ограничивает центр, а эти границы — сам продукт, и тоже в месяц. Снизу — обязательства: контракт с клиентом, ассортиментный минимум. Сверху — предел рынка или продуктовой политики. Пустое поле означает «ограничения нет». Список групп подставляется из справочника, единица — оттуда же.
Что сделать: заполните те группы, где границы есть, и нажмите «Сохранить Таблицу 3». Проверка сверит минимум с номинальной мощностью и со спросом выбранного набора: минимум выше спроса означает выпуск на склад, минимум выше мощности — задачу, которая не решится.
Вкладка «Экономика позиций» — вход оптимизации
По каждой группе показаны цена, себестоимость единицы и маржа — на единицу и за период, средневзвешенно по объёму. Считается по набору, выбранному в «Загрузке данных»: факт, план, стратегия или прогноз; если набор не выбран, берётся факт проекта, и платформа об этом предупреждает. Колонка «Объём в месяц» — то, что сравнивается с коридором мощности: мощность задана в месяц, а набор обычно охватывает несколько месяцев.
Коридор мощности: максимум и минимум
Мощность рабочего центра задаётся в месяц и с двух сторон. Сверху — номинальная мощность = максимальная × % загрузки: столько центр даёт с учётом простоев и переналадок. Снизу — минимальная мощность: технологический минимум, ниже которого центр не грузят. Оптимизация держит выпуск группы внутри этого коридора.
Что сделать: заполните минимум там, где он есть технологически; пустое поле означает «ограничения снизу нет». Если минимум окажется выше номинала, платформа скажет об этом сразу: коридор пуст и задача не решится.
Почему единицы измерения — обязательный справочник
Норматив списания задаётся «единица сырья на единицу продукта»: тонна базового масла на тонну готового, литр молока на килограмм творога. Пока единицы не заведены, норму не с чем сопоставить, а проверка «единица центра против единицы группы» ничего не ловит. Единицы пополняются из загруженных данных, но заводятся и вручную — в файле продаж колонки единиц может не быть; введённые вручную переживают обновление из данных.
Что сделать: заведите единицы на вкладке «Единицы» и нажмите «Сохранить», затем проставьте единицу рабочим центрам, сырью и группам — дальше они подставляются в постановку и рецептуру сами.
Кадр 1. Маршрут блока и загрузка производственных данных
Маршрут блока: пять шагов
Зачем: блок идёт от данных к постановке задачи, себестоимости и отчёту. Четвёртый шаг — «Оптимизация производительности» — сейчас в разработке.
Что сделать: начинайте с загрузки: без производственных данных остальные вкладки показать нечего.
Загрузка данных блока «Производство»
Зачем: производственные данные живут отдельно от продаж: рабочие центры с мощностью, рецептура передела, нормы расхода. Продажи блок берёт из общего источника платформы.
Что сделать: загрузите файл блока. Повторная загрузка заменяет набор целиком — производственная модель цельная, частями её не собирают.
Кадр 2. Шаблон формата и пример выгрузки
Шаблон и пример выгрузки
Зачем: шаблон задаёт структуру файла: 22 колонки производственного формата (с 06.09 добавлены минимум мощности, время производства и переналадки, мощность центров целиком и границы выпуска — раньше перенос их терял). По нему собирают выгрузку из учётной системы или заполняют руками.
Что сделать: скачайте шаблон и заполните его своими центрами и рецептурой. Пример показывает, как выглядят заполненные данные — сверяйтесь с ним при первой загрузке.
Вкладка 3. Постановка задачи (сценарий 1)
Описать производство как ограничение: какие рабочие центры есть, сколько они могут, и по какой цепочке переделов проходит продукт.
Кадр 1. Период и шаг планирования
Период планирования — отдельно от периода данных
Что показывает: период данных сверху страницы говорит, откуда брать факт и маржу, а период планирования — на какие месяцы строится программа.
Как читать: именно даты планирования попадают в выгрузку. Пока период не задан, расчёт идёт на период данных и файл получает исторические даты — как план он не годится.
Что делать: задайте горизонт до расчёта: пикер показывает два будущих года.
Шаг расчёта: день, неделя, месяц
Что показывает: дробность производственного плана. Месячные мощности, фонд времени и границы пересчитываются на выбранный шаг автоматически.
Как читать: по дням считают в пределах месяца (только рабочие дни), по неделям — до трёх месяцев, по месяцам — любой горизонт. Модель стационарная: шаг повторяется, поэтому сотни одинаковых дней смысла не имеют.
Что делать: для оперативного плана берите неделю на квартал, для годового бюджета — месяц.
Кадр 2. Таблица 1. Рабочие центры и мощность
Таблица 1. Мощность пары «центр × продукт»
Что показывает: что и на каком центре можно делать: максимальная мощность, процент загрузки, технологический минимум, время на единицу и переналадка.
Как читать: мощность, несоразмерная объёму продаж, — самая частая ошибка ввода: расчёт при ней «работает», но коридор выпуска схлопывается и все сценарии дают один ответ. Платформа скажет об этом прямо в замечаниях.
Что делать: задайте мощность честно и ЗА МЕСЯЦ, с учётом ремонтов; проверьте единицы измерения и процент загрузки.
Кадр 3. Таблица 3. Границы выпуска по группам
Таблица 3. Границы группы — срез над суммой позиций
Что показывает: минимальный и максимальный выпуск группы за месяц.
Как читать: это срез: он ограничивает сумму позиций группы, но не заменяет обязательства по конкретной номенклатуре — их место на следующей вкладке.
Что делать: ставьте здесь только то, что действительно ограничивает группу целиком: квоту, договор на объём, предел склада.
Вкладка 4. Границы по номенклатуре
Задать минимум и максимум выпуска по каждой позиции и увидеть, чем позиция окупает занятое время производства.
ГГраницы по номенклатуре: зачем позиция, а не группа
Ограничение группы можно закрыть любой её позицией: план формально сойдётся, а контракт по нужной номенклатуре окажется сорван. Поэтому обязательства и рыночные пределы задаются на конкретной позиции, а границы группы остаются общей рамкой сверху.
пример: 25 руб/ед при 1 ч на единицу = 25 руб/ч; 100 руб/ед при 5 ч = 20 руб/ч
вывод: при дефиците времени выгоднее первая позиция, хотя со штуки она дешевле
Таблица позиций
Что показывает: по каждой позиции — цену, себестоимость, маржу единицы и её разброс по каналам, объём в месяц по набору, время на единицу и переналадку, производительность, маржу на час, тактику и вводимые границы с маржой диапазона.
Как читать: разброс маржи по каналам показывает, насколько «средняя по позиции» скрывает разницу: одна и та же номенклатура в разных каналах приносит разное. Жёлтые строки — позиции, которых в наборе нет (не продавались): границы у них нули, решение принимает человек.
Что делать: уточните время на единицу там, где оно отличается от группового, и поправьте границы. Изменённая строка помечается «правлено вручную» и больше не перезаписывается автозаполнением.
Автозаполнение границ
Что показывает: платформа предлагает границы сама: объём набора ∓ ширина (по умолчанию 25 %). Максимум срезается мощностью группы, поделённой между её позициями пропорционально объёму. Доли округляются вниз до копейки: иначе их сумма выходит больше мощности группы, и расчёт объявляет задачу нерешаемой из-за копейки, которой в цехе не существует.
Как читать: если проверка сообщает, что минимумы забрали почти всю мощность, — модели нечего перераспределять: спрос выше мощности, и коридор схлопнулся. Это не ошибка ввода, а сигнал снизить минимумы и дать оптимизации свободу.
Что делать: заполните ±25 %, затем поправьте руками позиции с обязательствами и новую номенклатуру.
Варианты границ — сохранить и вернуться
Что показывает: список сохранённых наборов границ: название, число позиций, набор данных и период, под которые границы сняты, автор, дата и статус — черновик или утверждён.
Как читать: вариант помнит набор данных. Если он снят под другой набор, платформа помечает это и не подставляет его молча: номенклатура и период не совпадут, и расчёт пошёл бы не по тем границам — ошибка, которую потом почти невозможно заметить. Подставить всё равно можно, но только подтверждением.
Что делать: настроили границы — сохраните вариант с понятным названием. Рабочий вариант утвердите: расчёт по неутверждённому считается черновым.
Тактика позиции
Что показывает: квадрант позиции по двум осям относительно медианы ассортимента: звезда — дорогая и быстрая, премиум — дорогая и медленная, объёмная — дешёвая и быстрая, балласт — дешёвая и медленная.
Как читать: тактика ничего не считает — она объясняет, почему оптимизация поднимет одну позицию и срежет другую. Без времени на единицу вторая ось неизвестна, и тактика не определяется.
Что делать: премиальным позициям коридор ставьте уже (спрос на них не разгонишь), объёмным — шире.
Кадр 1. Границы по номенклатуре: маржа на час и тактика
Коридор выпуска по каждой позиции
Что показывает: цену, себестоимость, маржу единицы и её разброс по каналам, объём набора, время на единицу, производительность, маржу на час, тактику и вводимые границы.
Как читать: разброс маржи по каналам показывает, насколько средняя по позиции скрывает разницу. Жёлтые строки — позиции, которых нет в наборе: границы у них нули, решение принимает человек. Маржа на час = маржа единицы × производительность: при дефиците времени выигрывает не самая дорогая позиция.
Что делать: уточните время на единицу там, где оно отличается от группового, и поправьте границы. Правленая строка помечается и больше не перезаписывается автозаполнением.
Кадр 2. Варианты границ: сохранить и вернуться
Реестр вариантов границ
Что показывает: сохранённые наборы границ: название, число позиций, набор данных и период, под которые они сняты, автор, дата и статус.
Как читать: вариант помнит НАБОР ДАННЫХ. Снятый под другой набор он не подставляется молча: номенклатура и период не совпали бы, и расчёт пошёл бы не по тем границам.
Что делать: настроили границы — сохраните вариант с понятным названием и утвердите рабочий.
Вкладка 5. Экономика позиций
Получить нормативную себестоимость: во что обходится единица продукции по нормам расхода и переделам — и как она складывается в разрезе групп.
Кадр 1. Экономика позиций выбранного набора
Экономика набора по продуктам
Что показывает: цену, средневзвешенную себестоимость, маржу единицы и объём в месяц по каждому продукту выбранного набора.
Как читать: это вход модели: те же числа идут в оптимизацию. Меняете набор в разделе «Загрузка данных» — меняется и программа.
Что делать: сверьте маржу с тем, что считает финансовая служба: расхождение здесь пройдёт во все дальнейшие расчёты.
Вкладка 6. Отчёт
Собрать снимок блока в документы, выгрузить программу выпуска в стандарте формата данных (14 колонок плюс «Рабочий центр» и «Объём производства») и перенести производственные данные между контурами.
Кадр 1. Отчёт блока и выгрузка данных
Отчёт блока — зеркало экрана
Зачем: word и Excel собираются из того, что рассчитано в блоке: центры, рецептура, нормативная себестоимость. Рядом — выгрузка данных блока в JSON или Excel для переноса в другой контур.
Что сделать: формируйте отчёт после того, как проверили мощности и рецептуру: документ фиксирует состояние модели на момент сборки.
ВВозврат к состоянию до последнего сохранения
Кнопка «Сохранить» в блоке перезаписывает таблицу целиком: сохранённая по ошибке пустая или неполная сетка стирает прежние строки. Поэтому перед каждым сохранением платформа снимает слепок всех таблиц блока — рабочих центров, мощности центров, границ выпуска, рецептуры и спецификации.
Карточка «Возврат к состоянию до последнего сохранения»
Что показывает: какое сохранение было последним, когда оно произошло и сколько строк было в каждой таблице до него.
Как читать: числа в карточке — это состояние, которое вернётся при нажатии кнопки. Если там больше строк, чем сейчас на экране, значит последнее сохранение данные потеряло.
Что делать: нажмите «Вернуть состояние до сохранения». Возврат обратим: перед ним снимается новый слепок, поэтому повторное нажатие вернёт то, что было до возврата. Хранится одно — последнее — состояние: для отмены неудачного сохранения этого достаточно, архивом версий карточка не является.
Вкладка 7. Оптимизация выпуска (сценарий 1)
Найти программу выпуска на месяц, дающую максимум маржи в границах мощностей, обязательств и спроса, и увидеть, какое именно ограничение держит выпуск.
Кадр 1. Условия расчёта: спрос и пороги сценариев
Условия расчёта
Что показывает: галочку рыночного потолка и два ползунка: порог сценария «дорогая единица» и уступку маржи в сценарии «оборот».
Как читать: потолок ячейки растягивается пропорционально максимуму позиции: сказали «рынок даёт +25 %» — каждый канал берёт +25 % своего объёма. Снятая галочка убирает рыночный предел вовсе.
Что делать: начните с порогов по умолчанию и двигайте их, когда увидите, во что упирается программа.
Кадр 2. Сравнение: два конструкта на три сценария
Шесть расчётов одной таблицей
Что показывает: маржу за шаг и за горизонт, объём, среднюю маржу на единицу и на час, загрузку узкого центра, покрытие спроса и условие каждого расчёта.
Как читать: к1 «от рынка» держит объёмы каналов на факте и меняет только наполнение; К2 «от производства» перекладывает объём между каналами — разрыв между ними и есть цена неприкосновенности сбытовой политики. Звёздочка помечает лучший по марже, но «лучший» не значит «правильный»: сценарий «оборот» меняет маржу на объём.
Что делать: нажмите на строку — ниже раскроется её план, своды и выгрузки.
Кадр 3. План продаж по ячейкам «канал × номенклатура»
Решение по ячейкам
Что показывает: сколько какой позиции продавать в каком канале против базы набора, с рыночным потолком, маржой единицы и маржой строки.
Как читать: это и есть решение модели. Одна и та же позиция в разных каналах приносит разное, поэтому режется и растёт она в каналах по-разному — средняя по группе это скрывала бы.
Что делать: смотрите строки с наибольшим отклонением от базы: это и есть предлагаемое изменение сбытовой политики.
Кадр 4. Матрица тактик: маржа единицы и производительность
Карта ассортимента
Что показывает: каждую позицию на двух осях: сколько штук даёт час работы центра и сколько зарабатываем со штуки. Размер точки — план продаж, пунктир — медианы.
Как читать: правый верхний угол — звёзды, левый верхний — премиум-тяжеловесы, правый нижний — объёмные, левый нижний — балласт. Матрица ничего не считает: она объясняет, почему модель подняла одну позицию и срезала другую.
Что делать: если график пуст, заполните время на единицу во вкладке «Границы по номенклатуре».
Кадр 5. Свод по центрам и цена дополнительного часа
Узкие места и цена ресурса
Что показывает: чем ограничен каждый центр, сколько ресурса выбрано, где загрузка сто процентов и сколько маржи принесёт ещё один час работы.
Как читать: цена дополнительного ресурса считается пересчётом всей задачи, а не приблизительной оценкой: это прямой ответ на вопрос «стоит ли покупать смену».
Что делать: сравните эту цифру со стоимостью смены, аренды или аутсорса — решение о расширении мощности принимается по ней.
Кадр 6. Проверка исполнимости плана
Приёмка плана
Что показывает: результат независимой проверки: каждое ограничение задачи пересчитано заново по самим числам плана — баланс продаж и выпуска, мощности пар, ресурс центров, границы позиций и групп, рыночные потолки.
Как читать: статус решателя говорит про модель, а эта таблица — про план. Она ловит то, чего статус не покажет: потерянный множитель шага, ошибку переноса ограничения, расхождение округлений.
Что делать: перед тем как отдать программу производству, убедитесь, что здесь нет ни одной строки «нарушено».
Кадр 7. Две выгрузки: результат и программа
Выгрузки результата
Что показывает: две кнопки: плоский файл результата для анализа и программу выпуска в формате загрузки данных.
Как читать: в плоском файле строка — «канал × позиция × центр × шаг» со всеми показателями и автофильтром, рядом листами идёт зеркало экрана. Программа выпуска нужна не для чтения, а чтобы вернуться в систему как план: 14 колонок стандарта плюс рабочий центр и объём производства.
Что делать: для разбора берите первую кнопку, для загрузки результата обратно в платформу — вторую.
БКак устроена модель оптимизации выпуска
Модель отвечает на вопрос «что и на каком центре производить», когда мощности не хватает на весь спрос. Шаг расчёта — месяц: мощности, границы и спрос заданы в месяц, поэтому и программа месячная, а за период она умножается на число месяцев выбранного набора.
Пара «центр × продукт»: мин. мощность ≤ выпуск ≤ макс. мощность × % загрузки (Таблица 1)
Продукт целиком: мин. выпуск ≤ Σ по центрам ≤ макс. выпуск (Таблица 3) и ≤ спрос набора
Центр целиком по времени: Σ (время на ед. × выпуск + переналадка) ≤ фонд времени, ч/мес
Центр целиком по мощности: Σ выпуск ≤ мощность центра в месяц (Таблица 2)
| Ограничение | Откуда берётся | Что означает на практике |
|---|---|---|
| Коридор пары | Таблица 1 | сколько этого продукта физически даёт этот центр; технологический минимум действует только на запущенный продукт — невыгодный продукт не грузят на минимум, его просто не ставят в план |
| Ресурс центра | Таблица 2 | несколько продуктов на одном центре делят общий ресурс: часы (с учётом переналадки под каждый запущенный продукт) либо единицы |
| Границы продукта | Таблица 3 | минимум — обязательство: выполняется, даже если маржа отрицательная; максимум — предел рынка или политики |
| Спрос набора | Экономика позиций | больше, чем можно продать, не производим: разница легла бы на склад, а изменение запасов сценарий 1 не считает |
Диагностика постановки
Что показывает: что мешает решить задачу или посчитать её честно: продукт из набора без рабочего центра, центр без общей мощности и фонда времени, минимум выпуска выше мощности или выше спроса, отрицательная маржа.
Как читать: знак ⛔ означает нерешаемость — задача не посчитается, пока это не исправлено; ⚠️ — предупреждение: расчёт пройдёт, но часть продуктов или центров останется вне модели.
Что делать: проверки указывают конкретную строку конкретной таблицы — правьте там, а не в результате.
Результат: программа выпуска (центр × продукт)
Что показывает: сколько какого продукта выпускать на каждом центре — в месяц и за период, с пределом пары, её загрузкой, маржой на единицу и маржой строки. Для центров, считающихся по времени, заполнена колонка «Время, ч/мес».
Как читать: загрузка пары 100% означает, что предел из Таблицы 1 выбран полностью — дальше рост возможен только расширением мощности. Фильтры сверху дают разрез по продукту и по рабочему центру.
Что делать: сравните с текущей загрузкой цеха: строки, где модель ушла от привычного распределения, — это и есть решение к обсуждению с производством.
Свод по продуктам: выпуск против спроса
Что показывает: по каждому продукту — спрос набора, рекомендованный выпуск, разницу между ними и то, какое ограничение остановило выпуск.
Как читать: «Δ к спросу» со знаком минус — недопоставка: спрос есть, мощности не хватило. Колонка «Что ограничило» называет виновника: спрос, границы продукта, мощность пар или мощность центра.
Что делать: продукты с большой недопоставкой и высокой маржой — первые кандидаты на расширение мощности или на перенос части объёма на другой центр.
Свод по рабочим центрам: загрузка и узкие места
Что показывает: чем ограничен каждый центр (временем или единицами), сколько ресурса выбрано, какая загрузка и где она достигла 100%.
Как читать: центр со стопроцентной загрузкой — узкое место: именно он ограничивает маржу всего производства. Центр с пометкой «не ограничен» означает незаполненную Таблицу 2 — его выпуск в модели завышен.
Что делать: расширение мощности имеет смысл только на узком месте; вложение в ненагруженный центр маржи не добавит.
Выгрузка программы выпуска — формат данных
Что показывает: результат оптимизации в стандарте формата данных продаж (14 колонок), расширенном двумя: «Рабочий центр» — где произведено, и «Объём производства» — сколько выпущено.
Как читать: объёмные показатели стандарта относятся к продажам, добавленная колонка — к производству. Их разница есть изменение запасов; сценарий 1 запасы не рассматривает (Δзапасов = 0), поэтому объёмы равны. Месячная программа раскладывается на номенклатуру по миксу выбранного набора, поэтому итог файла сходится с цифрами на экране.
Что сделать: файл в стандартном формате грузится обратно в систему: результат оптимизации становится планом следующего расчёта. Кнопка есть и во вкладке «Оптимизация выпуска», и во вкладке «Отчёт».
ДРасчёт по номенклатуре и каналам: два конструкта и три сценария
Во вкладке «Оптимизация выпуска» есть переключатель метода. Прежний расчёт работает на паре «рабочий центр × продуктовая группа» и на средней марже группы. Новый принимает решение по ячейке «канал × номенклатура»: одна и та же позиция в разных каналах приносит разное (в демо-данных разброс внутри группы доходит до 3,7 раза), и средняя это скрывает. Кроме того, обязательство по конкретной позиции нельзя закрыть другой позицией той же группы.
Что максимизируем: Σ (маржа ячейки × продажа) — либо объём в сценарии «Оборот»
Баланс: Σ продажи по каналам = Σ выпуск по центрам (склад не копим)
Позиция: мин. объём ≤ Σ по каналам ≤ макс. объём («Границы по номенклатуре»)
Группа: границы Таблицы 3 действуют как срез над суммой позиций
Центр: мощность пары, а целиком — фонд часов с переналадкой либо мощность в единицах
Два конструкта — это одна модель с разной настройкой
| Конструкт | Что зафиксировано | Управленческий смысл |
|---|---|---|
| К1 «от рынка» | объём каждого канала равен факту набора | сбытовая политика неприкосновенна: перестраиваем ассортимент внутри канала, не трогая его объём |
| К2 «от производства» | объём канала свободен в пределах рынка | ищем максимум того, что даёт цех; рынок подстраиваем. Разрыв К1 и К2 — цена неприкосновенности каналов |
Три сценария — три стратегии одной программы
| Сценарий | Что максимизирует | Условие | Когда выбирают |
|---|---|---|---|
| С0. Максимум маржи | маржу | без порогов | эталон: верхняя граница возможного |
| С1. Дорогая единица | маржу | средняя маржа единицы программы не ниже, чем в факте (ползунком до +50 %) | премиальный портфель: меньше штук, дороже каждая |
| С2. Оборот | объём | маржа не ниже (1 − ε) от С0, ε ползунком, по умолчанию 5 % | сколько объёма добираем, отдав часть маржи |
Итого шесть расчётов — они считаются за один прогон и сравниваются одной таблицей. Основа сценариев — простое разложение: маржа на час = маржа на единицу × производительность. Позиция с маржой 25 руб и часом на единицу даёт 25 руб/ч, позиция с маржой 100 руб и пятью часами — только 20 руб/ч: при дефиците времени первая выгоднее, хотя со штуки зарабатывает вчетверо меньше.
Период и шаг планирования
Периодов на странице два, и это разные вещи. «Период производства» сверху — период данных: откуда берутся факт, цена, себестоимость и маржа ячеек. «Период планирования» во вкладке «Постановка задачи» — то, на что строится программа: именно эти даты попадают в выгрузку, поэтому файл можно грузить обратно как план. Пока период планирования не задан, расчёт идёт на период данных, и в выгрузке оказываются исторические даты — как план такой файл не годится.
| Шаг расчёта | Рекомендуемый горизонт | Что означает |
|---|---|---|
| По дням | в пределах одного месяца | считаются только рабочие дни (пн–пт); месячные мощности, фонд времени и границы делятся на число рабочих дней |
| По неделям | до 3 месяцев | шагом становится календарная неделя, в выгрузке заполняется колонка «НЕДЕЛЯ» |
| По месяцам | любой: квартал, год, несколько лет | месячные величины идут как есть |
Как понимается спрос
Потолок ячейки растягивается пропорционально максимуму позиции из вкладки «Границы по номенклатуре»: если позиции задан рост на 25 %, то и каждый канал может взять +25 % своего объёма — ёмкость канала соразмерна его нынешнему присутствию, а не всей позиции. Галочка «не выходить за спрос» снимает рыночный потолок вовсе (разница ушла бы на склад, а изменение запасов метод не считает).
Период и шаг планирования
Что показывает: на какие месяцы строится программа и какой дробностью — день, неделя или месяц. Рядом платформа считает горизонт в месяцах и предупреждает о неудачных сочетаниях.
Как читать: месячные мощности, фонд времени и границы автоматически пересчитываются на выбранный шаг: при недельном шаге фонд 2 400 ч/мес превращается в ≈514 ч/нед. Предупреждение о шаге — рекомендация, а не запрет: расчёт пройдёт и на сотне одинаковых дней, просто читать его будет тяжело.
Что делать: задайте период планирования до расчёта — иначе выгрузка получит прошлые даты. Для оперативного плана берите неделю на квартал, для годового бюджета — месяц.
Сравнение: 2 конструкта × 3 сценария
Что показывает: шесть расчётов одной строкой каждый: маржа за месяц и за период, объём, средняя маржа на единицу и на час, загрузка узкого центра, покрытие спроса, число позиций и условие расчёта.
Как читать: звёздочка помечает лучший по марже — это не значит «правильный»: К1 бережёт сбытовую политику, С2 меняет маржу на объём. Серые строки со статусом «не решено» означают, что условия расчёта несовместимы — короткая причина стоит в колонке «Условие».
Что делать: нажмите на строку — ниже раскроется её план, своды и выгрузка. Сравнивайте не только маржу: разница К1 и К2 показывает, сколько стоит неприкосновенность каналов.
План продаж по ячейкам «канал × номенклатура»
Что показывает: главную таблицу результата: сколько какой позиции продавать в каком канале, против базы набора, с рыночным потолком, маржой единицы и маржой строки.
Как читать: «Δ к базе» со знаком минус — позицию в этом канале режем, плюс — наращиваем. Колонка «Что ограничило» заполняется там, где ячейка упёрлась в рыночный потолок. Фильтры сверху дают разрез по каналу, группе и позиции.
Что делать: смотрите сначала строки с наибольшим «Δ к базе» — это и есть предлагаемое изменение сбытовой политики.
Позиции: план, границы и что его ограничило
Что показывает: по каждой позиции — базу, план, границы из вкладки «Границы по номенклатуре», маржу единицы и маржу на час, и причину, по которой выпуск именно такой.
Как читать: причина называет конкретную таблицу: максимум или минимум позиции, рыночный потолок, максимум группы (Таблица 3), мощность центра или пары. «Невыгодна» означает, что ресурс отдан позициям с большей маржой на час.
Что делать: работайте с той таблицей, которую назвала причина. Поднимать выпуск позиции, упёршейся в мощность, правкой границ бесполезно.
Матрица тактик: маржа единицы × производительность
Что показывает: карту ассортимента: по горизонтали — сколько штук даёт час работы центра, по вертикали — сколько зарабатываем со штуки. Размер точки — план продаж, пунктир — медианы ассортимента.
Как читать: правый верхний угол — звёзды (дорого и быстро), левый верхний — премиум-тяжеловесы (дорого, но съедают время), правый нижний — объёмные, левый нижний — балласт. Матрица ничего не считает: она объясняет, почему модель подняла одну позицию и срезала другую.
Что делать: если график пуст, заполните «Время на единицу» во вкладке «Границы по номенклатуре» — без времени производительность не посчитать.
Выпуск по рабочим центрам и свод по центрам
Что показывает: первая таблица — что и где производить (выпуск в месяц и за период, время, маржа на час, доля центра в выпуске позиции); вторая — чем ограничен каждый центр, сколько ресурса выбрано, где узкое место и цена дополнительного ресурса.
Как читать: «Цена доп. ресурса» — сколько маржи в месяц принесёт ещё один час (или единица мощности) на этом центре. Считается пересчётом всей задачи, а не приблизительной оценкой, поэтому это прямой ответ на вопрос «стоит ли покупать смену».
Что делать: сравните цену дополнительного часа со стоимостью смены, аренды или аутсорса — решение о расширении мощности принимается по этой цифре.
Своды по группам и каналам
Что показывает: агрегаты решения: как программа выглядит в разрезе продуктовых групп и каналов сбыта, включая изменение к базе набора и число позиций в плане.
Как читать: это следствие решения по позициям, а не отдельный расчёт: структура групп и каналов складывается снизу вверх. В конструкте К1 объёмы каналов равны базе — меняется только их наполнение.
Что делать: свод по каналам — то, что обсуждается со сбытом; свод по группам — то, что обсуждается с производством.
Результат расчёта — плоский файл Excel
Что показывает: весь результат одной плоской таблицей: строка — «канал × позиция × рабочий центр», а в колонках всё, по чему обычно фильтруют: база и план, доля центра, цена, маржа единицы и маржа на час, производительность, тактика, границы позиции, что её ограничило, режим и загрузка центра, узкое место и цена дополнительного часа. Отдельными листами идёт зеркало экрана: сравнение сценариев, позиции, выпуск и свод по центрам, своды по группам и каналам, замечания расчёта.
Как читать: на первом листе включён автофильтр — по нему сразу строятся сводные таблицы Excel. Сумма колонки «Маржа строки» равна марже программы на экране, сумма «Выпуск в месяц» — её объёму: файл собирается из уже посчитанного результата, а не пересчитывается заново. Конструкт, сценарий и условие расчёта проставлены в каждой строке — файлы разных сценариев можно складывать в один и сравнивать.
Что делать: эта выгрузка — для анализа руками. Если нужно вернуть результат в систему как план, берите вторую кнопку — «Программа выпуска» в формате загрузки данных.
Выгрузка программы по ячейкам — формат загрузки
Что показывает: программу в стандарте формата данных продаж (14 колонок) плюс «Рабочий центр» и «Объём производства». Строки идут по ячейкам «канал × позиция × центр» на каждый месяц набора.
Как читать: раскладка по миксу здесь не нужна — модель сама даёт строки по каналам и позициям, поэтому итог файла совпадает с цифрами на экране до копейки. Объём продаж равен объёму производства: Δзапасов = 0.
Что делать: файл грузится обратно в систему как план: результат оптимизации становится входными данными следующего расчёта — прогноза, стратегии или план-факта.