Анализ данных и прогнозирование в 1С — Общая статистика

Общая статистика

Анализ данных и прогнозирование в 1С – Общая статистика

Цитаты из ИТС («Руководство разработчика» — «Глава 14. Анализ данных и прогнозирование»):
«Механизм анализа данных и прогнозирования позволяет реализовывать в прикладных решениях различные средства для выявления закономерностей, которые обычно скрываются за большими объемами информации».

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

  • Общая статистика
  • Поиск ассоциаций
  • Поиск последовательностей
  • Кластерный анализ
  • Дерево решений

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

Типы переменных (данных) в статистике:

  • Номинальные данные – данные в виде имени, ярлыка или условного кода. Пример, пол, мужской или женский.
  • Порядковые данные – порядок данных, в котором большее значение, соответствует большему проявлению какого-либо признака. Могут быть ранжированы. Но интервал между значениями не может быть выражен количественно. Пример, степень ожога.
  • Интервальные данные – данные расположены в осмысленном порядке, имеющие равный интервал между измерениями. Пример, температурная шкала.
  • Непрерывные данные – могут принимать любое значение или в определенном диапазоне. Пример, рост, ожидается что он будет в диапазоне [150; 190].
  • Дискретные данные – определенные значения, между которыми существуют четкие границы. Пример, количество детей, 1, 2, 3 ребенка, но не 3,5.

Меры центральной тенденции:

  • Частота – как часто встречается (повторяется) значение в данных.
  • Среднее – сумма всех значений деленное на их количество.
  • Мода – чаще всего встречающиеся значения.
  • Медиана – значение которое, делит упорядоченные множество пополам (значение из середины данных). Если значений четное количество, тогда используется среднее от двух ближайших значений.

Более подробнее см. источники информации, указанные в конце.

Меры изменчивости данных:

  • Размах – разница между самым большим и самым маленьким значением.
  • Квартили – три точки (значения) которые делят множество на четыре равные части.
  • Межквартильный размах – отсекаются 25% самых маленьких и больших значений, для остальных считается размах, то есть размах для 50 % данных из середины.
  • Отклонение – разность конкретного значения от среднего.
  • Дисперсия – Сумма квадратов отклонений, деленная на их количество.
  • Стандартное отклонение – квадратный корень из дисперсии.

Более подробнее см. источники информации, указанные в конце.

В качестве анализируемых данных, будет использоваться набор данных «Supermarket sales» — который представляет из себя, исторические данные о продажах в трех разных филиалах супермаркета, за 3 месяца.

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

В наборе данных присутствуют следующие колонки:

Invoice id Идентификатор счет-фактуры
Branch Филиал супермаркета (3 филиала, возможные значения A, B и C)
City Город
Customer type Тип клиента, «Members» клиент использующий членскую карту и «Normal», без членской карты
Gender Пол покупателя
Product line Вид номенклатуры, «Electronic accessories», «Fashion accessories», «Food and beverages», «Health and beauty», «Home and lifestyle», «Sports and travel»
Unit price Цена за единицу товара
Quantity Количество
Tax 5% налог
Total Сумма с налогом
Date Дата (с January 2019 по March 2019)
Time Время
Payment Вид оплаты (3 возможных оплаты — Cash, Credit card and Ewallet)
COGS Стоимость проданных товаров
Gross margin percentage Процент валовой прибыли
Gross income Валовый доход
Rating Рейтинг покупателя

Для получения общей статистики, создана обработка «Анализ данных общая статистика», на форму которой, в табличный документ, выводится результат анализа.
Код обработки:

#Область ОбщаяСтатистика
	
