91919

АВТОМАТИЗАЦИЯ РАСЧЕТОВ, СВЯЗАННЫХ С ПОДБОРОМ АССОРТИМЕНТА ДЛЯ СЕТИ ПРОДОВОЛЬСТВЕННЫХ МАГАЗИНОВ

Дипломная

Маркетинг и реклама

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

Русский

2016-07-29

1.05 MB

4 чел.

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

Государственное образовательное учреждение

Высшего профессионального образования

КУБАНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

(ГОУ ВПО КубГУ)

Кафедра прикладной математики

Допустить к защите

____________________________ 2013 г.

Научный руководитель

канд. экон. наук, доцент

А.В. Коваленко_____________________

ДИПЛОМНАЯ РАБОТА

АВТОМАТИЗАЦИЯ РАСЧЕТОВ, СВЯЗАННЫХ С ПОДБОРОМ АССОРТИМЕНТА ДЛЯ СЕТИ ПРОДОВОЛЬСТВЕННЫХ МАГАЗИНОВ

Работу выполнил __________________________________  М.И. Дьяченко

Группа 51, факультет компьютерных технологий и прикладной математики,

спец. 010501 – Прикладная математика и информатика

Нормоконтролер, магистр педагогики _________________  О.Н.Свистунова

СОДЕРЖАНИЕ

[1] 1 Объекты автоматизации и методики подбора ассортимента

[1.1] Товарные группы продовольственных товаров

[1.2] Формирование ассортимента в продовольственных магазинах

[1.3] 1.3Эффективность использования площади торгового зала

[1.4] 1.4 Методология расчёта эталонной ассортиментной матрицы (эталона)

[1.5] 1.5 Исходные данные для расчёта эталона

[1.6] 1. 5 Оценка результата расчёта эталона

[1.7]  Принципы расчёта индивидуального эталона

[1.8]  Расчёт плавающего эталона для групп охлажденного ассортимента

[2] Среда разработки прикладного решения

[2.1] Visual Basic for Applications

[2.2] 2.2 Встроенные библиотеки JAMA, JExcelAPI

[3] 3 Описание прикладного решения

[3.1] 3.1 Описание сети продовольственных магазинов «Надежда»

[3.2] 3.2 Техническое задание

[3.3] Схема системы Автоподбор

[3.4] Разработанное прикладное решение

[4] ЗАКЛЮЧЕНИЕ

[5]
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

ВВЕДЕНИЕ

Вначале 1990-х гг. на российском рынке присутствовало всего 200 товарных групп. Внутри каждой было три-пять торговых марок-конкурентов.

В середине 1990-х в России насчитывается уже около 1200 товарных групп и с десятками различных марок внутри каждой. Западные страны, например Великобритания, насчитывают не более 1400 товарных групп, но пришли они к этому за 300 лет рыночного развития, причем тенденция к увеличению товарных групп продолжает усиливаться [5].

Так, в настоящее время на рынке каждые полчаса появляется новый товар. Это явление можно называть сверхнасыщенностью, товарно-марочным изобилием. Такой ситуации не было во всем мире вплоть до  конца 1990-х гг. Тем более это было драматично для нашей страны, где всегда присутствовало 450-650 товаров и постоянно наблюдалась ситуация дефицита продукции, но всего за несколько лет Россия успела перейти к сверхнасыщенному рынку [5].

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

Цель дипломной работы заключается в автоматизации расчетов, связанных с подбором ассортимента для сети продовольственных магазинов

Исходя из цели, в дипломной работе были поставлены следующие задачи:

  1.  Анализ объекта автоматизации и методики подбора ассортимента;
  2.  Анализ прикладной среды разработки;
  3.  Разработка прикладного решения задачи автоматизации расчетов по подбору ассортимента;

Реализация приложения на основании разработанного метода осуществляется с помощью языка VBA, а также библиотек JAVA-классов и библиотек JAMA, JExcelAPI.

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

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

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

В первой главе рассматриваются объекты автоматизации и методики подбора ассортимента

Во второй главе рассматриваются особенности среды программирования VBA, а также библиотеки JAVA

В третьей главе приведена реализация прикладного решения по разработанному методу

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

1 Объекты автоматизации и методики подбора ассортимента

  1.  Товарные группы продовольственных товаров

Ассортимент — это определенная упорядоченная структура, которая имеет определенные взаимосвязи и взаимозависимости. Один из ключевых терминов — это товарный классификатор, который предполагает разделение всех товаров магазина на следующие уровни:

  •  классы товаров;
  •  товарные группы;
  •  товарные категории;

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

Класс товаров — это объединение товаров по общему функциональному назначению. На этом уровне ассортимент магазина может быть представлен такими категориями: «Продовольственные товары», «Непродовольственные товары», «Мебель», «Канцелярские товары», «Одежда», «Обувь» и т.д. При этом необходимо понимать, что чем крупнее магазин, тем больше классов товаров там может быть представлено. При этом небольшие узкоспециализированные магазины могут не разбивать свой ассортимент на классы товаров и предлагать только один класс. Например, магазин одежды, магазин обуви, продовольственный магазин и т.д [6].

На втором уровне ассортимент магазина подразделяется на товарные группы, которые представляют собой определенные совокупности товаров, объединенных общими признаками, такими как функциональные характеристики; виды потребностей, на удовлетворение которых направлен товар; ингредиенты, из которых состоит изделие, и др. Например, класс товаров «Продовольственные товары» может быть разбит на такие товарные группы, как «Кондитерские изделия», «Молочная продукция», «Бакалея» и т.д., которые сформированы по признаку, отражающему состав этих продуктов питания.Класс товаров «Обувь» может быть разбит на такие товарные группы, как «Детская обувь», «Женская обувь», «Мужская обувь», «Спортивная обувь» и т. д [6].

На третьем уровне товарный ассортимент магазина разбивается на товарные категории, которые представляют собой совокупности товаров, которые покупатель оценивает как сходные между собой товары или товары, объединенные совместным использованием. Товарная категория — это по сути то, зачем покупатель идет непосредственно в магазин [6].

Например, товарная группа «Молочная продукция» может быть представлена такими товарными категориями, как молоко, кефир, бифидок, йогурт, сметана и т.д. Если речь идет о непродовольственных товарах, то такая товарная группа, как «Мебель», может быть представлена такими товарными категориями, как диваны, кресла, кухонные гарнитуры и т. д [6].

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

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

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

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

  1.  соответствовать потребительским требованиям и ожиданиям определенных групп потребителей, которые являются для данного магазина целевыми. Например, для магазина детской одежды целевым сегментом будут молодые родители;
  2.  обеспечивать магазину достижение определенных коммерческих результатов — прибыли, рентабельности, доли рынка, узнаваемости и приверженности со стороны покупателей и т.д.;

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

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

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

  •  степень разнообразия видов и разновидностей товаров;
  •  уровень соотношения цен на товары определенного вида;
  •  частота обновления ассортимента и т.д;

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

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

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

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

  •  основные товары — товары, которые приносят магазину большую часть прибыли (не менее 50%) и находятся на стадии роста;
  •  поддерживающие товары — товары, которые стабилизируют выручку от продажи и находятся на стадии зрелости;
  •  стратегические товары — товары, которые находятся на стадии выхода на рынок и способны обеспечить достойную выручку магазина в будущем;
  •  тактические товары — товары, находящиеся на стадии зрелости и способные стимулировать продажи основных ассортиментных групп [7];

Стратегия задает общие ориентиры в развитии ассортимента магазина, и планирование должно осуществляться в соответствии с разработанной стратегией. Можно выделить следующие этапы в процессе планирования ассортимента:

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

Товар или целая товарная группа может быть исключена из ассортимента магазина, если она недостаточно рентабельна, морально устарела или является неконкурентоспособной [7].

Товарный ассортимент предприятия характеризуется двумя свойствами — шириной и глубиной.

Ширина ассортимента показывает, сколько товарных групп он включает. Например, можно говорить, что ассортимент магазина является широким, если в нем представлены одежда, обувь, игрушки, канцелярские товары, бытовая химия и т.д. Об узком ассортименте может идти речь, если в магазине представлена одна товарная группа, например обувь или одежда [7].

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

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

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

Стратегии широкого и глубокого ассортимента имеют как свои достоинства, так недостатки. Так, стратегия широкого ассортимента отличается следующими достоинствами:

  •  ориентируется на удовлетворение различных потребностей покупателей;
  •  позволяет диверсифицировать продукцию;
  •  стимулирует покупателей совершать покупки различных товаров в одном месте;

Вместе с тем данная стратегия имеет свои недостатки:

  •  требует серьезных финансовых вложений;
  •  требует глубоких знаний специфики продажи различных категорий товаров;

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

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

Однако и этой стратегии присущи недостатки:

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

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

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

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

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

Таблица 1 - Типы магазинов розничной торговли

Число товарных групп

Насыщенный и глубокий ассортимент

Ненасыщенный (плоский) ассортимент

Широкий ассортимент

