數(shù)倉要了解的BI數(shù)據(jù)分析方法
點擊上方“數(shù)據(jù)管道”,選擇“置頂星標”公眾號
干貨福利,第一時間送達

數(shù)倉開發(fā)經(jīng)常需要與數(shù)據(jù)表打交道,那么數(shù)倉表開發(fā)完成之后就萬事大吉了嗎?顯然不是,還需要思考一下如何分析數(shù)據(jù)以及如何呈現(xiàn)數(shù)據(jù),因為這是發(fā)揮數(shù)據(jù)價值很重要的一個方面。通過數(shù)據(jù)的分析與可視化呈現(xiàn)可以更加直觀的提供數(shù)據(jù)背后的秘密,從而輔助業(yè)務(wù)決策,實現(xiàn)真正的數(shù)據(jù)賦能業(yè)務(wù)。通過本文你可以了解到:
帕累托分析方法與數(shù)據(jù)可視化 RFM分析與數(shù)據(jù)可視化 波士頓矩陣與數(shù)據(jù)可視化
帕累托分析與數(shù)據(jù)可視化
基本概念
帕累托(Pareto)分析法,又稱ABC分析法,即我們平時所提到的80/20法則。關(guān)于帕累托(Pareto)分析法,在不同的行業(yè)都有不同的應(yīng)用。
舉個栗子
在企業(yè)的庫存管理中,可以發(fā)現(xiàn)少數(shù)品種在總需用量(或是總供給額、庫存總量、儲備金總額)中,占了很大的比重,但在相應(yīng)的量值中所占的比重很少。因此可以運用帕累托分析法,將企業(yè)所需的各種物品,按其需用量的大小、物品的重要程度、資源短缺和采購的難易程度、單價的高低、占用儲備資金的多少等因素分為若干類,實施分類管理。
商品銷售額分析中,某些商品的銷售額占了總銷售額的很大部分,某些商品的銷售額僅占很小的比例,這樣就可以將其分為A、B、C幾大類,對銷售額占比較多的分類進行投入,以獲得更多的銷售額。
在質(zhì)量分析中,對某種原因?qū)е庐a(chǎn)品質(zhì)量不合格的產(chǎn)品數(shù)量進行分析,使用帕累托(Pareto)分析法,可以很直觀的看出哪些原因造成了產(chǎn)品質(zhì)量不合格以及哪些原因比較嚴重。這樣就可以著重解決重要的問題,明確目標,更易于操作。
另一種表述方式
根據(jù)事物在技術(shù)或經(jīng)濟方面的主要特征,進行分類,分清重點與非重點。對每一種分類進行區(qū)別對待管理,把被分析的對象分成 A、B、C 三類,三類物品沒有明確的劃分數(shù)值界限。
| 分類與重要程度 | 描述 |
|---|---|
| A類(非常重要) | 數(shù)量占比少,價值占比大 |
| B類(比較重要) | 沒有A類那么重要,介于 A、C 之間 |
| C類(一般重要) | 數(shù)量占比大但價值占比很小 |
分類的核心思想:少數(shù)貢獻了大部分價值。以商品品類和銷售額為例:A 品類數(shù)量占總體 10% ,卻貢獻了 80% 的銷售額。

數(shù)據(jù)分析案例
效果圖

