У меня есть система электронной коммерции, в которой пользователи проходят несколько этапов, прежде чем совершить покупку (посетить веб-сайт, просмотреть каталог, выбрать продукт, перейти на страницу покупки, вставить кредитные данные и т. д.).
Каждое событие сохраняется в следующей таблице событий 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%
Спасибо!