Гипермаркет, супермаркет, универмаг, универсам

Небольшие и средние универсальные магазины

Узкий ассортимент

Специализированный магазин

Мелкорозничная торговля: киоски и т.п.

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

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

Универсамы также отличаются достаточно широким ассортиментом, но они делают акцент в первую очередь на продовольственные товары.

В последнее время широкое развитие получили магазины, предлагающие широкий и глубокий ассортимент товаров, которые принято называть торговыми центрами (ТЦ) или, при наличии развлекательной зоны, — торгово-развлекательными центрами (ТРЦ).

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

Размер торговой площади современного ТЦ или ТРЦ может колебаться от 5 до 200 и более тыс. кв. м. Площадь суперрегиональных торговых центров составляет более 400 тыс. кв. м. Как правило, в современном ТЦ базовыми, или якорными, арендаторами торговых площадей, привлекающими основную часть посетителей, являются супермаркеты и гипермаркеты той или иной ценовой категории, магазины самообслуживания, торгующие бытовой техникой, или магазины, предлагающие товары для дома. В качестве «якорей» в ТРЦ могут выступать также фудкорт и многозальный кинотеатр. Торговая зона, отведенная под услуги в области организации досуга и развлечений, может быть сопоставима с зоной розничной торговли.

Существует несколько классификаций торговых центров. Наиболее распространенной является классификация Международного совета торговых центров, согласно которой торговые центры делятся на следующие виды:

  1.  Моллы — это крупные торговые центры, площадь которых колеблется в пределах 45—150 тыс. кв. м, ориентированные на население, проживающее в радиусе 30—40 мин езды на автомобиле. В качестве основного якорного арендатора (юридическое или физическое лицо, которое берет в аренду торговые помещения площадью не менее 5—15% от общей площади торгового комплекса) выступает известный супермаркет, в качестве остальных — мультиплекс (кинотеатр, игровая зона), розничные точки, объединяющие косметику, бытовую химию и аптечную номенклатуру, ресторанная зона и фудкорты (зона предприятий общественного питания):
  •  региональный центр — универмаг с полным ассортиментом товаров; магазин товаров широкого потребления; универмаг товаров по сниженным ценам; отдел модных товаров. — 37—75 тыс. кв. м, количество якорных арендаторов — от 2 и более;
  •  супер-региональный центр аналогичен региональному центру, но отличается большим ассортиментным разнообразием. Площадь торгового центра достигает более 75 тыс. кв. м, количество якорных арендаторов — от 3 и более.;
  1.  Open-aircenter — это комплекс магазинов, расположенных в отдельно стоящих зданиях, объединенных обычно стилевой общностью. Большинство из магазинов open-aircenter имеет отдельный вход с улицы, они могут располагаться в линию или иметь L-образную, U-образную или Z-образную форму, часто обладают общим фасадом:
  •  микрорайонный центр предлагает товары и услуги повседневного спроса, занимает площадь до 14 тыс. кв. м. Количество якорных арендаторов — от 1 и более;
  •  окружной торговый центр — универмаг товаров по сниженным ценам; супермаркет; аптека; хозяйственный магазин; большой специализированный магазин модной одежды и украшений (в т.ч. по сниженным ценам). Имеет площадь от 10 до 33 тыс. кв. м. Количество якорных арендаторов — от 2 и более;
  •  лайфстайл центр — специализированные магазины торговых сетей национального масштаба, предприятия общественного питания и развлекательные заведения на открытом воздухе. Как правило имеют площадь 14—47 тыс. кв. м. Якорных арендаторов обычно нет, но могут включать в себя книжный магазин, торговые точки других крупных специализированных предприятий розничной торговли, кинотеатры повышенной категории, небольшой универмаг;
  •  пауэр центр — магазины, предлагающие широкий выбор в какой-то определенной категории товаров по низким ценам. Якорные арендаторы из числа популярных в данной категории марок; несколько мелких арендаторов. Площадь — 24—56 тыс. кв. м.;
  •  тематический (фестивальный) центр — центр развлечений и отдыха, ориентированный на туристов; розничные продажи и бытовые услуги. Площадь — 8—24 тыс. кв. м;
  •   фирменный торговый центр включает точки розничной продажи от производителя. Площадь — 4—5 тыс. кв. м.;

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

  1.  Формирование ассортимента в продовольственных магазинах

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

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

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

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

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

В ассортимент товаров магазинов по продаже продовольственных товаров должны входить также и сопутствующие непродовольственные товары частого спроса. В наиболее развитых капиталистических странах - США, Англии, Франции т и др. - непродовольственные товары составляют в супермаркетах 30-45% общего количества реализованных товаров Специалисты по вопросам организации торговли относят 80% покупок непродовольственных товаров, приобретенных в продовольственных магазинах самообслуживания, к разряду так называемых импульсивных [9].

Исследованиями установлено, что доля непродовольственных товаров в общем количестве наименований товаров должна составлять в универсамах 25-35%, а в других продовольственных магазинах с универсальным ассортиментом товаров - 15-20%. Ассортимент непродовольственных товаров в продовольственных магазинах следует устанавливать согласно спросу населения, пользующегося услугами этих предприятий, а также с учетом размещения магазинов по торговле товарами данного профиля. Значительный удельный вес в ассортименте непродовольственных товаров должны иметь галантерейные и парфюмерно-косметические товары - примерно 40% оборота. Наряду с этим в ассортимент продовольственных магазинов включаются игрушки, посуда, некоторые хозяйственные товары, чулочно-носочные изделия, мелкие текстильные товары, бумага, письменные принадлежности и т.д.

1.3Эффективность использования площади торгового зала

Эффективность использования площади торгового зала является главной задачей руководства предприятия торговли. Торговое помещение не только занимает большую долю общей площади торговой точки, оно выполняет в магазине ключевую роль: служит для размещения и хранения товаров таким образом, чтобы покупатели могли их приобрести (на стеллажах, витринах, в холодильниках и пр.). Здесь же располагаются кассовые зоны. Помимо этого, в торговом зале должны быть организованы рабочие места некоторых сотрудников магазина[8].

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

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

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

Повысить эффективность использования площади торгового зала невозможно без выполнения определенных рекомендаций по рациональному расположению товаров в специальных отделах, которые определяют планировку всего магазина. До сих пор самой удачной считается традиционная форма размещения отделов, при которой поток покупателей идет от правового угла торгового зала против часовой стрелки. Определенную трудность при этом составляет размещение товара в углах торгового зала, которые покупатели обычно обходят стороной. Оптимальным решением данной проблемы является размещение в углах отделов, которые покупатель сразу же видит и знает (например, для продуктовых магазинов – это винный отдел или отдел готовой свежей выпечки) [11].

1.4 Методология расчёта эталонной ассортиментной матрицы (эталона)

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

Цель эталона – максимальное наполнение потребительской корзины, т.е. получение наиболее привлекательного ассортимента. Определить эталонную матрицу – означает определить, сколько позиций должно быть в каждой категории ассортимента, с детализацией до GR23.

Каждая категория занимает в потребительской корзине определённую долю. Поэтому общее наполнение потребительской корзины зависит от доли каждой категории в потребительской корзине (далее ДК) и степени наполнения потребительской корзины в данной категории (далее СН).

Таблица 2 - Пример наполнения потребительской корзины

Доля категории в потребительской корзине

Степень наполнения категорий

Итоговое наполнение корзины

ДК

СН

ИН = СН х ДК

Категория1

25,0%

90,0%

22,5%

Категория2

22,0%

80,0%

17,6%

Категория3

20,0%

70,0%

14,0%

Категория4

18,0%

60,0%

10,8%

Категория5

15,0%

50,0%

7,5%

ИТОГО

100,0%

72,4%

Например, пусть в потребительской корзине присутствуют 5 категорий с долями соответственно 25%, 22%, 18% и 15%. Если степень наполнения категорий будет соответственно 90%, 80%, 70%, 60% и 50%, то вся потребительская корзина будет заполнена на 25%*90% + 22%*80% + 20%*70% + 18%*60% + 15%*60% = 72,4% (Таблица 2).

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

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

Например, пусть на рынке присутствует пять товаров определённой категории, занимающие соответственно 30%, 25%, 20%, 15%, 10% рынка. Следовательно, если в магазине на полке будет присутствовать 3 позиции данной категории из 5, то вероятность того, что покупатель желает купить именно тот товар, который представлен в ассортименте (одну из 3 наиболее популярных позиций, ведь мы постараемся поставить на полку лидеров рынка), равняется 30%+25%+20%=75%. В случае, если покупатель не нашёл на полке необходимый ему товар, то имеются две возможности: либо покупатель отказывается от покупки, либо покупатель решает выбрать другую позицию. Вероятность того, что покупатель попытается выбрать аналогичную позицию (коэффициент заменяемости) зависит от свойств категории и для каждой категории определяется отдельно [13].

