神策用戶分析模型——路徑分析的使用方法
漏鬥分析是固化了具體的分析過程或者業務環節,然後分析幾個大的業務環節的轉化;而路徑分析,是固化了用戶的路徑順序,在每個路徑次序中,都包含了各個主要業務環節,因此在每壹步中,出現的業務環節很有可能都是類似的。漏鬥分析看重的是業務環節之間的留存關系,而路徑分析看重的是用戶在不同業務環節中的順序及流失關系。
路徑分析:如何將用戶的網站行為軌跡可視化呈現?
BI分析系統——路徑分析及產品化 )
pattern支持3中匹配模式:
(?N):表示時間序列中的第N個事件,從1開始,最長支持32個條件輸入;如,(?1)對應的是cond1
(?t op secs):插入兩個事件之間,表示它們發生時需要滿足的時間條件(單位為秒),支持 >=, >, <, <= 。例如上述SQL中,(?1)(?t<=15)(?2)即表示事件1和2發生的時間間隔在15秒以內,期間可能會發生若幹次非指定事件。
.*:表示任意的非指定事件。
?看結果鏈是不允許重疊的,確實要是允許重疊實現起來是真的非常麻煩啊,業務上有需求的話條件限制嘍
智能路徑分析模型比較復雜,但同時支持的分析需求也會更加復雜,如分析給定期望的路徑終點、途經點和最大事件時間間隔,統計出每條路徑的用戶數,並按照用戶數對路徑進行倒序排列
網上給的例子怎麽都是壹樣的,算了吸收壹下吧,雖說數組函數非常靈活,但是不怕查詢慢嗎?具體還得結合業務過濾大部分的數據
1
2
3
4
5
6
7
8
9
10
bug的解決,hasAll這塊判斷
雖然上面的是可以的,但是例子中SQL太長了,好像沒有轉換的問題,導致無法匹配上,最好都轉成string類型的....
不設置途經點,且僅以用戶最後壹次到達目標事件作為參考
1. arrayCompact對數組中的數據進行相鄰去重,用戶重復操作的事件只記錄壹次(頁面去重)
2. arraySort 對數組中的數據按照指定列進行升序排列;降序排列參考arrayReverseSort
3. arrayEnumerate 取數組的下標掩碼序列
4. arrayMap 對數組中的每壹列進行處理,並返回長度相同的新數組
5. arrayStringConcat將數組元素按照給定分隔符進行拼接,返回拼接後的字符串
6. arraySplit 按照規則對數組進行分割(遇到下標為1時進行分割,分割點為下壹個 數組的起始點;註意,首項為1還是0不影響結果)
7. arrayDifference參數必須是數值類型;計算數組中相鄰數字的差值,第壹個值為0
8. arrayFilter 只保留數組中滿足條件的數據
VIVO路徑分析模型
通常用戶在需要進行路徑分析的場景時關註的主要問題:
ClickHouse安裝和使用
註意關閉防火墻
clickhouse單節點報錯 Code: 210. DB::NetException: Connection refused (localhost:9000)
這個註釋千萬不能去掉....暫時不知道怎麽處理..卸載重裝吧
clickhouse卸載重裝