sql-淘寶用戶行為分析

商業分析

目錄:
1、項目背景
2、數據導入與認識
3、數據清洗
4、數據分析
5、結論與建議

一、項目背景

移動互聯網企業從粗放式到精細化運營管理過程中,需要結合市場、渠道、用戶行為等數據分析,對用戶開展有針對性的運營活動,提供個性化、差異化的運營策略,以實現運營業務指標。本項目利用sql對淘寶用戶行為數據進行分析,通過用戶行為分析業務問題,提供針對性的運營策略。

本次分析的目的是想通過對淘寶用戶行為數據分析,為以下問題提供解釋和改進建議:
1.分析用戶使用APP過程中的常見電商分析指標,建立用戶行為轉化漏斗模型,確定各個環節的流失率,找到需要改進的環節;
2.研究用戶在不同時間尺度下的行為規律,找到用戶在不同時間周期下的活躍規律,在用戶活躍時間點推出相應營銷策略;
3.找到用戶對不同種類商品的偏好,找到針對不同商品的營銷策略;
4.找出最具價值的核心付費用戶群,對這部分用戶的行為進行分析。

分析框架

二、數據導入與認識

  • 數據集來自阿里云天池:數據鏈接
  • 本數據集包含了2017年11月25日至2017年12月3日之間,有行為的約一百萬隨機用戶的所有行為(行為包括點擊、購買、加購、喜歡)。數據集的組織形式和MovieLens-20M類似,即數據集的每一行表示一條用戶行為,由用戶ID、商品ID、商品類目ID、行為類型和時間戳組成,并以逗號分隔。關于數據集中每一列的詳細描述如下:


    image.png

2.1 圖形界面工具導入

新建數據庫

在這里插入圖片描述

導入數據表
在這里插入圖片描述

選擇導入前1000000行數據
需要注意源數據集中不包含字段名稱行,導入時字段名行設置為0,第一個數據行設置為1。
在這里插入圖片描述

設置字段類型
在這里插入圖片描述

導入完成,耗時1分21秒
在這里插入圖片描述

修改字段名
在這里插入圖片描述

  • 注意:源數據集中,時間存儲格式是從新紀元開始后的秒數,需要進行進行數據格式轉換。

2.2 以系統命令行導入

使用命令行連接MySQL,并進入到taobao數據庫

在這里插入圖片描述

創建新表user
在這里插入圖片描述

載入源數據
在這里插入圖片描述

  • 速度更快,導入3835331行數據,僅用27.88秒,但是相比于圖形界面工具操作更復雜。

三、數據清洗

3.1 刪除重復值

# 統計重復值
SELECT *
FROM taobao
GROUP BY user_id,item,category,time
HAVING count(user_id)>1;
image.png

從查詢結果可知,數據中不存在重復記錄。

3.2 查看缺失值

# 統計缺失值
SELECT count(user_id),count(item),count(category),count(behavior),count(time)
FROM taobao;
image.png

從查詢結果來看,不存在缺失值,數據質量高。

3.3 時間格式轉換

# 新增date、hour、datetime時間字段
ALTER TABLE taobao
ADD date VARCHAR(20),
ADD hour VARCHAR(20),
ADD datetime VARCHAR(20);
# 時間格式轉換
UPDATE taobao SET date = FROM_UNIXTIME(time,"%Y-%m-%d");
UPDATE taobao SET hour = FROM_UNIXTIME(time,"%H");
UPDATE taobao SET datetime = FROM_UNIXTIME(time);
image.png

3.4 過濾異常值
由于數據集時間范圍為2017-11-25至2017-12-3,因此需要對不在該時間范圍內的異常數據進行過濾。

# 篩選異常數據
SELECT * 
FROM taobao
WHERE date < '2017-11-25' or date > '2017-12-03';
# 過濾異常數據
DELETE FROM taobao
WHERE date < '2017-11-25' or date > '2017-12-03';
image.png

總共過濾掉470條異常記錄。

四、數據分析

4.1 基于用戶行為轉化漏斗模型分析用戶行為

4.1.1 常見電商指標分析

