Разработка программного средства оценки

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 14.07.2016
Размер файла 1,7 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Оглавление

Введение

Глава 1. Предпроектное исследование

1.1 Описание проблемы

1.2 Обзор существующих методов

1.3 Основные понятия и определения

Глава 2. Проектирование модели анализа данных

2.1 Анализ предметной области

2.2 Разработка модели анализа данных

2.3 Разработка программного средства

Глава 3. Экономическое обоснование

Заключение

Библиографический список

Приложения

Введение

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

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

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

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

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

описание предметной области;

проектирование модели анализа данных;

разработка программного средства;

разработка технического задания;

разработка экономического обоснования.

Глава 1. Предпроектное исследование

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

1.1 Описание проблемы

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

Основной проблемой в среднем и малом бизнесе является то, что фирмы в данной области достаточно часто разоряются, так как предприятия достаточно сильно зависят от внешних факторов. Далее рассмотрены причины разорения предприятий.

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

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

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

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

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

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

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

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

1.2 Обзор существующих методов

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

Метод контрольного списка. Первый метод можно назвать рейтинговой методикой или методом контрольного списка. Он предполагает оценку каждого варианта размещения магазина по фиксированному набору параметров. Значение параметров для всех вариантов оценивается экспертом. Шкала (но не ее вид) неявно определяется самим экспертом по каждому параметру. Метод контрольного списка стал, пожалуй, самым распространенным методом для принятия решений по местоположению как в России, так в США и Западной Европе. Очевидным преимуществом является его простота и дешевизна. Кроме того, в некоторых случаях высококвалифицированный и опытный эксперт может дать оценку более точную, чем любой существующий статистический метод. Для использования данного метода в компании должен работать эксперт, умеющий точно оценивать площадки.

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

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

MINITAB - решение, предоставляющее средства для выполнения каждой фазы проекта повышения качества, включая такие функции, как StatGuide и ReportPad, позволяющие обрабатывать результаты анализа [6].

WEKA - продукт университета Уайкато (Новая Зеландия), обеспечивающий графический пользовательский интерфейс для работы с файлами данных и генерации визуальных результатов (в виде таблиц и графиков). Кроме того, можно интегрировать WEKA, как и любую другую библиотеку, в свои собственные приложения, например, для автоматизации анализа данных на стороне сервера, используя стандартный API [6].

MSExcel - прикладная программа, входящая в MSOffice, предназначена для обработки информации с помощью электронных таблиц [5].

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

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

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

1.3 Основные понятия и определения

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

Согласно определению Гладун А.Я. [2]: «Онтология состоит из терминов (понятий), их определений и атрибутов, а также связанных с ними аксиом и правил вывода.

Формальная модель онтологии O=<Т, R, F> -- это упорядоченная тройка конечных множеств, где:

Т -- термины прикладной области (ПрО), которую описывает онтология O;

R -- отношения между терминами заданной ПрО;

F -- функции интерпретации, заданные на терминах и/или отношениях онтологии O.

Модели онтологий классифицируются таким образом:

простые (имеют лишь концепты);

на основе фреймов (имеют лишь концепты и свойства);

на основе логик (напримерOntolingua, DAML+OIL)».

Д.Кудрявцев дает следующее определение онтологии [7]: «Онтология -- формальная спецификация разделяемой концептуальной модели, где:

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

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

«спецификация» подразумевает описание системы понятий в явном виде,

«формальная» подразумевает, что концептуальная модель является машиночитаемой».

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

В рамках данной работы будет использоваться UML язык. Унифицированный язык моделирования UML (Unified Modeling Language) - графический язык моделирования для описания, проектирования, визуализации и документирования в объектно-ориентированном анализе. В рамках данной работы используется диаграмма классов, определяющая типы объектов системы и различного рода статические связи, которые существуют между ними. На диаграммах классов изображаются также атрибуты классов, операции классов и ограничения, которые накладываются на связи между объектами[4]. Построенная диаграмма классов позволяет формализовать концепцию модели, а также отобразить связи между классами, не представленные в онтологии с помощью плагина OntoGraph.

