用于漏斗分析的SQL或OLAP模式设计

时间:2014-01-26 17:54:26

标签: sql-server database-schema data-warehouse olap powerpivot

我有一个电子商务系统,用户在购买之前会经历几个阶段(访问网站,浏览目录,挑选产品,转到购买页面,插入信用等详细信息等等。)

每个事件都保存在以下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 个答案:

没有答案