(1) UV、PV、UV/PV

# 訪客數UV、訪問量PV、平均訪問量PV/UV
SELECT count(DISTINCT user_id) as UV,
       sum(case when behavior='pv' then 1 else 0 end) as PV,
       sum(case when behavior='buy' then 1 else 0 end) as Buy,
       sum(case when behavior='cart' then 1 else 0 end) as Cart,
       sum(case when behavior='fav' then 1 else 0 end) as Fav,
       sum(case when behavior='pv' then 1 else 0 end)/count(DISTINCT user_id) as 'PV/UV'
FROM taobao;
image.png

網站9天內的訪問用戶總數(UV)9739;頁面總訪問量(PV)895636,平均每人頁面訪問量(UV/PV)約為92次。

(2) 復購率
復購率定義:在某時間窗口內重復消費用戶(消費兩次及以上的用戶)在總消費用戶中占比(按天非去重)。復購率與回購率的區別

# 復購率
select 
count(user_id) as 購買人數,
sum(case when buy_amount>1 then 1 else 0 end) as 復購人數,
sum(case when buy_amount>1 then 1 else 0 end)/count(user_id) as 復購率
from 
(select *,count(behavior) as buy_amount from taobao where behavior='buy' group by user_id) t
image.png

從結果來看,復購率高達66.21%,反映淘寶的用戶忠誠度較高。

(3) 跳失率
跳失率定義:僅僅訪問了單個頁面的用戶占全部訪問用戶的百分比,或者指從首頁離開網站的用戶占所有訪問用戶的百分比。
跳出率可以反映用戶對APP\網站內容的認可程度,或者說網站\APP是否對用戶有吸引力。網站\APP的內容是否能夠對用戶有所幫助留住用戶也直接可以在跳出率中看出來,所以跳出率是衡量網站\APP內容質量的重要標準。

# 跳失率=僅點擊的用戶數/總用戶數(這里就是找沒有產生除pv之外的客戶)
select count(distinct user_id) as 跳失客戶
from taobao
where user_id not in(select distinct user_id from taobao where behavior<>'pv');
image.png

得到僅pv、無cart、fav、buy的客戶數有567位,UV為9739,跳失率為5.82%。反映出商品或者商品詳情頁的內容對于用戶具有足夠的吸引力,讓用戶在淘寶駐留。

4.1.2 用戶行為轉化漏斗模型分析

漏斗分析模型已經廣泛應用于各行業的數據分析工作中,用以評估總體轉化率、各個環節的轉化率,以科學評估促銷專題活動效果等,通過與其他數據分析模型結合進行深度用戶行為分析,從而找到用戶流失的原因,以提升用戶量、活躍度、留存率,并提升數據分析與決策的科學性等。

知識點:電商行業轉化率算法
利潤 = 銷售額 X 凈利潤率
=(購買人數 X 客單價)X 凈利潤率
= 進店人數 X購買轉化率 X客單價 X凈利潤率
= 廣告展現 X廣告轉化率 X購買轉化率 X客單價 X凈利潤率
= 推廣展現 X推廣轉化率 X購買轉化率 X客單價 X凈利潤率
= 搜索展現 X搜索轉化率 X購買轉化率 X客單價 X凈利潤率
= ***** X*****轉化率 X購買轉化率 X客單價 X凈利潤率

image.png

常用漏斗模型:首頁—商品詳情頁—加入購物車—提交訂單—支付訂單。
本數據集只包含商品詳情頁(pv)、加入購物車(cart)、支付訂單(buy)數據,因此將漏斗模型簡化為:商品詳情頁—加入購物車—支付訂單。

(1) 用戶總行為(PV)的轉化漏斗

SELECT behavior,COUNT(*)
FROM taobao
GROUP BY behavior
order by behavior desc;
image.png

用戶總行為轉化漏斗圖:


用戶總行為轉化漏斗圖

(2) 獨立訪客(UV)的轉化漏斗

# 獨立訪客轉化漏斗
SELECT behavior,count(DISTINCT user_id)
FROM taobao
GROUP BY behavior
ORDER BY behavior DESC;
獨立訪客轉化漏斗