Для того, чтобы автоматизировать оценку востребованности территорий, будет реализован прототип системы поддержки принятия решений (СППР).Согласно определению Барсегян: «СППР -- это системы, обладающие средствами ввода, хранения и анализа данных, относящихся к определенной предметной области, с целью поиска решений. Основная задача СППР -- предоставить аналитикам инструмент для выполнения анализа данных»[1].

Барсегян дает достаточно содержательное определение, включая основные характеристики СППР. Также Барсегян рассматривает архитектуру СППР.

Подсистема ввода данных. В таких подсистемах, называемых OLTP (Online transaction processing), выполняется операционная (транзакционная) обработка данных. Для реализации этих подсистем используют обычные системы управления базами данных (СУБД).

Подсистема хранения. Для реализации данной подсистемы используют современные СУБД и концепцию хранилищ данных.

Подсистема анализа. Данная подсистема может быть построена на основе:

подсистемы информационно-поискового анализа на базе реляционных СУБД и статических запросов с использованием языка структурных запросов SQL (Structured Query Language);

подсистемы оперативного анализа. Для реализации таких подсистем применяется технология оперативной аналитической обработки данных OLAP (On-line analytical processing), использующая концепцию многомерного представления данных;

подсистемы интеллектуального анализа. Данная подсистема реализует методы и алгоритмы Data Mining ("добыча данных") [1].

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

По способу взаимодействия с пользователем выделяют следующие типы СППР:

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

активные системы непосредственно участвуют в поиске и подготовке наиболее оптимального решения;

кооперативные системы предоставляют пользователю возможность доработать найденные ими решение, а затем проверить внес?нные пользователем коррективы [3].

По способу поддержки различают:

модельно-ориентированные СППР, выполняют поиск оптимальных решений основываясь на специально разработанные модели (статистические, финансовые и т.п.);

СППР, ориентированные на данные, организуют поддержку пользователя при поиске эффективных решений, агрегируя большие объ?мы данных из гетерогенных источников;

СППР, ориентированные на знания, выполняют поиск оптимальных решений, основываясь на специально разработанной базе знаний [3].

Чаще всего встречаются СППР смешанного типа.

По сфере использования выделяют:

настольные СППР - небольшие системы, ориентированные на использование одним пользователем, работающим на персональном компьютере;

общесистемные СППР, используют в своей работе большие хранилища данных и ориентированы на использование многими пользователями [3].

Поиск решений в СППР строится в большинстве случаев на основе концепции Knowledge Discovery in Database (KDD), которая реализует процесс поиска полезных знаний в “сырых” данных. Схема представлена на рисунке ниже:

Рисунок 1.1. Концепция KDD

Данный процесс состоит из следующих этапов:

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

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

Трансформация и нормализация данных. На этом этапе информация приводится к пригодному для последующего анализа виду с помощью следующих операций: приведение типов, квантование, приведение к «скользящему окну» и т.д.

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

Постобработка данных. На выходе полученные знания интерпретируются и применяются.

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

Далее рассмотрим технологию Data Mining и основные алгоритмы. Барсегян дает достаточно точное описание термина Data Mining: «Технология Data Mining (также называемая Knowledge Discovery In Data --обнаружение знаний в данных) изучает процесс нахождения новых, действительных и потенциально полезных знаний в базах данных. Data Mining лежит на пересечении нескольких наук, главные из которых -- это системы баз данных, статистика и искусственный интеллект». Задачи, решаемые методами Data Mining[11]:

классификация - это отнесение объектов (наблюдений, событий) к одному из заранее известных классов;

регрессия, в том числе задачи прогнозирования. Установление зависимости непрерывных выходных от входных переменных;

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

ассоциация - выявление закономерностей между связанными событиями;

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

