Файл: Средства разработки клиентских программ (разработка клиентской программы).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 19.06.2023

Просмотров: 80

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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

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

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

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

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

Таблица 2 – Сравнительный анализ инструментов статистического анализа данных

Простота

Стоимость

Автома-тизация

Интеропера-бельность

Информация

SAS University edition

Высокая (специальный модуль для прогнозирования)

Бесплатно

для неком-мерческого использования

Да

Более 60 источников данных, а также: Teradata, SAP HANA, Hadoop, Oracle Exadata

Видеоуроки youtube, официальный сайт, руководство пользователя

Gretl

Средняя

(GUI+консоль)

Бесплатно

Да, с помощью пакетов функций

R, xls, xml, sav (spss), csv

Видеоуроки youtube, официальный сайт, руководство пользователя

IBM SPSS Statistics

Высокая (специальный модуль для прогнозирования)

Бесплатно

на 14 дней для неком-мерческого использования

Да

ODBC, xls, csv, SAS, stata

Видеоуроки youtube, официальный сайт, руководство пользователя

SOFA Statictics

Высокая

Бесплатно

Нет

xls, open office, google docx, csv, sql

Видеоуроки youtube, официальный сайт, руководство пользователя

(без прогнозирования)

Data melt

Низкая (обязательно программирование на java python и пр.)

Бесплатно с ограниченными возмож-ностями

Да

-

Официальный сайт

Develve

Высокая

Бесплатно

для неком-мерческого использования

Нет

xls, csv

Видеоуроки youtube, официальный сайт (без прогнозирования)


Среди проанализированных инструментов ярко выделяются продукты от широкоизвестных производителей IBM и SAS, поскольку они имеют огромное количество обучающих материалов высокого качества и удобный интерфейс, но при этом для коммерческого использования невозможно использовать бесплатную версию, а IBM вообще предоставляет бесплатный доступ всего на 14 дней. Тем не менее, необходимо взять один из этих проприетарных продуктов, чтобы оценить разницу в удобстве использования по сравнению с open source. Для этих целей выбран IBM SPSS, поскольку Базовая кафедра является Центром компетенции по технологии IBM BIG DATA, и студентам доступен бесплатно пакет IBM SPSS, который будет использован в данной ВКР. Если бы у Базовой кафедры не было возможности предоставить IBM SPSS для свободного использования, то в качестве проприетарного продукта был бы выбран SAS University edition, поскольку он не ограничивает время бесплатного использования и обладает схожими с IBM SPSS характеристиками.

Среди open source инструментов, SOFA Statictics и Develve имеют высокую простоту, но по обеспеченности учебными материалами они проигрывают gretl, у которого к тому же хорошая интероперабельность и возможность автоматизации.

Таким образом, для проведения маркетингового анализа были выбраны 2 инструмента: gretl и IBM SPSS Statictics.

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

1.2Анализ внутренних данных

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

Пример исходных данных по заказу, оформленному в интернет-магазине, представлен в Приложении 1. Реальные данные содержат 3336 заказов, в которых 15930 позиций, но структура xml данных аналогична Приложению 1.

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

Негативные особенности исходных данных:

  • в поле customer_name указано в разных форматах: имя, имя+фамилия, имя+фамилия+отчество, некоторые клиенты вместо имени вводят набор символов;
  • customer_addr также указан совершенно в разных форматах, зачастую отсутствует индекс для заказов, которые отправляются по почте, и агрегировать такие данные очень сложно;
  • в поле customer_email нет проверки на достоверность email адреса, например, наличия @ и реально существующего почтового домена.

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

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

Результат преобразования в транспонированном виде (для удобства представления в тексте работы) выглядит в соответствии с таблицей 3.

Таблица 3 – Результат преобразования данных с помощью парсера

order_id

1923

add_date

08.06.2012, 20:47, Пятница

deliv_date

04.01.2018, 18:31, Четверг

deliv_type

Курьер по Москве

amount

800.00

customer_name

пробный заказа

customer_email

1@1.ruu

customer_tel

123456

customer_addr

1111 gh

item_id

488

item_name

Моделирующая маска для упругости бюста

item_price

800.00

cnt

10

art

