1. 程式人生 > >感動到流淚!數據分析師的福音:跨視圖粒度計算

感動到流淚!數據分析師的福音:跨視圖粒度計算

數據 就是 維度 strong lightbox 福音 答案 rap per

作者:王文開

在網易有數中,我們的目標是使數據分析成為一種愉快的行為。

個人認為一款優秀的數據分析工具應該是能夠做到:當用戶在使用它做數據分析的時候,已經忘記了工具的存在,而是能夠集中關註於發現數據背後揭示的故事。這個可以叫做experience flow,是一種沈浸在數據分析中的喜悅狀態。

同時,你一定遇到過這樣的情況:有時,你遇到了一個問題,其實是很容易描述清楚的,但當你試圖在網易有數中展示並回答,會發現它竟是很難的。此時,剛才提到的experience flow,就沒有了感覺,你需要開始思考如何重新處理數據,此時你的分析思路會打斷,而不是集中在問題和答案。對於業務分析師來說,這是郁悶的,他們遇到了困境卻不知道如何著手。

如上這些問題的核心是:

數據,需要可以自由匯總到不同的粒度,並且不同粒度的數據能夠在一張表裏進行展現。

這麽說比較抽象,我們來舉一個具體的電商場景的例子

某家電商成立於2013年,有一天數據分析師在利用網易有數做數據分析,首先她想看一下每年銷售額的增長情況,於是在有數中,很容易做出了如下的柱狀圖。她很滿意,銷售額一直在增長。

技術分享圖片

銷售額趨勢

此時,她的腦海中出現了新的想法,她想看一下"每年的銷售額究竟都是由哪一年的客戶貢獻的?"

首先我們來分析一下她的問題,什麽叫“由哪一年的客戶貢獻的”?

於是她先在有數中做一個簡單的表格,把“客戶名稱","訂單ID","訂單日期"放入Y軸,得到如下圖表。可以看到,丁君這個客戶一共買過4個訂單,最早的購買日期是"2013-03-01",那我們就可以認為丁君這個客戶是2013年的客戶。所以我們就其實就是要在有數中計算出每個客戶首次購買時間,這樣我們就能知道該客戶是哪一年的客戶了

技術分享圖片

試探表格

現在,我們的目標就是計算出“每個客戶的首次購買時間”。

怎麽做,是不是腦海中浮現出的第一個想法是 min([訂單日期]),恭喜你,已經成功了一半了

首先我們創建一個計算度量,如下圖

技術分享圖片

最早購買日期

然後把這個字段加到圖上,卻發現,並不是我們期待的效果。“訂單日期”和“最早購買日期”這兩列的數據完全一樣。為什麽會這樣?這就涉及到了圖表聚合粒度的問題,這塊內容我會在後續其他文章中詳細闡述。

這裏我想說的是,當前圖表中有“客戶名稱”,“訂單ID”,“訂單日期”,這些維度字段都會確定圖表的聚合粒度,所以min([訂單日期]),這個聚合方式是會收到當前圖表粒度影響的。所以才會一模一樣。

技術分享圖片

最早購買日期

所以,我們現在需要有一種方式,能夠指定這個日期的聚合粒度(維度),且不受圖表上的粒度所影響。

網易有數在這個版本中加入了重磅功能:跨視圖粒度計算表達式(Cross Level Calculation),下文簡稱CLC。

CLC,一共有三種形式,INCLUDE,EXCLUDE,FIXED,後邊我們一點點來揭開他們。

在當前的例子中,我們會需要用到FIXED表達式,他們的格式看起來像這樣:

技術分享圖片

FIXED表達式

註意,藍色部分看著熟悉吧,就是剛才那個基本的數據聚合公式----最小值。紅色的部分是一個新的容器,它告訴網易有數在執行藍色部分求最小日期的時候,在哪個數據粒度進行計算,如在FIXED公式中,就是告訴網易有數,僅僅在“客戶名稱”這個粒度,對訂單日期求最小,不考慮任何其他的粒度,也就是不考慮當前圖表上的粒度。

於是我們創建了一個計算維度,如下寫了FIXED表達式

技術分享圖片

每個客戶的首次購買時間

此時,再把“每個客戶首次購買時間”,拖入圖表,這下就對了,這個字段不會受到圖表上的粒度影響。

技術分享圖片

每個客戶首次購買時間

ok,現在萬事俱備了,現在只需要將“每個客戶首次購買時間”放到顏色欄,就能區分出每一年的銷售額裏面,有多少是2013年的客戶,有多少是2014年的客戶,...貢獻的

比如,可以從下圖可以看到:

1、2013年是這個電商的第一年,那所有的銷售額肯定是當年客戶貢獻的

2、2014年的銷售額中,有224.3萬是2013年客戶貢獻的,有116.8萬是2014年客戶貢獻的

技術分享圖片

新客銷售額貢獻情況

如果不想看絕對值,可以將圖表改成堆疊百分比柱狀圖。這樣就能看到每年銷售額裏面,各個年份的客戶的貢獻百分比。

這樣就能看出問題了:

這家電商雖然銷售額逐年上升,但是新客的貢獻率越來越低

2014年的銷售額裏面,新客的貢獻率只有34.24%

2015年的銷售額裏面,新客的貢獻率降到了9.31%

2016年的銷售額裏面,新客貢獻率更低了

技術分享圖片

新客銷售額占比

這就是網易有數中跨視圖粒度計算的一個小案例,真是冰山一角,敬請期待後續更多案例!

原文首發:網易大數據

感動到流淚!數據分析師的福音:跨視圖粒度計算