淘宝用户日志数据集的用户行为分析与用户分群

数据集描述

数据集是淘宝2015年双11前6个月(2015/5/11-2015/11/11)的用户日志数据
在这里插入图片描述

一、数据清洗

1.读取并查看数据基本信息和数据的完整性

import numpy as np
import pandas as pd
data=pd.read_csv('./data_format/user_log_mini.csv')
data.info()
data.shape
data.head()

在这里插入图片描述

2.查看数据集中行的重复情况并删除

重复的数据行对数据分析没有任何作用,把它给删除掉

data.duplicated()
data1=data.drop_duplicates()

3.处理缺失值

检查数据中是否有缺失值

print(data1.isnull().any())

查看缺失值记录

print(data1.isnull().sum())

缺失值填充

data2=data1.fillna('-1')

在这里插入图片描述
查看数据缺失值情况发现品牌编号(brand_id)属性列缺失了1278个值,为了充分利用数据集,使用-1来填充品牌编号特征的缺失值,表示未知品牌。

4.合并month和day列组成时间类型的date列

因为接下来的可视乎分析需要用到时间,构建一个时间列方便后面分析

import datetime
from datetime import timedelta
#合并month和day列组成date列
data2["date"] ='2015'+'-'+data2["month"].map(str) +'-'+ data2["day"].map(str) 
data2['date']=pd.to_datetime(data2['date'],format='%Y/%m/%d')
data3=data2[['month','day','date']]
data3.head

5.划分子数据集

数据集包含5/11-11/11共6个月的数据,取出8月份的数据,作为研究月份维度的分析,后面将在月份单位与日期单位两个时间维度上对数据进行分析。

start = datetime.datetime(2015,7,31)
end = datetime.datetime(2015,8,31)
subset = data2[data2['date']>start]
month8 = subset[subset['date']<end]
print('整个8月份的用户流量',month8.shape)
start2 = datetime.datetime(2015,10,31)
end2 = datetime.datetime(2015,11,12)
subset2 = data2[data2['date']>start2]
month11_half = subset2[subset2['date']<end2]
print('11月份1~11号的用户流量',month11_half.shape)

二、数据分析

1.访问量与访客量的情况

每月访问量与访客量情况:
在这里插入图片描述
结果显示,在11月份访问量与访客量都是,pv和uv访问量达到峰值。并且可以发现,uv和pv两个访问量数值差距比较大。 将平时的流量与11月份半个月的流量对比,可以发现十1月份的访问量比平时某个月增长了一倍多,访客量也增长了一。

8月份每日访问量与访客量情况:在这里插入图片描述
分析访问量与访客量均较平和的8月份的用户行为来代表反映平常月份的用户行为。观察上图8月份的pv/uv情况,可以发现,用户在28/29号的流量会偏高,猜测可能每月此日的会员活动会比较多,或者是人们喜欢在这个时间屯每月的必需品等。

统计半年内的日访客量变化:
在这里插入图片描述
2015-5到2015-11-3内uv、pv变化平稳趋势大体一致,在2015-11-4~12日区间内pv、uv大幅增长;根据常识可知,是由于双十一淘宝商家大量优惠活动的原因,观察到访问量比平时增长了近20倍,访客量也增长了有五倍多,可见双十一对用户的吸引程度,商户需要把握好此类节日。然而商户想要获取更大的利益的话,需要对不同用户采取不同的优惠措施,做到针对不同群体采取不同对策获取做大利益,对此,用户分群对商户来说是很有必要的。

每月平均每人访问量:

#淘宝每月平均每人访问量
t=month_pv.values/month_uv.values
for i in range(5,12):
    print('第',i,'个月的人均访问量次数为:',t[i-5])

在这里插入图片描述
除去5月份跟11月份数据不完整,分析用户活跃程度,可以发现6月份与10月份的用户访问量也比较高,说明可能淘宝有一些店铺的店铺会员活动集中在这两个月。

2.不同用户行为的访问量情况

将用户行为类型的代表数值用字符表示:

data2['action']=data['action'].replace([0,1,2,3],["点击","加入购物车","购买","收藏商品"])
data2.head()

在这里插入图片描述

在这里插入图片描述
不同行为11月前的pv变化趋势一致,11月份的付款人数高于收藏与加入购物人数多许多;说明商家集体活动促进消费,活动效果非常好。
在这里插入图片描述
观察看到11月份8-11日点击突然飙升,说明用户很重视双十一该节日,不想错过该日,不断寻找需要购买,可以屯的,优惠大的商品,同时发现了9-10号购买人数有点低于平常值,进一步证明了,人们会有双十一信念,可能是把想买的商品等到双十一凑单再买。

3.付费用户消费次数、付费率、复购率、复购间隔、复购频率分析

付费过的用户中8月份的购物次数探索:在这里插入图片描述
可以发现,8月份的人均购物次数是2.5多,购物次数最多的多达28次,购物次数最少的是1次,中位数是2次,得到结论,大部分人每月会在此平台购物两次。
具体查看买多少次的有多少人 :
在这里插入图片描述
消费者购物次数图表分析表面大多数人的购物次数在10次一下。
在这里插入图片描述
上图显示,付费过的用户的人均消费在1-2次每人每天。双十一达到顶峰人日均3.75 次。可见优惠促销对消费者的吸引力,因此商家可考虑定期举办优惠等活动进行促销。
复购率计算:
复购率 = 复购人数/消费人数
在这里插入图片描述
可知道,87%左右的人都有进行二次消费的
复购时间消费间隔分布:
在这里插入图片描述
一个月内,大部分人复购时间间隔都在7天以内,随着消费时间间隔增大,消费人数也随之减少,因此可考虑把营销重点放在复购时间间隔7天内的客户。
复购频率分布:
在这里插入图片描述
在这期间,大部分人的消费次数都在6次以内,因此可把营销推广对象重点关注大于6次消费的顾客。

4.不同商品品类的转化率分析

在这里插入图片描述
转化率 = 点击量 / 支付量

在这里插入图片描述


图可以看出,大多数的商品转化率在0.1左右。可以对热销爆款商品和商品类目进行合适的引流展示。

三、用户分群:用户价值RFM模型分析(RF)

用户价值度RFM模型分析 RFM的含义:
R(Recency):客户最近一次交易时间的间隔。R值越大,表示客户交易发生的日期越久,反之则表示客户交易发生的日期越近。
F(Frequency):客户在最近一段时间内交易的次数。F值越大,表示客户交易越频繁,反之则表示客户交易不够活跃。
M(Monetary):客户在最近一段时间内交易的金额。M值越大,表示客户价值越高,反之则表示客户价值越低。
RFM分析就是根据客户活跃程度和交易金额的贡献,进行客户价值细分的一种方法。

1.基于RFM模型K-Means算法进行用户群体聚类:

用轮廓系数和肘方法找出最优k值

在这里插入图片描述
结合两个指标综合判定聚类质量,轮廓系数是越接近于1越好,肘方法出现明显拐点; 综合来看,聚为3类效果比较好。

2.得出聚类结果:

在这里插入图片描述
在这里插入图片描述
聚类结果分析:
第0组消费新鲜度均值在23天,消费频率在2.5次,占40.03%;根据业务理解,该群体可定义为普通用户(一般价值客户)距离现在消费时间间隔一般,消费频率一般,属于不够忠诚极易被竞品抢走的用户,建议对这批用户多进行一些品牌上的宣传,同时通过活动刺激他们多活跃,多消费,提升忠诚度;
第1组消费消费新鲜度均值在2.5天,消费频率在2.5次,占51.42%;该群体可定义为重要发展客户(新客户),可制定一些针对性营销活动使新客户多参与消费;
第2组消费新鲜度均值约3.5天,消费频率12次,占8.55%;该群体为重要保持客户(高价值客户),高活跃和高价值的用户,是最需要重点呵护的用户。

posted @ 2022-05-25 14:52  mariow  阅读(386)  评论(0编辑  收藏  举报