獨立訪客轉化漏斗

綜合pv轉化漏斗圖與uv轉化漏斗圖,可以發現:
● 從PV轉化來看:從瀏覽PV到加入購物車的轉化率僅為6.2%,用戶需要花費大量的精力在挑選商品上。
● 從UV轉化來看:從瀏覽UV到購買UV轉化率達到68.5%,表名用戶的實際購買需求較高,且商品種類能夠滿足用戶的購買需求。
● 結合PV及UV的轉化:用戶能夠在淘寶購買到滿足自己需求的商品,但需要花費大量精力在挑選商品上。平臺在商品推薦及搜索匹配環節有待提高。
● 改善建議:建議平臺在商品推薦及搜索匹配等幾個入口,根據用戶基礎及行為信息進行算法優化,提高商品推薦準確率,降低用戶尋找商品的成本。

題外話:大家在使用淘寶購物時,有沒有過被店鋪利用優惠券引導收藏加購的經歷呢?為什么店鋪愿意花一定的代價去做這件事?原因就是淘寶收藏加購的好處意義是直接提升寶貝權重排名,人氣權重這個維度在搜索排序維度中權重占比有很大提升。淘寶收藏加購多了,會增加淘寶店鋪權重,從而提升寶貝排名,流量自然也就多了。

4.2 從時間維度分析用戶行為

4.2.1 每天的用戶行為分析

# 每天的用戶行為分析(行轉列)
SELECT 
    date,
    count(DISTINCT user_id) as '每日用戶數',
    sum(case when behavior='pv' then 1 else 0 end) as '瀏覽數',
    sum(case when behavior='cart' then 1 else 0 end) as '加購數',
    sum(case when behavior='fav' then 1 else 0 end) as '收藏數',
    sum(case when behavior='buy' then 1 else 0 end) as '購買數'
FROM taobao
GROUP BY date;
image.png

每日用戶行為數據變化:


每日用戶行為數據

在2017年11月25日-2017年12月3日統計窗口內,11月25-26日與12月2-3日為周末。通過每日用戶行為數據變化曲線可以分析:11月25日至12月1日,數據波動變化范圍很小,在12月2-3日(周末),各項數據指標明顯上漲,高于前7天的各項數據指標。由于在上一個周末(11月25-26日)的各項數據指標并未存在明顯漲幅,因此推測在12月2-3日數據指標上漲可能與淘寶雙12預熱活動相關。

4.2.2 每時的用戶行為分析

(行轉列)
SELECT 
    hour,
    count(DISTINCT user_id) as '每時用戶數',
    sum(case when behavior='pv' then 1 else 0 end) as '瀏覽數',
    sum(case when behavior='cart' then 1 else 0 end) as '加購數',
    sum(case when behavior='fav' then 1 else 0 end) as '收藏數',
    sum(case when behavior='buy' then 1 else 0 end) as '購買數'
FROM taobao
GROUP BY hour;
image.png

每時用戶行為數據變化:


每時用戶行為數據

結果顯示:在凌晨2-5點左右,各項數據指標進入低谷期;在9-18點之間,數據呈現一個小高峰,波動變化較小;在20-23點間,各數據指標呈現一個大高峰,并且在21點左右達到每日數據最大峰值,數據的變化趨勢比較符合正常用戶的作息規律。在制定運營策略時,可以利用這個規律來進行創收,選擇在每天用戶最活躍的時間段推出各種網店直播、直播帶貨等互動營銷手段。

4.3 從商品維度分析用戶行為

關于“受歡迎”的商品,可以從銷量與瀏覽量兩個維度(用戶行為)去分析。但有的瀏覽量高的商品可能是因為被頁面或廣告等吸引而來,或者只是感興趣,用戶并不一定會購買;而銷量高的產品有可能是用戶真正需要的,搜索和點擊購買的目標也比較明確。因此需要同時結合銷量與瀏覽量兩個維度去進行分析。

4.3.1 商品排行榜分析

(1) 商品銷量排行榜TOP10