實現(xiàn)步驟
假設(shè)有如下數(shù)據(jù)集格式:
| 品牌 | 銷售額 |
|---|---|
| NEW BALANCE(新百倫) | 8750 |
| ZIPPO(之寶) | 9760 |
| OCTMAMI(十月媽咪) | 5800 |
需要將數(shù)據(jù)加工成下面的格式:
| 品牌 | 銷售額 | 銷售總額 | 累計銷售額 | 累計銷售額占比 |
|---|---|---|---|---|
| =∑所有品牌銷售額 | =當前品牌銷售額 +上一個品牌銷售額 | 累計銷售額/銷售總額 |
具體的SQL實現(xiàn)如下:
SELECT?
?????brand,?--?品牌
?????total_money,?--?銷售額
?????sum(total_money)?over()?AS?sum_total_money,--?銷售總額
?????sum(total_money)?over(ORDER?BY?total_money?DESC?ROWS?BETWEEN?UNBOUNDED?PRECEDING?AND?CURRENT?ROW)?AS?acc_sum_total_money?--?累計銷售額
FROM?sales_money
上面給出了具體的SQL實現(xiàn),其實BI工具已經(jīng)內(nèi)置了許多的處理函數(shù)和拖拽式的數(shù)據(jù)處理,不需要寫SQL也可以將一份明細數(shù)據(jù)加工成上面的形式。
結(jié)論分析
從上面的帕累托圖中可以看出:A類的(綠色部分)占了總銷售額的80%左右,B類(黃色部分)占總銷售額的10%,C類(紅色部分)占總銷售額的10%。接下來可以進行長尾分析,制定營銷策略等等。
RFM分析與數(shù)據(jù)可視化
基本概念
RFM模型是在客戶關(guān)系管理(CRM)中常用到的一個模型,RFM模型是衡量客戶價值和客戶創(chuàng)利能力的重要工具和手段。該模型通過一個客戶的近期購買行為、購買的總體頻率以及花了多少錢三項指標來描述該客戶的價值狀況。
RFM模型較為動態(tài)地層示了一個客戶的全部輪廓,這對個性化的溝通和服務(wù)提供了依據(jù),同時,如果與該客戶打交道的時間足夠長,也能夠較為精確地判斷該客戶的長期價值(甚至是終身價值),通過改善三項指標的狀況,從而為更多的營銷決策提供支持。
在RFM模式中,包括三個關(guān)鍵的因素,分別為:
R(Recency):表示客戶最近一次購買的時間有多遠,即最近的一次消費,消費時間越近的客戶價值越大 F(Frequency):表示客戶在最近一段時間內(nèi)購買的次數(shù),即消費頻率,經(jīng)常購買的用戶也就是熟客,價值肯定比偶爾來一次的客戶價值大 M (Monetary):表示客戶在最近一段時間內(nèi)購買的金額,即客戶的消費能力,通常以客戶單次的平均消費金額作為衡量指標,消費越多的用戶價值越大。
最近一次消費、消費頻率、消費金額是測算消費者價值最重要也是最容易的方法,這充分的表現(xiàn)了這三個指標對營銷活動的指導意義。而其中,最近一次消費是最有力的預(yù)測指標。
通過上面分析可以對客戶群體進行分類:
| 客戶類型與等級 | R | F | M | 客戶特征 |
|---|---|---|---|---|
| 重要價值客戶 (A級/111) | 高(1) | 高(1) | 高(1) | 最近消費時間近、消費頻次和消費金額都很高 |
| 重要發(fā)展客戶 (A級/101) | 高(1) | 低(0) | 高(1) | 最近消費時間較近、消費金額高,但頻次不高,忠誠度不高,很有潛力的用戶,必須重點發(fā)展 |
| 重要保持客戶 (B級/011) | 低(0) | 高(1) | 高(1) | 最近消費時間交遠,消費金額和頻次都很高。 |
| 重要挽留客戶 (B級/001) | 低(0) | 低(0) | 高(1) | 最近消費時間較遠、消費頻次不高,但消費金額高的用戶,可能是將要流失或者已經(jīng)要流失的用戶,應(yīng)當基于挽留措施。 |
| 一般價值客戶 (B級/110) | 高(1) | 高(1) | 低(0) | 最近消費時間近,頻率高,但消費金額低,需要提高其客單價。 |
| 一般發(fā)展客戶 (B級/100) | 高(1) | 低(0) | 低(0) | 最近消費時間較近、消費金額,頻次都不高。 |
| 一般保持客戶 (C級/010) | 低(0) | 高(1) | 低(0) | 最近消費時間較遠、消費頻次高,但金額不高。 |
| 一般挽留客戶 (C級/000) | 低(0) | 低(0) | 低(0) | 都很低 |
數(shù)據(jù)分析案例
效果圖

實現(xiàn)步驟
假設(shè)有如下的樣例數(shù)據(jù):
| 客戶名稱 | 日期 | 消費金額 | 消費數(shù)量 |
|---|---|---|---|
| 上海****有限公司 | 2020-05-20 | 76802 | 2630 |
需要將數(shù)據(jù)集加工成如下格式:

具體SQL實現(xiàn)
SELECT?
?????customer_name,--?客戶名稱
?????customer_avg_money,--?當前客戶的平均消費金額
?????customer_frequency,?--?當前客戶的消費頻次
?????total_frequency,--?所有客戶的總消費頻次
?????total_avg_frequency,?--?所有客戶平均消費頻次
?????customer_recency_diff,?--?當前客戶最近一次消費日期與當前日期差值
?????total_recency,?--?所有客戶最近一次消費日期與當前日期差值的平均值
?????monetary,--?消費金額向量化
?????frequency,?--?消費頻次向量化
?????recency,?--?最近消費向量化
?????rfm,?--?rfm
?????CASE
????????WHEN?rfm?=?"111"?THEN?"重要價值客戶"
????????WHEN?rfm?=?"101"?THEN?"重要發(fā)展客戶"
????????WHEN?rfm?=?"011"?THEN?"重要保持客戶"
????????WHEN?rfm?=?"001"?THEN?"重要挽留客戶"
????????WHEN?rfm?=?"110"?THEN?"一般價值客戶"
????????WHEN?rfm?=?"100"?THEN?"一般發(fā)展客戶"
????????WHEN?rfm?=?"010"?THEN?"一般保持客戶"
????????WHEN?rfm?=?"000"?THEN?"一般挽留客戶"
????END?AS?rfm_text
FROM
??(SELECT?
???????customer_name,--?客戶名稱
???????customer_avg_money,--?當前客戶的平均消費金額
???????customer_frequency,?--?當前客戶的消費頻次
???????total_avg_money?,--?所有客戶的平均消費總額
???????total_frequency,--?所有客戶的總消費頻次
???????total_frequency?/?count(*)?over()?AS?total_avg_frequency,?--?所有客戶平均消費頻次
???????customer_recency_diff,?--?當前客戶最近一次消費日期與當前日期差值
???????avg(customer_recency_diff)?over()?AS?total_recency,?--?所有客戶最近一次消費日期與當前日期差值的平均值
???????if(customer_avg_money?>?total_avg_money,1,0)?AS?monetary,?--?消費金額向量化
???????if(customer_frequency?>?total_frequency?/?count(*)?over(),1,0)?AS?frequency,?--?消費頻次向量化
???????if(customer_recency_diff?>?avg(customer_recency_diff)?over(),0,1)?AS?recency,?--?最近消費向量化
???????concat(if(customer_recency_diff?>?avg(customer_recency_diff)?over(),0,1),if(customer_frequency?>?total_frequency?/?count(*)?over(),1,0),if(customer_avg_money?>?total_avg_money,1,0))?AS?rfm
???FROM
?????(SELECT?
???????????customer_name,?--?客戶名稱
???????????max(customer_avg_money)?AS?customer_avg_money?,?--?當前客戶的平均消費金額
???????????max(customer_frequency)?AS?customer_frequency,?--?當前客戶的消費頻次
???????????max(total_avg_money)?AS?total_avg_money?,--?所有客戶的平均消費總額
???????????max(total_frequency)?AS?total_frequency,--?所有客戶的總消費頻次
???????????datediff(CURRENT_DATE,max(customer_recency))?AS?customer_recency_diff?--?當前客戶最近一次消費日期與當前日期差值
??????FROM
????????(SELECT?
???????????????customer_name,?--?客戶名稱
???????????????avg(money)?over(partition?BY?customer_name)?AS????????????????customer_avg_money,?--?當前客戶的平均消費金額
???????????????count(amount)?over(partition?BY?customer_name)?AS?customer_frequency,?--?當前客戶的消費頻次
???????????????avg(money)?over()?AS?total_avg_money,--?所有客戶的平均消費總額
???????????????count(amount)?over()?AS?total_frequency,?--所有客戶的總消費頻次
???????????????max(sale_date)?over(partition?BY?customer_name)?AS?customer_recency?--?當前客戶最近一次消費日期
???????FROM?customer_sales)?t1
???????GROUP?BY?customer_name)t2)?t3
通過上面的分析,可以為相對應(yīng)的客戶打上客戶特征標簽,這樣就可以針對某類客戶指定不同的營銷策略。
波士頓矩陣與數(shù)據(jù)可視化
基本概念
波士頓矩陣BCG Matrix又稱市場增長率-相對市場份額矩陣、波士頓咨詢集團法、四象限分析法、產(chǎn)品系列結(jié)構(gòu)管理法等。
BCG矩陣區(qū)分出4種業(yè)務(wù)組合:
1.明星型業(yè)務(wù)(Stars,指高增長、高市場份額) 2.問題型業(yè)務(wù)(Question Marks,指高增長、低市場份額) 3.現(xiàn)金牛業(yè)務(wù)(Cash cows,指低增長、高市場份額) 4.瘦狗型業(yè)務(wù)(Dogs,指低增長、低市場份額)
波士頓矩陣通過銷售增長率(反映市場引力的指標)和市場占有率(反映企業(yè)實力的指標)來分析決定企業(yè)的產(chǎn)品結(jié)構(gòu)。

