Что нового в версии 5.0 Forecast NOW!

Важно. Обновление до 5.0 может иметь особенности (необходимо заново прописать доступ к ключу Guardant).

Основное изменение в программе – появление сервера кэширования данных, позволяющего быстрее обрабатывать большие объемы данных, что увеличивает быстродействие программы.

В новой версии при помощи карточки товара вы можете в одном месте посмотреть всю интересующую информацию по товару – какие параметры ему установлены, какими свойствами он обладает, какие пользовательские поля ему загружены, какая у товара группа по ABC анализу или анализу-ассортимента.

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

В заказе вы теперь можете посмотреть расход до поступления в разбивке по месяцам, что может быть полезно при длинных плечах поставок.

Стала доступной подробная расшифровка влияния акций на заказ – какие акции и на сколько повлияли на размер заказа.

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

Для синхронизации балансировки с заказом в балансировку добавлена информация о расходе товара на складе-реципиенте за срок доставки с РЦ, а также прогнозируемый остаток на дату прихода самой балансировки.

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

Расширены возможности управлением акциями для целого сегмента клиентов – можно объявлять акции на клиентов из одного канала или разделенных на разные юр лица.

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

Для консольного ABC анализа добавлена возможность удобного отбора товаров при помощи фильтра.

Также в версии 5.0 существенно ускорены основные операции программы.

Оглавление

Особенности обновления программы до версии 5.0

Процесс обновления до версии 5.0 имеет некоторые особенности

Первая часть обновления стандартна:

1. Закрыть программу у всех пользователей

2. Скопировать базу данных (.db) для SQLite версии программы или дамп базы для MySQL и MS SQL версий на внешний носитель для обеспечения сохранности данных.

3. Удалите программу через мастера установки и удаления программ

4. Проверьте, что папка с программой пуста, если нет – удалите ее содержимое вручную

5. Установить обновление, запустив дистрибутив

6. Важно

После установки обновления может возникнуть ошибка ключа защиты

Для решения проблемы нужно

  • удалить старый файл gnclient.ini (Закройте программу и удалите файл gnclient.ini из C:\ProgramData\Ingenious Team\ForecastNOW),

  • запустить новую версию программы (которая выдала ошибку).

Guardant должен сам найти сервер и прописать необходимую информацию в gnclient.ini.

Если Guardant не пропишет IP то нужно прописать вручную адрес сервера в файле gnclient.ini, лучше при этом использовать IP а не доменное имя.

Сервер данных

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

Мы подошли к решению этой проблемы глобально и разработали сервер кэширования данных – сервис, который хранит у себя различные данные и «отдает» их программе по мере необходимости. На текущий момент кэшируется история продаж и параметры товаров.

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

  • Открытие программы (на разных базах ускорение от 2 до 10 раз)

  • Формирование заказов (на разных данных и фильтрах подготовки до 50%)

  • Применение правил автоматической установки параметров (на разных правилах – до 5 раз)

  • Загрузка истории продаж

  • Загрузка параметров

  • Запись параметров в интерфейсе программы

  • Чтение истории продаж на вкладке Продажи

  • Построение прогноза спроса

  • Формирование балансировки (на разных данных и фильтрах подготовки до 30%)

Также сервер позволяет сохранять быстродействие программы при увеличении объема данных (новые склады, товары и пр.)

Для того, чтобы сервер заработал, его необходимо установить:

Установка сервера данных

Для работы сервера требуется

  1. Запустить установочный файл

  2. После окончания установки нажать в последнем окне «Запустить мастер установки сервера Forecast NOW» и нажать «Завершить»

Альтернатива (если обновление уже установлено) – запустить FSystemServerWizard в папке с программой или Мастер запуска сервера)

  1. Установить сервер, программа предложит запустить сервер на базе – выбрать нужную базу данных

  1. Должно появиться сообщение «Сервер успешно установлен и запущен»

  1. Если по каким-то причинам после установки сервера не будет предложено выбрать базу данных, то запустить Мастер запуска сервера Forecast NOW! и выполнить пп. 3 и 4

Оптимизация

Помимо разработки сервера кэширования данных проводились работы по оптимизации работы:

Изменение структур хранения данных (параметров, полей товаров, журнала и пр.) – позволяет более эффективно хранить и считывать данные – программа работает быстрее

Ускорение импорта различных типов данных (основные работы проведены по ускорению импорта поставщиков, истории продаж и параметров)

Новый функционал

Карточка товара

Часто возникает потребность в одном месте посмотреть всю интересующую информацию по товару – какие параметры ему установлены, какими свойствами он обладает, какие пользовательские поля ему загружены, какая у товара группа по ABC анализу или анализу-ассортимента.

Для того, чтобы это было наглядно видно в одном месте мы разработали Анализ «Карточка товара».

Нужно

  1. Настроить вид Карточки товара (какие данные по товары Вы хотите видеть)

  2. Добавить товары в Анализ

  3. Провести Анализ

  4. Итоги анализа можно сохранить в Excel

При помощи карточки товара вы можете

  • В одном месте посмотреть нужную информацию по всем необходимым товарам

  • понять, какими товарам не установлены параметры или свойства

  • Какие параметры/значения свойств установлены товарам и совпадают ли они с нужными.

Например, у вас есть автоправило о том, что все товарам категории «Заказная» должен стоять параметр «Не заказывать товар = Нет».

Категорию вы передаете как поле товара. Вам нужно добавить в карточку поле «Категория товара» и параметр «Не заказывать товар» - вы наглядно увидите, всем ли товарам категории «Заказная» встал параметр «Не заказывать товар = нет»

Сам анализ проводится быстро (на 800 000 товаров в пределах 10 минут)

Корректировка планов по 1 товару

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

Раньше можно было вводить только общую корректировку по всем товарам, добавленным в расчет. В версии 5.0 такие корректировки можно вводить по каждому товару в отдельности, а таже удобно подгружать собственные планы продаж.

Для просмотра и корректировки потоварных планов необходимо переключить Вид Прогноз-Обеспечение продаж на «потоварный план».

В таблице вы можете

  1. Увидеть прогноз спроса и продаж по каждой позиции в штуках и деньгах

  2. Отобразить продажи за этот же период в прошлые годы

  3. Увидеть, создавались ли ранее по позициям корректировки спроса

  4. Загрузить или ввести собственный план продаж

  5. Задать корректировку, чтобы программа учла запланированное изменение спроса

Формат загрузки собственного плана

Для загрузки собственного плана нужно выбрать пункт контекстного меню «Загрузить план по товарам».

Сам файл должен быть формата csv и содержать только товары (без групп товаров или клиентов)

склад;товар;дата;значение - загрузка плана в штуках

склад;товар;дата;тип;значение - загрузка плана по определённому показателю

Дата – нужно указать одну дату из месяца прогноза (любую)

Если тип не указан – программа посчитает, что план в натуральных единицах

Типы:

amount - в штуках

sell - в ценах продажи

purchase - в ценах закупки

profit - в прибылях

пример:

склад1;товар1;2021-01-01;amount;1

склад1;товар1;2021-02-01;3

склад1;товар1;2021-01-01;sell;11

склад1;товар12021-01-01;purchase;111

Возможный кейс использования

Отдел маркетинга предоставляет план продаж на 1 квартал 2022 года. Вы хотите

  1. Сравнить его с планом продаж, рассчитанным Forecast NOW!

  2. При необходимости внести корректировки в расчёт программы, чтобы скорректировать закупки товара под план

В программе строится потоварный план и загружается ваш собственный план. Далее вы просматриваете самые большие отличия обоих планов,

Импорт данных

Режим загрузки акций

Для загрузки акций в формате файла с заголовком полей добавлено 2 режима загрузки: Обновление или Замена

В режиме обновления акции загружаются следующим образом: информация дописывается(обновляется) по существующим акциям или создаются новые акции

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

Также создаются новые акции

Режим обновления для консольного импорта: -a или -append в разделе [режим формат | режим] команды import -mc

Режим замены для консольного импорта: -r или -remove в разделе [режим формат | режим] команды import -mc

По-умолчанию, если не указан соответствующие режим, акции будут загружаться в режиме обновления.

Заказ

Расход и ОТЗ по месяцам

