Корпоративный Web-сайт - важное средство информирования покупателей о товарах и услугах, предлагаемых компанией, поэтому анализ его посещаемости (click-stream analysis) является весьма актуальной проблемой. Имеющиеся на рынке продукты и услуги, предназначенные для этой цели, можно разделить на три класса.

Анализаторы журнала сервера в режиме реального времени, как правило, представляют собой Java-аплеты, читающие в реальном времени журнал Web-сайта и формирующие на HTML-странице несколько отчетов. Существует ряд бесплатных продуктов, таких, как известные системы Analog или WebStat. Эти решения применимы для журналов относительно небольшого размера и подходят для пользователей со скромными потребностями.

Аналитический сервис, предлагаемый в аренду на сайте третьей фирмы. Компания-клиент должна расположить на своем сайте специальный скрипт - “шпион” (spider), который получает информацию от Web-браузеров посетителей и посылает ее на сайт поставщика сервиса, где эта информация записывается в общую базу данных. При входе на свою страницу этого сайта компания - пользователь сервиса может выполнять параметризованные запросы и получать отчеты заданной формы. Популярный пример такого сервиса на Западе - система WebTrends компании NetIQ, а в России - SplyLog одноименной фирмы.

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

Решения на базе OLAP-инструментов

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

"Контур-стандарт" позволяет отследить динамику заходов пользователей с поисковых сайтов

Вполне естественно, что большинство поставщиков OLAP-продуктов предлагают решения для анализа посещаемости Web-сайтов *1. В базе данных, фиксирующей запросы посетителей, скапливается огромный объем информации за длительные периоды, которая используется только для того, чтобы можно было быстро получать и анализировать большие выборки данных. Таким образом, налицо все признаки классического хранилища, поэтому, как правило, комплексы поставщиков OLAP-решений включают в себя средства извлечения, очистки и загрузки данных (Extract, Transformation, Loading - ETL ), само хранилище и OLAP-инструмент для анализа информации.

_____

*1. Подробнее о классификации OLAP-продуктов см. статью В. Некрасова “OLAP, сделано в России” в PC Week/RE, № 3/2001, с. 21.

Например, корпорация Oracle поставляет коробочный продукт масштаба предприятия Oracle9iAS Clickstream Intelligence, включающий в себя СУБД Oracle9i, сервер приложений Oracle9i Application Server, средство создания хранилищ и витрин данных Oracle Warehouse Builder 2.1.1, а в качестве средства анализа - OLAP-клиент Oracle Discoverer. Этот продукт позволяет одновременно анализировать данные нескольких Web-сайтов предприятия.

А компания Microsoft предлагает решение Clickstream analytics for the Microsoft business intelligence platform, в рамках которого пользователям рекомендуется применять такие продукты, как Интернет-сервер MS Commerce Server, СУБД MS SQL для построения хранилища данных и OLAP-сервер MS Analysis Services для построения многомерных витрин данных; при этом средством анализа может служить электронная таблица MS Excel со встроенным в нее OLAP-компонентом PivotTable или комплект COM-компонентов Office Web Components.

В этой статье рассказывается об опыте создания отечественной системы анализа посещаемости сайта на основе OLAP-клиента “Контур-Стандарт” компании Intersoft Lab1 (www.iso.ru).

Источники данных для анализа

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

Чтобы обеспечить высокую интерактивность работы пользователя с отчетами, было решено хранить журнал в специальной базе данных. Для этого предложения был разработан скрипт на языке Python - “мигратор”, который с заданной периодичностью копирует новые записи журнала в БД MS SQL Server, находящуюся в локальной сети компании. Он и стал ETL-инструментом.

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

На основе OLAP- анализа выявляются наиболее популярные страницы сайта

Данные в процессе копирования могут дополняться. Например, по IP-адресу определяется не только имя хоста, но и географическое расположение посетителя: скрипт выполняет запрос к одной из Интернет-баз данных, хранящей зарезервированные диапазоны IP-адресов (скажем, www.ripe.net/perl/whois). Чтобы можно было в отчете код страны преобразовать в название, в базу данных добавлен справочник стран, связанный с таблицей журнала.

Кроме того, определяется тип сервера, с которого пользователь пришел на сайт: поисковая машина, группа новостей, ссылающийся и собственный сайты. В таблицу журнала добавляется поле “Категория ссылающегося сервера” и связанный с ним справочник, а также поле “Ссылающийся сервер”, куда записывается имя сервера, вычлененное из ссылки.

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

Если категорию ссылающегося сайта отфильтровать по значению “наш сайт”, то ссылающиеся страницы станут показывать маршрут движения посетителя. Можно построить классическую реляционную иерархию “родитель - дитя” из двух полей таблицы. В каждой записи в поле “Родитель” будет расположена первая ссылка, а в поле “Дитя” - страница, на которую перешел посетитель с родительской страницы. Такую иерархию можно “раскручивать” в отчетах разными способами. В частности, OLAP-система может показать самых популярных “Родителей”, присылающих посетителей на страницу “Заказ продукта”. Справедливости ради нужно сказать, что наиболее полный анализ навигации посетителей предоставляют системы добычи данных (data mining). Кроме того, эта задача смыкается с CRM-анализом, что было отмечено многими поставщиками; в частности, продукт WebTrends CommerceTrends компании NetIQ был интегрирован с известной CRM-системой Siebel.

В результате этих модификаций база данных журнала превратилась в полноценную витрину данных, построенную по классической схеме “звезда”. Для различных видов отчетов были разработаны специальные представления (view). Например, представление количества уникальных посетителей содержит описательные поля - характеристики посетителя, дату. При этом запросы пользователя исключаются и создается поле-счетчик как выражение Select 1 AS counter. Таким образом обеспечивается уникальность записи об одном пользователе за одну дату.

Создание OLAP-приложения

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

Специфика OLAP-технологии такова, что все отчеты для анализа сайта могут быть реализованы как один отчет с множеством измерений (хост, дата, запрос, ссылка) и тремя фактами (количество уникальных посетителей, количество запросов, объем загрузки). Меняя местами колонки отчета и устанавливая различные фильтры, аналитик может сам получить всю нужную информацию. Однако пользоваться таким отчетом неудобно. Поэтому был сделан набор интерактивных отчетов, требуемых для анализа коммерческого сайта: “Уникальные посетители” (динамика посещений сайта), “География посетителей” (страны и города, откуда приходят пользователи), “Посещаемые страницы” (что люди смотрят?), “Ссылающиеся сайты” (позволяет оценить действенность маркетинговой кампании - эффективность баннерной рекламы, отдачу от размещения информации в Интернет-каталогах, выявить публикации пресс-релизов в электронных СМИ), “Поисковые машины и слова”. Этот набор не является конечным, по мере необходимости в него можно добавлять и другие отчеты.

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

Заключение

Итак, в чем преимущества применения OLAP-технологии при анализе посещаемости сайта?

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

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

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

С автором, техническим директором компании Intersoft Lab, можно связаться по e-mail: nekrasov@iso.ru.