Разработка схемы SQL или OLAP для анализа последовательности

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

Каждое событие сохраняется в следующей таблице событий SQL:

SessionId
EventTypeId (PageView, Click, Type),
EventValue (HomePage, Button-1 etc...)
Timestamp

Каждый сеанс сохраняется в следующей таблице сеансов (упрощенно):

SessionId
SelectedProductId
SessionPurchaseAmount (0 for sessions without a purchase)

Мой вопрос заключается в том, как спроектировать схему схемы базы данных, чтобы я мог использовать ее для фильтрации / анализа сессий по воронке? Еще одна вещь, которую мне нужно выяснить, это как сплющить схему SQL в структуру OLAP.

Последовательность должна быть определена динамически, как они делают это в MixPanel / GA / других платформах веб-аналитики.

Я хочу использовать PowerPivot для анализа.

Пример данных:

События:

SessionId EventType EventValue Timestamp

1         PageView  Home       01:01:00
1         PageView  Catalog    01:02:00
1         PageView  Cart       01:02:30
2         PageView  Home       04:01:03

Сессии:

SessionId SelectedProduct PurchaseAmount

1         Dress-AA2       $12.00           
2         NULL            $0.00

Я хочу видеть данные результата в последовательности, которую я определяю динамически. Например, если я установлю воронку Home -> Catalog -> Cart данные, которые я хочу увидеть:

Home     100%
Catalog  50%
Cart     50%

Спасибо!

0 ответов

Другие вопросы по тегам