анализ отклонений - выявление наиболее нехарактерных шаблонов.

Книга «10 самых эффективных алгоритмов Data Mining», написанная на основе проведенной конференции по Data Mining (the IEEE International Conferenceon Data Mining), определяет классификацию алгоритмов Data Mining[5].

С4.5. - набор алгоритмов для классификации проблем в области машинного обучения и интеллектуального анализа данных (ориентирован на обучение с учителем).

Алгоритмы k-средних(k-means) - простые широко используемые алгоритмы кластеризации. Цель кластеризации или сегментации разделить используемые объекты (записи) на группы или кластеры таким образом, чтобы объекты внутри кластеры были схожи друг с другом, в отличие от объектов, принадлежащим разным группам.

Метод опорных векторов (support vector machine), включающий классификатор опорных векторов (support vector classifier) и регрессию опорных векторов (support vector regression).

Алгоритм Apriori или AprioriTid - алгоритм поиска ассоциативных правил.

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

Алгоритм Page Rank хорошо известный алгоритм ранжирования интернет-страниц, которым также пользуется Google.

Алгоритмы Ada Boost (adaptive boosting) одни из самых эффективных алгоритмов для повышения точности аналитических моделей.

Метод ближайших соседей (k-nearest neighbor classification) осуществляет поиск группы k-объектов в обучающем наборе расстояние до которых минимально и определении класса, наиболее встречающегося среди k-ближайших соседей.

«Наивная классификации» (Naпve Bayes) - легко интерпретируемые метод о взаимной независимости признаков.

Алгоритм CART: Classification and Regression Tree представляет важную веху в эволюции искусственного интеллекта, машинного обучения, непараметрической статистики и анализа данных.

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

В данной главе были рассмотрены основные классификации СППР, процесс поиска решений. Также представлен обзор основных алгоритмов Data Mining.

Глава 2. Проектирование модели анализа данных

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

2.1 Анализ предметной области

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

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

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

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

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

Рисунок 2.1. Онтология предметной области

автоматизация торговля программный

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

На самом верхнем уровне дерева расположились следующие компоненты:

Остановка. Здесь подразумеваются все автобусные остановки города. Атрибутами экземпляра являются:

название;

широта;

долгота.

Классификация по типу объекта. Экземпляр представляет собой классификацию для каждого объекта города. У данного экземпляра единственный атрибут:

название.

Классификация покупателей/клиентов. Экземпляр включает различную категоризацию людей. Атрибутом данного экземпляра является:

название.

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

Рисунок 2.2. Онтология классификации по типу объекта.

На представленной онтологии отображена часть входящих в нее экземпляров. Компонент «Классификация по типу объекта» включает в себя 60 экземпляров, каждый из которых соответствует классификации объектов карты Google Maps. Кроме того, в данную классификацию введен экземпляр новый розничный торговый объект, который является анализируемым объектом для поиска прибыльной территории.

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

Рисунок.2.3. Онтология категорий потребителей

Данная классификация содержит ряд экземпляров.

По интересам (см. рис.2.4.). В данной классификации отображены основные сферы деятельности людей:

искусство;

спорт;

наука;

красота;

юриспруденция;

техника/проектирование;

строительство/квартира;

автомобили;

медицина;

экономика/финансы;

развлечение;

животные.

Рисунок 2.4. Классификация людей по интересам.

В данном случае, люди будут классифицироваться по их основной деятельности или увлечениям, например, посетители мебельного магазина будут относиться к категории «Строительство/квартира».

По занятости (см. рис. 2.5.); экземпляр идентифицирует людей по их текущей занятости:

дошкольник;

школьник;

студент;

работник;

пенсионер.

Рисунок 2.5. Классификация людей по занятости

Данная классификация достаточно близка к возрастной периодизации, однако имеет некоторые различия, например, молодой человек в возрасте от 18 до 24 может никогда не быть студентом, однако будет являться работником. Но потребности работника 20 лет и 35 существенно различаются.

