日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

用户购物行为分析

發(fā)布時間:2023/12/15 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用户购物行为分析 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

淘寶用戶行為分析

  • (一)項目數(shù)據(jù)來源
  • (二)分析角度
  • (三)分析正文
    • 提出問題
    • 理解數(shù)據(jù)
    • 數(shù)據(jù)清洗
  • (四)模型構(gòu)建
    • 1. 用戶購物情況整體分析
    • 2 用戶行為時間維度分析
    • 3 商品銷售情況分析
    • 4 用戶行為路徑分析
    • 5 參照RFM模型,對用戶進行分類找出有價值的用戶
    • 6 聚類分析
  • (五)結(jié)論及建議

(一)項目數(shù)據(jù)來源

項目數(shù)據(jù)來源于: https://tianchi.aliyun.com/dataset/dataDetail?dataId=649&userId=1。
用戶在網(wǎng)上進行購物時,會產(chǎn)生一系列的數(shù)據(jù),這些數(shù)據(jù)綜合起來既反映了用戶的行為偏好,也反映了商品的受歡迎程度,同時反映了在用戶和商品的交互過程中所產(chǎn)生的問題。
旨在通過此項目來學(xué)習(xí)電商數(shù)據(jù)的主要分析方法和分析思路,主要使用的工具為Mysql。

(二)分析角度

首先分為兩個角度:用戶商品
用戶角度主要從時間維度來分析用戶的各種行為情況以及之間的關(guān)系:

  • 用戶購物過程的整體分析;
  • 用戶的行為路徑分析;
  • 用戶畫像分析;
  • 用戶聚類分析;
  • 商品角度主要銷量維度分析商品的賣點和銷售潛力

    (三)分析正文

    分析步驟如下:
    提出問題- -理解數(shù)據(jù)- -數(shù)據(jù)清洗- -構(gòu)建模型- -分析結(jié)論

    提出問題

    根據(jù)之前的維度,有以下幾個分析角度:
    ? 用戶最活躍的日期及時段
    ? 用戶對商品有哪些購買偏好
    ? 用戶行為間的轉(zhuǎn)化情況
    ? 用戶分類,哪些是有價值的用戶
    ? 同一商品復(fù)購率和回購率排名

    理解數(shù)據(jù)

    本數(shù)據(jù)集包含了2017年11月25日至2017年12月3日之間,有行為的約一百萬隨機用戶的所有行為(行為包括點擊、購買、加購、喜歡)

    用戶行為類型又分為四種:
    pv:商品詳情頁pv,等價于點擊
    buy:商品購買
    cart:商品加入購物車
    fav:收藏

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

    包含數(shù)據(jù)導(dǎo)入(采用Navicat)、缺失值處理、一致化處理、異常值處理(2017.11.25到2017.12.3日內(nèi)的數(shù)據(jù))

  • 將csv文件導(dǎo)入navicat中
  • 查詢?nèi)笔е?br /> 根據(jù)表中各個字段的含義,查詢?nèi)笔е怠0l(fā)現(xiàn)僅時間戳有一行為空,刪掉即可。
  • 時間戳轉(zhuǎn)化
    為了之后的分析方便,在表中添加字段“datetime”“times”“dates”“hours”“weekday”“week”,分別存放時間戳轉(zhuǎn)化的日期時間,時間,日期,小時,星期幾,第幾周。表達(dá)式為:
  • UPDATE userbehavior SET datetime = FROM_UNIXTIME( TIMESTAMP ); UPDATE userbehavior SET times = DATE_FORMAT( datetime, '%H:%i' ); UPDATE userbehavior SET dates = DATE_FORMAT( datetime, '%Y-%m-%d' ); UPDATE userbehavior SET hours = DATE_FORMAT( datetime, '%H' ); UPDATE userbehavior SET weekday = DATE_FORMAT( datetime, '%w' ); UPDATE userbehavior SET week = DATE_FORMAT( datetime, '%v' );


    4. 異常值處理
    因為該數(shù)據(jù)集為2017年11月25日至2017年12月3日之間產(chǎn)生的用戶行為,因此查詢不在此區(qū)間的數(shù)據(jù),共1944條,為異常值數(shù)據(jù)點:

    select * from userbehavior where dates not between '2017-11-25' and '2017-12-03';

    相對于總數(shù)據(jù)量3835330來說,占全體數(shù)據(jù)量的0.05%,可認(rèn)為對總樣本影響很小,可以直接刪去。

    (四)模型構(gòu)建

    1. 用戶購物情況整體分析

    1.1 總的點擊量查詢,結(jié)果為3431905

    SELECT count(*) FROM userbehavior WHERE behavior_type = 'pv';

    1.2 總的購買次數(shù)查詢,結(jié)果為76707

    SELECT count(*) FROM userbehavior WHERE behavior_type = 'buy';

    1.3 總的加入購物車數(shù)查詢,結(jié)果為213634

    SELECT count(*) FROM userbehavior WHERE behavior_type = 'cart';

    1.4 總的收藏量查詢,結(jié)果為111140

    SELECT count(*) FROM userbehavior WHERE behavior_type = 'fav';

    2 用戶行為時間維度分析

    2.1 點擊量時間段分布(每日訪客)查詢

    SELECT dates,count(*) as 訪客 FROM userbehavior WHERE behavior_type = 'pv' GROUP BY dates;



    查詢?nèi)掌诤蟀l(fā)現(xiàn),12月2日和12月3日為周六周日,訪客增多符合預(yù)期。但對比11月25日和11月26日(同樣是周末),雖然訪問量比工作日略有提升,但并不明顯,需要深入挖掘具體原因。

    2.2 各個時段訪客量

    SELECT hours,count(*) as 訪客 FROM userbehavior WHERE behavior_type = 'pv' GROUP BY hours ORDER BY hours asc;



    可以看出,可大致分為4個等級

  • 20:00-22:59,訪客量最高,應(yīng)該是下班后瀏覽網(wǎng)站
  • 19:00-19:59&23:00-23:59,訪客量其次,應(yīng)該是一部分訪客開始休息或者吃飯
  • 10:00-18:59,訪問量沒有大的波動,屬于白天區(qū)間,比較平均
  • 0:00-9:59,訪客量較低,屬于夜間休息時間以及早上去上班時間。
  • 2.3 各個時段成交量查詢

    SELECT hours,count(*) as 成交量 FROM userbehavior WHERE behavior_type = 'buy' GROUP BY hours ORDER BY hours asc;



    與各個時段的訪問量不同,晚上(20:00-23:00)的購買量與白天(09:00-18:00)相比并沒有顯著的提升。認(rèn)為是晚上下班后休閑時客戶的瀏覽行為相比較于購買行為較白天增多,并且白天有工作購買的需求

    2.4對工作日白天夜間購買量進行查詢
    進一步,我們對工作日白天的購買量進行查詢驗證猜想:

    SELECTSUM( CASE WHEN ( times >= '06:00:00' AND times < '18:00:00' ) THEN 1 ELSE 0 END ) AS '白天',SUM( CASE WHEN ( times >= '18:00:00' AND times < '24:00:00' ) THEN 1 ELSE 0 END ) AS '夜晚',SUM( CASE WHEN ( times >= '00:00:00' AND times < '06:00:00' ) THEN 1 ELSE 0 END ) AS '凌晨' FROMuserbehavior WHEREbehavior_type = 'buy' AND weekday IN ( 1, 2, 3, 4, 5 );



    由此發(fā)現(xiàn),發(fā)現(xiàn),工作日白天消費較多,占到一半以上,符合之前2.3的推測。

    以上分析可以看出:

  • 用戶對商品的瀏覽、收藏、加入購物的行為一般在晚上7點到11點最多,但是在這期間購買量并沒有比白天有顯著的提升;
  • 非工作日的購買量低于工作日,但是非工作日的瀏覽點擊量高于工作日;
  • 工作日白天購買量遠(yuǎn)高于夜間購買量(說明工作購買需求較多)。
  • 3 商品銷售情況分析

    3.1 商品交易數(shù)總量,結(jié)果為56726

    SELECTcount( DISTINCT item_id ) AS 交易商品數(shù) FROMuserbehavior WHEREbehavior_type = 'buy';

    3.2 商品每日成交量查詢

    SELECTdates,COUNT( behavior_type ) AS 成交量 FROMuserbehavior WHEREbehavior_type = 'buy' GROUP BYdates;



    可以看出,2017/11/25-2017/12/2之間的每日成交量變化幅度并不是很大,12/2與12/3兩個周末成交量有小幅度上漲,推測是這段時間處于雙11 與雙12之間,沒有特別大的購物活動,因而變化不明顯。

    3.3 商品被購買次數(shù)排名查詢(取前20名)

    SELECTa.* FROM(SELECTu.item_id,COUNT( u.behavior_type ) AS 被購買次數(shù) FROMuserbehavior AS u WHEREu.behavior_type = 'buy' GROUP BYu.item_id ORDER BY被購買次數(shù) DESC ) AS a LIMIT 20;


    可以根據(jù)商品被購買次數(shù)后續(xù)進行商品受歡迎程度對比(同一商品大類下),分析受歡迎商品的共同點。

    4 用戶行為路徑分析

    4.1 各類用戶行為人數(shù)查詢

    SELECTbehavior_type,count( behavior_type ) AS 人數(shù) FROMuserbehavior GROUP BYbehavior_type;



    4.2 用戶行為路徑分析
    因為未知用戶收藏和加入購物車的關(guān)系,所以暫定兩者平行,分為
    ①點擊→收藏→購買
    ②點擊→加入購物車→購買
    ③點擊→購買
    這三條行為路徑

    第一條路經(jīng)
    ①收藏轉(zhuǎn)化率=添加收藏后購買的用戶數(shù)/添加收藏的用戶數(shù)

    SELECTcount( DISTINCT a.user_id ) AS 收藏用戶數(shù),count( DISTINCT b.user_id ) AS 收藏后購買用戶數(shù) FROM( SELECT DISTINCT user_id, item_id, item_category, TIMESTAMP FROM userbehavior WHERE behavior_type = 'fav' ) AS aLEFT JOIN ( SELECT DISTINCT user_id, item_id, item_category, TIMESTAMP FROM userbehavior WHERE behavior_type = 'buy' ) AS b ON a.user_id = b.user_id AND a.item_id = b.item_id AND a.item_category = b.item_category AND a.TIMESTAMP < b.TIMESTAMP;


    點擊用戶數(shù)為:37223
    收藏用戶數(shù)為:14943
    收藏后加購用戶數(shù)為:3233
    收藏轉(zhuǎn)化率為:3233/14943 = 21.6%
    而瀏覽收藏轉(zhuǎn)化率為:14943/37223 = 40.1%


    第二條路經(jīng)
    ②購物車轉(zhuǎn)化率=加入購物車后購買的用戶數(shù)/加入購物車的用戶數(shù)

    SELECTcount( DISTINCT a.user_id ) AS 加入購物車用戶數(shù),count( DISTINCT b.user_id ) AS 加入后購買用戶數(shù) FROM( SELECT DISTINCT user_id, item_id, item_category, `timestamp` FROM userbehavior WHERE behavior_type = 'cart' ) AS aLEFT JOIN ( SELECT DISTINCT user_id, item_id, item_category, `timestamp` FROM userbehavior WHERE behavior_type = 'buy' ) AS b ON a.user_id = b.user_id AND a.item_id = b.item_id AND a.item_category = b.item_category AND a.`timestamp` < b.`timestamp`;


    點擊用戶數(shù)為:37223
    添加購物車用戶數(shù)為:28122
    添加購物車后購買的用戶數(shù)為:8503
    購物車轉(zhuǎn)化率:8503/28122 = 30.2%
    而瀏覽加購物車轉(zhuǎn)化率為:28122/37223 = 75.6%


    對比以上兩種路徑可以看出,用戶點擊到加入購物車的轉(zhuǎn)化率很高,達(dá)到了75.6%,說明大部分用戶點擊瀏覽后有購買意向,因此選擇加入購物車,但是只有30%的加入購物車商品立即實現(xiàn)了購買,推測產(chǎn)生此現(xiàn)象的原因是:

  • 加入購物車后與其他商品比較
  • 標(biāo)記行為,之后再買(等活動)
  • 同時發(fā)現(xiàn),用戶點擊到加入購物車的轉(zhuǎn)化率(75.6%)遠(yuǎn)高于點擊到收藏的轉(zhuǎn)化率(40.1%),說明用戶有購買意向時更傾向于加入購物車,認(rèn)為原因是因為購物車方便下單購買,有直接付款的選項,而收藏需要重新進入商品頁面選擇,造成用戶的流失

    5 參照RFM模型,對用戶進行分類找出有價值的用戶

    5.1 顧客復(fù)購率查詢

    a.總的產(chǎn)生購買行為的用戶數(shù)查詢,結(jié)果為:25400

    SELECTCOUNT( DISTINCT user_id ) AS 購買人數(shù) FROMuserbehavior WHEREbehavior_type = 'buy';

    b.購買兩次以上的用戶數(shù)查詢,結(jié)果為:16712

    SELECTCOUNT( * ) AS 購買人數(shù) FROM( SELECT COUNT( u.user_id ) AS 用戶購買次數(shù) FROM userbehavior AS u WHERE behavior_type = 'buy' GROUP BY u.user_id ) AS userbuy WHEREuserbuy.用戶購買次數(shù) > 1;

    因此復(fù)購率 = 16712/25400*100% = 65.8%

    5.2 重復(fù)購買次數(shù)最多的用戶查詢(前20名)

    SELECTuser_id,count( user_id ) AS 購買次數(shù) FROMuserbehavior WHEREbehavior_type = 'buy' GROUP BYuser_id ORDER BY購買次數(shù) DESC LIMIT 20;



    這些用戶在9天里消費了至少30次,上至84次,屬于高頻率消費客戶,需要特別標(biāo)注。

    5.3 RFM模型

    RFM模型是衡量客戶價值和客戶創(chuàng)利能力的重要工具和手段。在眾多的客戶關(guān)系管理(CRM)的分析模式中,RFM模型是被廣泛提到的。該機械模型通過一個客戶的最近交易行為(Recency)、交易頻率(Frequency)以及交易金額(Monetary)3項指標(biāo)來描述該客戶的價值狀況。

    最近一次消費 (Recency):最近一次消費意指上一次購買的時候,它反映與顧客建立長期的關(guān)系,讓顧客持續(xù)保持往來,并贏得他們的忠誠度的可能性。
    消費頻率 (Frequency):消費頻率是顧客在限定的期間內(nèi)所購買的次數(shù)。它直接反映了顧客對商品的忠誠度。
    消費金額 (Monetary):指的是一段時間內(nèi)的消費金額。它反映了顧客的消費能力。(因為此數(shù)據(jù)不涉及商品金額,因此只對R和F進行分析)

    R(最近一次消費)查詢:
    因為數(shù)據(jù)集是從11月25日起始,因此可以把距離11月25日的時間作為R值標(biāo)準(zhǔn),距離越久,得分越高,最近一次消費時間越近。

    CREATE VIEW score_R AS SELECTuser_id,(CASE WHEN a.`購買天數(shù)` BETWEEN 0 AND 2 THEN 1 WHEN a.`購買天數(shù)` BETWEEN 3 AND 4 THEN 2 WHEN a.`購買天數(shù)` BETWEEN 5 AND 6 THEN 3 WHEN a.`購買天數(shù)` BETWEEN 7 AND 8 THEN 4 ELSE 0 END ) AS R FROM( SELECT user_id, datediff( max( dates ), '2017-11-25' ) AS 購買天數(shù) FROM userbehavior WHERE behavior_type = 'buy' GROUP BY user_id ) AS a ORDER BYR DESC;

    F(消費頻率)查詢:
    從上文復(fù)購率部分可知,購買次數(shù)最多的用戶購買次數(shù)為84次,與R檔位對應(yīng),從1-84劃分為4檔:[1-21],[22-42],[43-63],[64-84]分別對應(yīng)1,2,3,4分。

    CREATE VIEW score_F AS SELECTuser_id,(CASE WHEN b.`購買次數(shù)` BETWEEN 1 AND 21 THEN 1 WHEN b.`購買次數(shù)` BETWEEN 22 AND 42 THEN 2 WHEN b.`購買次數(shù)` BETWEEN 43 AND 63 THEN 3 WHEN b.`購買次數(shù)` BETWEEN 64 AND 84 THEN 4 ELSE 0 END ) AS F FROM(SELECT user_id, count( behavior_type ) AS 購買次數(shù) FROM userbehavior WHERE behavior_type = 'buy' GROUP BY user_id ) AS b ORDER BYF DESC; RF用戶類型
    重要挽留以及一般挽留客戶
    重要保持以及一般保持客戶
    重要發(fā)展以及一般發(fā)展客戶
    重要價值以及一般價值客戶

    求得R平均值為:2.98
    求得F平均值為:1.00

    CREATE VIEW users_classify AS SELECTuser_id,(CASE WHEN R < 3 AND F <= 1 THEN '挽留客戶' WHEN R < 3 AND F > 1 THEN '保持客戶' WHEN R >= 3 AND F > 1 THEN '價值客戶' WHEN R >= 3 AND F <= 1 THEN '發(fā)展客戶' ELSE 0 END ) AS 用戶類型 FROM(SELECT a.user_id, a.R AS R, b.F AS F FROM score_R AS a, score_F AS b WHERE a.user_id = b.user_id) AS c;

    至此,我們就可以對所有的購買用戶進行畫像分類。
    順便,為了了解各個類型用戶數(shù)量情況,可以對此進行查詢:

    SELECT count(用戶類型) FROM users_classify WHERE 用戶類型 = '價值客戶'; SELECT count(用戶類型) FROM users_classify WHERE 用戶類型 = '保持客戶'; SELECT count(用戶類型) FROM users_classify WHERE 用戶類型 = '發(fā)展客戶'; SELECT count(用戶類型) FROM users_classify WHERE 用戶類型 = '挽留客戶'; 用戶類型用戶數(shù)量
    價值客戶225
    保持客戶17
    發(fā)展客戶17154
    挽留客戶8004

    可以看出,價值客戶與保持客戶較少,僅占比0.95%,因此需要及時針對不同類型客戶做出相應(yīng)的調(diào)整計劃:

    • 對于價值客戶,他們是最優(yōu)質(zhì)的用戶,需要重點關(guān)注并保持,應(yīng)該提高滿意度,增加留存;
    • 對于保持客戶,他們最近有購買,但購買頻率不高,可以通過活動等提高其購買頻率;
    • 對于發(fā)展客戶,他們雖然最近沒有購買,但以往購買頻率高,可以做觸達(dá),以防止流失;
    • 對于挽留客戶,他們最近沒有購買,以往購買頻率也不高,特別容易流失,所以應(yīng)該贈送優(yōu)惠券或推送活動信息,喚醒購買意愿。

    6 聚類分析

    最后,借助python中的sklearn庫對用戶進行行為聚類分析

    #導(dǎo)入所需庫 import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns from sklearn.cluster import KMeans from sklearn.preprocessing import StandardScaler#將上文中使用Mysql處理過的數(shù)據(jù)導(dǎo)出,并導(dǎo)入jupyter notebook df = pd.read_csv("C:/Users/Y/Desktop/淘寶用戶行為/userbehavior1.csv") #實例化Kmeans聚類器 estimator = KMeans(n_clusters=3,tol=0.001,init = 'k-means++')data_behavior = df.groupby(['user_id','behavior_type']).count()['item_id'].unstack().reset_index() data_behavior = data_behavior.fillna(0)#添加時間特征 data_daily = df.groupby(['user_id','times']).count()['item_id'].unstack().reset_index() data_daily = data_daily.fillna(0) estimator.fit(data_daily.iloc[:,1:]) y_daily = estimator.labels_ data_behavior['daily_feature'] = y_daily#添加星期特征 data_week = df.groupby(['user_id','weekday']).count()['item_id'].unstack().reset_index() data_week = data_week.fillna(0) estimator.fit(data_week.iloc[:,1:]) y_week = estimator.labels_ data_behavior['weekday_feature'] = y_week #數(shù)據(jù)查看 data_behavior.head()

    #整理數(shù)據(jù)特征后聚類 estimator1 = KMeans(n_clusters = 6,tol = 0.001,init = 'k-means++') estimator1.fit(data_behavior1.iloc[:,1:]) data_behavior['cluster'] = estimator1.labels_ merge_data = pd.merge(df,data_behavior, on='user_id',how='left') merge_data = merge_data[['user_id','item_id','behavior_type','times','buytimes','pvtimes','carttimes','favtimes','cluster']]ax = sns.countplot(x="cluster", hue="behavior_type", data=merge_data2)


    這是6類的用戶分布情況,因點擊量與其他指標(biāo)數(shù)量差距過大,去除點擊量后重試

    ax = sns.countplot(x="cluster", hue="behavior_type", data=merge_data2[merge_data2['behavior_type']!='pv'])


    可以看出,不同類型的用戶之間的購物習(xí)慣各不相同,有的喜歡加入購物車,有的喜歡收藏,有的喜歡直接購買。
    第一類和第5類人數(shù)最多,兩者之間的用戶行為模式也比較相似。

    (五)結(jié)論及建議

  • 首先,從日期上看,12月2日與12月3日為周末,點擊訪問量較工作日有提升,但是周末的購買量和工作日相比并無太大差別。通過分析工作日白天夜晚不同時段購買量可知,是因為①周末休閑時間用戶瀏覽點擊時間增加②工作日因工作需要購買要求增加。
  • 從時段上來看,用戶一般在晚上7:00到11:00比較活躍,產(chǎn)生更多的點擊、收藏和加入購物車的行為,可以在這個時間段內(nèi)投放更多的宣傳以及活動等手段,使得宣傳效果更好。
  • 這9天里被購買次數(shù)最多的商品id是3122135,為58次,遠(yuǎn)高于其他產(chǎn)品,說明該產(chǎn)品需求量較大,應(yīng)該針對該產(chǎn)品建立精準(zhǔn)推廣對象,進一步擴大其銷量。同時,復(fù)購數(shù)排名前10的商品也應(yīng)該予以適當(dāng)推廣。
  • 這9天購買次數(shù)最多的用戶id是234304等用戶,對于這些用戶應(yīng)該集中管理其信息,經(jīng)常定點推送相關(guān)商品信息,也可列為VIP群,予以一定的活動優(yōu)惠。
  • 用戶點擊到加入購物車的轉(zhuǎn)化率很高,達(dá)到了75.6%,說明大部分用戶點擊瀏覽后有購買意向,因此選擇加入購物車,但是只有30%的加入購物車商品立即實現(xiàn)了購買,產(chǎn)生此現(xiàn)象的原因是:①加入購物車后與其他商品比較②標(biāo)記行為,之后再買(等活動)。建議可以在加入購物車界面提示優(yōu)惠活動有效時間,以促使用戶購買。
  • 用戶點擊到加入購物車的轉(zhuǎn)化率(75.6%)遠(yuǎn)高于點擊到收藏的轉(zhuǎn)化率(40.1%),說明用戶有購買意向時更傾向于加入購物車,認(rèn)為原因是因為購物車方便下單購買,有直接付款的選項,而收藏需要重新進入商品頁面選擇,造成用戶的流失。同樣的,可以在收藏界面提示優(yōu)惠活動有效時間信息,以促使用戶購買。
  • RFM分析發(fā)現(xiàn)價值客戶與保持客戶較少,僅占比0.95%,因此需要及時針對不同類型客戶做出相應(yīng)的調(diào)整計劃。
  • 總結(jié)

    以上是生活随笔為你收集整理的用户购物行为分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。