[Redash] Sankey

Mars Weng
MarsW-Redash
Published in
3 min readNov 7, 2018

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 接入:

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

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

這樣 Sankey 就好看許多:

使用案例

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

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

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

此為系列文章,傳送門在此

--

--