При длинных плечах поставок и горизонта планирования (норматива запаса) может возникать потребность просмотра рассчитанных программой оптимальных запасов не только на весь период расчета, но и в разбивке по месяцам. Например, это может быть полезно для понимая, на какой месяц из периода поставки приходится самый большой расход, когда может возникнуть дефицит.

Для того, чтобы увидеть соответствующую информацию, нужно использовать глобальную настройку «рассчитывать помесячные показатели» и добавить нужные столбцы в меню Вид – Помесячные показатели

Работа с закупками под клиентов при уменьшении заказа

Часто возникает потребность уменьшения заказа до бюджета закупки или до транспортного средства. При этом могут быть обязательные закупки под клиентов (тендеры, договоренности). В версию 5.0 добавлена следующая логика – при уменьшении заказа не может быть уменьшен заказ позиций с ненулевыми закупками под клиентов в период заказа. Это необходимо для того, чтобы не срывать договорные поставки при уменьшении заказа до целого транспортного средства.

Минимальное ограничение на заказ в штуках

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

Сумма поступлений

Если вы загружаете ожидаемые поступления товара с датами прихода, то теперь они отображаются в столбце таблицы заказа «Сумма поступлений» (ранее переносились в столбец «Заказано»)

Расшифровка влияния акций

Добавлена подробная расшифровка влияния акций на размер заказа.

Нужно добавить поля «Влияние акций коэффициент» и «Влияние акций Объем» в таблицу заказа и при помощи контекстного меню выбрать пункт «Показать расшифровку влияния конкретных» акций

В открывшемся окне можно увидеть акции, повлиявшие на расчёты, а также информацию по ним (периоды проведения, коэффициенты, объемы спроса)

Режимы резервов

Добавлена поддержка режимов резервов для алгоритма с учетом поступления дат поступлений заказов.

Резервы под исключительный спрос – резерв добавляется к рассчитанному программой расходу до поступления за период срока доставки (считаем, что резервируем товар под дополнительный спрос))

Резервы под обычный спрос – программа посмотрит, что больше – сформированные резервы или рассчитанный программой спрос на периоде срока доставки и возьмет максимум как ожидаемый расход (считаем, что резервируем товар под обычный спрос)

Пороги округления по упаковкам для разных товаров

Ранее в программу была добавлена возможность округления товара по упаковкам (заказ по товару округлялось до нужной упаковки исходя из выставленных порогов). Но пороги выбирались для всех товаров в одном месте. Однако может возникать потребность указания разных порогов для разных групп товаров или поставщиков (для кого-то до палеты нужно округлять при изначальном заказе 60% палеты, для кого-то при 70% и т.п.). Для решения этой задачи добавлены соответствующие параметры:

Балансировка

Поддержка алгоритма с учетом точных дат поступлений

В версии 5.0 в балансировку полностью внедрен механизм учета дат поступлений заказов (программа моделирует не только спрос, но и остатки, а также учитывает точные даты прихода товаров в пути).

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

Также сама балансировка максимально синхронизирована с заказом – отдельно считается расход до поступления на периоде срока доставки, отдельно – оптимальный запас на норму складского запаса.

Добавлены столбцы «Расход до поступления» и «Прогнозируемый остаток» для склада-реципиента:

Разберем перемещение по третьей строке:

На реципиенте есть 32 штуки товара, ничего не едет. За срок доставки продадим 17 штук – останется 15. На норматив нужно поддерживать оптимальный запас 46 штук. Поэтом переместить нужно 46-15 = 31 штуку.

Округление по упаковкам

Ранее в программу была добавлена возможность округления товара по упаковкам (перемещение по товару округлялось до нужной упаковки исходя из выставленных порогов). Но пороги выбирались для всех товаров в одном месте. Однако может возникать потребность указания разных порогов для разных групп товаров или поставщиков (для кого-то до палеты нужно округлять при изначальном заказе 60% палеты, для кого-то при 70% и т.п.). Для решения этой задачи добавлены соответствующие параметры

Удаление нулевых балансировок

Может возникнуть потребность удаления из списка балансировок тех. Где ничего не предлагается к перемещению.