Возрастная периодизация (см.рис.2.6.). За основу взята возрастная периодизация Эрика Эриксона:

раннее детство (0-6);

школьный возраст(7-12);

юность(13-20);

молодость(21-25);

взрослость(26-60);

старость (от 60).

Рисунок 2.6. Классификация людей по возрастной периодизации

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

По полу (см.рис.2.7.). Экземпляр идентифицирует людей по полу:

мужской;

женский.

Рисунок 2.7. Классификация людей по полу

Данная классификация применима, например, для салона красоты, так как преобладающей категорией являются женщины.

2.2 Разработка модели анализа данных

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

Представим данную модель в виде ориентированного графа G, который задается двумя множествами G=(V, E), где V - конечное множество, элементы которого называют вершинами или узлами, E - множество упорядоченных пар на V. Узлами графа являются объекты и остановки, дугами являются потоки данных (категории потребителей) (см. рис 2.8.).

Рисунок 2.8. Связь и передача данных между объектом и остановкой

Введем ряд ограничений:

Дуга всегда является исходящей из вершины “Объекта” и заходящей в вершину “Остановка”.

Не существует исходящих дуг из вершины “Остановка”.

Обоснуем выбор окружения объекта тремя остановками.

Одна остановка. Охватывает недостаточное количество объектов.

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

Три остановки. Три ближайшие остановки к объекту будут образовывать некий треугольник, содержащий преобладающие категории людей.

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

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

Для формализации данной модели была использована диаграмма классов UML (см. рис. 2.9.).

Рисунок 2.9. Диаграмма классов UML для анализируемой модели

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

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

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

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

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

прибыльное;

убыточное.

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

Рассмотрим алгоритм решения каждого из методов.

Алгоритм с указанием адреса.

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

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

(2.1)

где 1,2, - широта и долгота двух точек в радианах, - разница

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

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

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

После анализа данных пользователь получает один из вариантов ответа.

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

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

Данный алгоритм представлен в виде блок-схемы в Приложении A.

Алгоритм без указания адреса:

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

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

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

Методом перебора рассматривается каждая территория и подсчитываются доли каждой из категорий.

Выводит в рейтинг первые пять прибыльных территорий.

Данный алгоритм представлен в виде блок-схемы в Приложении B.

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

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

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

Поэтому, каждой из классификаций присваивается коэффициенты в сумме равные 1: 0.6 - классификация по интересам, 0.2-классификация по занятости, 0.2 - возрастная периодизация.

Каждый из коэффициентов кратен двум, таким образом получим следующие коэффициенты: 0.3, 0.1, 0.1. Для каждой из территорий подсчитывается количество объектов с данным видом классификации и умножается на коэффициент:

y=0.3Чa + 0.1Чb+0.1Чc, (2.2)

где a - количество объектов с классификацией по интересам, b - количество объектов с классификацией по занятости, c - количество объектов с классификацией по возрасту покупателей. Система рассматривает все возможные варианты трех ближайших остановок по городу и выводит рейтинг первых пяти территорий, у которых значение “y” оказалось максимальным.

2.3 Разработка программного средства

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

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

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

routes;

routes_types;

routes_stops.

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

Таблица Stops содержит следующие поля:

id_stop - идентификатор таблицы;

name_stop - название остановки;

latlng - координаты расположения остановки.

Таблица categ_detail содержит экземпляры классификаций покупателей:

id_categ_detail - идентификатор таблицы;

name_detail- название экземпляра классификации;

id_categ - внешний ключ для таблицы category.

Таблица category включает виды классификаций:

id_category - идентификатор таблицы;

name_category - название вида классификации.

Кроме того, необходимо было создание сводных таблиц:

categ_and_org - сводная таблица для таблиц categ_detailи types;

org_stop - сводная таблица для таблиц StopsиOrg.