АнализДанныхОбщаяСтатистика = Новый АнализДанных;
АнализДанныхОбщаяСтатистика.ТипАнализа = Тип("АнализДанныхОбщаяСтатистика");
	
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.Текст = 
	"ВЫБРАТЬ
	|	ДанныеПродаж.ДатаПокупки КАК ДатаПокупки,
	|	ДанныеПродаж.ВремяПокупки КАК ВремяПокупки,
	|	ДанныеПродаж.Филиал КАК Филиал,
	|	ДанныеПродаж.Город КАК Город,
	|	ДанныеПродаж.ТипКлиента КАК ТипКлиента,
	|	ДанныеПродаж.Пол КАК Пол,
	|	ДанныеПродаж.ВидНоменклатуры КАК ВидНоменклатуры,
	|	ДанныеПродаж.ВидОплаты КАК ВидОплаты,
	|	ДанныеПродаж.Цена КАК Цена,
	|	ДанныеПродаж.Количество КАК Количество,
	|	ДанныеПродаж.Сумма КАК Сумма,
	|	ДанныеПродаж.Налог КАК Налог,
	|	ДанныеПродаж.Стоимость КАК Стоимость,
	|	ДанныеПродаж.ПроцентВаловойПрибыли КАК ПроцентВаловойПрибыли,
	|	ДанныеПродаж.ВаловойДоход КАК ВаловойДоход,
	|	ДанныеПродаж.РейтингКлиента КАК РейтингКлиента
	|ПОМЕСТИТЬ ВТ_ДанныеПродаж
	|ИЗ
	|	РегистрСведений.ДанныеПродаж КАК ДанныеПродаж
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	ВТ_ДанныеПродаж.ДатаПокупки КАК ДатаПокупки,
	|	ВТ_ДанныеПродаж.ВремяПокупки КАК ВремяПокупки,
	|	ВТ_ДанныеПродаж.Филиал КАК Филиал,
	|	ВТ_ДанныеПродаж.Город КАК Город,
	|	ВТ_ДанныеПродаж.ТипКлиента КАК ТипКлиента,
	|	ВТ_ДанныеПродаж.Пол КАК Пол,
	|	ВТ_ДанныеПродаж.ВидНоменклатуры КАК ВидНоменклатуры,
	|	ВТ_ДанныеПродаж.ВидОплаты КАК ВидОплаты,
	|	ВТ_ДанныеПродаж.Цена КАК Цена,
	|	ВТ_ДанныеПродаж.Количество КАК Количество,
	|	ВТ_ДанныеПродаж.Сумма КАК Сумма,
	|	ВТ_ДанныеПродаж.Налог КАК Налог,
	|	ВТ_ДанныеПродаж.Стоимость КАК Стоимость,
	|	ВТ_ДанныеПродаж.ПроцентВаловойПрибыли КАК ПроцентВаловойПрибыли,
	|	ВТ_ДанныеПродаж.ВаловойДоход КАК ВаловойДоход,
	|	ВТ_ДанныеПродаж.РейтингКлиента КАК РейтингКлиента
	|ИЗ
	|	ВТ_ДанныеПродаж КАК ВТ_ДанныеПродаж";
	
АнализДанныхОбщаяСтатистика.ИсточникДанных = Запрос.Выполнить();
	
РезультатАнализа = АнализДанныхОбщаяСтатистика.Выполнить();
	
ПостроительОтчетаАнализаДанных = Новый ПостроительОтчетаАнализаДанных();
ПостроительОтчетаАнализаДанных.Макет = Неопределено;
ПостроительОтчетаАнализаДанных.ТипАнализа = Тип("АнализДанныхОбщаяСтатистика");

ПостроительОтчетаАнализаДанных.Вывести(РезультатАнализа, РезультатОбщаяСтатистика);

РезультатОбщаяСтатистика.ПоказатьУровеньГруппировокСтрок(1);
	
#КонецОбласти

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

Общая статистика - Непрерывные поля

Общая статистика — Непрерывные поля


Из таблицы, можно получить, информацию о множестве интересных фактов, например, максимальное количество товаров в одной покупке 10 штук, при этом среднее значение 5,5100, медиана 5, при стандартном отклонении 2,9234. Это говорит о том, что чаще покупают множество товаров, нежели приходят за одним, при этом средний чек составил около 300 долларов, больше всего активны покупатели с рейтингом чуть выше 6 единиц, покупатели в основном лояльны.

Дискретные поля, показали условно равномерное распределение значений, без явных лидеров. Например, показатель «Филиал», различия незначительны:

Общая статистика - Филиалы

Общая статистика — Филиалы

Показатель «Вид номенклатуры»:

Общая статистика - Вид номенклатуры

Общая статистика — Вид номенклатуры

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

Используемые источники информации:

Дополнительная информация:
Выгрузка базы данных (dt файл, 96 Кб) — используемая версия платформы: 1С:Предприятие 8.3 (8.3.17.1496).

Метки:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *