Разработка схемы 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%
Спасибо!