select item,count(behavior) as 購買次數
from taobao
where behavior = 'buy'
group by item
order by 購買次數 desc
limit 10;

商品銷量排行榜TOP10

從商品銷量排行榜可以發現,在被下單的17565件商品中,單個商品銷量最多不超過17次,且僅有5件商品銷量超過10次,反映出在分析的數據集中,并沒有出現賣的比較火爆的商品。
(2) 商品瀏覽量排行榜TOP10

select item,count(behavior) as 瀏覽次數
from taobao
where behavior = 'pv'
group by item
order by 瀏覽次數 desc
limit 10;
商品瀏覽量排行榜TOP10

對銷量前10與瀏覽量前10的商品進行表連接:

select a.item, 購買次數, 瀏覽次數
from
(select item,count(behavior) as 購買次數
from taobao
where behavior = 'buy'
group by item
order by 購買次數 desc
limit 10) a
left join 
(select item,count(behavior) as 瀏覽次數
from taobao
where behavior = 'pv'
group by item
order by 瀏覽次數 desc
limit 10) b
on a.item = b.item
image.png

結果顯示:商品銷量榜單與商品瀏覽量榜單之間對應性差(僅有2件商品銷量與瀏覽量同時進入前20榜單),反映瀏覽量高的商品其銷量不一定高,銷量高的商品其瀏覽量不一定高,因此需要同時結合銷量與瀏覽量兩個維度去進行分析。下面將以商品瀏覽量和銷量兩個維度指標來對商品進行四象限劃分,分析不同類型商品對應的用戶行為,并提出相應的改進措施。

4.3.2 商品四象限劃分

商品銷量與瀏覽量兩個維度的界限值分別選取3、20(需要根據實際業務場景來確定界限值),將商品按照銷量與瀏覽量劃分為四個象限:


購買量&瀏覽量四象限圖

第Ⅰ象限: 商品瀏覽量與銷量都高,說明商品購買轉化率高,屬于受用戶歡迎的商品。
● 改進措施:由于該象限內的商品有對應的市場,電商平臺應該重點進行推送,并且可以多做活動,吸引更多的潛在用戶。

第Ⅱ象限: 商品的銷量高,但是瀏覽量較低。產生這種現象可能有以下兩種原因(B端與C端兩個角度):一是 該象限內的商品可能屬于某類特定群體的剛需產品,這類特定群體搜索和瀏覽的目標比較明確;二是 該象限內的商品受眾廣,但是引流入口數量少。
● 改進措施:收集目前購買與瀏覽該象限內商品的用戶信息,分析用戶畫像,并結合商品的特點,核實產品是否存在某類特征明顯的消費群體。如果存在,則電商平臺可以集中向該類特征消費用戶進行定向推送、精準推送;如果不存在,則可以對該象限內商品的多做推廣,提高曝光率,并增加引流入口,流量上來了,銷量可能會有提升。

第Ⅲ象限: 商品的瀏覽量低,銷量也低。原因主要需要從B端進行分析:一是 該象限內商品的引流入口數量;二是 該象限內商品是否符合用戶的需求?對用戶的吸引力如何?
● 改進措施:需要根據具體原因對癥下藥。

第Ⅳ象限: 商品的瀏覽量高,但是銷量偏低,商品購買轉化率低。其原因也可以分為B/C端進行分析:在B端方面,是否是廣告的投放人群或者商品的推送目標有問題,并沒有獲取到對應商品的目標用戶;是否是商品的定價與定位的原因,價格太貴且不符合主流消費群體的胃口;是否是商品詳情頁的圖片、描述以及商品的評價較差;是否是客服的服務不到位、APP操作更新流程復雜等因素。在C端方面,用戶的消費能力可能會對商品的銷量有影響。
● 改進措施:需要根據具體原因對癥下藥。

4.3.4 “二八定律”or“長尾理論”分析

知識點:
(1)互聯網+經濟下的——長尾模式
(2)什么是互聯網長尾效應

按照商品銷量對商品分類統計:

SELECT a.`購買次數`, count(a.item) as '商品量'
FROM
    (SELECT item, count(behavior) as '購買次數'
    FROM taobao
    WHERE behavior='buy'
    GROUP BY item 
    ORDER BY count(behavior) DESC) a 
