Программные продукты и системы /Software & Systems
№ 4 (112), 2015
УДК 004.94:519.688 Дата подачи статьи: 01.06.15
DOI: 10.15827/0236-235X.112.219-230
ИНТЕЛЛЕКТУАЛЬНАЯ ИНФОРМАЦИОННАЯ СИСТЕМА ПРОГНОЗИРОВАНИЯ ПОТРЕБИТЕЛЬСКОГО СПРОСА
И ОПТИМИЗАЦИИ ТОВАРНЫХ ЗАПАСОВ
А.А. Грицай, аспирант, [email protected] (Тверской государственный университет, ул. Желябова, 33, г. Тверь, 1 70100, Россия)
В статье представлена автоматизированная система управления и оптимизации товарных запасов торговых предприятий. Система ориентирована на малые и средние торговые предприятия. Она позволяет высвобождать денежные средства в размере 20-30 % от объема запасов и увеличивать уровень удовлетворенного спроса на 5-7 %. Это достигается за счет точного прогнозирования товарного запаса исходя из оптимального уровня сервиса для каждой товарной позиции. В статье описаны основные возможности системы: предобработка данных, прогнозирование спроса, расчет оптимального уровня сервиса, расчет оптимального товарного запаса, расчет заказа поставщику. Предобработка данных производится для очистки данных от резких выбросов, воздействия маркетинговых акций, влияния праздников и отсутствия товара на складе. Прогнозирование спроса осуществляется на основе временного ряда, прошедшего предобработку. Для каждого товара вычисляются характеристики его временного ряда истории продаж. В зависимости от характеристик выбирается алгоритм прогнозирования. Страховой запас определяется с заданным уровнем сервиса. Оптимальный уровень сервиса рассчитывается исходя из стратегии максимизации рентабельности вложений торгового предприятия. На основании рассчитанного уровня сервиса и выбранного метода прогнозирования производится расчет оптимального товарного запаса. С учетом имеющегося товара на складе предприятия, товара в пути, а также резервов под конкретных покупателей вычисляется оптимальный размер заказа по данной товарной позиции. После этого применяются попозиционные ограничения на заказ (например кратность упаковки), а затем ограничения на заказ поставщику в целом (например весогабаритные). В работе приведен пример использования системы и сделан вывод об экономическом эффекте от ее внедрения на реальном торговом предприятии.
Ключевые слова: управление товарными запасами, оптимизация товарных запасов, система управления запасами, нейронные сети, прогнозирование спроса, оптимальный уровень сервиса, заказ поставщику.
В связи с состоянием экономики России потребность в решении задач оптимизации бизнес-процессов растет с каждым годом. Это происходит из-за снижения нормы прибыли во многих отраслях.
В настоящий момент на оптово-розничных торговых предприятиях существует проблема неэффективного использования оборотных средств. Основным видом использования оборотных средств для предприятий торговли являются товарные запасы. Для нормального функционирования торгового предприятия необходимо поддерживать запасы по складским позициям для обеспечения покупательского спроса. Отсюда возникает задача определения оптимального запаса по товарной позиции на определенный период и момента заказа.
На малых и средних торговых предприятиях решать ее эффективно не всегда возможно. Это связано с недостаточной адекватностью используемых инструментов и большой сложностью более эффективных математических моделей и алгоритмов. В результате по одним товарным позициям возникает большой излишек, в то время как по другим значительный дефицит. В итоге предприятие страдает от потерь из-за отсутствия товара, необходимого покупателям, упущенного спроса и от потерь денежных средств, замороженных в избыточных объемах запасов и списаний по срокам годности.
Существующие разработки для малого и среднего бизнеса либо имеют скудные возможности, низкое качество прогноза и плохую поддержку,
либо являются сложными, громоздкими, дорогостоящими системами с большими сроками внедрения и высоким порогом для использования.
В данной работе предлагается программный продукт, не имеющий этих недостатков и позволяющий эффективно управлять товарными запасами.
Возможности системы
Программный продукт Forecast NOW! [1, 2] предназначен для прогнозирования потребительского спроса и оптимизации товарных запасов торговых компаний со своим складом за счет автоматизации процесса расчета заказа поставщику и увеличения точности рассчитанной потребности в товаре. Продукт ориентирован, прежде всего, на малые и средние торговые предприятия с числом товарных наименований от 1 тысячи уникальных позиций и годовым оборотом от 10 млн до 1 млрд рублей.
Система позволяет оптимизировать складские товарные запасы, снизить издержки на их хранение, повысить оборот денежных средств предприятия за счет сокращения излишних запасов, повысить объем продаж за счет увеличения уровня удовлетворенного спроса (сокращения дефицита), существенно сократить время на формирование заказа поставщику, автоматизировать работу отдела закупок.
Для решения этих задач строятся прогнозы спроса на каждую товарную позицию. При постро-
219
Программные продукты и системы /Software & Systems
№ 4 (112), 2015
ении прогноза спроса учитываются характеристики временного ряда спроса, частота продаж, их вариативность. Для каждого товара выбирается оптимальный метод прогнозирования согласно дереву решений в зависимости от рассчитанных параметров. Среди используемых методов прогнозирования - композиции нейронных сетей [3] и генетических алгоритмов [4], методы математического моделирования. Опираясь на построенные ранее прогнозы, осуществляется расчет оптимального товарного запаса, потребности в товаре с учетом требуемого уровня сервиса, частоты поставок, кратности партии, минимального остатка на полке и прочих ограничений. На основе рассчитанных потребностей формируется отчет о необходимых закупках, который может быть предоставлен как по товарным группам, так и в разрезе поставщиков или производителей.
Программная система может формировать заказы поставщику, распределительному центру или
рассчитывать оптимальные внутренние перемещения [5].
Разработаны специализированные версии системы для различных отраслей торговли [6].
Общая архитектура и интерфейс системы
Проект состоит из двух основных частей: библиотеки Core.lib («Ядро»), содержащей в себе функционал для взаимодействия с БД с проведением анализа данных и расчетный блок, а также графического интерфейса пользователя. В процессе создания интерфейса пользователя использован стандартный подход разделения объектов на модели и представления, обогащенный предоставляемой библиотеками Qt системой слотов и сигналов. Общая схема действий пользователя (рис. 1) отражает главные компоненты интерфейса пользователя, их можно разделить на четыре группы: расчет и сохранение заказа (рис. 2), проведение анали-
Рис. 1. Схема действий пользователя в системе Fig. 1. User actions in the system
220
Программные продукты и системы /Software & Systems
№ 4 (112), 2015
Рис. 2. Расчет и сохранение заказа Fig. 2. Order calculation and saving
Рис. 3. Анализ распределения спроса на товарную позицию Fig. 3. Product item demand distribution analysis
Рис. 4. Визуализация исходных данных Fig. 4. Original data display
зов (рис. 3), настройка параметров, визуализация исходных данных (рис. 4). Визуально эти группы разделены между собой отдельными вкладками.
База данных
Для хранения данных используется встроенная БД SQLite3. Выбор данной СУБД обусловлен тем,
что она обеспечивает максимальную производительность на ограниченных объемах данных в однопользовательском режиме, который подразумевает использование одной БД одним пользователем. Это не является ограничением для аналитической системы: первичные данные находятся только в учетной системе пользователя, а синхронизация осуществляется посредством обмена данными с этой системой.
Общая схема таблиц БД (рис. 5) содержит несколько основных таблиц. Таблица sales предназначена для хранения истории продаж и остатков, получена из учетной системы пользователя. Таблица productsTable хранит информацию о товарах, складах (торговых точках) и их уникальных идентификаторах. Таблица с аналогами analogs предназначена для работы механизма учета аналогичных товаров и их продаж при формировании прогноза и расчета потребности в товаре. Учет маркетинговых акций и привязка к товарам осуществляются с использованием таблиц campaigns и itemCam-paigns. Классификация товаров, а также их свойства реализованы на основе троек <Субъект, Предикат, Объект> и хранятся в таблице Triples. Рабочие и выходные дни определяются таблицами schedule и scheduleWeek-Type. Информация о транспортных средствах с их весогабаритными характеристиками находится в таблице carriers. Для разграничения прав пользователей реализован соответствующий механизм, использующий таблицу users.
Ядро системы
Ядро системы Forecast NOW! включает несколько блоков (рис. 6). Данные импортируются из корпоративной информационной системы (КИС) пользователя, затем проходят проверку на корректность. После этого согласно заданному расписанию поставок формируется план-график заказов, которые необходимо рассчитать. Подготовленный список заказов поступает на вход модуля «Формирование заказов», который рассчитывает необходимый товарный запас по каждой товарной позиции и определяет потребность в соответствии с текущими остатками товара, резервами, товаром в пути. Модуль «Учет ограничений» позволяет учесть такие ограничения на за-
221
Программные продукты и системы /Software & Systems
№ 4 (112), 2015
analogs triples names
PK product PK PK PK subject predicate object PK rowid
priority mainAnalog U1 name
info dataformat itemsdataformat
PK name PK rowid PK PK product type
value U1 dataForm at
storage
dataFormatID
usersgroupslimits
PK PK group_id privilege_id
users
PK login
password group_id
scheduleweektype
PK storage
type
dbusersettings
PK PK user settingName
value
usersgroups
PK group_id
U1 group_name
carrie rs
PK PK storage carrierID
tonnage capacity efficiency
customcriteria
PK PK storage product
orderNum
schedule
PK PK storage date
workday
campaigns
PK id
name fromDate toDate coef trust category
itemscomparecampaigns
PK PK PK storage product campaign
itemscampaigns
PK PK PK storage product campaign
clients
PK PK client campaign
orders
PK PK order_id product
optimum status exec utionDate readyDate producedAmount shippedAmount state foreacast reserve received customer supplier deficit replacement
If" sales l!
PK,FK1,I3,I1 PK,I3,I2 itemID date
storage product client amount price cost purchase Price purcha seCost discountPrice profit rest inTransit inOrder inReserve backorder lostDemand
!! salesforecast
PK,FK1,I1,I3 PK,I2,I3 itemID date
storage product client amount price cost purchase Price purchaseCost discountPrice profit rest inTransit inOrder inReserve backorder lostDemand
i productstable
PK itemID
13.11 12.11 storage product client
graphs
PK graph
PK from
PK to_
distance
deliveryCost
isVirtual
isI nfiniteSt ock
isM andat oryRemova l
Рис. 5. Схема БД Fig. 5. A database scheme
каз, как минимальная партия, кратность упаковки и пр. В результате формируются рассчитанные заказы, которые могут быть экспортированы в удоб-
ном формате (xls, csv, html). После этого заказ может быть отправлен поставщику или загружен в КИС пользователя.
222
Программные продукты и системы /Software & Systems
№ 4 (112), 2015
Система Forecast NOW!
Рис. 6. Основные модули ядра системы Fig. 6. The main modules of a system core
Модуль импорта данных
Разработанная система использует ряд внешних данных, в число которых в обязательном порядке входят данные об истории продаж, остатков и цен закупки и реализации. В качестве источников данных используются csv-файлы гибкой структуры. Пользователь может выбрать порядок столбцов, разделители, формат даты, целой и дробной частей.
Для сохранения истории продаж в csv-файл пользователи программного продукта «1С: Предприятие» могут применять специально созданную внешнюю обработку.
Кроме обязательных данных, система также может импортировать данные о классификации товаров, их параметрах, аналогах и маркетинговых акциях.
История продаж. Включает следующие данные о товаре: продажи, фактический остаток, товар в пути, товар в резерве, размещенные заказы поставщику, цены закупки и реализации. Данные выгружаются ежедневно, если было какое-то их изменение.
Тройке (уникальный идентификатор товара, склад, дата) соответствует одна строка.
Классификация товаров. Содержит информацию о свойствах и признаках товара, их группах и
подгруппах и о принадлежности товара той или иной группе.
Необходимо загружать программу при изменениях классификации (добавляется новый товар или свойство, меняется значение свойства и т.п.).
Параметры. В программе используются различные параметры, такие как
- срок годности товара в днях: применяется при оценке рисков потерь от списания испорченной продукции;
- маркер «Нового товара»: сколько дней с момента первой продажи товар считается новым (не рассчитывается заказ);
- минимальный запас, необходимый для поддержания на складе вне зависимости от спроса на товар.
Аналоги. Содержит информацию об аналогичных товарах. Задаются главный и младшие аналоги. В заказ или анализ будет попадать главный аналог. При этом суммируется история продаж и остатков по товарам-аналогам. При попытке добавления младшего аналога в заказ или анализ будет добавлен главный аналог.
Акции. Содержит информацию об акциях, такую как период акции, ожидаемый коэффициент роста продаж по акции, список товаров, участвующих в акции.
223
Программные продукты и системы /Software & Systems
№ 4 (112), 2015
Проверка данных на корректность
Для корректной работы системы необходимо обеспечить поступление корректных данных на вход. Для этого производится анализ данных, поступающих от пользователя в формате csv.
При импорте данных пользователем история продаж и остатков проверяется на наличие следующих проблем:
1) не задано какое-либо из полей;
2) неверный формат полей;
3) неверное количество полей;
4) цена закупки выше или равна цене реализации;
5) цена закупки равна нулю, при этом продажи больше нуля;
6) противоречивые данные (несколько разных строк) для тройки «склад, товар, дата»;
7) несколько разных названий товара для одного кода;
8) одинаковые строки в выгрузке;
9) наличие разрывов в истории продаж после импорта выбранных данных;
10) более 50 % остатков равны нулю.
Проблемы делятся на две категории - критичные и предупреждения. При обнаружении критичных проблем дальнейший импорт невозможен. Пример критичной проблемы - 1, 2, 3. При обнаружении некритичных проблем выводятся предупреждения с указанием строки и места в строке, где данная проблема обнаружена, а также возможные способы устранения данной проблемы. Например, для проблемы 6 это рекомендация проверить группировку данных по дням.
Производятся два вида проверок исходных данных - синтаксические и семантические. Синтаксические проверки осуществляются без рассмотрения предметной области и ее ограничений (пример - 1, 2, 3, 8). Семантические правила опираются на экспертные знания из предметной области.
Приведем пример работы одного правила.
Правило «Наличие разрывов в истории продаж после импорта выбранных данных» должно обеспечить отсутствие пропусков в истории продаж и обрабатывается следующим образом.
Если количество рабочих дней между максимальной датой в базе и минимальной датой в загружаемых данных больше нуля, то выводится предупреждение следующего вида. История продаж в базе загружена по МАКС_ДАТА(База). Пользователь загружает данные о продажах с МИН_ДА-ТА(История) по МАКС_ДАТА(История). За период с МАКС_ДАТА(База)+1 по МИН_ДАТА(Ис-тория) данные о продажах отсутствуют. Если это выходные или праздничные дни, то в этом нет ничего страшного. В другом случае вам следует загрузить данные за пропущенный период, иначе составленные прогнозы будут недостоверны.
Здесь МАКС_ДАТА(База) - последняя дата, на которую информация по истории продаж и остатков сохранена в базе; МИН_ДАТА(История) - первая дата в загружаемой истории продаж и остатков; МАКС_ДАТА(История) - последняя дата в загружаемой истории продаж и остатков.
Формирование плана-графика заказов
План-график заказов формируется на основе расписания заказов, которое может быть задано в виде календаря с отмеченными днями возможного заказа, а также с помощью начальной даты отсчета и периодичности заказов. Первый вариант позволяет реализовывать сложные схемы расписания заказов, например, каждые вторник и среду по нечетным неделям месяца. Второй вариант более простой и позволяет задавать расписание следующего вида: раз в неделю по вторникам. Расписание заказов может быть уникальным для каждой пары товар-склад. Это позволяет очень гибко определять правила заказов товаров в зависимости от склада, поставщика или любого другого свойства товара.
Помимо даты размещения заказа, для расчета потребности необходимо знать горизонт планирования (на какой период этим заказом планируется гарантированно удовлетворить спрос с заданным уровнем сервиса), а также срок поставки (время с момента размещения заказа до момента его поступления на склад и возможности его реализации покупателям). Эти параметры также могут быть заданы для каждой пары товар-склад уникальными или в зависимости от поставщика или любого другого свойства.
В результате система определяет, какие товары могут быть сегодня заказаны, и группирует их согласно следующему кортежу: склад-заказчик, поставщик, дата размещения заказа, дата поступления заказа, плановая дата окончания товарного запаса.
Таким образом получается список заказов, состоящий из списка товаров, по которым необходимо рассчитать потребность на даты (дата поступления заказа, плановая дата окончания товарного запаса), а также расход до поступления товара на даты (текущая дата, дата поступления заказа).
После формирования плана-графика производится расчет потребности в товаре для каждого товара в каждом заказе. В результате получаются рассчитанные заказы поставщику с учетом ограничений поставки на конкретную позицию. Ограничения на весь заказ позволяет учесть модуль «Учет ограничений». Для оценки эффективности управления товарными запасами предназначен аналитический блок. Он позволяет также принимать решения относительно уровня сервиса, который рентабельно обеспечивать компании по той или иной товарной позиции.
224
Программные продукты и системы /Software & Systems
№ 4 (112), 2015
Модуль формирования заказа
Основной задачей системы является расчет заказов для поставщиков, осуществляемый модулем формирования заказов. Как было отмечено ранее, на вход этого модуля подается календарный планграфик заказов, сформированный на основе расписания поставок. Задачей модуля формирования заказов (рис. 7) является определение объемов заказа по каждой из позиций плана-графика.
Предобработка истории продаж. Для получения точного расчета оптимального товарного запаса необходима качественная предобработка исходных данных. Исходные данные могут иметь следующие особенности:
- неслучайное отсутствие спроса в моменты дефицита;
- завышенный спрос в моменты маркетинговых акций;
- заниженный спрос в постмаркетинговый период;
- аномально большие нехарактерные продажи.
В большинстве случаев фактор качественной предобработки является решающим и позволяет увеличить точность прогнозирования на 10-15 % при наличии незначительной предобработки и на 30-40 % при полном изначальном ее отсутствии.
Важным этапом предобработки данных является фильтрация, так как она позволяет сгладить временной ряд, уменьшить число выбросов, снизить содержание шума в выборке. Фильтрация мо-
жет действовать локально, на конкретные выбросы, а также глобально - на весь временной ряд.
Для решения первой задачи используются анализ частот объемов продаж и отсечение по заранее заданному порогу. Также используется ряд критериев локальной фильтрации - фильтрация выбросов использованием критериев Диксона [7, 8], Шо-вене [9], Титьена-Мура [10]. Статистические критерии позволяют проверить гипотезу о наличии значительного отклонения в данных, которое носит случайный характер и с большой вероятностью является шумом.
Для анализа с использованием критерия Диксона исходный ряд преобразуется в возрастающую вариативную последовательность с повторениями х1, ..., xn, а сам критерий определяется отношением
Хп - Xn-1 >х xn - Х1 '
Гипотеза проверяется с использованием известных значений для критерия Диксона.
Критерий Шовене [9, 11] базируется на подсчете ожидаемого числа значений Пожид, которые имеют такую же погрешность, как и тот, в отношении которого проверяется гипотеза. Для проверки гипотезы вычисляются выборочное среднее и среднеквадратичное отклонения. Согласно таблице нормального распределения определяется вероятность появления подозрительного элемента Pz. Тогда для выборки размером n ожидается появление
Пожид с подобной погрешностью согласно Пожид =
= n X Pz.
Сформированный
заказ
Рис. 7. Структура модуля формирования заказа Fig. 7. Order placement module structure
225
Программные продукты и системы /Software & Systems
№ 4 (112), 2015
Для проверки гипотезы согласно критерию Ти-тьена-Мура [10] производится вычисление статистики L(k) для k минимальных значений выборки:
L
(*)
I (*(,) - X)2
1=1____________
п _
I(x(i)- x)2
i =1
Далее осуществляется сравнение с известными критическими значениями, на основании чего гипотеза или опровергается, или принимается.
Глобальная фильтрация основана на преобразовании Фурье, которое позволяет перейти от значений временного ряда к его составляющим -гармоническим колебаниям различной частоты. Шумовая компонента является высокочастотной. Исключая колебания таких частот из сигнала и производя обратное преобразование, можно понизить уровень шума в исходном сигнале.
Расчет товарного запаса. Оптимальный товарный запас рассчитывается на основании прогноза спроса и страхового запаса на случай колебания спроса или неточности прогноза [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 при котором является решением экстремальной задачи:
Costs(vl) = Storage(vl) + MoneyC(vl) + DeficitC(vl) + +ExpiredC(vl)
Costs (vl) ——> min
при ограничениях: StorageC(vl) > 0, MoneyC(vl) > 0, DeficitC(vl) > 0, ExpiredC(vl) > 0, vl > 0.
При расчете функционала потерь учитываются затраты на хранение продукции, стоимость денежных средств, а также сроки годности продукции: StorageC(vl) - стоимость хранения товарного запаса объемом vl, д.е./год; MoneyC(vl) - стоимость денежных средств, д.е./год; DeficitC(vl) - потери от дефицита, д.е./год (упущенный спрос); Expi-redC(vl) - потери от списания продукции с истекшим сроком годности, д.е./год.
Пользователь системы может ознакомиться с результатами расчета оптимального уровня сервиса на вкладке «Анализ» - «Уровень сервиса» (рис. 8).
Учет ограничений
При расчете заказа поставщику пользователь может задать ограничения сверху и снизу на такие параметры, как сумма заказа, число дней товарного запаса, объем заказа, вес заказа, число транспортных средств и их характеристики.
Чтобы иметь возможность выбора наиболее оптимального с точки зрения бизнес-логики пользователя товара, применяется механизм настраиваемых критериев важности товаров. В качестве кри-
226
Программные продукты и системы /Software & Systems
№ 4 (112), 2015
Рис. 8. Интерфейс расчета оптимального уровня сервиса Fig. 8. The interface of calculating optimal service level
териев для выбора товаров доступны следующие: востребованность товара, плотность товара исходя из весогабаритных его характеристик, рентабельность товара, цена закупки товара, пользовательский критерий.
Аналитический блок
Аналитический блок позволяет оценивать эффективность управления товарными запасами как за конкретный временной промежуток, так и в динамике. Также данный блок предоставляет исходную информацию для категорийного менеджмента.
В аналитический блок входят следующие виды анализов: ABC-XYZ, «Эффективность», «Спрос», «Ассортимент», «Динамика», «Категорийный менеджмент» [15], «Обеспечение продаж», «Излишки».
Анализ ABC-XYZ позволяет проводить классический ABC-XYZ-анализ либо произвольный анализ, начиная от кросс-АВС-анализа, заканчивая ABC-XYZ-анализом по требуемым параметрам (выручка, количество, себестоимость, прибыль).
ABC-анализ позволяет оценить вклад того или иного товара по выбранной характеристике в общий объем по этой характеристике. Например, если проводится ABC-анализ по выручке, то в группу А попадают товары, приносящие наибольшую выручку, в группу B - среднюю, в С -наименьшую.
XYZ-анализ позволяет оценить степень вариативности (изменчивости) товаров по выбранному параметру: X - самая стабильная группа, Y -группа средней стабильности, Z - нестабильная.
Анализ «Эффективность» позволяет оценить, насколько эффективно в настоящий момент заказываются те или иные позиции и группы товаров. По товарным позициям или товарным группам, а также группировкам по любым пользовательским свойствам можно замерить ключевые показатели эффективности управления товарными запасами как в натуральном, так и в денежном выражении: оборачиваемость, уровень сервиса, упущенная прибыль, излишние запасы и т.п.
Анализ «Спрос» позволяет оценить изменение товарного запаса при изменении уровня сервиса, а также наглядно представить полученное распределение спроса на товарную позицию на заданный временной промежуток. Данная функция позволяет пользователю лучше понять механизм работы программы, а значит, больше доверять ее расчетам.
Анализ «Ассортимент» позволяет оценить ассортимент товаров предприятия на основе предопределенных бизнес-правил. Данные представляются в виде столбиковой диаграммы, разделенной на следующие группы:
- выбывший ассортимент - товары, которые в последний месяц (или другой период) не продавались и отсутствовали на складе;
- неликвид - товары, которые есть на складе, но в последний месяц (или другой период) по ним не было продаж;
- нет на складе - на сегодняшнюю дату этих товаров нет на складе;
- остатки не соответствуют продажам - группа предназначена для проверки того, насколько правильно реализован обмен данными или насколько в целом достоверны данные;
227
Программные продукты и системы /Software & Systems
№ 4 (112), 2015
- отрицательные остатки;
- отсутствует закупочная или реализованная стоимость - ряд анализов по таким товарам будут некорректны, например, ABC-XYZ-анализ по прибыли или по стоимости;
- прерывистые продажи - группа товаров с прерывистым спросом, средний интервал между фактами продаж - больше 1,25 периода;
- продажи под заказ - группа товаров, привозимых поставщиком и продаваемых потребителям в один и тот же день.
Анализ «Динамика» позволяет анализировать эффективность работы склада в динамике, представленную в графическом виде. Результаты можно анализировать как по конкретному товару, так и по группе товаров. На одном графике можно сравнивать следующие показатели: средние продажи и остатки, уровень сервиса и оборачиваемость, прибыль и рентабельность запасов.
Анализ «Категорийный менеджмент» [15] позволяет выявлять ТОП-10 товарных групп по различным показателям эффективности и прочим аналитическим показателям, доступным в анализе «Эффективность». Он предназначен для управления ассортиментом и выявления проблемных товарных групп, поставщиков и т.п.
Анализ «Обеспечение продаж» позволяет оценить объем продаж, который может быть достигнут при выставленных параметрах системы, исходя из математического ожидания продаж и оптимального товарного запаса на месяц с заданным уровнем сервиса. Оптимальный товарный запас на месяц по сути является оценкой товарооборота за месяц.
Анализ «Излишки» позволяет оценить динамику объема излишних запасов и объем запасов, не востребованный за разные периоды времени (год, месяц, неделя), в денежных единицах, а также увидеть понедельное распределение объема таких товаров.
Экспорт данных
Модуль экспорта данных позволяет сохранять результаты расчета заказа и проведенных анализов в форматах csv, xls, xlsx, html. Для сохранения в форматах xls и xlsx используется сторонняя библиотека LibXL (http://libxl.com/). Модуль обеспечивает обмен данными с КИС пользователя посредством обмена данными в формате csv.
Результаты внедрения системы
Опытное внедрение системы было осуществлено на одном из торговых предприятий города Твери. Для оценки экономической эффективности перед внедрением было проведено имитационное моделирование. При этом использовались данные предприятия о продажах и остатках за 2011 год. Моделировалось поведение склада и продаж при осуществлении закупок по рекомендациям программы в течение 2 месяцев. Закупки делались каждые две недели. Полученные результаты сопоставлялись с реальными остатками и продажами. При расчете экономии во внимание принимались возникшая экономия по закупочной цене, а также возможный дефицит в результате уменьшения запаса.
228
Программные продукты и системы /Software & Systems
№ 4 (112), 2015
Экономия, всего, руб.
0р.; LMiUj jJL _u
i со Из гч сА \Ъ о ЬШ ^HcJilioitofoors^Hooin HfOlhlDCOOtNfAthN CCf ф(К|Г01Л|'ч010Г'1^’1Л[4' HINfO'tlTI|SCOffiOH(44'lTltDh'0001H(4fO'l'C> 2692 2809 2926 3043 3160 3277 3394 TH CO U3 (N cti to TO o'l"-- tr HtN^lDrsOlrlfO^lD U3tDr^COCTlO(NfO^J-U3 Hifnf'imfO't'f't'f't H СО 1Л IN Ol til 03 coloi rl fO 't Ю CO to г-» CT1 О rH (N 03 *3- *ч- *ч- из из из из 5500 5617 5734 5851 5968 6085
Рис. 10. Экономия в разрезе товарных позиций Fig. 10. Economy in terms of goods items
В моделировании не учитывались товары, которые имели менее двух движений за период. Общая расчетная экономия в процентном соотношении составила 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. Большев Л.Н., Убайдуллаева М. Критерий Шовенэ в классической теории ошибок // Теория вероятностей и ее применение. 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.
229
Программные продукты и системы /Software & Systems
№ 4 (112), 2015
14. Грицай А.А. Определение эффективной структуры входных данных для обучения нейронной сети решению задачи прогнозирования спроса // Вестн. Тверского гос. ун-та: Сер. Прикладная математика. 2014. № 2. С. 123-134.
15. Грицай А.А., Остренков Н.В. Forecast NOW! Категорийный менеджмент. Свид. о гос. регистр. программы для ЭВМ 2015614337.
16. Грицай А.А., Романова Е.Ю. Интегративное значение изучения информационных систем в профессионально-матема-
тической подготовке по специальности «Бизнес-информатика» (на примере системы Forecast NOW!) // Информационные технологии в науке и образовании: сб. тр. Всерос. науч.-практич. конф. Чебоксары: Изд-во Чувашского гос. пед. ун-та, 2013. С. 28-31.
17. Викторов Е.А., Грицай А.А. Тверские Интернет-технологии // Система управления товарными запасами Forecast NOW! Технология и коммерциализация: сб. трудов науч.-прак-тич. конф. Тверь: Изд-во Тверского гос. ун-та, 2013. С. 38-42.
DOI: 10.15827/0236-235X.112.219-230 Received 01.06.15
INTELLIGENT INFORMATION SYSTEM FOR RETAIL DEMAND FORECASTING AND INVENTORY OPTIMIZATION
Gritsay A.A., Postgraduate Student, [email protected] (Tver State University, Zhelyabova St. 33, Tver, 170100, Russian Federation)
Abstract. The paper presents inventory management and stock optimization system for retail trade. The system is focused on small and medium retailers and wholesale trade customers. The estimated savings make a total of 20-30 % of the stock. System can increase satisfied demand by 5-7 %. The article describes the main features of the system: data preprocessing, demand forecasting, calculation of the optimal service level, calculation of optimal inventory, order calculation for a supplier. Data preprocessing cleans data from sharp emissions, marketing campaigns impact, holiday impact and the lack of goods in the warehouse. Demand forecasting is based on the preprocessed time series of the sales. The characteristics of sales history time series are calculated for each product. The prediction algorithm is selected according to the characteristics. Given service level defines the reserve stock. The optimal service level is calculated according to the strategy of trading company investment return maximization. Optimal inventory is calculated based on the calculated service level and the chosen forecasting algorithm. Available goods in stock, goods in transit, as well as provisions for individual customers determine the optimal order size of the item.
After that row order restrictions are applied (e.g. packaging multiplicity), and then order restrictions to a supplier as a whole (e.g. weight and dimensional). The paper provides an example of applying the system and the conclusion about economic effect from its implementation in a real trading enterprise.
Keywords: inventory management; inventory stock optimization; inventory management system; neural networks; demand forecasting; optimal service level; order to a supplier.
References
1. Gritsay A.A. Programma optimizatsii skladskikh zapasov Forecast NOW! [Forecast NOW! Software for stock resources optimization]. 2012. Software State Registration Certificate no. 2012613236.
2. Gritsay A.A., Varankin D.A. Sistema upravleniya tovarnymi zapasami Forecast NOW! Versiya 3.0 [Stock Goods Management System Forecast NOW! Version 3.0]. 2013. Software State Registration Certificate no. 2013619454.
3. Khaykin S. Neyronnye seti. Polny kurs [Neural Networks. Full Course]. 2nd ed. Moscow, Vilyams Publ., 2006, 114 p.
4. Gladkov L.A., Kureychik V.V., Kureychik V.M. Geneticheskie algoritmy [Genetic algorithms]. 2nd ed. Moscow, Fizmatlit Publ., 2006, 320 p.
5. Gritsay A.A., Ostrenkov N.V. Forecast NOW! Balansirovka skladov [Forecast NOW! Starage Balancing]. 2015. Software State Registration Certificate no. 2015614336.
6. Gritsay A.A. Forecast NOW! Versiya Avtozapchasti [Forecast NOW! Version Auto Parts]. 2015. Software State Registration Certificate no. 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. Bolshev L.N., Ubaydullaeva M. Shovene criteria in classical error theory oshibok. Teoriya veroyatnostey i eeprimenenie [The Theory of Probability and its application]. 1974, vol. XIX, no. 4, pp. 714-723 (in Russ.).
10. Tietjen G.L., Moore R.H. Some Grubbs-Type Statistics for the Detection of Several Outliers. Technometrics. 1972, vol. 14, no. 3, pp. 583-597.
11. Pagurova V.I. On Shovene criteria to detect several outliers. Teoriya veroyatnostey i ee primenenie [The Theory of Probability and its application]. 1985, vol. 30, no. 3, pp. 558-561 (in Russ.).
12. Gritsay A.A. Raschet optimal'nogo zapasa tovarov chastogo sprosa s ispol'zovaniem neyronnykh setey. Matematika, statistika i informatsionnye tekhnologii v ekonomike, upravlenii i obrazovanii: sb. tr. IIIMezhdunar. nauch.-prakt. konf. [Proc. of the 3rd Int.]. Tver, 2014 (in Russ.).
13. Gritsay A.A., Varankin D.A. Forecast NOW! Multieshelonnoeplanirovanie [Forecast NOW! Multi-echelon Planing]. 2015. Software State Registration Certificate no. 2015614338.
14. Gritsay A.A. Input data effective structure determination for training neural network to solve demand forecast problem. Vest-nik Tverskogo gos. universiteta: Seriya “Prikladnaya matematika” [Herald of Tver State Univ. Series: Applied Mathematics]. 2014, no. 2, pp. 123-134.
15. Gritsay A.A., Ostrenkov N.V. Forecast NOW! Kategoriyny menedzhment [Forecast NOW! Categorical Management]. 2015. Software State Registration Certificate no. 2015614337.
16. Gritsay A.A., Romanova E.Yu. Integrative meaning of information systems research in professional mathematical foundation majoring in Busines Informatics) (in case of Forecast NOW!). Vseross. nauch.-praktich. konf. “Informatsionnye tekhnologii v nauke i obrazovanii”: sb. tr. [Proc. of the All-Russian Science and Practice Conf. “IT in Science and Education”]. Cheboksary, 2013.
17. Viktorov E.A., Gritsay A.A. Tver Internet technologies. Sb. tr. nauchno-praktich. konf. “Sistema upravleniya tovarnymi zapasami Forecast NOW! Tekhnologiya i kommertsializatsiya” [Proc. of the Science and Practice Conf. “Stock Goods Management System Forecast NOW! Technology and Commoditization]. Tver, 2013.
230