Например, если коэффициент заменяемости в категории равен 50% (т.е. покупатель сразу не нашедший желаемый товар, с равной вероятность уйдёт или повторит свой выбор), а доля рынка, занимаемая представленными в ассортименте позициями, равна 75%, то покупатель, не нашедший свой товар, всё-таки совершит покупку с вероятностью 50% * 75% = 37,5%. Т.к. доля таких покупателей будет 100% - 75% = 25%, то степень наполнения потребительской корзины в данной категории будет равняться 75% + 25% * 37,5% = 84,38%.

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

Например, если товар из категории 1 в 50% случаев покупается самостоятельно, а в 50% случаев вместе с товаром из категории 2, при этом степень наполнения потребительской корзины по категории 2 равна 60%, то вероятность того, что покупатель пожелает выбрать товар из категории 1 равно 50% + 50% * 60% = 80%. Если при этом степень  наполнения потребительской корзины по категории 1, рассчитанная исходя из количества позиций в ней и взаимозаменяемости, равно 70%, то итоговое наполнение потребительской корзины по данной категории составит 70% * 80% = 56%.

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

Таким образом, при расчёте необходимого количества позиций в категории принимаются во внимание следующие факторы:

  1.  Доля в потребительской корзине, занимаемая данной категорией;
  2.  Доли на рынке, занимаемые позициями данной категории;
  3.  Коэффициент заменяемости в данной категории;
  4.  Наличие связанной категории и степень связи;
  5.  Вместимость торгового оборудования, в котором размещается данная категория, и его наличие в магазине;

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

1.5 Исходные данные для расчёта эталона

  1.  Доля в потребительской корзине. Для расчета летнего эталона доля определяется по статистике продаж за месяцы: апрель, май, июнь, июль, август, сентябрь прошлого года. Для расчета зимнего эталона доля определяется по статистике продаж за месяцы: октябрь, ноябрь, декабрь январь, февраль, март прошлого года;
  2.  Доли на рынке, занимаемые позициями данной категории. Определяются по статистике продаж;
  3.  Коэффициент заменяемости в данной категории. По статистике продаж за год рассчитываются средние продажи по категории на один чек для случаев с разным количеством позиций данной категории, фактически стоявших на полке. Затем, опираясь на график долей рынка позиций данной категории, коэффициент заменяемости подбирается таким образом, чтобы итоговая кривая проходила наиболее близко к фактическим точкам.
  4.  Связанные категории. По статистике продаж определяются категории, наиболее часто встречающиеся в одном чеке.;
  5.  Вместимость торгового оборудования. Для каждого магазина задано имеющееся пространство в торговом оборудовании. Для каждой категории указывается, в каком виде (или видах) торгового оборудования она может размещаться;

1. 5 Оценка результата расчёта эталона

На обоснованность расчёта  могут повлиять следующие факторы:

  1.  Соответствие показателей, рассчитанных по статистике продаж, реальности. На данные о продажах влияет большое количество факторов, которые невозможно отфильтровать, поэтому необходимо оценить исходные данные на соответствие опыту и здравому смыслу [12];
  2.  Обоснованность разбиения потребительской корзины на товарные категории. Если в одну категорию мы включаем слишком разнородные виды товара, то закономерности, рассчитанные для неё, будут неверны. Поэтому следует оценить необходимость больше детализации или реорганизации товарных категорий [12];
  3.  Прочие факторы. Следует принять во внимание дополнительные особенности категорий, влияющих на оптимальное количество позиций, например, имеющиеся договора с поставщиками, требующие поддержания определённого количество позиций на полках, или особенности расстановки позиций в магазине [12];

  1.   Принципы расчёта индивидуального эталона

Система Автоподбор – это комплекс прикладных решений, способный решать поставленные задачи. В перспективе система Автоподбор может дорабатываться и улучшаться, чтобы максимально эффективно выдавать необходимые результаты работы. Один из вариантов развития системы – это расчет Индивидуального эталона магазина на основе Кластерного эталона.

Расчёт Индивидуального эталона должен состоять из 2 этапов:

  1.  Расчет кластерного эталона – определение количество позиций в каждой товарной категории в зависимости от количества и типа оборудования, используемого в магазинах. Производится дважды в год при сезонной смене эталона, а также при каждом внеплановом изменении эталона или дерева товаров на основании информации о всех типах оборудования и их количестве в магазинах;
  2.  Расчет индивидуального эталона – определение оптимального количество позиций в товарных категориях с учетом набора оборудования этого ММ и динамики продаж и потерь ММ по группам охлажденного ассортимента. Производится ежедневно с учетом информации об изменениях в оборудовании магазина, предоставляемой Начальником отдела продаж филиала (НОП) в Департамент продаж;

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

Для исключений (групп охлажденного ассортимента) кластер изменяется на основании ABC анализа 1 раз в 45 дней. При этом за один этап расчетов и заливок переход с кластера на кластер возможен только на один шаг.

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

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

  1.  Если отсутствует определенный тип оборудования в магазине, то товарные группы, выкладываемые в этот вид оборудования, будут отсутствовать в этом магазине. В случае отсутствия прикассового оборудования, выкладка реализуется в стеллаж;
  2.  При расчете индивидуального эталона магазина учитывается отсутствие лицензии на крепкий и слабый алкоголь и разрешения на продажу пива в магазине. При отсутствии лицензии на алкоголь при расчете Индивидуального эталона место в ассортименте для этих товарных групп не выделяется, оно перераспределяется между другими товарными группами сухого ассортимента. Для этого кластер по стеллажной полке будет искусственно завышен и полученное число определит его новый кластер, и, соответственно, большее количество позиций для товарных групп в сухом ассортименте. При этом должны соблюдаться следующие условия:
  •  Отсутствие лицензии на крепкий алкоголь увеличит метраж стеллажа на 13%;
  •  Отсутствие лицензии на крепкий и слабый алкоголь, но  наличие разрешения на продажу пива, увеличит метраж стеллажа на 13,5%;
  •  Полный запрет на алкоголь в магазине увеличит метраж стеллажа на 17%;

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

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

  1.   Расчёт плавающего эталона для групп охлажденного ассортимента

Один из методов оптимизации ассортиментной матрицы – углубленный контроль продаж и потерь группа скоропортящихся товаров. Для этого можно разработать отдельный эталон для таких групп.

Изменение эталона производится только по следующим группам (Таблица 3):

Таблица 3 - Группы охлажденного ассортимента

Группа 20

Группа 21

Группа 22

Мясо и мясные продукты

Мясо домашней птицы охлажденное

Полуфабрикаты из мяса птицы

Мясо и мясные продукты

Мясо домашней птицы охлажденное

Тушка птицы

Мясо и мясные продукты

Мясо домашней птицы охлажденное

Субпродукты птицы

Мясо и мясные продукты

Мясо домашней птицы охлажденное

Части птицы

Мясо и мясные продукты

Колбасные изделия

Молоко и молочные товары

Йогурты

Молоко и молочные товары

Молоко и сливки

Молоко и молочные товары

Молочнокислые продукты

Молоко и молочные товары

Сыры

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

  •  продажи в рублях;
  •  потери в рублях;

На основании экспертной оценки определены следующие веса, с учетом которых рассчитывается вектор:

Весь ABC = 1;

Вес потерь = 12;

Так же определено важное отклонение АВС — 30 %, т.е. это порог по изменению кластера магазина.

Алгоритм расчета:

Расчет вектора группы на магазинах

  1.  Суммируем продажи  и количество позиций в группе 23 по каждому магазину. Суммируем  потери в группе 23 по магазинам. Определяем норму потерь как отношение суммарных потерь к суммарным продажам в разрезе магазина.
    1.  Аналогичным образом производим расчет потерь и продаж на филиале.
    2.  Считаем дельту вектора потерь как разницу нормы потерь филиала и нормы потерь магазина
    3.  Проводим ABC анализ позиций на филиале
    4.  Считаем норматив АВС магазина по группе 23

  1.  Аналогичным образом рассчитываем норматив АВС по филиалу.
    1.  Рассчитываем дельту вектора АВС как разницу нормативов АВС филиала и магазина
    2.  Рассчитываем вектор на основании определенных ранее весов и дельты векторов потерь филиала и магазина
    3.  Далее определяем значимость вектора как отношение вектора и нормативов АВС филиала и магазина.

Изменение текущего кластера ММ

Определяем движение эталона:

  1.  Изменение эталона не происходит, если значимость вектора по модулю  не превышает 30% (важное отклонение АВС);
    1.  В случае отрицательной значимости вектора — кластер повышается до следующего по порядку и кол-во позиций в эталоне уменьшается;
    2.  При положительной значимости вектора, наоборот, кластер понижается до предыдущего, количество позиций в эталоне увеличивается.

Таблица с необходимыми действующими кластерами:

Таблица 6 – Необходимые кластеры

GR21

GR22

Кластер

кол -во

Йогурты

1

79

Йогурты

2

75

Йогурты

3

69

Йогурты

4

63

Йогурты

5

57

Йогурты

6

51

Колбасные изделия

1

125

Колбасные изделия

