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

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

С моей точки зрения, у аналитического приложения должно быть два обязательных свойства: оно должно обеспечивать интерактивный, динамический анализ (а не просто предоставлять статический отчет) и содержать процедуры, которые «ведут за руку» пользователя через процесс анализа — так же, как другие типы приложений автоматизируют линейные бизнес-процессы. Если программа не удовлетворяет этим двум требованиям, я предлагаю называть ее не-аналитическим не-приложением.

Подготовка отчетов — это еще не анализ

Большинство аналитических приложений, которые мне приходилось видеть, в основном решают задачи отчетности, а не анализа. Например, недавно я познакомился с самой последней версией популярной программы для анализа трафика Web-сайта. Хотя разработчики квалифицируют ее как «аналитическое приложение», данный продукт содержит лишь статические отчеты. Эти отчеты позволяют многое узнать о трафике на сайте, но я бы не назвал это аналитикой.

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

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

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

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

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

Анализ может быть процедурным

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

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

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

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

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

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

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

Филип Руссом (http://www.philiprussom.com) — независимый отраслевой аналитик со степенью доктора философии, работающий в городе Уолтэм, штат Массачусетс.