32501

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

  1. Разделение столбцов ‘add_date’, ‘deliv_date’ на 3: ‘deliv_date’, ‘deliv_time’, ‘delive_day’. В качестве разделителя будет использована ‘,’.
  2. Создание нового столбца ‘sex’ с полом клиента, который будет определен по имени, указанному в заказе.
  3. Определение категории товара по названию или id.

Для решения поставленных задач необходимо использовать библиотеки Python pandas, csv, numpy.

Задача 1 решается максимально просто, поскольку исходный столбец просто необходимо разделить на 3.

Задача 2 требует сценарной проработки.

  1. В наличии имена клиентов в разных форматах, из которых необходимо получить пол: мужчина или женщина. Для этого в интернете найдены списки мужских и женских имен, которые подгружены в качестве справочников.
  2. Созданы 2 столбца: ‘isMan’ – принимает значение True, если имя в поле ‘customer_name’ содержится имя из списка мужских имен и ‘isWoman’ - принимает значение True, если имя в поле ‘customer_name’ содержится в списке женских имен.
  3. Поскольку некоторые женщины указали свое отчество в поле ‘customer_name’, такие строки будут иметь значение ‘isMan’=True и ‘isWoman’=True. В таком случае необходима дополнительная обработка значений.
  4. Создан столбец ‘sex’, который заполняется на основе столбцов ‘isMan’ и isWoman’ в соответствии с таблицей 4.

Таблица 4 – Определение пола клиента

isWoman

isMan

Sex

Комментарии

True

False

W

Женщина

False

True

M

Мужчина

True

True

W

Женщина

False

False

0

Значение не определено (опечатка, имя не указано)

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

Таблица 5 – Результат второго этапа преобразования данных

order_id

1923

add_date

08.06.2012

deliv_date

04.01.2018

deliv_type

Курьер по Москве

amount

800.00

customer_name

Пробный заказа

customer_email

1@1.ruu

customer_tel

123456

customer_addr

1111 gh

item_id

488

item_name

Моделирующая маска для упругости бюста

item_price

800.00

cnt

10

art

32501

add_time

20:47

add_day

Пятница

deliv_time

18:31

deliv_day

Четверг

isWoman

True

isMan

False

sex

0

Задача 3 осложняется тем, что адрес полностью не структурирован и вся информация указана в одном поле. Это не позволяет сделать мэппинг по ключу со справочником, содержащим регионы. Например, адрес указан в формате: «Сочи,п.Лазаревское,354200 ул.Лазарева 3А кв.2», а также «Ракетный бульвар, д.16. офисное здание. Звонок снизу;487». Разбор таких адресов требует мощного алгоритма, который на данный момент не может быть разработан из-за ограниченности в ресурсах.

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

Возможно эта опция доступна при работе через API, но работа с АРI стоит дороже и интеграция с этим функционалом сложнее.

В связи с этим задача анализа продаж по регионам откладывается.


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

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

Для тщательного анализа необходима «Категория» - первый уровень агрегации и «Подкатегория» - более детализированное описание товара. Разбивка по категориям, указанная в таблице 6, была взята с сайта интернет-магазина. В приложении 3 приведен код предобразования на Python.

Таблица 6 – Категоризация товаров интернет-магазина

Категория

Подкатегория

Товар

Для тела

Для ног

1

Аксессуары

Аксессуары для волос

2

Аксессуары

Бижутерия

3

Аксессуары

Аксессуары

4

БАДы

БАДы

5

Гигиена

Для зубов

6

Гигиена

Средства личной гигиены

7

Декоративная косметика

Для ресниц

8

Декоративная косметика

Тон

9

Декоративная косметика

Для губ

10

Декоративная косметика

Парфюм

11

Декоративная косметика

Тени

12

Декоративная косметика

Для ногтей

13

Для волос

Бальзамы и маски

14

Для волос

Шампуни

15

Для лица

Очищение лица

16

Для лица

Маски для лица

17

Для лица

Крем для лица

18

Для тела

Для рук

19

Для тела

Крем для лица

20

Для тела

Очищение тела

21

Для тела

Дезодорант

22

Для тела

Для ног

23

Для тела

Антицеллюллитная серия

24

Для тела

Увлажнение тела

25

Для тела

Патчи

26