利用SQL進行數(shù)據(jù)分析 I 淘寶用戶分析實操

01. 數(shù)據(jù)來源及說明

本文從數(shù)據(jù)集中選取包含了2014年11月18日至2014年12月18日之間,8477名隨機用戶共1048575條行為數(shù)據(jù),數(shù)據(jù)集的每一行表示一條用戶行為,共6列。
列字段包含以下:

user_id:用戶身份
item_id:商品ID
behavior_type:用戶行為類型(包含點擊、收藏、加購物車、購買四種行為,分別用數(shù)字1、2、3、4表示)
user_geohash:地理位置(有空值)
item_category:品類ID(商品所屬的品類)
time:用戶行為發(fā)生的時間

02. 提出問題

  1. 整體用戶的購物情況
    pv(總訪問量)、日均訪問量、uv(用戶總數(shù))、有購買行為的用戶數(shù)量、用戶的購物情況、復(fù)購率分別是多少?
  2. 用戶行為轉(zhuǎn)化漏斗
    點擊— 加購物車— 收藏— 購買各環(huán)節(jié)轉(zhuǎn)化率如何?購物車遺棄率是多少,如何提高?
  3. 購買率高和購買率為 0 的人群有什么特征
  4. 基于時間維度了解用戶的行為習(xí)慣
  5. 基于RFM模型的用戶分析

03. 數(shù)據(jù)清洗

1. 導(dǎo)入數(shù)據(jù)

由于數(shù)據(jù)量有100多萬,通過數(shù)據(jù)庫管理工具 Navicat 將數(shù)據(jù)集導(dǎo)入 MySQL 數(shù)據(jù)庫會表較慢,我這里使用ETL工具kettle進行導(dǎo)數(shù),能夠提高導(dǎo)數(shù)效率,也可以實現(xiàn)報表自動化處理,這里我并不會使用kettle,所以使用命令行進行導(dǎo)數(shù),數(shù)據(jù)庫的表名為user。

2. 缺失值處理

item_category 列表示地理位置信息,由于數(shù)據(jù)存在大量空值,且位置信息被加密處理,難以研究,因此后續(xù)不對item_category列進行分析。

3. 數(shù)據(jù)一致化處理

由于 time 字段的時間包含(年-月-日)和小時,為了方便分析,將該字段分成 2 個字段,一個日期列(date)和一個小時列(time)。

image

由于 behavior_type 列的四種行為類型分別用 1,2,3,4 表示點擊、收藏、加購物車、購買四種行為,為了方便查看數(shù)據(jù),將1,2,3,4替換為 ‘pv'、’fav‘,’cart',‘buy' 。



通過查詢表結(jié)構(gòu),可以看到 date 列日期列不是日期類型:



將date 列改成 date 類型:

04. 構(gòu)建模型和分析問題

1. 總體用戶購物情況
  • pv(總訪問量)
  • 日均訪問量
  • uv(用戶總數(shù))
image
  • 有購買行為的用戶數(shù)量
  • 用戶的購物情況
image
  • 復(fù)購率:產(chǎn)生兩次或兩次以上購買的用戶占購買用戶的比例
2. 用戶行為轉(zhuǎn)化漏斗

在購物環(huán)節(jié)中收藏和加入購物車兩個環(huán)節(jié)沒有先后之分,所以將這兩個環(huán)節(jié)可以放在一起作為購物環(huán)節(jié)的一步。最終得到用戶購物行為各環(huán)節(jié)轉(zhuǎn)化率,如下:

不同的行業(yè)轉(zhuǎn)化率會有差異,據(jù)2012年的一項研究表明,在整個互聯(lián)網(wǎng)范圍內(nèi),平均轉(zhuǎn)化率為2.13%(數(shù)據(jù)來源于《精益數(shù)據(jù)分析》),圖中所示購買行為的轉(zhuǎn)化率為1.04%,與行業(yè)平均值存在較大差異,淘寶移動端用戶行為的轉(zhuǎn)化率還有很大的增長空間。

3. 購買率高和購買率為低的人群有什么特征

購買率高用戶特征:

由以上結(jié)果可以看出,購買率高的用戶點擊率反而不是最多的,這些用戶收藏數(shù)和加購物車的次數(shù)也很少,一般不點擊超過5次就直接購買,由此可以推斷出這些用戶為理智型消費者,有明確的購物目標,屬于缺啥買啥型,很少會被店家廣告或促銷吸引。

購買率為低用戶特征:

由以上結(jié)果可以看出,購買率為低用戶分為兩類,

第一類是點擊次數(shù)少的,一方面的原因是這類用戶可能是不太會購物或者不喜歡上網(wǎng)的用戶,可以加以引導(dǎo),另一方面是從商品的角度考慮,是否商品定價過高或設(shè)計不合理;

第二類用戶是點擊率高、收藏或加購物車也多的用戶,此類用戶可能正為商家的促銷活動做準備,下單欲望較少且自制力較強,思慮多或者不會支付,購物難度較大。

4. 基于時間維度了解用戶的行為習(xí)慣

(1)一天中用戶的活躍時段分布

可以看出,每日0點到5點用戶活躍度快速降低,降到一天中的活躍量最低值,6點到10點用戶活躍度快速上升,10點到18點用戶活躍度較平穩(wěn),17點到23點用戶活躍度快速上升,達到一天中的最高值。

(2)一周中用戶活躍時段分布

