關鍵路徑轉換分析---漏斗模型
目錄
- 需求
- 方案
- 總結
1.需求
在一條指定的業務流程中,各個步驟的完成人數及相對上一個步驟的百分比。
2.方案: 使用漏斗模型
- 查詢每一個步驟的總訪問人數
create table dw_route_numbs as |
結果如下:
- 查詢每一步驟相對於路徑起點人數的比例
select tmp.rnstep,tmp.rnnumbs/tmp.rrnumbs as ratio from ( select rn.step as rnstep,rn.numbs as rnnumbs,rr.step as rrstep,rr.numbs as rrnumbs from dw_route_numbs rn inner join dw_route_numbs rr) tmp where tmp.rrstep='step1'; |
結果如下:
- 查詢每一步驟相對於上一步驟的漏出率
select tmp.rrstep as rrstep,tmp.rrnumbs/tmp.rnnumbs as ration from ( select rn.step as rnstep,rn.numbs as rnnumbs,rr.step as rrstep,rr.numbs as rrnumbs from dw_route_numbs rn inner join dw_route_numbs rr) tmp where cast(substr(tmp.rnstep,5,1) as int)=cast(substr(tmp.rrstep,5,1) as int)-1; |
結果如下:
- 彙總以上兩種指標
select abs.step,abs.numbs,abs.ratio as abs_ratio,rel.ratio as rel_ratio from ( select tmp.rnstep as step,tmp.rnnumbs as numbs,tmp.rnnumbs/tmp.rrnumbs as ratio from ( select rn.step as rnstep,rn.numbs as rnnumbs,rr.step as rrstep,rr.numbs as rrnumbs from dw_route_numbs rn inner join dw_route_numbs rr) tmp where tmp.rrstep='step1' ) abs left outer join ( select tmp.rrstep as step,tmp.rrnumbs/tmp.rnnumbs as ratio from ( select rn.step as rnstep,rn.numbs as rnnumbs,rr.step as rrstep,rr.numbs as rrnumbs from dw_route_numbs rn inner join dw_route_numbs rr) tmp where cast(substr(tmp.rnstep,5,1) as int)=cast(substr(tmp.rrstep,5,1) as int)-1 ) rel on abs.step=rel.step; |
結果如下:
3. 總結
- 使用 自join 方法
- cast方法 字串轉為整型