Для этого в контекстное меню списка балансировок добавлен пункт «Удалить нулевые балансировки».

Действие позволяет удалить из списка все балансировки без товаров или у которых суммарное количество для перемещения равно 0

Также добавлен флаг --exclude-null-balancing для консольной команды формирования балансировки (balancing)

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

 

Акции

Приоритеты акций при пересечении

Часто возникает ситуация, когда на один и тот же товар в один и тот же период времени действуют разные акции.

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

Чтобы выбрать такой способ работы с пересекающимися акциями, нужно в глобальных настройках выбрать Способ агрегации коэффициентов = по приоритету и расставить сами приоритеты. Для разных групп товаров можно выставить разную систему приоритетов.

Фильтр в таблице коэффициентов и Расшифровке акций

Часто акции объявляется по большому числу товаров и при просмотре ее коэффициентов непросто найти ее влияние на конкретный товар.

Для упрощения решения такой задачи в таблицу коэффициентов и их расшифровки добавлен фильтр, в который вы можете ввести интересующие товары

Сегменты клиентов

Часто акция объявляется не на одного клиента, а сразу на определенный сегмент (например, на всех топ-клиентов). И при этом влияние нужно считать не для каждого клиента в отдельности, а для всего сегмента.

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

Добавлена возможность устанавливать акциям сегменты клиентов.

  • Через интерфейс: добавлена вкладка Сегменты в диалог задания клиентов

  • Через импорт:

- в формате с командами (старый формат) добавлена команда ADD_SEG, для удаления можно использовать команду DEL_SEG

- в формате с заголовком добавлен новый тип заголовка: Сегмент клиентов.

При загрузке и задании для акций сегментов производится проверка по следующим критическим факторам:

- указан сегмент, клиент которого ранее был указан в файле для соответствующей акции

- указан клиент, сегмент, в котором он состоит, был указан ранее в файле для соответствующей акции

- указан сегмент, клиент которого задан в уже существующей акции

- указан клиент, который состоит в сегменте существующей акции

При изменении сегментов также производится проверка пересечений их клиентов с клиентами в существующих акциях

В таком случае будет соответствующее предупреждение и ссылка на файл csv с информацией о найденных пересечениях.

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

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

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

Коэффициент по сегменту рассчитывается аналогично расчёту по всем клиентам сегмента.

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

Определение периода заказа под акцию заранее