案例
效果圖

實現(xiàn)步驟
本案例以分析客戶為背景,將客戶分類,找到明星客戶、現(xiàn)金牛客戶、問題客戶以及瘦狗客戶。
假設(shè)數(shù)據(jù)集的樣式如下:
| 客戶類型 | 客戶名稱 | 消費金額 | 消費日期 |
|---|---|---|---|
| A類 | 上海****公司 | 20000 | 2020-05-30 |
首先需要計算客單價:每個客戶的平均消費金額,即客單價=某客戶總消費金額)/某客戶消費次數(shù)
其次需要計算記錄數(shù):每個客戶的消費次數(shù),即某個客戶總共消費的次數(shù)
接著需要計算平均消費金額:所有客戶的平均消費金額,即所有客戶的總消費金額/所有客戶消費次數(shù)
最后計算平均消費次數(shù):所有客戶的平均消費次數(shù),即所有客戶的總消費次數(shù)/總客戶數(shù)
具體SQL實現(xiàn):
SELECT?
????customer_name,?--?客戶名稱
????customer_avg_money,?--?客單價
????customer_frequency?,?--?當前客戶的消費次數(shù)
????total_avg_money,--?所有客戶的平均消費金額
????total_frequency?/?count(*)?over()?AS?total_avg_frequency?--?平均消費次數(shù)
FROM
??(SELECT?
????????customer_name,?--?客戶名稱
????????max(customer_avg_money)?AS?customer_avg_money,?--?客單價
????????max(customer_frequency)?AS?customer_frequency?,?--?當前客戶的消費次數(shù)
????????max(total_avg_money)?AS?total_avg_money,--?所有客戶的平均消費金額
????????max(total_frequency)?AS?total_frequency?--所有客戶的總消費頻次
???FROM
?????(
????????SELECT
?????????????customer_name,?--?客戶名稱
?????????????avg(money)?over(partition?BY?customer_name)?AS?customer_avg_money,?--?客單價
?????????????count(*)?over(partition?BY?customer_name)?AS?customer_frequency,?--?當前客戶的消費次數(shù)
?????????????avg(money)?over()?AS?total_avg_money,--?所有客戶的平均消費金額
?????????????count(*)?over()?AS?total_frequency?--所有客戶的總消費頻次
????????FROM?customer_sales?)?t1
????GROUP?BY?customer_name)?t2
經(jīng)過上面的分析,大致可以看出客戶畫像:
某客戶的消費次數(shù)超過平均值,并且每次消費力度(客單價)也超過平均水平的客戶:判定為明星客戶,這類客戶需要重點關(guān)注; 某客戶的消費次數(shù)超過平均值,但每次消費力度未達到平均水平的客戶:被判定為現(xiàn)金??蛻?,這類客戶通常消費頻次比較頻繁,能給企業(yè)帶來較為穩(wěn)定的現(xiàn)金流,這類客戶是企業(yè)利潤基石; 某客戶的消費次數(shù)未達到平均值,但每次消費力度超過平均水平的客戶:是問題客戶,這類客戶最有希望轉(zhuǎn)化為明星客戶,但是因為客戶存在一定的潛在問題,導致消費頻次不高,這類客戶需要進行重點跟進和長期溝通; 消費次數(shù)未達到平均值,消費力度也未達到平均水平的客戶:屬于瘦狗客戶,這類客戶通常占企業(yè)客戶的大多數(shù),只需要一般性維護,如果企業(yè)資源有限,則可以不用投入太多的精力。
總結(jié)
本文主要介紹了數(shù)倉開發(fā)應(yīng)該要了解的常見的數(shù)據(jù)分析方法,主要有三種:帕累托分析、RFM分析以及波士頓矩陣分析。本文分別介紹了三種分析方法的基本概念、操作步驟以及SQL實現(xiàn),并給出了相應(yīng)的可視化分析圖表,每個案例都是企業(yè)的真實應(yīng)用場景。希望給數(shù)倉開發(fā)的同學提供一些觀察數(shù)據(jù)的分析角度,從而在實際的開發(fā)過程中能夠多思考一下數(shù)據(jù)的應(yīng)用價值以及數(shù)據(jù)如何賦能業(yè)務(wù),進一步提升自己的綜合能力。