由于第一周和第五周的數(shù)據(jù)不全,因此這兩周的數(shù)據(jù)不考慮到此次數(shù)據(jù)分析中。

由以上結(jié)果可以看出,每周用戶活躍度較穩(wěn)定,每周五活躍度會有小幅降低,但是周末會慢慢回升。其中周五用戶活躍度突增,這是由雙十二電商大促銷活動引起。

5. 基于 RFM 模型找出有價值的用戶

RFM模型是衡量客戶價值和客戶創(chuàng)利能力的重要工具和手段,其中由3個要素構(gòu)成了數(shù)據(jù)分析最好的指標,分別是:

  • R-Recency(最近一次購買時間)

  • F-Frequency(消費頻率)

  • M-Money(消費金額)

由于數(shù)據(jù)源沒有相關(guān)的金額數(shù)據(jù),暫且通過 R 和 F 的數(shù)據(jù)對客戶價值進行打分。

(1)計算R-Recency

由于數(shù)據(jù)集包含的時間是從2014年11月18日至2014年12月18日,這里選取2014年12月19日作為計算日期,統(tǒng)計客戶最近發(fā)生購買行為的日期距離2014年12月19日間隔幾天,再對間隔時間進行排名,間隔天數(shù)越少,客戶價值越大,排名越靠前。

image

(2)計算F-Frequency

先統(tǒng)計每位用戶的購買頻率,再對購買頻率進行排名,頻率越大,客戶價值越大,排名越靠前。

image

(3)對用戶進行評分

對4330名有購買行為的用戶按照排名進行分組,共劃分為四組,對排在前四分之一的用戶打4分,排在前四分之一到四分之二(即二分之一)的用戶打3分,排在前四分之二到前四分之三的用戶打2分,剩余的用戶打1分,按照這個規(guī)則分別對用戶時間間隔排名打分和購買頻率排名打分,最后把兩個分數(shù)合并在一起作為該名用戶的最終評分。

計算腳本如下:

SELECT r.user_id,r.recent,r.recent_rank,f.frequency,f.freq_rank,
CONCAT(  --  對客戶購買行為的日期排名和頻率排名進行打分
CASE WHEN r.recent_rank <= (4330/4) THEN '4'
WHEN r.recent_rank > (4330/4) AND r.recent_rank <= (4330/2) THEN '3'
WHEN r.recent_rank > (4330/2) AND r.recent_rank <= (4330/43) THEN '2'
ELSE '1' END,
CASE WHEN f.freq_rank <= (4330/4) THEN '4'
WHEN f.freq_rank > (4330/4) AND f.freq_rank <= (4330/2) THEN '3'
WHEN f.freq_rank > (4330/2) AND f.freq_rank <= (4330/43) THEN '2'
ELSE '1' END
) AS user_value
FROM
--  對每位用戶最近發(fā)生購買行為的間隔時間進行排名(間隔天數(shù)越少,客戶價值越大)
(SELECT a.,(@rank := @rank + 1) AS recent_rank
FROM  --  統(tǒng)計客戶最近發(fā)生購買行為的日期距離'2014-12-19'間隔幾天
(SELECT user_id,DATEDIFF('2014-12-19',MAX(date)) AS recent
FROM user
WHERE behavior_type = 'buy'
GROUP BY user_id
ORDER BY recent) AS a,
(SELECT @rank := 0) AS b)
AS r,
-- 對每位用戶的購買頻率進行排名(頻率越大,客戶價值越大)
(SELECT a.,(@rank2 := @rank2 + 1) AS freq_rank
FROM   --  統(tǒng)計每位用戶的購買頻率
(SELECT user_id,COUNT(behavior_type) AS frequency
FROM user
WHERE behavior_type = 'buy'
GROUP BY user_id
ORDER BY frequency DESC) AS a,
(SELECT @rank2 := 0) AS b)
AS f
WHERE r.user_id = f.user_id;

通過打分可以了解每位顧客的特性,從而實現(xiàn)差異化營銷。比如對于 user_value = 44 的用戶,為重點用戶需要關(guān)注;對于user_value = 41 這類忠誠度高而購買能力不足的,可以可以適當給點折扣或捆綁銷售來增加用戶的購買頻率。

05. 結(jié)論

  1. 總體轉(zhuǎn)化率只有 1%,用戶點擊后收藏和加購物車的轉(zhuǎn)化率在 5% ,需要提高用戶的購買意愿,可通過活動促銷、精準營銷等方式。

  2. 購買率高且點擊量少的用戶屬于理智型購物者,有明確購物目標,受促銷和廣告影響少;而購買率低的用戶可以認為是等待型或克制型用戶群體,下單欲望較少且自制力較強,購物難度較大。

  3. 大部分用戶的主要活躍時間在10點到23點,在19點到23點達到一天的頂峰。每周五的活躍度有所下降,但周末開始回升??梢愿鶕?jù)用戶的活躍時間段精準推送商家的折扣優(yōu)惠或促銷活動,提高購買率。

  4. 通過 R 和 F 的數(shù)據(jù)對用戶行為進行打分,對每位用戶進行精準化營銷,還可以通過對R 和 F 的數(shù)據(jù)監(jiān)測,推測客戶消費的異動狀況,挽回流失客戶。

參考:

  1. 數(shù)據(jù)分析不是事:利用SQL進行數(shù)據(jù)分析 I 淘寶用戶分析實操
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容