В программе есть возможность заказа товара под акцию заранее. Ранее товар сразу привозился под все действие акции. В версии 5.0 добавлена возможность заказа товара заранее ен под всю акцию, а только под период самого заказа (т.е при большой длительности акции товар привезется заранее несколькими заказами.

Регулируется при помощи глобальной настройки «Заказывать заранее товар под всю акцию»

Пример. Акция длится месяц, товар нужно привезти за 7 дней до начала акции. При этом заказываем товар каждую неделю.

Если настройка включена, то в поставку за неделю до акции привезется сразу товар на весь акционный месяц.

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

Предупреждение об общих действиях

Для удобства пользователей в общие операции для акций (например, установка коэффициента) добавлена информация о числе акций, к которым это действие будет применено. Полезно для контроля пользователя за общими действиями над акциями.

Анализ

ABC

Отбор товаров для консольного расчета фильтром

Мы выявили, что при консольном проведении ABC анализа не всегда удобно задавать товары для проведения анализа. Поэтому мы добавили в команду возможность указания фильтра, при помощи которых будут отобраны товары.

Фильтр задается через флаг --filter имя_фильтра

Если в файле настроек указаны товары и задан фильтр автоподготовки, то товары будут браться из фильтра.

Полностью команда выглядит следующим образом

FSystemConsole.exe abcxyzanalysis database source target [--user username] [--save name] [--public] [--filter имя фильтра]

Эффективность

Учет резервирования под акции + резерв полем

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

Сверхзапас, нат.ед. = МАКС (0, Текущий остаток на дату До - Резерв - Резерв под акции - Оптимальный запас на норму складского запаса или Оптимальный запас на горизонт планирования).

То есть, лишним запасом теперь не посчитается запас, привезенный под будущий спрос по акции.

Дополнительно добавлен столбец «Резерв под акции». Показывающий, сколько товар на текущий момент зарезервировано под акции.

Параметры

Период расчета сезонности

При расчете сезонного фактора может возникнуть потребность считать сезонные коэффициенты не по всей истории, а по ее выбранному фрагменту (например, вы знаете, что в каком-то году резко просели продажи или этот год выбился из стандартного профиля сезонности).

Для решения этой задачи добавлена возможность указания периодов для расчёта сезонности в Параметры-сезонность.

Если при расчёте сезонности, нужно не учитывать конкретный период истории продаж или же наоборот, проводить расчёт сезонности только по указанному периоду, то это можно указать в отдельном параметре.

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

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

Параметр «Периоды используемой истории продаж» влияет только на расчёт месячной сезонности.

Консольная утилита

Запрос последнего успешного заказа

Добавлена возможность времени вывода последнего успешного заказа (при ее помощи вы можете контролировать работу консоли по формированию заказов)

FSystemConsole.exe check-completion make-orders <make-order-args>

check-completion make-orders <make-order-args> - по команде производится поиск последнего успешного формирования заказов через консоль, запущенного с указанными в команде аргументами <make-order-args>. В противном случае выдает сообщение, что такого заказа нет

<make-order-args> - аргументы запуска консольного заказа, по которому нужно получить информацию, аргументы точно как был запущен заказ.

Если последний заказ был успешно сформирован командой через консоль с указанными аргументами, то будет выведено сообщение с временем начала и окончания выполнения команды:

Last successful execution: Started: время дата Ended: время дата

Если же подобная команда не выполнялась или завершилась некорректно, то так же будет выведено соответствующее сообщение:

No sucessful executions.

Пример команды:

Заказ формируется с помощью команды:

FSystemConsole.exe make-orders --user "user" --consider-balancing "1" "base" "D:\FNOW\OUT\ORDERS"

Чтобы отдельно получить информацию о времени и факте формирования заказа, нужно выполнить команду:

FSystemConsole.exe check-completion make-orders --user "user" --consider-balancing "1" "base" "D:\FNOW\OUT\ORDERS"

Отбор товаров для консольного ABC анализа фильтром

Мы выявили, что при консольном проведении ABC анализа не всегда удобно задавать товары для проведения анализа. Поэтому мы добавили в команду возможность указания фильтра, при помощи которых будут отобраны товары.

Фильтр задается через флаг --filter имя_фильтра

Если в файле настроек указаны товары и задан фильтр автоподготовки, то товары будут браться из фильтра.

Полностью команда выглядит следующим образом

FSystemConsole.exe abcxyzanalysis database source target [--user username] [--save name] [--public] [--filter имя фильтра]

Удаление нулевых балансировок

Может возникнуть потребность удаления из списка балансировок тех. Где ничего не предлагается к перемещению.

Добавлен флаг --exclude-null-balancing для консольной команды формирования балансировки (balancing)

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

Прочее

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

Глобальные настройки

Приоритеты акций при пересечении

Часто возникает ситуация, когда на один и тот же товар в один и тот же период времени действуют разные акции.

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

Чтобы выбрать такой способ работы с пересекающимися акциями, нужно в глобальных настройках выбрать Способ агрегации коэффициентов = по приоритету и расставить сами приоритеты. Для разных групп товаров можно выставить разную систему приоритетов.

Расход и ОТЗ по месяцам

При длинных плечах поставок и горизонта планирования (норматива запаса) может возникать потребность просмотра рассчитанных программой оптимальных запасов не только на весь период расчета, но и в разбивке по месяцам. Например, это может быть полезно для понимая, на какой месяц из периода поставки приходится самый большой расход, когда может возникнуть дефицит.

Для того, чтобы увидеть соответствующую информацию, нужно использовать глобальную настройку «рассчитывать помесячные показатели» и добавить нужные столбцы в меню Вид – Помесячные показатели

Реестр

Запоминание ограничений, с которыми сделан заказ

В версии 5.0. программа запоминает, с какими ограничениями был сделаны прошлые заказы. И если их просматривать из реестра, то эти ограничения можно увидеть, нажав на «Настройки ограничений» в таблице заказа.

Другие публикации