時(shí)間:2023-03-15 22:54:01 | 來(lái)源:電子商務(wù)
時(shí)間:2023-03-15 22:54:01 來(lái)源:電子商務(wù)
SELECT DISTINCT user_id, item_id, category_id, behavior, timestampsFROM userbehavior;
查詢結(jié)果中沒(méi)有發(fā)現(xiàn)重復(fù)值SELECT count( userid ), count( itemid ), count( categoryid ), count( behavior ), count( timestamps ) FROM userbehavior WHERE userid IS NULL OR itemid IS NULL OR categoryid IS NULL OR behavior IS NULL OR timestamps IS NULL;
查詢結(jié)果中沒(méi)有發(fā)現(xiàn)重復(fù)值# 將timestamps列轉(zhuǎn)換為日期格式UPDATE userbehavior SET timestamps=FROM_UNIXTIME(timestamps,'%Y-%m-%d %H:%i:%s');# 新建date列,從timestamp列截取日期ALTER TABLE userbehavior add date varchar(10);UPDATE userbehavior SET date=SUBSTRING(timestamps,1,10);# 新建hour列,從timestamp列截取小時(shí)ALTER TABLE userbehavior add hours varchar(10);UPDATE userbehavior SET hours=SUBSTRING(timestamps,12,2);
6.異常值處理# 刪除指定日期之外的異常值DELETE FROM userbehavior WHERE date > '2017-12-03' or date < '2017-11-25';# 查詢?nèi)掌诹凶钚≈岛妥畲笾禉z查是否處理異常值SELECT min(date),max(date) FROM userbehavior;
# 統(tǒng)計(jì)數(shù)據(jù)集中所有行為數(shù)據(jù),總用戶數(shù),商品數(shù),商品類別數(shù),用戶行為數(shù)SELECT count( * ) AS 行為數(shù), count( DISTINCT userid ) AS 用戶數(shù), count( DISTINCT itemid ) AS 商品數(shù), count( DISTINCT categoryid ) AS 商品類別數(shù), count( DISTINCT behavior ) AS 用戶行為數(shù) FROM userbehavior
由上可知,數(shù)據(jù)集中總共有99956條,一共包含983位用戶,64440個(gè)商品,3128個(gè)類別,4種用戶行為。SELECT behavior, count(*)FROM userbehaviorGROUP BY behavior;
從上圖可以看出,從瀏覽到有購(gòu)買意向只有9%的轉(zhuǎn)化率。只有少量用戶是直接購(gòu)買而未通過(guò)收藏和加入購(gòu)物車,從頁(yè)面瀏覽到收藏/加購(gòu)的轉(zhuǎn)化率偏低,該階段的轉(zhuǎn)化率應(yīng)重點(diǎn)提升。SELECT behavior, count(distinct userid) AS '用戶數(shù)'FROM `userbehavior`GROUP BY behavior
如圖所示,約有68%的付費(fèi)用戶,用戶付費(fèi)轉(zhuǎn)化率相當(dāng)高。select sum(case when pv>0 then 1 else 0 end) as 'pv', sum(case when pv>0 and buy>0 and cart=0 and fav=0 then 1 else 0 end) as 'pv-buy', sum(case when pv>0 and (cart>0 or fav>0) then 1 else 0 end) as 'pv-cart/fav', sum(case when pv>0 and (cart>0 or fav>0) and buy>0 then 1 else 0 end) as 'pv-cart/fav-buy', sum(case when pv>0 and (cart>0 or fav>0) and buy=0 then 1 else 0 end) as 'pv-cart/fav-lost', sum(case when pv>0 and cart=0 and fav=0 and buy=0 then 1 else 0 end) as 'pv-lost' from userbehavior;
結(jié)果如下:# 創(chuàng)建瀏覽量TOP10商品種類視圖create view pv_top10_category asselect categoryid,count(*) as 瀏覽量top10from userbehaviorWHERE behavior='pv'GROUP BY categoryidORDER BY count(*) desclimit 10; # 創(chuàng)建購(gòu)買量TOP10商品種類視圖create view buy_top10_category asselect categoryid,count(*) as 購(gòu)買量top10from userbehaviorWHERE behavior='buy'GROUP BY categoryidORDER BY count(*) desclimit 10;
根據(jù)categoryid對(duì)比分析瀏覽量TOP10和購(gòu)買量TOP10重合部分商品種類# 瀏覽量TOP10商品種類SELECT * FROM pv_top10_category as aleft join buy_top10_category as bUSING(categoryid); # 購(gòu)買量TOP10商品種類SELECT * FROM buy_top10_category as aleft join pv_top10_category as bUSING(categoryid);
結(jié)果如下表所示:# 創(chuàng)建瀏覽量TOP10商品視圖create view pv_top10_item asselect itemid,count(*) as 瀏覽量top10from userbehaviorWHERE behavior='pv'GROUP BY itemidORDER BY count(*) desclimit 10; # 創(chuàng)建購(gòu)買量TOP10商品視圖create view buy_top10_item asselect itemid,count(*) as 購(gòu)買量top10from userbehaviorWHERE behavior='buy'GROUP BY itemidORDER BY count(*) desclimit 10;
根據(jù)itemid對(duì)比分析瀏覽量TOP10和購(gòu)買量TOP10重合部分商品# 瀏覽量TOP10商品SELECT * FROM pv_top10_item as aleft join buy_top10_item as bUSING(itemid);# 購(gòu)買量TOP10商品SELECT * FROM buy_top10_item as aleft join pv_top10_item as bUSING(itemid);
結(jié)果如下表所示:# 整體商品類目與對(duì)應(yīng)的商品數(shù)量SELECT count( DISTINCT categoryid ) AS 商品類目數(shù)量, count( DISTINCT itemid ) AS 商品數(shù)量 FROM userbehavior;
結(jié)果如下表所示:# 每個(gè)商品的購(gòu)買次數(shù)SELECT itemid,count(*) AS 購(gòu)買次數(shù) FROM userbehavior WHERE behavior = 'buy' GROUP BY itemid ORDER BY count(*) DESC;
結(jié)果如下表所示下:# 購(gòu)買次數(shù)占比SELECT a.購(gòu)買次數(shù), count( a.itemid ) AS 商品數(shù), concat( round( count( a.itemid ) / ( SELECT count( DISTINCT itemid ) FROM userbehavior WHERE behavior = 'buy' ) * 100, 2 ), '%' ) AS 占比 FROM ( SELECT itemid, count( * ) AS 購(gòu)買次數(shù) FROM userbehavior WHERE behavior = 'buy' GROUP BY itemid ) AS a GROUP BYa. 購(gòu)買次數(shù);
結(jié)果如下表所示:select concat(round(sum(pv)/select count(*) from userbehavior)*100,2),'%')as 跳出率from(select userid,sum(case behavior when 'pv' then 1 else 0 end ) as pv sum(case behavior when 'fav' then 1 else 0 end ) as 'cart'sum(case behavior when 'cart' then 1 else 0 end ) as 'cart' sum(case behavior when 'buy' then 1 else 0 end ) as 'buy'from userbehaviorgroupby userid) as awhere 'pv'>0 and fav=0 and cart=0 and buy=0
結(jié)果如下表:復(fù)購(gòu)用戶數(shù)select count(*) as 用戶復(fù)購(gòu)數(shù) from (select userid,count(*) as 用戶復(fù)購(gòu)數(shù) from userbehavior where behavior='buy'group by useridhaving count(distinct date)>=2) as a 總購(gòu)買用戶數(shù)select count(distinct userid) from userbehavior where behavior='buy'
得出結(jié)論:用戶復(fù)購(gòu)率=復(fù)購(gòu)用戶數(shù)/總購(gòu)買用戶數(shù)=365/671=54.40%。用戶的復(fù)購(gòu)率超過(guò)50%,用戶具有較高的忠誠(chéng)度。# 復(fù)購(gòu)用戶購(gòu)買次數(shù)SELECT sum(購(gòu)買次數(shù)) as 復(fù)購(gòu)用戶購(gòu)買次數(shù)FROM # 查找復(fù)購(gòu)用戶(SELECT userid,count(*) as 購(gòu)買次數(shù) FROM `userbehavior`WHERE behavior='buy'GROUP BY useridHAVING count(DISTINCT date)>=2) as a; # 總購(gòu)買次數(shù)SELECT count(*) as 總購(gòu)買次數(shù) FROM userbehaviorWHERE behavior='buy';
得出結(jié)論:用戶的復(fù)購(gòu)率超過(guò)了50%,同時(shí)復(fù)購(gòu)用戶購(gòu)買次數(shù)占比達(dá)到了79.40%,說(shuō)明平臺(tái)用戶粘性很高,且購(gòu)買積極性也高。# 計(jì)算每日留存率select a.date, count(distinct a.userid) as 日新增用戶數(shù),concat(round(100*count(distinct if(datediff(b.date,a.date)=1, b.userid, null))/count(distinct a.userid),2),'%') as 次日留存率,concat(round(100*count(distinct if(datediff(b.date,a.date)=2, b.userid, null))/count(distinct a.userid),2),'%') as 二日留存率,concat(round(100*count(distinct if(datediff(b.date,a.date)=3, b.userid, null))/count(distinct a.userid),2),'%') as 三日留存率,concat(round(100*count(distinct if(datediff(b.date,a.date)=4, b.userid, null))/count(distinct a.userid),2),'%') as 四日留存率,concat(round(100*count(distinct if(datediff(b.date,a.date)=5, b.userid, null))/count(distinct a.userid),2),'%') as 五日留存率,concat(round(100*count(distinct if(datediff(b.date,a.date)=6, b.userid, null))/count(distinct a.userid),2),'%') as 六日留存率,concat(round(100*count(distinct if(datediff(b.date,a.date)=7, b.userid, null))/count(distinct a.userid),2),'%') as 七日留存率,concat(round(100*count(distinct if(datediff(b.date,a.date)=8, b.userid, null))/count(distinct a.userid),2),'%') as 八日留存率from #統(tǒng)計(jì)每日新增的用戶名單 (select d1.* from lading as d1 left join lading as d2 on d1.userid=d2.userid and d1.date>d2.date where d2.date is null) as a left joinlading as b on a.userid=b.useridgroup by a.date;
得出結(jié)論:每日的留存率都處在較高的水平,這說(shuō)明用戶的忠誠(chéng)度較高。SELECT date as 日期,sum(case when behavior='pv' then 1 else 0 end) as 點(diǎn)擊量,count(DISTINCT userid) as 用戶數(shù),(sum(case when behavior='pv' then 1 else 0 end)/count(DISTINCT userid)) as 重復(fù)訪問(wèn)量FROM userbehaviorGROUP BY date
結(jié)果如下表所示:SELECT date as '日期',count(behavior) as 用戶行為總量,sum(case when behavior='pv' then 1 else 0 end) as 點(diǎn)擊量,sum(case when behavior='fav' then 1 else 0 end) as 收藏?cái)?shù),sum(case when behavior='cart' then 1 else 0 end) as 加購(gòu)數(shù),sum(case when behavior='buy' then 1 else 0 end) as 購(gòu)買數(shù)FROM userbehaviorGROUP BY date;
結(jié)果如下表所示:SELECT hours as '時(shí)段',count(behavior) as 用戶行為總量,sum(case when behavior='pv' then 1 else 0 end) as 點(diǎn)擊量,sum(case when behavior='fav' then 1 else 0 end) as 收藏?cái)?shù),sum(case when behavior='cart' then 1 else 0 end) as 加購(gòu)數(shù),sum(case when behavior='buy' then 1 else 0 end) as 購(gòu)買數(shù)FROM userbehaviorGROUP BY hoursORDER BY hours;
結(jié)果如下表所示:SELECT DATE_FORMAT(date,'%W') as '星期',count(behavior) as 用戶行為總量,sum(case when behavior='pv' then 1 else 0 end) as 點(diǎn)擊量,sum(case when behavior='fav' then 1 else 0 end) as 收藏?cái)?shù),sum(case when behavior='cart' then 1 else 0 end) as 加購(gòu)數(shù),sum(case when behavior='buy' then 1 else 0 end) as 購(gòu)買數(shù)FROM userbehaviorGROUP BY DATE_FORMAT(date,'%W')ORDER BY WEEKDAY(date);
結(jié)果如下表所示:# 最近一次消費(fèi)時(shí)間間隔R和消費(fèi)頻率FSELECT userid,DATEDIFF('2017-12-04',max(date)) AS R,count(*) as FFROM userbehavior WHERE behavior = 'buy' GROUP BY userid;
結(jié)果如下表所示# 對(duì)最近一次消費(fèi)時(shí)間間隔(R)和消費(fèi)頻率(F)進(jìn)行評(píng)分,并創(chuàng)建視圖rfm create view rfm asSELECT a.*,(casewhen R>20 then 1 when R between 10 and 20 then 2when R between 5 and 10 then 3when R between 3 and 5 then 4when R<=3 then 5else 0 end) as Rscore,(casewhen F<=2 then 1 when F between 2 and 6 then 2when F between 6 and 8 then 3when F between 10 and 20 then 4when F>20 then 5else 0 end) as FscoreFROM(SELECT userid,DATEDIFF('2017-12-04',max(date)) AS R,count(*) as FFROM userbehavior WHERE behavior = 'buy' GROUP BY userid) as a;
結(jié)果如下表所示:# 計(jì)算打分平均值SELECT avg(Rscore) as avg_R, avg(Fscore) as avg_FFROM rfm;
結(jié)果如下表所示:# 用戶分類select userid,Rscore,Fscore, (case when Rscore>4.158 then '高' else '低' end) as 'R值高低', (case when Fscore>1.5484 then '高' else '低' end) as 'F值高低' from rfm;
結(jié)果如下表所示:#對(duì)用戶進(jìn)行標(biāo)記select userid,R值高低,F值高低,(case when R值高低='高' and F值高低='高' then '重要價(jià)值用戶' when R值高低='低' and F值高低='高' then '重要保持用戶' when R值高低='高' and F值高低='低' then '重要發(fā)展用戶' when R值高低='低' and F值高低='低' then '一般價(jià)值用戶' else 0 end) as '用戶分類' from (select userid,Rscore,Fscore, (case when Rscore>4.158 then '高' else '低' end) as 'R值高低', (case when Fscore>1.5484 then '高' else '低' end) as 'F值高低' from rfm) as a;
結(jié)果如下表所示:# 對(duì)用戶分類統(tǒng)計(jì)select 用戶分類,count(*) as 用戶數(shù)FROM(select userid,R值高低,F值高低,(case when R值高低='高' and F值高低='高' then '重要價(jià)值用戶' when R值高低='低' and F值高低='高' then '重要保持用戶' when R值高低='高' and F值高低='低' then '重要發(fā)展用戶' when R值高低='低' and F值高低='低' then '一般價(jià)值用戶' else 0 end) as '用戶分類' from (select userid,Rscore,Fscore, (case when Rscore>4.158 then '高' else '低' end) as 'R值高低', (case when Fscore>1.5484 then '高' else '低' end) as 'F值高低' from rfm) as a) as bGROUP BY 用戶分類;
結(jié)果如下表所示:SELECT product_buytimes, COUNT(*) AS product_type_countFROM(SELECT COUNT(user_id) AS product_buytimesFROM UserWHERE behavior_type = 'buy'GROUP BY item_id) AS product_buypoolGROUP BY product_buytimesORDER BY product_buytimes ASC;
本次分析的商品共有64440中,用戶購(gòu)買的商品共有16743種,購(gòu)買數(shù)量非常集中的商品比較少;在本次統(tǒng)計(jì)的數(shù)據(jù)中,只購(gòu)買一次的商品有56154種,占用戶購(gòu)買商品數(shù)的79.26%,說(shuō)明商品售賣主要依靠長(zhǎng)尾商品的累積效應(yīng),而非爆款商品的帶動(dòng)。SELECT categoryid , COUNT(*) AS cat_countFROM userWHERE behavior = 'buy'GROUP BY category_idORDER BY cat_count DESC;
如圖所示,商品類目銷售情況中有較為明顯的集中趨勢(shì),可根據(jù)暢銷類目?jī)?yōu)化商品展示、加強(qiáng)商品捆綁,進(jìn)而提高銷量。關(guān)鍵詞:數(shù)據(jù),分析,用戶
客戶&案例
營(yíng)銷資訊
關(guān)于我們
客戶&案例
營(yíng)銷資訊
關(guān)于我們
微信公眾號(hào)
版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。