2

118

Колбасные изделия

3

112

Колбасные изделия

4

106

Колбасные изделия

5

100

Колбасные изделия

6

94

Продолжение Таблицы 6 – Необходимые кластеры

GR21

GR22

Кластер

кол –во

Молоко и сливки

1

41

Молоко и сливки

2

36

Молоко и сливки

3

30

Молоко и сливки

4

24

Молочнокислые продукты

1

122

Молочнокислые продукты

2

115

Молочнокислые продукты

3

106

Молочнокислые продукты

4

97

Молочнокислые продукты

5

88

Молочнокислые продукты

6

79

Сыры

1

77

Сыры

2

69

Сыры

3

60

Сыры

4

51

Мясо домашней птицы охлажденное

Субпродукты птицы

1

1

Мясо домашней птицы охлажденное

Субпродукты птицы

2

0

Мясо домашней птицы охлажденное

Полуфабрикаты из мяса птицы

1

5

Мясо домашней птицы охлажденное

Полуфабрикаты из мяса птицы

2

3

Мясо домашней птицы охлажденное

Полуфабрикаты из мяса птицы

3

0

Мясо домашней птицы охлажденное

Тушка птицы

1

2

Мясо домашней птицы охлажденное

Тушка птицы

2

1

Мясо домашней птицы охлажденное

Части птицы

1

7

Мясо домашней птицы охлажденное

Части птицы

2

6

Мясо домашней птицы охлажденное

Части птицы

3

5

Мясо домашней птицы охлажденное

Части птицы

4

4

Мясо домашней птицы охлажденное

Части птицы

5

3

Мясо домашней птицы охлажденное

Части птицы

6

0

  1.  Среда разработки прикладного решения

  1.  Visual Basic for Applications

Microsoft Excel имеет встроенный язык программирования - Visual Basic for Аpplications (VBA). Этот язык позволяет создавать приложения, выполняемые в среде Microsoft Office. Это могут быть разнообразные аналитические программы, финансовые системы, программы учета кадров, системы автоматического создания официальных писем/документов с помощью библиотеки готовых шаблонов и т.п. При этом интерфейс создаваемой программы может быть совершенно непохожим на интерфейс того приложения, в котором она написана [1].

VBA сочетает в себе практически неограниченные возможности с простотой изучения и использования. Теперь большинство функций можно описать, не прибегая к программированию. В том случае, если возможностей языка недостаточно, можно обратиться к API-функциям Windows. Пожалуй, самое главное достоинство VBA в том, что этот язык является единым для всех офисных приложений Microsoft и поэтому позволяет связывать их между собой. Уже сейчас из программы, написанной в Excel, можно обращаться к объектам Word для Windows, а также Microsoft Project. Это открывает заманчивые перспективы. Представьте, что пользователь на конкретном рабочем месте должен на основе некоторых данных, извлекаемых из базы, делать их анализ, строить диаграммы и проектировать деятельность организации, а также автоматически выполнять рассылку этих обработанных данных по некоторым адресам вместе с сопроводительным письмом. Все это можно сделать средствами офисных продуктов Microsoft, однако при этом пользователь должен в совершенстве овладеть каждым из них. В случае если программа для решения этой задачи написана на VBA, пользователю придется изучить только ее [1].

Программа MS Excel, являясь лидером на рынке программ обработки электронных таблиц, определяет тенденции развития в этой области. Вплоть до версии 4.0 программа Excel представляла собой фактический стандарт с точки зрения функциональных возможностей и удобства работы[1].

Одним из важнейших функциональных расширений программы, предназначенным для профессионалов, является встроенная в Excel Среда программирования Visual Basic (VBA) для решения прикладных задач. Благодаря  VBA фирме Microsoft удалось не только расширить возможности языка макрокоманд Excel 4.0, но и ввести новый уровень прикладного программирования, поскольку VBA позволяет создавать полноценные прикладные пакеты,  которые по своим функциям выходят далеко за рамки  обработки  электронных таблиц [1].

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

Проект может содержать несколько модулей. Имеется три типа модулей:

  •  стандартные модули - это модули, в которых можно описать доступные во всем проекте процедуры;
  •  модули класса содержат описание объекта, который является членом класса. Процедуры, написанные в модуле класса, используются только в этом модуле. Среди модулей класса выделяют модули форм и отчетов, которые связаны с конкретной формой или отчетом. и Модули форм и отчетов часто содержит процедуры обработки событий, которые срабатывают в ответ на событие в форме или отчете. Процедуры обработки событий используются для управления поведением форм и отчетов и их реакцией на действия пользователя типа щелчка мыши на кнопке [2].

Модули содержат описания и процедуры - наборы описаний и инструкций, сгруппированных для выполнения. Существует три типа процедур:

  •  процедура Sub - набор команд, с помощью которого можно решить определенную задачу. При ее запуске выполняются команды процедуры, а затем управление передается в приложение пакета MS Office или процедуру, которая вызвала данную процедуру [2].
  •  процедура Function (функция) также представляет собой набор команд, который решает определенную задачу. Различие заключается в том, что такие процедуры обязательно возвращают значение, тип которого можно описать при создании функции.
  •  процедура Property используется для ссылки на свойство объекта. Данный тип процедур применяется для установки или получения значения пользовательских свойств форм и модулей.

Для создания модуля в любом приложении MS Office необходимо выбрать команду меню Сервис\Макрос\Редактор Viual Basic. В окне "Проект" необходимо щелкнуть правой кнопкой мыши на любом элементе либо в окне редактора выбрать команду меню Вставка, а далее тип модуля. При выборе формы (Userform) для перехода к ее модулю используется команда Вид\Программа или кнопка "Программа" в окне "Проект" [2].

Самое начало модуля называется общей областью, в которой располагаются общие описания, например, типа данных, используемого по умолчанию (DefТип), инструкция Option Explicit, требующая явного описания всех используемых в модуле переменных, а также описания общих (глобальных) для всех модулей и для данного модуля переменных.

Операторы описания:

Объявление переменной производится одним из операторов Dim, Static, Private, Public, за которым следует имя переменной и необязательная часть с ключевым словом As, после которого задается тип переменной, например Dim name [As type]. Оператор Public используется только вне модуля, в его общей части и делает описываемую переменную доступной из всех процедур всех модулей проекта. Оператор Private служит для объявления переменной уровня модуля, доступной только процедурам данного модуля. Можно использовать также оператор Dim, но применение Private предпочтительнее как противоположное Public.

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

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

Операторы Public и Private можно применять при описании констант и процедур, что позволяет указать их область видимости. Для процедур возможно также применение оператора Static, что позволяет сделать все переменные в процедуре статическими:

Static Function Total (num) as Integer

Это приводит к тому, что все локальные переменные в процедуре становятся статическими, независимо от того, как они определены; операторами Static, Dim, Private или неявным образом.

Oператоры присваивания

Инструкция Let Присваивает значение выражения переменной или свойству:

[Let] имяПеременной = выражение

Явное использование ключевого слова Let зависит от вкуса пользователя, обычно это слово опускают.

Значение выражения может быть присвоено переменной, только если оно имеет совместимый с этой переменной тип данных. Невозможно присвоить строковое выражение числовой переменной или числовое выражение строковой переменной. Такая попытка приведет к ошибке во время компиляции.

Переменным типа Variant могут присваиваться как строковые, так и числовые выражения. Однако обратное не всегда верно. Любое значение типа Variant, за исключением значения Null, допускает присвоение строковой переменной, но только значение типа Variant, которое может рассматриваться как число, может быть присвоено числовой переменной. Пользуйтесь функцией IsNumeric для определения возможности преобразования значения Variant в числовое значение.

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

Инструкция Let может быть использована для присвоения одной переменной-записи другой, только если обе переменные имеют одинаковый определяемый пользователем тип. Для присвоения переменных-записей различных определяемых пользователем типов используется инструкция LSet. Для присвоения переменным ссылок на объекты применяется инструкция Set.

Управляющие структуры позволяют управлять последовательностью выполнения программы. Без операторов управления все операторы программы будут выполняться слева направо и сверху вниз. Однако иногда требуется многократно выполнять некоторый набор инструкций автоматически, либо решить задачу по-другому в зависимости от значения переменных или параметров, заданных пользователем во время выполнения. Для этого служат конструкции управления и циклы [3].

VBA поддерживает следующие конструкции принятия решений:

If . . . Then

If . . . Then . . . Else

Select Case

Конструкция If . . . Then

Конструкция If . . . Then применяется, когда необходимо выполнить один или группу операторов в зависимости от некоторого условия. Синтаксис этой конструкции позволяет задавать ее в одной строке или в нескольких строках программы:

If условие Then выражение

If условие Then

выражение

End If

Обычно условие является простым сравнением, но оно может быть любым выражением с вычисляемым значением. Это значение интерпретируется как False (Ложь), если оно нулевое, а любое ненулевое рассматривается как True (Истина). Если условие истинно, то выполняются все выражения, стоящие после ключевого слова Then. Для условного выполнения одного оператора можно использовать как синтаксис для одной строки, так и синтаксис для нескольких строк (блоковую конструкцию) [3].