Добавление и удаление таблиц в БД осуществляется с помощью SQL-запросов (см. табл. 2.1.)

Таблица 2.1. Распределение категорий людей по объектам

Операция

Запрос

Удаление таблиц routes_stops, routes, routes_types.

String sql = "DROP TABLE routes_stops";

sql = "DROP TABLE Routes";

sql = "DROP TABLE routes_types";

Добавление таблицы Stops

String sql = "CREATE TABLE Stops (id_stop NCHAR(100) PRIMARY KEY,name_stop NCHAR(100), latlng NCHAR(100))";

Добавление таблицы category

sql = "CREATE TABLE category (id_category INT PRIMARY KEY, name_categoryNCHAR(40))";

Добавление таблицы categ_detail

sql = "CREATE TABLE categ_detail (id_categ_detail INT PRIMARY KEY, name_detail NCHAR(50), id_categ INT)";

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

Помимо модификации структуры БД, необходимо было заполнение созданных таблиц и предобработку данных в уже существующих таблицах.

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

Перенос данных об остановках в отдельную таблицу. Категории объектов также включают в себя категорию «Остановка». В данном случае данный объект необходим для определения границ территорий в городе Пермь. Таким образом, данные по остановкам (название, координаты расположения) выносятся в таблицу Stops и из таблицы Org удаляются.

Заполнение таблиц category и categ_and_detail данными о категориях клиентов и видах категорий клиентов.

2.4 Заполнение сводных таблиц.

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

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

Модификация и предобработка данных выполняется автоматически с помощью ряда запросов, представленных в таблице 2.2.

Таблица 2.2. Описание запросов для предобработки

Операция

Запрос

Заполнение таблицы category

st2 = c.prepareStatement("INSERT INTO category (name_category)"+ " VALUES (?)");

Заполнение таблицы category

st = c.prepareStatement("INSERT INTO categ_detail (id_categ_detail, name_detail, id_categ)" + " VALUES (?, ?, ?)");

Заполнение сводной таблицы categ_and_org

PreparedStatementst = c.prepareStatement("INSERT INTO categ_and_org (id_categ, id_type)"+ " VALUES (?, ?)");

Выборка остановок в таблице Org

ResultSetrs = st.executeQuery("select * from Org, org_types, types where Org.id_organisation=org_types.id_organisation AND types.id_type=org_types.id_type AND types.id_type=" + 64);

Заполнение таблицы Stops

PreparedStatement st2 = c.prepareStatement("INSERT INTO Stops (id_stop,name_stop, latlng)"+ " VALUES (?, ?,?)");

Удаление остановок из таблицы Org

PreparedStatement st2 = c.prepareStatement("DELETE FROM Org where id_organisation like '"+ str + "'");

Заполнение сводной таблицы org_stop

PreparedStatementstInsert = c.prepareStatement("INSERT INTO org_stop (id_org,id_stop)"+ " VALUES (?, ?)");

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

Алгоритм без указания адреса. Для реализации метода данного алгоритма используются следующие параметры:

idInterest - идентификатор выбранной категории покупателей по интересам;

idOccup - идентификатор выбранной категории покупателей по занятости;

idAge - идентификатор выбранной категории покупателей из возрастной периодизации.

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

Алгоритм с указанием адреса. Для реализации метода помимо параметров, перечисленных в предыдущем алгоритме, необходим адрес предполагаемого расположения нового розничного торгового объекта. Система получает адрес размещения и передает в сформированный файл JavaScript, необходимый для взаимодействия с картой Google Mapsдля получения координат по введенному адресу.

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

Для того, чтобы начать работать с программой пользователю необходимо подключить заполненную БД к программе. Далее для предобработки данных нужно перейти на вкладку «Предобработка данных» и нажать кнопку «Обработать данные» (см. рис. 2.10.).

Рисунок 2.10. Форма для предобработки данны

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

выполнено;

ошибка.

В процессе обработки данных выполняются SQL-запросы, описанные ранее.

