В связи с состоянием экономики России потребность в решении задач оптимизации бизнес-процессов растет с каждым годом. Это происходит из-за снижения нормы прибыли во многих отраслях.
В настоящий момент на оптово-розничных торговых предприятиях существует проблема неэффективного использования оборотных средств. Основным видом использования оборотных средств для предприятий торговли являются товарные запасы. Для нормального функционирования торгового предприятия необходимо поддерживать запасы по складским позициям для обеспечения покупательского спроса. Отсюда возникает задача определения оптимального запаса по товарной позиции на определенный период и момента заказа.
На малых и средних торговых предприятиях решать ее эффективно не всегда возможно. Это связано с недостаточной адекватностью используемых инструментов и большой сложностью более эффективных математических моделей и алгоритмов. В результате по одним товарным позициям возникает большой излишек, в то время как по другим значительный дефицит. В итоге предприятие страдает от потерь из-за отсутствия товара, необходимого покупателям, упущенного спроса и от потерь денежных средств, замороженных в избыточных объемах запасов и списаний по срокам годности.
Существующие разработки для малого и среднего бизнеса либо имеют скудные возможности, низкое качество прогноза и плохую поддержку, либо являются сложными, громоздкими, дорогостоящими системами с большими сроками внедрения и высоким порогом для использования.
В данной работе предлагается программный продукт, не имеющий этих недостатков и позволяющий эффективно управлять товарными запасами.
Возможности системы
Программный продукт Forecast NOW! [1, 2] предназначен для прогнозирования потребительского спроса и оптимизации товарных запасов торговых компаний со своим складом за счет авто- матизации процесса расчета заказа поставщику и увеличения точности рассчитанной потребности в товаре. Продукт ориентирован, прежде всего, на малые и средние торговые предприятия с числом товарных наименований от 1 тысячи уникальных позиций и годовым оборотом от 10 млн до 1 млрд рублей.
Система позволяет оптимизировать складские товарные запасы, снизить издержки на их хра- нение, повысить оборот денежных средств предприятия за счет сокращения излишних запасов, повысить объем продаж за счет увеличения уровня удовлетворенного спроса (сокращения дефицита), существенно сократить время на формирование заказа поставщику, автоматизировать работу отдела закупок.
Для решения этих задач строятся прогнозы спроса на каждую товарную позицию. При построении прогноза спроса учитываются характеристики временного ряда спроса, частота продаж, их вариативность. Для каждого товара выбирается оптимальный метод прогнозирования согласно дереву решений в зависимости от рассчитанных параметров. Среди используемых методов прогнозирования – композиции нейронных сетей [3] и генетических алгоритмов [4], методы математического моделирования. Опираясь на построенные ранее прогнозы, осуществляется расчет оптимального товарного запаса, потребности в товаре с учетом требуемого уровня сервиса, частоты поставок, кратности партии, минимального остатка на полке и прочих ограничений. На основе рассчитанных потребностей формируется отчет о необходимых закупках, который может быть предоставлен как по товарным группам, так и в разрезе поставщиков или производителей.
Программная система может формировать заказы поставщику, распределительному центру или рассчитывать оптимальные внутренние перемещения [5].
Разработаны специализированные версии системы для различных отраслей торговли [6].
Общая архитектура и интерфейс системы
Проект состоит из двух основных частей: библиотеки Core.lib («Ядро»), содержащей в себе функционал для взаимодействия с БД с проведением анализа данных и расчетный блок, а также графического интерфейса пользователя. В процессе создания интерфейса пользователя использован стандартный подход разделения объектов на модели и представления, обогащенный предоставляемой библиотеками Qt системой слотов и сигналов. Общая схема действий пользователя (рис. 1) отражает главные компоненты интерфейса пользователя, их можно разделить на четыре группы: расчет и сохранение заказа (рис. 2), проведение анали- зов (рис. 3), настройка параметров, визуализация исходных данных (рис. 4). Визуально эти группы разделены между собой отдельными вкладками.
База данных
Для хранения данных используется встроенная БД SQLite3. Выбор данной СУБД обусловлен тем, что она обеспечивает максимальную производительность на ограниченных объемах данных в однопользовательском режиме, который подразумевает использование одной БД одним пользователем. Это не является ограничением для аналитической системы: первичные данные находятся только в учетной системе пользователя, а синхронизация осуществляется посредством обмена данными с этой системой.
Общая схема таблиц БД (рис. 5) содержит несколько основных таблиц. Таблица sales предназначена для хранения истории продаж и остатков, получена из учетной системы пользователя. Таблица productsTable хранит информацию о товарах, складах (торговых точках) и их уникальных идентификаторах. Таблица с аналогами analogs предназначена для работы механизма учета аналогичных товаров и их продаж при формировании прогноза и расчета потребности в товаре. Учет маркетинговых акций и привязка к товарам осуществляются с использованием таблиц campaigns и itemCampaigns. Классификация товаров, а также их свойства реализованы на основе троек <Субъект, Предикат, Объект> и хранятся в таблице Triples. Рабочие и выходные дни определяются таблицами schedule и scheduleWeekType. Информация о транспортных средствах с их весогабаритными характеристиками находится в таблице carriers. Для разграничения прав пользователей реализован соответствующий механизм, использующий таблицу users.
Ядро системы
Ядро системы Forecast NOW! включает несколько блоков (рис. 6). Данные импортируются из корпоративной информационной системы (КИС) поль- зователя, затем проходят проверку на корректность. После этого согласно заданному расписанию поставок формируется план-график заказов, которые необходимо рассчитать. Подготовленный список заказов поступает на вход модуля «Формирование заказов», который рассчитывает необходимый товарный запас по каждой товарной позиции и определяет потребность в соответствии с текущими остатками товара, резервами, товаром в пути. Модуль «Учет ограничений» позволяет учесть такие ограничения на за- каз, как минимальная партия, кратность упаковки и пр. В результате формируются рассчитанные заказы, которые могут быть экспортированы в удобном формате (xls, csv, html). После этого заказ может быть отправлен поставщику или загружен в КИС пользователя.
Модуль импорта данных
Разработанная система использует ряд внешних данных, в число которых в обязательном порядке входят данные об истории продаж, остатков и цен закупки и реализации. В качестве источников данных используются csv-файлы гибкой структуры. Пользователь может выбрать порядок столбцов, разделители, формат даты, целой и дробной частей.
Для сохранения истории продаж в csv-файл пользователи программного продукта «1С: Предприятие» могут применять специально созданную внешнюю обработку.
Кроме обязательных данных, система также может импортировать данные о классификации товаров, их параметрах, аналогах и маркетинговых акциях.
История продаж. Включает следующие данные о товаре: продажи, фактический остаток, товар в пути, товар в резерве, размещенные заказы поставщику, цены закупки и реализации. Данные выгружаются ежедневно, если было какое-то их изменение.
Тройке (уникальный идентификатор товара, склад, дата) соответствует одна строка.
Классификация товаров. Содержит информацию о свойствах и признаках товара, их группах и подгруппах и о принадлежности товара той или иной группе.
Необходимо загружать программу при изменениях классификации (добавляется новый товар или свойство, меняется значение свойства и т.п.).
Параметры. В программе используются различные параметры, такие как
– срок годности товара в днях: применяется при оценке рисков потерь от списания испорченной продукции;
– маркер «Нового товара»: сколько дней с момента первой продажи товар считается новым (не рассчитывается заказ);
– минимальный запас, необходимый для поддержания на складе вне зависимости от спроса на товар.
Аналоги. Содержит информацию об аналогичных товарах. Задаются главный и младшие аналоги. В заказ или анализ будет попадать главный аналог. При этом суммируется история продаж и остатков по товарам-аналогам. При попытке добавления младшего аналога в заказ или анализ будет добавлен главный аналог.
Акции. Содержит информацию об акциях, такую как период акции, ожидаемый коэффициент роста продаж по акции, список товаров, участвующих в акции.
Проверка данных на корректность
Для корректной работы системы необходимо обеспечить поступление корректных данных на вход. Для этого производится анализ данных, поступающих от пользователя в формате csv.
При импорте данных пользователем история продаж и остатков проверяется на наличие следующих проблем:
1) не задано какое-либо из полей;
2) неверный формат полей;
3) неверное количество полей;
4) цена закупки выше или равна цене реализации;
5) цена закупки равна нулю, при этом продажи больше нуля;
6) противоречивые данные (несколько разных строк) для тройки «склад, товар, дата»;
7) несколько разных названий товара для одного кода;
8) одинаковые строки в выгрузке;
9) наличие разрывов в истории продаж после импорта выбранных данных;
10) более 50 % остатков равны нулю.
Проблемы делятся на две категории – критичные и предупреждения. При обнаружении критичных проблем дальнейший импорт невозможен. Пример критичной проблемы – 1, 2, 3. При обнаружении некритичных проблем выводятся предупреждения с указанием строки и места в строке, где данная проблема обнаружена, а также возможные способы устранения данной проблемы. Например, для проблемы 6 это рекомендация проверить группировку данных по дням.
Производятся два вида проверок исходных данных – синтаксические и семантические. Синтаксические проверки осуществляются без рассмотрения предметной области и ее ограничений (пример – 1, 2, 3, 8). Семантические правила опираются на экспертные знания из предметной области.
Приведем пример работы одного правила.
Правило «Наличие разрывов в истории продаж после импорта выбранных данных» должно обеспечить отсутствие пропусков в истории продаж и обрабатывается следующим образом.
Если количество рабочих дней между максимальной датой в базе и минимальной датой в загружаемых данных больше нуля, то выводится предупреждение следующего вида. История продаж в базе загружена по МАКС_ДАТА(База). Пользователь загружает данные о продажах с МИН_ДАТА(История) по МАКС_ДАТА(История). За период с МАКС_ДАТА(База)+1 по МИН_ДАТА(История) данные о продажах отсутствуют. Если это выходные или праздничные дни, то в этом нет ничего страшного. В другом случае вам следует загрузить данные за пропущенный период, иначе составленные прогнозы будут недостоверны.
Здесь МАКС_ДАТА(База) – последняя дата, на которую информация по истории продаж и остатков сохранена в базе; МИН_ДАТА(История) – первая дата в загружаемой истории продаж и остатков; МАКС_ДАТА(История) – последняя дата в загружаемой истории продаж и остатков.
Формирование плана-графика заказов
План-график заказов формируется на основе расписания заказов, которое может быть задано в виде календаря с отмеченными днями возможного заказа, а также с помощью начальной даты отсчета и периодичности заказов. Первый вариант позволяет реализовывать сложные схемы расписания заказов, например, каждые вторник и среду по нечетным неделям месяца. Второй вариант более простой и позволяет задавать расписание следующего вида: раз в неделю по вторникам. Расписание заказов может быть уникальным для каждой пары товар–склад. Это позволяет очень гибко определять правила заказов товаров в зависимости от склада, поставщика или любого другого свойства товара.
Помимо даты размещения заказа, для расчета потребности необходимо знать горизонт планирования (на какой период этим заказом планируется гарантированно удовлетворить спрос с заданным уровнем сервиса), а также срок поставки (время с момента размещения заказа до момента его поступления на склад и возможности его реализации покупателям). Эти параметры также могут быть заданы для каждой пары товар–склад уникальными или в зависимости от поставщика или любого другого свойства.
В результате система определяет, какие товары могут быть сегодня заказаны, и группирует их согласно следующему кортежу: склад–заказчик, поставщик, дата размещения заказа, дата поступления заказа, плановая дата окончания товарного запаса.
Таким образом получается список заказов, состоящий из списка товаров, по которым необходимо рассчитать потребность на даты (дата поступления заказа, плановая дата окончания товарного запаса), а также расход до поступления товара на даты (текущая дата, дата поступления заказа).
После формирования плана-графика произ- водится расчет потребности в товаре для каждого товара в каждом заказе. В результате получаются рассчитанные заказы поставщику с учетом ограничений поставки на конкретную позицию. Ограничения на весь заказ позволяет учесть модуль «Учет ограничений». Для оценки эффективности управления товарными запасами предназначен анали- тический блок. Он позволяет также принимать решения относительно уровня сервиса, который рентабельно обеспечивать компании по той или иной товарной позиции.
Модуль формирования заказа
Основной задачей системы является расчет заказов для поставщиков, осуществляемый модулем формирования заказов. Как было отмечено ранее, на вход этого модуля подается календарный план-график заказов, сформированный на основе расписания поставок. Задачей модуля формирования заказов (рис. 7) является определение объемов заказа по каждой из позиций плана-графика.
Предобработка истории продаж. Для получения точного расчета оптимального товарного запаса необходима качественная предобработка исходных данных. Исходные данные могут иметь следующие особенности:
– неслучайное отсутствие спроса в моменты дефицита;
– завышенный спрос в моменты маркетинговых акций;
– заниженный спрос в постмаркетинговый период;
– аномально большие нехарактерные продажи.
В большинстве случаев фактор качественной предобработки является решающим и позволяет увеличить точность прогнозирования на 10–15 % при наличии незначительной предобработки и на 30–40 % при полном изначальном ее отсутствии.
Важным этапом предобработки данных является фильтрация, так как она позволяет сгладить временной ряд, уменьшить число выбросов, снизить содержание шума в выборке. Фильтрация может действовать локально, на конкретные выбросы, а также глобально – на весь временной ряд.
Для решения первой задачи используются анализ частот объемов продаж и отсечение по заранее заданному порогу. Также используется ряд критериев локальной фильтрации – фильтрация выбросов использованием критериев Диксона [7, 8], Шовене [9], Титьена–Мура [10]. Статистические критерии позволяют проверить гипотезу о наличии значительного отклонения в данных, которое носит случайный характер и с большой вероятностью является шумом.
Для анализа с использованием критерия Диксона исходный ряд преобразуется в возрастающую вариативную последовательность с повторениями x1, …, xn, а сам критерий определяется отношением
Гипотеза проверяется с использованием известных значений для критерия Диксона.
Критерий Шовене [9, 11] базируется на подсчете ожидаемого числа значений nожид, которые имеют такую же погрешность, как и тот, в отношении которого проверяется гипотеза. Для проверки гипотезы вычисляются выборочное среднее и среднеквадратичное отклонения. Согласно таблице нормального распределения определяется вероятность появления подозрительного элемента Pz. Тогда для выборки размером n ожидается появление nожид с подобной погрешностью согласно nожид = = n ´ Pz.
Для проверки гипотезы согласно критерию Титьена–Мура [10] производится вычисление статистики L(k) для k минимальных значений выборки:
Далее осуществляется сравнение с известными критическими значениями, на основании чего гипотеза или опровергается, или принимается.
Глобальная фильтрация основана на преобра- зовании Фурье, которое позволяет перейти от значений временного ряда к его составляющим – гармоническим колебаниям различной частоты. Шумовая компонента является высокочастотной. Исключая колебания таких частот из сигнала и производя обратное преобразование, можно понизить уровень шума в исходном сигнале.
Расчет товарного запаса. Оптимальный товарный запас рассчитывается на основании прогноза спроса и страхового запаса на случай колебания спроса или неточности прогноза [12]. Альтернативным подходом, используемым для расчета оптимального запаса, являются методы математического моделирования и эмпирического восстановления распределения вероятности спроса [13]. Решение о выборе алгоритма прогнозирования принимается автоматически на основе дерева решений исходя из характеристик временного ряда спроса (среднего интервала между фактами продаж, вариативности этих интервалов, вариативности объемов продаж) [14].
Расчет заказа поставщику. Для расчета заказа поставщику нужно знать оптимальный товарный запас, который необходим для обеспечения спроса с заданным уровнем сервиса в течение периода между поставками, а также прогнозируемый остаток на момент поступления на склад рассчитываемого заказа.
Прогнозируемый остаток определяется по следующей формуле:
forecastStock =max([max(actual – reserve; 0) +
+ transit + ordered – consumption]; 0),
где actual – фактический остаток на настоящее время; transit – количество товара, отгруженное поставщиком, но не поступившее на склад; ordered – количество товара, заказанное у поставщика, но еще не отгруженное; consumption – расчетный расход до поступления; reserve – зарезервированное количество товара. Первые четыре параметра берутся из учетной системы, а расход до поступления рассчитывается системой.
Расход до поступления – количество товара, необходимое для удовлетворения спроса с заданной вероятностью, на период с последней даты в базе до даты поступления рассчитываемого заказа.
На расход до поступления, в свою очередь, влияют выставленные акции, сезонность, тренд и прочие факторы.
В случае фиксированного расписания поставок количество товара, которое необходимо заказать, рассчитывается следующим образом:
orderAmount=max(0; optimalStock – forecastStock),
где orderAmount – количество товара для заказа; optimalStock – оптимальный запас; forecastStock – прогнозируемый остаток товара.
Теперь рассмотрим, как рассчитывается количество товара, которое необходимо заказать в случае наличия точки заказа. Под точкой заказа подразумевается размер товарного запаса в натуральных единицах или днях покрываемого спроса. Если прогнозируемый остаток опускается ниже точки заказа, производится заказ по этой позиции, в противном случае – нет:
Если forecastStock)< orderPoint,
orderAmount =max(0; optimalStock – forecastStock), иначе orderAmount = 0,
где orderPoint – точка заказа, нат. ед.; orderAmount – объем заказа; optimalStock – оптимальный запас; forecastStock – прогнозируемый остаток.
Расчет оптимального уровня сервиса. Под оптимальным уровнем сервиса подразумевается такой уровень сервиса, для обеспечения которого суммарные потери денежных средств минимальны.
Таким образом, оптимальным уровнем сервиса считается такой уровень сервиса, объем запасов vl при котором является решением экстремальной задачи:
при ограничениях: StorageC(vl) ³ 0, MoneyC(vl) ³ 0, DeficitC(vl) ³ 0, ExpiredC(vl) ³ 0, vl ³ 0.
При расчете функционала потерь учитываются затраты на хранение продукции, стоимость денежных средств, а также сроки годности продукции: StorageC(vl) – стоимость хранения товарного запаса объемом vl, д.е./год; MoneyC(vl) – стоимость денежных средств, д.е./год; DeficitC(vl) – потери от дефицита, д.е./год (упущенный спрос); ExpiredC(vl) – потери от списания продукции с истекшим сроком годности, д.е./год.
Пользователь системы может ознакомиться с результатами расчета оптимального уровня сервиса на вкладке «Анализ» – «Уровень сервиса» (рис. 8).
Учет ограничений
При расчете заказа поставщику пользователь может задать ограничения сверху и снизу на такие параметры, как сумма заказа, число дней товарного запаса, объем заказа, вес заказа, число транспортных средств и их характеристики.
Чтобы иметь возможность выбора наиболее оптимального с точки зрения бизнес-логики пользователя товара, применяется механизм настраиваемых критериев важности товаров. В качестве кри- териев для выбора товаров доступны следующие: востребованность товара, плотность товара исходя из весогабаритных его характеристик, рентабельность товара, цена закупки товара, пользовательский критерий.
Аналитический блок
Аналитический блок позволяет оценивать эффективность управления товарными запасами как за конкретный временной промежуток, так и в динамике. Также данный блок предоставляет исходную информацию для категорийного менеджмента.
В аналитический блок входят следующие виды анализов: ABC-XYZ, «Эффективность», «Спрос», «Ассортимент», «Динамика», «Категорийный менеджмент» [15], «Обеспечение продаж», «Излишки».
Анализ ABC-XYZ позволяет проводить классический ABC-XYZ-анализ либо произвольный анализ, начиная от кросс-ABC-анализа, заканчивая ABC-XYZ-анализом по требуемым параметрам (выручка, количество, себестоимость, прибыль).
ABC-анализ позволяет оценить вклад того или иного товара по выбранной характеристике в общий объем по этой характеристике. Например, если проводится ABC-анализ по выручке, то в группу А попадают товары, приносящие наибольшую выручку, в группу B – среднюю, в С – наименьшую.
XYZ-анализ позволяет оценить степень вариативности (изменчивости) товаров по выбранному параметру: X – самая стабильная группа, Y – группа средней стабильности, Z – нестабильная.
Анализ «Эффективность» позволяет оценить, насколько эффективно в настоящий момент зака- зываются те или иные позиции и группы товаров. По товарным позициям или товарным группам, а также группировкам по любым пользовательским свойствам можно замерить ключевые показатели эффективности управления товарными запасами как в натуральном, так и в денежном выражении: оборачиваемость, уровень сервиса, упущенная прибыль, излишние запасы и т.п.
Анализ «Спрос» позволяет оценить изменение товарного запаса при изменении уровня сервиса, а также наглядно представить полученное рас- пределение спроса на товарную позицию на за- данный временной промежуток. Данная функция позволяет пользователю лучше понять механизм работы программы, а значит, больше доверять ее расчетам.
Анализ «Ассортимент» позволяет оценить ассортимент товаров предприятия на основе предопределенных бизнес-правил. Данные представляются в виде столбиковой диаграммы, разделенной на следующие группы:
– выбывший ассортимент – товары, которые в последний месяц (или другой период) не продавались и отсутствовали на складе;
– неликвид – товары, которые есть на складе, но в последний месяц (или другой период) по ним не было продаж;
– нет на складе – на сегодняшнюю дату этих товаров нет на складе;
– остатки не соответствуют продажам – группа предназначена для проверки того, насколько правильно реализован обмен данными или насколько в целом достоверны данные;
– отрицательные остатки;
– отсутствует закупочная или реализованная стоимость – ряд анализов по таким товарам будут некорректны, например, ABC-XYZ-анализ по прибыли или по стоимости;
– прерывистые продажи – группа товаров с прерывистым спросом, средний интервал между фактами продаж – больше 1,25 периода;
– продажи под заказ – группа товаров, привозимых поставщиком и продаваемых потребителям в один и тот же день.
Анализ «Динамика» позволяет анализировать эффективность работы склада в динамике, представленную в графическом виде. Результаты можно анализировать как по конкретному товару, так и по группе товаров. На одном графике можно сравнивать следующие показатели: средние продажи и остатки, уровень сервиса и оборачиваемость, прибыль и рентабельность запасов.
Анализ «Категорийный менеджмент» [15] позволяет выявлять ТОП-10 товарных групп по различным показателям эффективности и прочим аналитическим показателям, доступным в анализе «Эффективность». Он предназначен для управления ассортиментом и выявления проблемных товарных групп, поставщиков и т.п.
Анализ «Обеспечение продаж» позволяет оценить объем продаж, который может быть достигнут при выставленных параметрах системы, исходя из математического ожидания продаж и оптимального товарного запаса на месяц с заданным уровнем сервиса. Оптимальный товарный запас на месяц по сути является оценкой товарооборота за месяц.
Анализ «Излишки» позволяет оценить динамику объема излишних запасов и объем запасов, не востребованный за разные периоды времени (год, месяц, неделя), в денежных единицах, а также увидеть понедельное распределение объема таких товаров.
Экспорт данных
Модуль экспорта данных позволяет сохранять результаты расчета заказа и проведенных анализов в форматах csv, xls, xlsx, html. Для сохранения в форматах xls и xlsx используется сторонняя библиотека LibXL (http://libxl.com/). Модуль обеспечивает обмен данными с КИС пользователя посредством обмена данными в формате csv.
Результаты внедрения системы
Опытное внедрение системы было осуществлено на одном из торговых предприятий города Твери. Для оценки экономической эффективности перед внедрением было проведено имитационное моделирование. При этом использовались данные предприятия о продажах и остатках за 2011 год. Моделировалось поведение склада и продаж при осуществлении закупок по рекомендациям программы в течение 2 месяцев. Закупки делались каждые две недели. Полученные результаты сопоставлялись с реальными остатками и продажами. При расчете экономии во внимание принимались возникшая экономия по закупочной цене, а также возможный дефицит в результате уменьшения запаса.
В моделировании не учитывались товары, которые имели менее двух движений за период. Общая расчетная экономия в процентном соотношении составила 63 % от общего объема склада. Сравнение результатов моделирования с реальными историческими данными представлено на рисунке 9.
На рисунке 10 показана экономия в разрезе товарных позиций. По оси абсцисс – номер товарной позиции, по оси ординат – размер экономии по этой позиции. Стоит отметить, что не все денежные средства могут быть быстро высвобождены при использовании рекомендаций программы. Это связано с тем, что товары имеют разную степень ликвидности. Так, основная масса нерационально использованных оборотных средств сосредоточена на крайне медленно оборачивающихся позициях. Тем не менее, моделирование показало, что 15 % от оборотных средств могут быть высвобождены в течение 6 месяцев.
В настоящий момент программный продукт Forecast NOW! внедрен на пятнадцати торговых предприятиях России (Тверь, Москва, Владивосток, Новосибирск и др.), Казахстана (Петропавловск) и Беларуси (Минск). Общее число торговых точек, которые используют программный продукт в своей работе, превышает 100 структурных единиц. Экономический эффект составляет порядка 10–30 % дополнительной прибыли для предприятия за счет увеличения уровня сервиса на 7–15 %, сокращения уровня товарных запасов на 15–34 %, а также снижения числа неликвидов. Имеются положительные отзывы от клиентов по результатам работы с программным продуктом, а также от экспертов в области управления запасами и цепочками поставок. Программный продукт применяется в учебном процессе университетов по направлению подготовки «Бизнес-информатика» [16]. Работа представлена [17] на различных профильных и научных конференциях.
Литература
1. Грицай А.А. и др. Программа оптимизации складских запасов Forecast NOW! Свид. о гос. регистр. программы для ЭВМ 2012613236.
2. Грицай А.А., Варанкин Д.А. Система управления товарными запасами Forecast NOW! Версия 3.0. Свид. о гос. регистр. программы для ЭВМ 2013619454.
3. Хайкин С. Нейронные сети. Полный курс. 2-е изд. М.: Вильямс, 2006. 114 с.
4. Гладков Л.А., Курейчик В.В., Курейчик В.М. Генетические алгоритмы. 2-е изд. М.: Физматлит, 2006. 320 с.
5. Грицай А.А., Остренков Н.В. Forecast NOW! Балансировка складов. Свид. о гос. регистр. программы для ЭВМ 2015614336.
6. Грицай А.А. и др. Forecast NOW! Версия Автозапчасти. Свид. о гос. регистр. программы для ЭВМ 2015611669.
7. Dixon W.J. Analysis of Extreme Values. Ann. Math. Stat, 1950, vol. 21, no. 4, pp. 488–506.
8. Dixon W.J. Ratios Involving Extreme Values. Ann. Math. Stat, 1951, vol. 22, no. 1, pp. 68–78.
9. Большев Л.H., Убайдуллаева М. Критерий Шовенэ в классической теории ошибок // Теория вероятностей и ее применение. 1974. Т. XIX. № 4. С. 714–723.
10. Tietjen G.L., Moore R.H. Some Grubbs-Type Statistics for the De-tection of Several Outliers. Technometrics, 1972, vol. 14, no. 3, pp. 583–597.
11. Пагурова В.И. О критерии Шовэне для обнаружения нескольких выбросов // Теория вероятностей и ее применение. 1985. Т. 30. № 3. С. 558–561.
12. Грицай А.А. Расчет оптимального запаса товаров частого спроса с использованием нейронных сетей // Математика, статистика и информационные технологии в экономике, управлении и образовании: сб. тр. III Междунар. науч.-практич. конф. Тверь: Изд-во Тверского гос. ун-та, 2014.
13. Грицай А.А., Варанкин Д.А. Forecast NOW! Мультиэшелонное планирование. Свид. о гос. регистр. программы для ЭВМ 2015614338.
14. Грицай А.А. Определение эффективной структуры входных данных для обучения нейронной сети решению задачи прогнозирования спроса // Вестн. Тверского гос. ун-та: Сер. Прикладная математика. 2014. № 2. С. 123–134.
15. Грицай А.А., Остренков Н.В. Forecast NOW! Категорийный менеджмент. Свид. о гос. регистр. программы для ЭВМ 2015614337.
16. Грицай А.А., Романова Е.Ю. Интегративное значение изучения информационных систем в профессионально-матема- тической подготовке по специальности «Бизнес-информатика» (на примере системы Forecast NOW!) // Информационные технологии в науке и образовании: сб. тр. Всерос. науч.-практич. конф. Чебоксары: Изд-во Чувашского гос. пед. ун-та, 2013. С. 28–31.
17. Викторов Е.А., Грицай А.А. Тверские Интернет-технологии // Система управления товарными запасами Forecast NOW! Технология и коммерциализация: сб. трудов науч.-практич. конф. Тверь: Изд-во Тверского гос. ун-та, 2013. С. 38–42.