Следующие два оператора эквивалентны:

If anyDate < Now Then anyDate = Now

If anyDate < Now Then

anyDate = Now 

End If

Заметим, что синтаксис оператора If . . . Then для одной строки не использует оператор End If. Чтобы выполнить последовательность операторов, если условие истинно, следует использовать блоковую конструкцию If . . . Then . . . End If.

If anyDate < Now Then

anyDate = Now

Timer.Enabled = False   ' Запретить таймер.

End If

Если условие ложно, то операторы после ключевого слова Then не выполняется, а управление передается на следующую строку (или строку после оператора End If в блочной конструкции).

Конструкция If . . . Then . . . Else

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

If условие1 Then

выражение1

ElseIf условие2 Then

выражение2

. . .

Else

выражение-n

End If

При выполнении сначала проверяется условие1. Если оно ложно, VBA проверяет следующее условие2 и т. д., пока не найдет истинного условия. Найдя его, VBA выполняет соответствующий блок операторов и затем передает управление инструкции, следующей за оператором End if. В данную конструкцию можно включить блок оператора Else, который VBA выполняет, если не выполнено ни одно из условий [16].

Конструкция If . . . Then . . . ElseIf в действительности всего лишь специальный случай конструкции If . . . Then . . . Else. Заметим, что в данной конструкции может быть любое число блоков ElseIf, или даже ни одного. Блок Else можно включать независимо от присутствия или, наоборот, отсутствия блоков ElseIf.

 

Рассмотрим пример вычисления функции

Sub пример1()

Dim a As Single, b As Single, x As Single

Dim z As Double

Call read("A1", a)

Call read("B1", b)

Let x = CSng(InputBox("введи x", "Ввод данных", 0))

If x <= a Then

z = Sin(x)

ElseIf x >= b Then

z = Tan(x)

Else: z = Cos(x)

End If

Call out("C1", z)

End Sub

Заметим, что можно добавить любое число блоков Elself в конструкцию If . . . Then. Однако количество блоков Elself может стать настолько большим, что конструкция If . . . Then станет очень громоздкой и неудобной. В подобной ситуации следует применять другую конструкцию принятия решения - Select Case.

Конструкция Select Case

Конструкция Select Case является альтернативой конструкции If . . . Then . . . Else в случае выполнения блока, состоящего из большого набора операторов. Конструкция Select Case предоставляет возможность, похожую на возможность конструкции If . . . Then . . . Else, но в отличие от нее она делает код более читаемым при наличии нескольких вариантов выбора.

Конструкция Select Case работает с единственным проверяемым выражением, которое вычисляется один раз при входе в эту конструкцию. Затем VBA сравнивает полученный результат со значениями, задаваемыми в операторах Case конструкции. Если найдено совпадение, выполняется блок операторов, ассоциированный с оператором Case:

Select Case проверяемое_выражение

[Case список_выражений1

[блок_операторов1]]

[Case список_выражений2

[блок_операторов2]]

. . .

[Case Else

[блок_операторовn]]

End Select

Каждый список выражений является списком из одного или более значений. Если в одном списке больше одного значения, они отделяются запятыми. Каждый блок операторов содержит несколько операторов или ни одного. Если окажется, что вычисленному значению проверяемого выражения соответствуют значения из нескольких операторов Case, то выполняется блок операторов, ассоциированный с первым оператором Case из всех найденных соответствий. VBA выполняет блок операторов, ассоциированный с оператором Case Else (заметим, что он необязателен), если не найдено ни одного соответствия проверяемого значения выражения и значений из всех списков операторов Case [3].

 

Рассмотрим пример вычисления функции

Sub пример2()

Const pi2 = 1.57

Dim x As Single

Dim z As Double

Let x = CSng(InputBox("введи x", "Ввод данных", 0))

Select Case x

Case -pi2

z = Sin(x)

Case 0

z = Cos(x)

Case pi2

z = Tan(x)

Case Else

MsgBox "Неверные исходные данные!"

Exit Sub

End Select

Call out("D1", z)

End Sub

Заметим, что конструкция Select Case вычисляет выражение только один раз при входе в нее, а в конструкции If . . . Then . . . Else вычисляются различные выражения для каждого оператора Elself. Конструкцию If . . . Then . . . Else можно заменить конструкцией Select Case, только если оператор If и каждый оператор Elself вычисляют одно и то же выражение.

Операторы цикла:

Циклы позволяют выполнить одну или несколько строк кода несколько раз. VBA поддерживает следующие циклы:

For...Next

For Each...Next

Do... Loop

Конструкция For . . . Next. Когда число повторений известно заранее, используют цикл For . . . Next. В цикле For используется переменная, называемая переменной цикла или счетчиком цикла, которая увеличивается или уменьшается на заданную величину при каждом повторении цикла. Синтаксис этой конструкции следующий:

For counter = start To end [Step increment]

 операторы 

Next [counter]

Параметры counter (счетчик), start (начало цикла), end (конец цикла) и increment (приращение) являются числовыми.

Примечание. Параметр increment может быть как положительным, так и отрицательным. Если он положителен, параметр start должен быть меньше или равен параметру end, иначе цикл не будет выполняться. Если параметр increment отрицателен, то параметр start должен быть больше или равен значению параметра end, чтобы выполнялось тело цикла. Если параметр Step не задан, то значение параметра increment по умолчанию равно 1.

VBA выполняет цикл For в следующей последовательности:

  1.  Устанавливает значение переменной цикла counter в значение start.
  2.  Сравнивает значение переменной цикла counter и значение параметра end. Если переменная counter больше, VBA завершает выполнение цикла. (Если значение параметра increment отрицательно, то VBA прекращает выполнение цикла при условии, что значение переменной цикла counter меньше значения параметра end.)
  3.  Выполняет операторы тела цикла statements.
  4.  Увеличивает значение переменной цикла counter на 1 или на величину значения параметра increment, если он задан.
  5.  Повторяет шаги со 2 по 4.

Рассмотрим пример: Вычислить значение функции f(t)

при заданных a, b, n, если t изменяется от a до b с шагом Dt=(b-a)/(n-1).

Sub пример3()

Dim f() As Single

Dim a As Single, b As Single, t As Single, dt As Single

Dim i As Integer, n As Integer

Call read("a1", a) : Call read("b1", b) : Call read("c1", n)

ReDim f(1 To n - 1)

dt = (b - a) / (n - 1) : t = a

Call out("a2", "i") : Call out("b2", "t") : Call out("c2", "f(t)")

For i = 1 To n - 1

t = t + dt

If t <= -1 Then

f(i) = -1

ElseIf t > 1 Then

f(i) = 1

Else

f(i) = t

End If

Call out("a" & (2 + i), i) : Call out("b" & (2 + i), t) : Call out("c" & (2 + i), f(i))

Next i

End Sub

Конструкция For Each . . . Next

Цикл For Each . . . Next похож на цикл For . . . Next, но он повторяет группу операторов для каждого элемента из набора объектов или из массива, вместо повторения операторов заданное число раз. Он особенно полезен, когда неизвестно, сколько элементов содержится в наборе.

Синтаксис конструкции цикла For Each . . . Next таков:

For Each element In group

 операторы

Next element

Следует помнить следующие ограничения при использовании цикла For Each . . . Next:

Для наборов параметр element может быть только переменной типа variant, общей переменной типа object или объектом, перечисленным в Object Browser

Для массивов параметр element может быть только переменной типа Variant

Нельзя использовать цикл For Each . . . Next с массивом, имеющим определенный пользователем тип, так как переменная типа variant не может содержать значение определенного пользователем типа

Конструкция Do...Loop

Цикл Do применяется для выполнения блока операторов неограниченное число раз. Существует несколько разновидностей конструкции Do . . . Loop, но каждая из них вычисляет выражение-условие, чтобы определить момент выхода из цикла. Как и в случае конструкции If . . . Then условие должно быть величиной или выражением, принимающими значение False (нуль) или True
(не нуль).

В следующей конструкции Do . . . Loop операторы выполняются до тех пор, пока значением условия является True (Истина):

Do While условие

 операторы

Loop

Выполняя этот цикл, VBA сначала проверяет условие. Если условие ложно (False), он пропускает все операторы цикла. Если оно истинно (True), VBA выполняет операторы цикла, снова возвращается к оператору Do While и снова проверяет условие.

Следовательно, цикл, представленный данной конструкцией, может выполняться любое число раз, пока значением условия является не нуль или True (Истина). Отметим, что операторы тела цикла не выполняются ни разу, если при первой проверке условия оно оказывается ложным (False).

Рассмотрим пример: Вычислить сумму ряда

 

с заданной точностью.

Sub пример4()

Dim e As Single, x As Single, s As Single

Dim m As Single, p As Single, i As Single

Call read("a1", x) : Call read("b1", e)

