iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 24
1

Sankey 圖(桑基圖)名稱來自於
發明人 - 土木工程師 Matthew Henry Phineas Riall Sankey,
常用在表達能源、材料、金融等有流量相關概念的分析視覺化圖表。

在 Redash 中,要使用 Sankey 需產生對應格式的資料:

  • 欄位名稱只能為:stage1, stage2, ..., stage5、value (最多五個階段)
  • 每一列的資料代表 從某一 stage 到下一個 stage 有多少 value
  • 不能跨 stage 給值 (eg. stage1, stage3 有資料,但 stage2 為空)

這裡以 Google Spreadsheet 當成 Data Sources,
以電商常見的使用者瀏覽頁面的流程當成範例,
stage 為使用者常瀏覽的頁面,value 為瀏覽量(PV)。
將資料直接建置在 Google 試算表上,
然後用 Redash 接入:

https://ithelp.ithome.com.tw/upload/images/20181101/2011163810uQjE5Jxw.png

https://ithelp.ithome.com.tw/upload/images/20181101/20111638fJ0KVz6j6Y.png

這裡可以看到在範例資料中,我是把每一列的資料都在 stage 1 開頭,
所以有些像是本身瀏覽量高的網頁 eg. 商品頁,就重複出現很多次,
如果要合併起來,就可以把資料對齊在同一個 stage 有相同的值:
eg. 這裡把 stage 為商品的對齊在同一欄

https://ithelp.ithome.com.tw/upload/images/20181101/20111638TbSPGYHn6h.png

https://ithelp.ithome.com.tw/upload/images/20181101/20111638uFfl9hMXZD.png

不過 Redash 的圖表並沒有預設值,
圖表上針對前一個 stage 為空值的資料,會直接不給名稱,這樣看起來就沒那麼美觀,
所以這裡直接將空值補為 Direct ,代表是直接進入該頁,而沒有從其他頁面而來;
另因不能跨 stage 給值,因此 B6 那欄也是要給資料的。

這樣 Sankey 就好看許多:

https://ithelp.ithome.com.tw/upload/images/20181101/20111638573t6ubR3x.png

https://ithelp.ithome.com.tw/upload/images/20181101/20111638zNYopbuFpz.png


使用案例

公司實際上還沒使用過 Redash 的 Sankey 圖,
個人認為有一些應用情境

  • 應可從 Google Analytic 撈出幾個我們比較在乎的 stage 看使用者的行為模式。
    因 GA 的行為流程是直接將 stage1 放瀏覽量高的網頁,不見得是我們在乎的。
  • 團體旅遊商品因價格較高,所以行為流程可能會很長,可以把瀏覽行為做合併
    (eg. 看商品頁 3 次、5 次各為一種 stage),再進行 Sankey 視覺化

這邊比 Funnel 資料好 ETL 的點是,
Sankey 圖的起始流量是要相同的,所以不需考慮跨 stage 的狀況。

ps. 文章同步發表於 Medium


上一篇
[Redash] Cohort
下一篇
[Redash] Sunburst
系列文
[BI工具] 以Redash為資料視覺化方案之選擇與實踐30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言