Далее можно приступать к оценке территорий. Данные операции выполняются на вкладке «Анализ данных» (см. рис.2.11.).

Рисунок 2.11. Форма для получения решения

В приложении была добавлена карта Google Maps, для взаимодействия с которой необходимо приобретение ключа.

Рассмотрим также работу алгоритмов:

Алгоритм с указанием адреса. Реализация данного алгоритма потребовала взаимодействия с картой Google Maps для получения координат адреса. Для получения решения пользователь должен выбрать категории покупателей и ввести адрес в текстовое поле (см. рис.2.12.).

Рисунок 2.12. Получение решения по адресу

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

Рисунок 2.13. Получение долей по категориям потребителей

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

Рисунок 2.14. Получение решения без указания адреса

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

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

Глава 3. Экономическое обоснование

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

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

Таблица 3.1. Заработные платы участников проекта

Сотрудник

Заработная плата, руб/мес

Заработная плата, руб/день

Руководитель проекта

60 000

2727

Программист

50 000

2273

Аналитик

40 000

1818

Тестировщик

30 000

1364

Интернет-маркетолог

40 000

1818

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

Руководитель проекта:

определение цели и задач проекта;

создание плана работ;

проведение оценки стоимости ресурсов;

проведение оценки рисков;

координация внутри проекта;

контроль сроков выполнения работ.

Программист:

разработка, участие в тестировании, отладка сервиса;

осуществление сопровождения web-приложения;

создание и наполнение схем БД.

Аналитик:

анализ предметной области;

анализ функциональных возможностей web-приложения;

разработка документации программного средства;

участие в интервьюировании web-приложения.

Тестировщик:

создание сценариев тестирования для сервиса;

осуществление тестирования сервиса;

заполнение тестовыми данными таблиц БД;

анализ и классификация полученных ошибок.

Интернет-маркетолог:

разработка стратегий развития проекта;

анализ продвижения web-сервиса;

расширение клиентской БД.

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

Таблица 3.2. Этапы разработки web-сервиса

Наименование стадии

Содержание стадии

Трудоемкость, дни

Участник

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

Описание проблемы, изучение технической литературы.

25

Аналитик

Проектирование модели

Анализ предметной области, разработка концепции модели.

30

Аналитик

Проектирование приложения

Описание функций системы, разработка структуры и макета приложения.

14

Аналитик

Разработка системы

Разработка БД, реализация бизнес-логики.

90

Программист

Тестирование, отладка

Разработка тестов для проверки корректности работы системы

30

Тестировщик, программист

Документирование

Разработка документации программного средства

5

Аналитик

Итого:

194

В целом на реализацию проекта будет потрачено 33 дня. Если взять в учет, что сроки будут сорваны, необходимо вычислить максимальное количество дней, потраченных на реализацию проекта. У каждого участника проекта умножим количество дней выполнения работ на 20%(см. табл. 3.3.).

Таблица 3.3. Этапы разработки web-сервиса с учетом невыполнения сроков

Наименование стадии

Содержание стадии

Трудоемкость, дни

Участник

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

Описание проблемы, изучение технической литературы.

30

Аналитик

Проектирование модели

Анализ предметной области, разработка концепции модели.

36

Аналитик

Проектирование приложения

Описание функций системы, разработка структуры и макета приложения.

16,8

Аналитик

Разработка системы

Разработка БД, реализация бизнес-логики.

108

Программист

Тестирование, отладка

Разработка тестов для проверки корректности работы системы

36

Тестировщик,

программист

Документирование

Разработка документации программного средства

6

Аналитик

Итого:

233

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

Z=?Zij=?(aiЧbj),(3.1)

где Z1-суммарные затраты на заработную плату без учета заработной платы руководителя проекта, ai-участник проекта, bj-этап работ. Таким образом, получим:

Z1=30дн.Ч1818руб.+36дн.Ч1818руб.+16,8дн.Ч1818руб.+108дн.Ч2273руб.+36дн.Ч2273руб.+36дн.Ч1364руб.+6дн.Ч1818руб.==537854,4 руб.(3.2)

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

Z=537854,4 руб.+2727 руб.*233дн.=1 173 245,4 руб., (3.3)

где Z - суммарные затраты на заработную плату в течение реализации проекта. Необходимо учесть также затраты на технологическое обеспечение (см. табл. 3.4.):

Таблица 3.4. Технологическое оснащение офиса

Технологическое оснащение офиса (руб)

Цена сервера

84000 руб.

Цена оборудования (серверные шкафы, системы охлаждения, кабеля, иные расходы)

15000 + 2000 + 1000 +2000 = 20000 руб.

Установка и настройка сервера (установка ОС, антивирусных программ)

20000

Аренда офиса (в месяц)

30 000

Аренда офиса составляет 30 000 руб. С доходов от использования разработанного решения компания выделяет 10 000 руб. В итоге стоимость технического оснащения равна:

Стоимость техн. оснащения=10 000 руб.*7 дн.+20 000 руб.++20 000 руб.+84 000 руб.= 194 000 руб,(3.4)

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

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

Себестоимость=1 173 245,4 руб. + 194 000 руб.= 1 367 245, 4 руб,(3.5)

Для того чтобы реализация нового сервиса окупилась, компания введет подписку для получения услуг сервиса в размере 1500 руб. с пользователя, а также поквартальную оплату за использование услуг в размере 500 руб. Кроме того, будет использоваться 3 блока рекламы от Google, Yandex и Rambler. В таблице 3.5. приведены цены за клик:

Таблица 3.5. Список цен за один клик уникального пользователя

Цена за клик с уникального пользователя, руб

Google

15

Yandex

13

Rambler

10

Предполагается, что в за сутки будет около 1000 уникальных пользователей, из них около 100 будут заходить по ссылкам. Таким образом, в месяц компания получит дохода с рекламы:

)Ч100Ч30 =38 000 руб. (3.6)

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


Подобные документы

  • Принципы и способы электронной торговли. Требования к разработке гипертекстовой информации для размещения в сети Интернет. Маркетинговые исследования в сфере розничной продажи в магазине обуви города Россошь. Структура сайта розничной торговли магазина.

    дипломная работа [4,3 M], добавлен 26.09.2013

  • Разработка стратегии и выбор способа автоматизации задачи снабжения для предприятия. Построение функциональной модели бизнес-процессов предметной области. Создание программного средства "1С: Конфигурация ОМТС" для оптимального решения задач снабжения.

    дипломная работа [7,2 M], добавлен 12.04.2012

  • Бизнес-процессы деятельности склада фирмы розничной торговли. Диаграмма прецедентов (приемки товара), активности и последовательности. Список классификационных справочников. Объектно-ориентированная модель программного продукта, основные диаграммы.

    контрольная работа [414,7 K], добавлен 17.06.2012

  • Создание базы данных для ведения учёта товаров и услуг на предприятиях розничной торговли на примере компании "Евросеть СПБ". Экономическая сущность задач учета складских операций. Документальное оформление приёмки товаров. Среда создания базы данных.

    дипломная работа [3,1 M], добавлен 15.01.2012

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

    курсовая работа [905,3 K], добавлен 20.01.2012

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

    дипломная работа [2,9 M], добавлен 28.06.2011

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

    курсовая работа [810,7 K], добавлен 28.12.2010

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

    курсовая работа [926,7 K], добавлен 20.05.2015

  • Разработка программного средства для поиска альтернативных решений многокритериальных задач. Проектирование программного средства с помощью объектно-ориентированного подхода. Пример листинга программного кода. Особенности работы программы на примере.

    контрольная работа [346,5 K], добавлен 11.06.2011

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

    курсовая работа [706,3 K], добавлен 07.08.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.