s = 0: i = 1: m = 1: p = -1

Call out("a2", "i") : Call out("b2", "m") : Call out("c2", "s")

Do While Abs(m) >= e

p = -p * x

m = p / i

s = s + m

Call out("a" & (2 + i), i) : Call out("b" & (2 + i), Abs(m)) : Call out("c" &
(2 + i), s)

i = i + 1

Loop

End Sub

Другая разновидность конструкции Do . . . Loop сначала выполняет операторы тела цикла, а затем проверяет условие после каждого выполнения. Эта разновидность гарантирует, что операторы тела цикла выполнятся по крайней мере один раз:

Do

 операторы

Loop

While условие

Две другие разновидности конструкции цикла аналогичны предыдущим, за исключением того, что цикл выполняется, пока условие ложно (False):

Цикл не выполняется вообще или выполняется много раз:

Do Until условие

операторы Loop

Цикл выполняется по крайней мере один раз:

Do

операторы

Loop Until условие

Вложенные циклы:

Можно помещать структуры управления внутрь других структур управления (например, блок If . . . Then внутрь цикла For . . . Next). Говорят, что структура управления, помещенная внутрь другой структуры управления, является вложенной.

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

При вложении в цикл одного или несколько других циклов говорят о вложенных циклах, в которых различают внешние (охватывающие) и внутренние (вложенные) циклы.

Рассмотрим пример суммирования элементов Aij матрицы A(n,m) построчно.

Sub пример5()

Dim a() As Single, s() As Single

Dim n As Integer, m As Integer

Dim i As Integer, j As Integer

Call read("a1", n): Call read("b1", m)

ReDim a(1 To n, 1 To m), s(1 To n)

'Чтение матрицы

For i = 1 To n

For j = 1 To m

Call readcell(i + 1, j, a(i, j))

Next j

Next i

'Вычисление

For i = 1 To n

s(i) = 0

For j = 1 To m

s(i) = s(i) + a(i, j)

Next j

Call outcell(i + 1, m + 1, s(i))

Next i

End Sub

Заметим, что первый оператор Next закрывает внутренний цикл For, а последний оператор Next закрывает внешний цикл For. Точно так же и для вложенных операторов If, операторы End If автоматически применяются для закрытия ближайшего к нему оператора If. Вложенные структуры Do . . . Loop работают подобным же образом: самый дальний оператор Loop соответствует самому дальнему оператору Do.

При вводе/выводе элементов двумерного массива на рабочий лист Microsoft Excel удобно применять пользовательские процедуры ввода/вывода:

Sub readcell(i As Integer, j As Integer, val As Variant)

val = Лист1.Cells(i, j).Value

End Sub

Sub outcell(i As Integer, j As Integer, val As Variant)

Лист1.Cells(i, j).Value = val

End Sub

где I - номер строки, j - номер столбца рабочего листа.

Выход из структур управления

Оператор Exit позволяет выходить непосредственно из цикла For, цикла Do, процедуры Sub или процедуры Function. Синтаксис оператора Exit прост:

For counter = start To end [Step -increment]

[блок операторов]

[Exit For]

[блок операторов]

Next [counter]

Do [(While | Until} условие]

[блок операторов]

[Exit Do]

[блок операторов]

Loop

Exit For внутри цикла For и Exit Do внутри цикла Do могут появиться сколько угодно раз.

Оператор Exit Do работает со всеми разновидностями синтаксиса цикла Do.

Операторы Exit For и Exit Do применяются, если необходимо завершить цикл немедленно, не продолжая дальнейших итераций или не ожидая выполнения блока операторов в теле цикла.

При использовании оператора Exit для выхода из цикла значения переменной цикла зависят от того, каким образом завершается выполнение цикла.

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

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

При завершении цикла по концу набора переменная цикла имеет значение Nothing (Ничего), если она является переменной типа object (Объект), или значение Empty (Пусто), если она является переменной типа Variant [4].

2.2 Встроенные библиотеки JAMA, JExcelAPI

JAMA – это основной пакет линейной алгебры для JAVA. Он представляет пользователю классы для построения и работы с матрицами. Предназначается для обеспечения достаточной функциональностью в объемных задачах, созданный таким образом, чтобы быть понятным для непрофессионалов. Служит стандартным классом матрицы на JAVA [15].

JAMA состоит из шести классов JAVA: Matrix, CholeskyDecomposition, LUDecomposition, QRDecomposition, SingularValueDecomposition и EigenvalueDecomposition.

Умеет функции разложения:

  •  Разложение Холецкого симметричной, положительно определенныой матрицы
  •  LU разложение (Гаусса) прямоугольных матриц
  •  QR-разложение прямоугольной матрицы
  •  Разложения по собственным значениям обоих симметричной и несимметричной квадратных матриц
  •  Сингулярного разложения прямоугольной матрицы

Элементарные операции:

  •  Вычитание и сложение
  •  Умножение
  •  Скалярное умножение
  •  Поэлементное умножение
  •  Поэлементное деление
  •  Унарный минус
  •  Транспонирование
  •  Нормирование

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

JExcelAPI

Java API Excel является основной библиотекой, с открытым исходным кодом Java API, которая позволяет разработчикам читать, писать и редактировать таблицы Excel динамически. Java разработчики могут читать таблицы Excel, изменять их с удобным и простым API, и записывать изменения в любой выходной ресурс (например, диск, HTTP, базу данных или любой сокет) [14].

Любая операционная система, которая может работать с виртуальной машиной Java (то есть, не только Windows) может использовать возможности библиотеки. Некоторые особенности:

  1.  Читает данные из Excel 95, 97, 2000, XP, 2003 книг;
  2.  Чтение и запись формул (Excel 97 и более поздних версий);
  3.  Создает электронные таблицы Excel 2000 формат;
  4.  Поддержка шрифтов, номера и даты форматирования [14];
  5.  Поддерживает затенение, границы, и окраску клеток;
  6.  Изменяет существующие листы;
  7.  Работает с разными языками, что позволяет обработку практически в любой стране, любого языка или кодировки (формулы в настоящее время поддерживается только на английском, французском, испанском и немецком языке, но другие могут быть добавлены в переводе);
  8.  Поддержка копирования диаграмм;
  9.  Поддерживает вставку и копирование изображения в электронные таблицы;
  10.  Поддерживает запись с Jakarta Commons Logging, log4j, JDK 1.4 Logger, и т.д.

3 Описание прикладного решения

После проведения анализа разработанного метода и построения принципов формирования эталона описанного ранее, было составлено техническое задание, а также была проведена автоматизация процесса расчёта

3.1 Описание сети продовольственных магазинов «Надежда»

Сеть продовольственных магазинов «Надежда» появилась на рынке в 2008 году. На сегодняшний день сеть насчитывает 540 торговых точек в центральном федеральном округе.

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

Ассортимент магазинов насчитывает порядка 2-3 тыс. наименований товаров. Компания сотрудничает более чем с 160 поставщиками. За свежестью товаров на прилавках в "Надежде" тщательно следят, регулярно обновляя ассортимент так, чтобы покупатель имел возможность приобрести только лучшие продукты по низким ценам.

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

3.2 Техническое задание

  1.  Наименование системы:
    1.   Полное наименование системы:

Система автоматического подбора ассортимента;

  1.   Краткое наименование системы:

Система Автоподбор;

  1.  Заказчик: Сеть продовольственных магазинов «Надежда»;
    1.  Назначение системы Автоподбор — эффективное использование торгового пространства при минимально возможных трудозатратах путем своевременного формирования ассортиментных матриц магазинов компании через подбор позиций из доступного ассортимента с учетом набора оборудования каждого магазина;
    2.  Цель системы Автоподбор заключается в поддержании высокой степени привлекательности магазинов через оптимальный расчет ассортимента для каждого магазина. В результате автоматизации должны улучшиться показатели продаж и рациональность использованию складских помещений;
    3.  Объектом автоматизации являются бизнес-процессы, выполняемые в департаменте маркетинга;
    4.  Требования к системе: система Автоподбор должна быть простой в использовании, легко модифицируема. В качестве языка разработки может выступать язык VBA, а также могут использоваться различные JAVA библиотеки для обработки больших массивов данных. Прикладное решение должно работать в операционной системе Windows. Все вычисления должны проводиться на стороне клиента, за исключением получения входных данных из базы данных сервера;
    5.  Требования к квалификации персонала: конечному пользователю необходимо иметь базовые знания офисного пакета от компании Microsoft, в частности Microsoft Excel. Предполагается использование прикладного решения аналитиками, а так же менеджерами различных департаментов компании;
    6.  Другие требования: в качестве источника данных должна использоваться база данных Microsoft Access (*.mdb). Результат работы должен быть легко сохраняем в различных форматах, а также необходимо обеспечить свободный доступ к конечному результату;
    7.  Разработка системы должна осуществляться с использованием стандартных методологий функционального моделирования;
    8.  Для работы с БД должнен использоваться язык запросов SQL в рамках стандарта ANSI SQL-92;
    9.  Для разработки пользовательских интерфейсов и средств генерации отчетов (любых твердых копий) должны использоваться встроенные возможности ПО;
    10.  Должна прилагаться краткая инструкция к пользованию;
    11.  Прикладное решение должно работать при следующих технических характеристиках (Таблица 5):