GROUP BY a.`購買次數`
ORDER BY count(a.item) DESC;
image.png

繪制不同銷量對應商品量柱狀圖:


image.png

根據不同銷量對應商品量數據,在被下單的17565件商品中,只購買一次的商品有15536件,占下單總商品的88.45%,說明在互聯網環境下,以淘寶為代表的電商平臺,其商品售賣主要是依靠長尾商品的累計效應,并非爆款商品的帶動。

4.4 基于RFM用戶分層模型分析用戶行為

4.4.1 基于RFM模型的用戶分層

基于RFM模型進行用戶分層分析,由于數據集中不包含訂單金額,故本次分析中不考慮M維度,只分析R、F兩個維度,對兩個維度的指標進行分級打分,最終按照綜合得分對用戶分層。

(1) R維度分析
計算用戶的最近消費時間間隔R值(R值越小,說明用戶最后消費時間越近),并對R值進行打分。根據R值結果,將其分為三個區間[0:2],[3:5]以及[6:8],分別賦予R_Score值3、2、1分。

# RFM模型——R維度分析
CREATE VIEW r_value as
SELECT user_id, min(時間間隔) as R
FROM
    (SELECT user_id, DATEDIFF('2017-12-03',date) as '時間間隔'
    FROM taobao
    WHERE behavior='buy') a 
GROUP BY user_id;
# 進行R維度打分
SELECT user_id, R,
    case when R BETWEEN 0 and 2 then 3
    when R BETWEEN 3 and 5 then 2
    else 1 end as R_Score
FROM r_value;
R維度分析

統計不同R_Score占比:


image.png

從R_Score占比中可以發現,超過半數用戶會在購物當天的后兩天內就再次購買,可以看出淘寶已經成為人們的日常購物習慣。

(2) F 維度分析
計算用戶的消費頻率F值,并對F值進行打分。根據F值結果(最大值72次),將其分為6個區間[1:9],[10:19],[20:29],[30:39],[40:49]以及[50:72],分別賦予F_Score值1、2、3、4、5、6分。

# RFM模型——F維度分析
CREATE VIEW f_value as
SELECT user_id, count(behavior) as F
FROM taobao
WHERE behavior='buy' 
GROUP BY user_id
ORDER BY count(behavior) DESC;
# 進行F維度打分
SELECT user_id, F,
    case when F BETWEEN 1 and 9 then 1
    when F BETWEEN 10 and 19 then 2
    when F BETWEEN 20 and 29 then 3
    when F BETWEEN 30 and 39 then 4
    when F BETWEEN 40 and 49 then 5
    else 6 end as F_Score
FROM f_value;
F維度分析

統計不同F_Score占比:


image.png

從F_Score占比中可以發現,在統計窗口的9天時間內,96.76%的用戶在淘寶平臺消費1-9次。

(3) 用戶分層
RF綜合打分:

-- 平均值:2.4259, 1.0393
select avg(R_Score) as R平均值 from r_score;
select avg(F_Score) as F平均值 from f_score;

-- RFM模型
create view RFM
as
select a.user_id,a.R_Score,b.F_Score,
(case when a.R_Score>=2.4259 and b.F_Score>=1.0393 then '價值客戶'
 when a.R_Score<2.4259 and b.F_Score>=1.0393 then '保持客戶'
 when a.R_Score>=2.4259 and b.F_Score<1.0393 then '發展客戶'
 when a.R_Score<2.4259 and b.F_Score<1.0393 then '喚回客戶' else null end) '客戶分類'
from r_score a
inner join f_score b
on a.user_id=b.user_id
order by R_Score desc,F_Score desc;
select  * from RFM;
客戶分層
select 客戶分類,count(*) as 客戶數量
from RFM
group by 客戶分類;
客戶分層統計

用戶分層結果:

價值客戶(11):最近消費時間近和消費頻次都很高,提供VIP服務。這部分用戶屬于平臺的 高價值用戶,需要制定相應的運營策略來保持用戶粘性。
保持客戶(01):最近消費時間較遠,但消費頻次很高,說明這是個一段時間沒來的忠誠客戶,我們需要主動和他保持聯系。
發展客戶(10):最近消費時間較近,但頻次不高,忠誠度不高,很有潛力的用戶,必須重點發展。對這部分用戶發送提醒或促銷活動郵件、促進其消費頻次。
喚回客戶(00):最近消費時間較遠、消費頻次不高,可能是將要流失或者已經要流失的用戶,應當給予挽留措施。這部分比例最高,而且這部分客戶給平臺帶來的潛在價值也很大,應該對這部分用戶進行定期上新提醒、價格激勵、訂單搭配推薦等措施,留住用戶并提高其消費頻次。

(2) 高價值用戶行為分析
以user_id為107932的用戶為例,對其進行深入分析:

SELECT 
    date,
    sum(case when behavior='pv' then 1 else 0 end) as '瀏覽數',
    sum(case when behavior='cart' then 1 else 0 end) as '加購數',
    sum(case when behavior='fav' then 1 else 0 end) as '收藏數',
    sum(case when behavior='buy' then 1 else 0 end) as '購買數',
    sum(case when behavior='buy' then 1 else 0 end)/sum(case when behavior='pv' then 1 else 0 end) as '購買轉化率'
FROM taobao
WHERE user_id = 107932
GROUP BY date;
image.png

image.png

結果表明:該用戶幾乎每天都有消費,購買轉化率也很高,但從未使用過收藏功能,購物車的使用頻率也極低。對于高價值用戶,可以分析其常購買的商品類型,再進行相關的商品推薦。由于商品種類數據為脫敏數據,本文無法分析該用戶購買的商品類型。

五、結論與建議

本文從4個維度分析了淘寶用戶行為數據共100萬條,結論和建議如下:

1、淘寶平臺的商品對用戶具有足夠的吸引力(跳失率),且能夠滿足絕大部分用戶的需求(購買轉化率)。淘寶用戶的忠誠度較高,復購率高達66.21%。從瀏覽商品詳情頁PV到有購買意向僅有6.19%的轉化率,這一環節是指標提升的重點環節,盡量做到精準推薦,減少用戶尋找信息的成本。
針對上述環節改善轉化率的建議:
(1)優化電商平臺的搜索匹配度和推薦策略,主動根據用戶喜好推薦相關的商品,優化商品搜索的準確度和聚合能力,對搜索結果排序優先級進行優化。
(2)在商品詳情頁的展示上突出用戶關注的重點信息,精簡信息流的呈現方式,減少用戶尋找信息的成本。

2、用戶的各種行為數據指標在周末和工作日的差別不大,但是受雙12等大型平臺活動影響較大。每天晚上的20-23點間是用戶活躍度最高的時間段,各數據指標呈現一個大高峰,并且在21點左右達到每日數據最大峰值。在制定運營策略時,可以利用這個規律來進行創收,選擇在每天用戶最活躍的時間段推出各種網店直播、直播帶貨等互動營銷手段。

3、商品銷量與商品瀏覽量之間相關性較差,瀏覽量高的商品其銷量不一定高,銷量高的商品其瀏覽量不一定高,結合商品四象限劃分結果,各象限商品都可從B端與C端兩個角度去分析原因,并針對性的進行改善。

4、淘寶平臺商品售賣主要是依靠長尾商品的累計效應,并非爆款商品的帶動。
建議:長尾效應的確能帶來一部分收益,但是,繁多的種類對于商家來說其實是一種經營負擔,成本也較高。二八定律告訴我們,商家其一可以嘗試豐富商品類型,以滿足各式各樣用戶的需求,但也需要權衡成本,確保收益最大化;二可以通過打造爆款商品來獲利。打造爆款商品具體的建議是:品控上提高產品質量,宣傳上增大力度(直播、微淘、引流到其他平臺),展現上突出產品優勢等(主圖、詳情頁、評論)。

5、通過RFM模型對用戶進行分層,找出RF評分高的作為高價值用戶,并對不同類型的用戶采取不用的運行策略。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容