UA-11904844-8

Аналитический набор данных (analytic data set, ADS) — это данные, собранные с целью создания аналитического процесса или модели и представленные в формате, необходимом для решения конкретной аналитической задачи.

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

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

Сравнение аналитических наборов данных для разработки и производственных аналитических наборов данных

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

Сравнение аналитического набора данных

Рис. 5.5. Сравнение аналитического набора данных для разработки и производственного аналитического набора данных

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


Традиционные аналитические наборы данных

В традиционной среде все аналитические наборы данных формируются за пределами базы данных (см. рис. 5.6). Каждый аналитик самостоятельно создает собственные аналитические наборы данных. Это означает, что сотни людей могут иметь свой собственный независимый взгляд на корпоративные данные. И ситуация ухудшается!

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

Процесс создания традиционного аналитического набора

Рис. 5.6. Процесс создания традиционного аналитического набора данных

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

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

Нельзя сказать, что кто-либо из них абсолютно неправ — просто каждый использует несколько иное определение. Если они выполняют работу для одних и тех же деловых партнеров, то в их анализе и отчетах будут несоответствия. А это чревато проблемами.

Не менее серьезная проблема традиционного подхода к созданию аналитических наборов данных — необходимость повторения одних и тех же действий. Если аналитики снова и снова создают очень похожие наборы данных, то это означает, что они затрачивают не только дисковое пространство и системные ресурсы, но и свое время. Им приходится налаживать процессы создания ADS, запускать их и наблюдать за тем, чтобы они корректно выполнялись. Это увеличивает сроки сдачи и расходы на все проекты.

Несоответствие может нанести больший вред, чем избыточность данных

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

Существует еще одна область, в которой энергия и ресурсы тратятся впустую. Создание ADS-процесса для проекта — еще не окончание работы. Когда процесс готов к производству, аналитику приходится перепроектировать его. Если, как это обычно бывает, производственная среда отличается от среды разработки, то для запуска проекта в производственной среде весь процесс приходится переписывать. Например, может потребоваться перевод кода с языка программирования на SQL или UDF. Это дорогостоящий процесс, часто связанный с ошибками. Некоторые компании тратят больше времени и денег на развертывание готовых аналитических процессов, чем на их создание!

Укрощение больших данных: как извлекать знания из массивов информации с помощью глубокой аналитики / Билл Фрэнкс. - М.: Манн, Иванов и Фербер, 2014.
Опубликовано с разрешения издательства