Таблица 5 - Системные требования

Минимальные системные требования

Для сервера

Процессор

1000 MHz

3000 MHz или выше

Оперативная память

512 Мб RAM (могут быть ограничены некоторые возможности)

Гб RAM или выше

Видеоадаптер и монитор

VGA (640 x 480)

-

Свободное место на HDD

1.5 Гб

1.5 Тб или больше

Оптические накопители

CD-ROM (требуется для установки)

CD-ROM или DVD-ROM

Другие устройства

-

-

  1.  Схема системы Автоподбор

Схема 1 - Система Автоподбор

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

  1.  Разработанное прикладное решение

Прежде чем начать работу с программой, необходимо убедиться в доступности базы данных. База данных должна располагаться в следующем каталоге: E:\Расчет эталона\. Имя базы данных: Для расчета долей.mdb

Для того, чтобы начать работу с программой, необходимо запустить файл Шаблон сортировки долей_BIG(обновление кнопкой)_1.xls

На вкладке «Главная» (Рисунок 1) расположена кнопка «Начать работу в программе», по нажатию которой открывается главная форма приложения

Рисунок - Главная страница программы

Окно приложения содержит три вкладки (Рисунок 2):

  1.  Вкладка «Главная»;
  2.  Вкладка «О программе»;
  3.  Вкладка «Параметры»;

Рисунок - Вкладки основной формы приложения

Вкладка «О программе» содержит описание программы и краткую инструкцию по использованию. Здесь поэтапно описан порядок действий, необходимый для работы в приложении.

Вкладка «Главная» содержит основные элементы управления в приложении. Из этого окна виден тот функционал, который реализует данный программный продукт. Это основные этапы алгоритма формирования ассортимента.

Вкладка «Параметры» содержит основные настраиваемые параметры необходимые для расчета кластерного эталона.

Начинать корректно работу программы необходимо с выбора закладки «О программе», чтобы ознакомиться с инструкцией. Окно в данном случае будет выглядеть следующим образом (Рисунок 3)

После ознакомления с инструкцией, убедившись в доступности базы данных необходимо перейти во вкладку «Главная» и нажать кнопку «Получить данные» (Рисунок 4).

Рисунок  - Пункт меню "Получить данные"

После нажатия на кнопку «Получить данные» программа выполняет запрос (Рисунок 4) на подключение к базе данных Microsoft Access (файл

Рисунок - Запрос на подключение к БД

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

В зависимости от даты выполнения запроса, определяется за какой период выбирать данные. Если это четвертый, пятый, шестой, седьмой, восьмой, девятый месяц года, то данные берутся за зимний период. Если это десятый, одиннадцатый, двенадцатый, первый, второй, третий месяцы – то берутся летние данные. Пример запроса (Рисунок 5)

 

Рисунок - Запрос к БД (лето)

Данные, получаемые из БД заносятся во вкладки (Данные(i)), где I – порядковый номер страницы данных.

Поля таблицы следующие:

  1.  BRANCH – Филиал магазина;
  2.  ROOT_NAME – корневая группа;
  3.  LVL1_NAME – подгруппа уровня 1;
  4.  LVL2_NAME – подгруппа уровня 2;
  5.  LVL3_NAME – подгруппа уровня 3;
  6.  ART_ID – артикульный номер товарной позиции;
  7.  SUM-Оборот – суммарный оборот товарной позиции;

После импорта данных об обороте продукции можно переходить к следующему этапу. Для этого необходимо нажать на кнопку «Подготовить данные к использованию» (Рисунок 6)

На втором этапе работы программе алгоритм выполняет сортировку данных по каждой товарной группе по следующей схеме (Схема 2):

 

Рисунок - Пункт меню "Подготовить данные к использованию"

Схема 2 - Сортировка оборотов по товарным группам

Где SKU1 – Суммарный оборот по Товарной группе 1 по всем филиалам по позиции с МАКСИМАЛЬНЫМ ОБОРОТОМ, SKU2 – суммарный оборот по Товарной группе 1 по всем филиалам по позиции с МАКСИМАЛЬНЫМ ОБОРОТОМ НЕ СЧИТАЯ SKU1, и т.д. SKU(N) – суммарный оборот позиции с минимальным оборотом для данной группы.

СКЮ  - SKU (Stock Keeping Unit) [skew] — идентификатор товарной позиции, единица учёта запасов, складской номер, используемый в торговле для отслеживания статистики по реализованным товарам/услугам. Каждой продаваемой позиции, будь то товар, вариант товара, комплект товаров (продаваемых вместе), услуга или некий взнос, назначается свой SKU. SKU не всегда ассоциируется с физическим товаром, являясь скорее идентификатором сущности, представляемой к оплате. Срочная доставка, членские взносы, плата за соединение нематериальны, могут иметь свои SKU, если по ним выставляется счет.

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

Таким образом, преобразованные данные записываются в табличном виде во вкладке «Итоги» (Рисунок 7)

Рисунок - Таблица "Итоги" после обработки данных

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

Для этого необходимо нажать кнопку «Настроить параметры», которая переключит пользователя на вкладку «ПАРАМЕТРЫ» (Рисунок 8)

Рисунок  - Вкладка "ПАРАМЕТРЫ"

При нажатии кнопки «КЛАСТЕРЫ» открывается вкладка Кластеры (рисунок 9) для настройки количества кластеров, соответствия кластера оборудованию, а также вместимости каждого кластера для каждого типа оборудования. Вместимость оборудования не рассчитывается программой, а определяется маркетинговой политикой компании (см. Фейсинг, выкладка).

В поле «кластеры» необходимо указать кластеры, для которых будет рассчитываться эталон (вместимость ТГ), в поле «Оборудование» указывается соответствующее оборудование, а в поле «кол-во позиций» требуется указать сколько всего СКЮ может располагаться в соответствующем кластере.

Рисунок - Настройка кластеров, оборудования и вместимости

После того, как мы настроили необходимые нам кластеры, оборудование и вместимость, необходимо указать допустимое минимальное количество СКЮ для каждой товарной группы, которое обязательно должно присутствовать в ЛЮБОМ магазине сети.

Для этого во вкладке «ПАРАМЕТРЫ» необходимо нажать кнопку «МИНИМУМЫ ТГ», чтобы перейти на страницу настройки минимумов (Рисунок 10). В этом случае откроется файл СуперРасчет_Шаблон_tst.xls, в котором собраны все основные настройки для расчета эталона.

Рисунок - Настройка минимумов для товарных групп

В данном окне определяются минимумы для каждой товарной группы, которая будет участвовать в расчете. Для этого необходимо указать требуемое количество СКЮ в поле «MIN».

Аналогично определяются максимумы для каждой товарной группы. Для их определения необходимо нажать кнопку «МАКСИМУМЫ ТГ» во вкладке «ПАРАМЕТРЫ». Нажатие этой кнопки откроет окно настройки максимумов (Рисунок 11)

Рисунок - Настройка максимумов для товарных групп

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

После настройки максимумов следует обратить внимание на том, в каком оборудовании выставляется та или иная товарная группа. Для этого указывается соответствие группы и оборудования на форме «Расположение» (Рисунок 12). Чтобы активировать эту форму необходимо во вкладке «ПАРАМЕТРЫ» нажать кнопку «РАСПОЛОЖЕНИЕ ТГ».

В поле «Проверка» контролируется попадание группы в несколько типов оборудования, в этом случае индикатор напротив группы будет показывать число типов оборудования, отличное от «1».

Коэффициент заменяемости групп определяется во вкладке «КоефЗамен»

Связанность групп определяется во вкладке «Связи».

Доля рынка определяется во вкладке «Ращот», по формулам описанным в разработанном методе.

Рисунок - Форма "Расположение" для настройки соответствия товарной группы и оборудования

После того как все параметры настроены, необходимо в форме приложения во вкладке «ПАРАМЕТРЫ» нажать кнопку «Сохранить» (Рисунок 13)

Приложение вернется во вкладку «Главная», где необходимо будет продолжить расчет. Чтобы это сделать, необходимо нажать кнопку «Рассчитать кластеры по оборудованию» (Рисунок 14).

Рисунок - Кнопка "Сохранить"

Рисунок - Кнопка "Рассчитать кластеры по оборудованию

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

  1.  Доля в потребительской корзине, занимаемая данной категорией
  2.  Доли на рынке, занимаемые позициями данной категории
  3.  Коэффициент заменяемости в данной категории
  4.  Наличие связанной категории и степень связи
  5.  Вместимость торгового оборудования, в котором размещается данная категория, и его наличие в магазине.
  6.  Корректировки вместимости в виде минимумов и максимумов товарных групп

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

После отработки алгоритма создадутся файлы вида СуперРасчёт_[имя кластера].xls и Результат[общая вместимость]_[имя кластера].xls, а также выведется окно уведомления об окончании алгоритма (Рисунок 15):

Рисунок - Уведомление о завершении расчета кластеров

Чтобы удобно пользоваться рассчитанными данными необходимо перейти к следующему пункту, нажав кнопку «Сформировать сводку кластеров» (Рисунок 16)

Алгоритм ищет все файлы Результат[общая вместимость]_[имя кластера].xls в рабочем каталоге программы, ищет в них соответствие товарной группы и вместимости и переносит данные о вновь рассчитанном кластере во вкладку «Сводка кластеров» (Рисунок 18).

Рисунок  - Пункт "Сформировать сводку кластеров"

Рисунок  - Сводка кластеров успешна создана

Рисунок - Отчет "Сводка кластеров"

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

Для того, чтобы определить необходимый ассортимент индивидуально для каждого магазина, необходимо добавить магазин, а также информацию об оборудовании в базу данных. Это можно сделать, нажав кнопку «Добавить данные по оборудованию» (Рисунок 19)

Рисунок - Кнопка "Добавить данные по оборудованию"

В открывшемся окне (Рисунок 20) необходимо заполнить все необходимые поля:

  1.  Название магазина (должно быть уникальным);
  2.  Метраж полки стеллажной;
  3.  Количество горок;
  4.  Количество бонет для замороженной продукции;
  5.  Количество бонет для мороженого;
  6.  Наличие бонеты под охлажденную продукцию;
  7.  Наличие хлебного стеллажа;
  8.  Наличие гриля;
  9.  Наличие печи;
  10.   Наличие стеллажа под фрукты и овощи;
  11.   Наличие прикассового оборудования;

Рисунок - Форма добавления данных по оборудованию магазина

После того, как вся информация введена, необходимо нажать кнопку «Добавить», в случае корректного заполнения и добавления появится соответствующее сообщение (рисунок 21)

Рисунок - Данные успешно добавлены

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

Для этого необходимо открыть форму, нажав кнопку «Просмотреть информацию по магазину» (Рисунок 22).

Рисунок - Кнопка "Просмотреть информацию по магазину"

Откроется окно «Кластеры магазина» (Рисунок 24) в котором можно выбрать интересующий нас магазин и просмотреть информацию о присвоенном ему кластеру, о количестве товарных позиций (СКЮ), которые необходимо поставить на каждый тип оборудования, об общем количестве товара, необходимого для оптимального наполнения потребительской корзины.

В окне «Кластеры магазина» имеется кнопка «ПОДРОБНЕЕ», которая становится доступной при выборе любого магазина. Эта кнопка служит для создания отчета «О вместимости ТГ магазина» (Рисунок 23), в котором содержится полная информация о том, сколько СКЮ каждой товарной группы надо поставлять на конкретный магазин. Эти данные передаются в департамент маркетинга для раскройки магазина, а также в департамент логистики, для оптимального наполнения складской площади.

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

Рисунок - Отчет "О вместимости ТГ магазина"

Рисунок - Форма "Кластеры магазина"

ЗАКЛЮЧЕНИЕ

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

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

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

Цель дипломной работы была достигнута, а также решены следующие задачи:

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

Кроме  того проведен анализ среды разработки прикладного решения.

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

Прикладное решение имеет следующие функциональные возможности:

  •  Расчет кластерного эталона для сети продовольственных магазинов
  •  Генерация отчета «Сводка кластеров»
  •  Добавление новых магазинов в базу оборудования
  •  Генерация отчета «О вместимости ТГ магазина», в котором содержится полная информация по ассортименту необходимого магазина


СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

  1.  Слепцова Л.Д. - Программирование на VBA в Microsoft Office 2010 – М.: Диалектика, 2010
  2.  Харис М. Программирование для  Microsoft Excel 2000 за 21 день. – М.: Вильямс, 2000.
  3.  Могилев А.В., Пак Н.И., Хеннер Е.К. Информатика. – М.: ACADEMIA, 2000.
  4.  С.А.Малышев-Самоучитель VBA.Как это делается в Word, Excel, Access, 2001
  5.  Зиглар З. Искусство продаж. М.: - Попурри, 2007. – 412 с.
  6.  Дихтль Е., Хёршин Х. Практический маркетинг. – М.: Высшая школа, 1995
  7.  Ланкастер Дж., Джоббер Д. Продажи и управление продажами. – М.: ЮНИТИ, 2007. – 416 с. 
  8.  Дейан А. Изучение рынка. М.: Олма-Пресс, 2007. – 362 с.
  9.  Дейян А., Троадек А. Стимулирование сбыта и реклама на месте продажи – М.: Прогресс, 2007. – 189 с.
  10.  Галицкий Е.Б. Методы маркетинговых исследований. – М.: Институт Фонда Общественное мнение, 2008. – 85 с.
  11.  Хисрик Р.Д. Торговля и менеджмент продаж М.: Финансы и статистика, 2008.– 215 с.
  12.  Шаповалов В.А. Управление маркетингом и маркетинговый анализ: учебное пособие/В.А. шаповалов. – Ростов н/Д: Феникс, 2008. – 345с. –(Высшее образование)
  13.  Сайт Записки маркетолога URL: www.marketch.ru/ (дата обращения: 24.04.2013)
  14.  Сайт JExcel API URL: http://jexcelapi.sourceforge.net/ (дата обращения: 28.04.2013)
  15.  Сайт JAMA URL: http://math.nist.gov/javanumerics/jama/ (дата обращения: 08.05.2013)
  16.  Справочник VBA URL: http://vba-help.ru/. (дата обращения: 12.05.2013)


Информация о всех типах оборудования ММ

Кластерный эталон по оборудованию

Информация об оборудовании

конкретного ММ

Индивидуальный

эталон

Департамент продаж

Система Автоподбор

НОП

Система Автоподбор

Единый

Утвержденный эталон по матрице 3000

Отдел Аналитики

Статистика продаж

по ТГ

тдел Статистики

Товарная группа 1

Товарная группа 2

Товарная группа N

SKU(N)

SKU3

SKU2

SKU1

SKU(K)

SKU2

SKU1

SKU(M)

SKU1

  1.  

 

А также другие работы, которые могут Вас заинтересовать

7677. Склад і структура виробничого процесу 84.18 KB
  Склад і структура виробничого процесу Сутність та елементний склад структури. Первісним ланцюгом в організації виробничого процесу та базовим осередком (елементом) виробничої системи є робочі місця, на яких виконуються робітниками (групою робітників...
7678. Типи організації виробництва та їх характеристика 18.18 KB
  Типи організації виробництва та їх характеристика Виробництво - це процес створення матеріальних благ, необхідних для існування і розвитку суспільства.Виробничий процес є послідовною зміною стану предмета праці при перетворенні його з матеріалів і с...
7679. Форми побудови дільниць, цехів та служб підприємства 37.95 KB
  Під виробничою структурою цеху розуміють складу входять до нього виробничих ділянок, допоміжних та обслуговуючих підрозділів, а також звязки між ними. Ця структура визначає розподіл праці між підрозділами цеху, тобто внутріцехове спеціалізацію и кооперирование производства...
7680. Складське господарство 19.5 KB
  Складське господарство Умовою безперервного перебігу виробничих процесів на підприємствах є створення певних запасів сировини, матеріалів, палива, комплектувальних виробів, а також міжцехових і внутрішньоцехових запасів напівфабрикатів власного виго...
7681. Матеріально-технічне забезпечення виробництва 19.41 KB
  Матеріально-технічне забезпечення виробництва МТЗ - це вид комерційної діяльності щодо забезпечення матеріально-технічними ресурсами процесу виробництва, здійснюваної, як правило, до початку виробництва. Основна мета МТЗ - доведення матері...
7682. Нормування праці 19.21 KB
  Нормування праці Нормування праці - це від діяльності з управління підприємством, пов’язаний з визначенням необхідних затрат праці та її результатів, контролем за мірою праці. Мета нормування праці в ринкових умовах полягає в тому, щоб на ...
7683. Призначення та класифікація нормативів праці 61.25 KB
  Призначення та класифікація нормативів праці. Під час нормування праці важливим завданням є забезпечення більш-менш рівної інтенсивності праці на різних за змістом та складністю роботах. Це досягається використанням єдиної методологічної (зага...
7684. Компенсаторно-приспособительные процессы 50 KB
  Компенсаторно-приспособительные процессы Определение. Приспособление (адаптация) - это процессы, с помощью которых организм реагирует на изменения условий жизни. Компенсация - это вид приспособления (адаптации) для восстановления нар...
7685. Опухоли системы крови (гемобластозы) 53.5 KB
  Опухоли системы крови (гемобластозы) Гемобластозы - опухолевые процессы кроветворной ткани. Разделяют две группы гемобластозов: лейкозы (лейкемия) - системные опухолевые заболевания кроветворной ткани. лимфомы - регионарны...