这里写目录标题

  • 1. 绪论
    • 1.1了解用户行为分析
    • 1.2用户行为分析的目的
  • 2.用户行为分析的具体内容
    • 2.1用户行为分析的指标
    • 2.2用户行为分析模型
      • 2.2.1漏斗模型分析
      • 2.2.2用户留存分析
      • 2.2.3用户消费行为分析
      • 2.2.3.1箱型图
      • 2.2.3.2日ARPPU分析
      • 2.2.3.3日ARPU情况分析
      • 2.2.3.4RFM模型分析
      • 2.2.3行为事件分析
  • 3.实例分析
    • 3.1数据集的介绍
    • 3.2数据预处理-数据清洗
      • 3.2.1缺失值的处理
      • 3.2.2日期标签的处理
    • 3.3行为分析
      • 3.3.1用户留存分析
      • 3.3.2用户行为的数据对比
      • 3.3.3模型分析
        • 3.3.3.1漏斗模型分析
        • 3.3.3.2箱型图
        • 3.3.3.3日ARPPU分析
        • 3.3.3.4日ARPU情况分析
        • 3.3.3.5复购率
        • 3.3.3.6 RFM模型分析

1. 绪论

1.1了解用户行为分析

随近几年来,大数据不断发展,大数据成为了一个热门的行业,应用在各个领域。
用户行为分析就是其中的一个应用方向。随着智能设备的快速发展,人们的生活已经离不开智能设备了。人们花费在智能设备的大部分时间在购物平台上面,而我们在购物平台上浏览信息会产生不同的信息来反应我们的行为。
用户行为信息在电商平台十分重要,通过用户行为分析,能够了解用户的情况,比如:他们不同的生活习惯、文化背景、生活位置等等这些信息都会影响他们的行为。那么什么是用户行为分析?
用户行为信息指的是在获得网站或APP等平台访问量基本数据的情况下,对其中的数据进行统计、分析,从中发现用户访问网站或APP等平台的规律来建立、进一步修正、或者重新指定网络营销策略等等进而实现精细化运营。

1.2用户行为分析的目的

对互联网金融、电商平台、线上教育、证券、短视频等这些行业的产品来说,用户行为数据显得十分重要。用户行为的目的在于自定义留存分析、精细化渠道质量评估、产品分析、精准营销。

  1. 自定义留存分析:基于用户行为,我们可以做精细化留存评估。根据产品特性自定义用户留存,根据用户的活跃情况来对产品进一步进行评估、优化等。
  2. 精细化渠道质量评估:通过不同的渠道带来的用户,我们需要去了解哪个渠道的用户行为数据最为丰富、最有价值,从而实现降低渠道成本,提升渠道转化。
  3. 产品分析:通过漏斗分析或者路径转化,找到产品改进的关键点、找到促进核心转化的相关因素,从而使得产品设计得更人性化。
  4. 精准营销:通过用户点击商品详情、搜索行为、浏览历史记录、购买的东西等行为来定位用户的兴趣,从而制定更好的个性化服务。

2.用户行为分析的具体内容

2.1用户行为分析的指标

根据用户行为表现可以将用户行为分析的指标大体上可以分为三大类,即黏性指标、活跃指标和产出指标。
[1] 粘性指标:主要关注用户在某一段时间内持续访问何使用网站的情况,一种持续的状态。比如:新用户数及比例、活跃用户数及比例、用户留存率、用户流失率、用户访问率等等。
[2] 活跃指标:指向用户每次访问过程中发生的行为,主要是指用户访问的参与度,比如:活跃用户、新增用户、流失用户、使用频率等等。
[3] 产出指标:衡量用户创造的价值输出,比如:页面浏览数(PV)、页面访问人数(UV)、点击次数等等。

2.2用户行为分析模型

借助一些模型来对数据(用户特定的行为)进行定性和定量分析分析。
常用的分析模型有:

  1. 漏斗模型分析
  2. 用户留存分析
  3. 用户消费行为分析
    1.箱型图
    2.日ARPPU分析
    3.日ARPU情况分析
    4.RFM模型
  4. 行为事件分析

2.2.1漏斗模型分析

漏斗模型分析是用户在使用APP或者访问网站等多城中,描述各个阶段中关键环节的用户转化和流失率情况,能够科学反映用户行为状态以及从起点到终点各阶段用户转化率情况。
漏斗模型可以分析验证整个流程的设计、决策是否合理、满足客户的需求,通过分析用户行为过程的相关转化率,发现哪个环节的转化率相对低、需要改进,从而发现、决解问题。

2.2.2用户留存分析

用户留存分析是一种用来分析用户活跃程度的模型。通过留存量和留存率(PV、UV等指标)了解当前用户实际行为从而得知用户的留存和流失情况,发现影响产品可持续增长的关键因素,知道市场决策、产品改进、提升用户价值等等。

2.2.3用户消费行为分析

用户消费行为是一种在获得用户的消费信息下,了解用户的消费频率和消费金额和用户的收入情况,从而预测用户复购率(复购行为用户数/消费行为用户总数)、划分用户价值等级的情况,从而进一步做好决策及时调整。

2.2.3.1箱型图

箱型图是其中的一种分析图,用作一组数据的分散分布情况的统计图,用于处理异常数据和数据的过滤。(不受异常值的影响,能够准确第描绘出数据离散分布的情况)

其中箱型图包含5个重要的因素:
1.上四分数U:表示在所有样本中只有1/4的数值大于U,即从大到小排序时U处于25%处。
2.下四分位数L:表示在所有样本中只有1/4的数值小于L,即从大到小排序时处于75%处。
3.中位数Q:表示一组数小到大排列处于中间位置的数,若序列数为偶数时,该组的中位数为中间两个数的平均数。
4.上限:表示非异常范围的最大值,四分位距为IQR=U-L,则上限为U+1.5IQR。
5.下限:表示非异常范围内的最小值,即下限为L-1.5IQR。

2.2.3.2日ARPPU分析

ARPPU(average revenue per paying user)是指从每位消费用户身上获得的收入,即在统计日期之内消费用户对产品的平均消费。
ARPPU = 消费总收入/消费用户数

2.2.3.3日ARPU情况分析

ARPU(average revenue per user)是指每位用户的平均收入。ARPU注重的是一个时间段内销售员情况来看,ARPU值越高那么利润越高,效益越好,可以衡量产品的盈利和发展的活力。
ARPU = 消费总收入/用户总数

2.2.3.4RFM模型分析

RFM模型根据客户活跃度和交易金额的贡献,进行客户价值细分的一种方法。识别优质客户,可以指定个性化的沟通和营销服务,能够衡量客户价值和客户利润创收能力。
1.R(Recency)——最近一次交易时间间隔,基于最近一次交易日期计算得分,举例当前日期越近,得分越高。
2.F(Frequency)——客户在最近一段时间内交易次数,基于交易频率计算得分,交易频率越高,得分越高。
3.M(Monetray)——客户在最近一段时间内交易金额,基于金额计算得分,交易金额越高,得分越高。
RFM模型的假设前提:
1.最近交易过的客户 > 最近没有交易过的
2.交易频率高的客户 > 交易频率低的
3.交易金额打的客户 > 交易金额小的
通过自定义的评分规则,来划分出不同类型的客户,对于哪些客户进行重点关注、维护,哪些客户需要探究流失原因等等。

2.2.3行为事件分析

行为事件分析是指根据获取到的指标数据对用户进行行为分析,通过追踪或记录用户行为事件,了解事件的趋势走向和用户的情况,从而挖掘事件的影响因素。
主要研究用户的5W行为,即用户是谁、从什么地方来、发生了什么事件、如何产生的、发生的时间,从而挖掘其中对产品、企业的影响等等。
行为指标:
1) 点击率CTR=点击量/曝光量(商品、咨询内容、视频)*100%
2) 退出率
3) 消费频率

3.实例分析

下面通过一个分析淘宝用户行为来阐述使用过程。

3.1数据集的介绍

数据集来源于阿里天池(提供完备的IDE以及丰富的计算资源),包含有2014-11-18至2014-12-18时期的1048576条用户数据。

特征 说明
Features Instructions
user_id The user name
item_id The commodity name
behavior_type Behavior(Click,Favorite,Add to cart,Buy corresponds to 1,2,3,4)
user_geohash The geographical position of user
item_categort Commodity categories
time The time that the user beahavior takes place

3.2数据预处理-数据清洗

3.2.1缺失值的处理

通过自定义一个函数来计算各个特征下缺失值的个数占该特征总数的比值。
代码实现:

DataFrame.apply(lambda x:sum(x.isnull()/len(x)))

通过观察发现user_geohash(The location of user while behavior take palce)这个特征缺失值也太多了,那么可以将这特征除去。

DataFrame.drop('user_geohash',axis=1,inplace=True)

3.2.2日期标签的处理

通过DataFrame.head()观察这个标签的数据既含有日期部分也含有时间部分,为了方便分析每日和在相同时间用户行为,将分为两个标签、。

df['time'] = pd.to_datetime(df['time'],format="%Y-%m-%d")
df['hour'] = df.time.dt.hour#提取time的具体时间(小时)部分
df['time'] = df.time.dt.normalize() #提取time的日期部分

3.3行为分析

3.3.1用户留存分析

先是对日期维度进行分析:


通过观察发现在双12日访问人数和访问量均达到峰值,而且PV和UV两者在图像形状上很相似。
再对小时维度进行分析:

通过图表观察来看,UV整体上没有很明显的波动,但在凌晨0-6点人数会相对下降;PV的20-22点会出现达到访问的峰值,数据较为正常。

3.3.2用户行为的数据对比

四种行为数据总量对比:

behavior_data = pd.pivot_table(df,index='日期',columns='行为',values='用户名',aggfunc=np.size)
behavior_data.columns = ["点击","收藏","加入购物车","支付"]
plt.figure(figsize=(16,10))
sns.pointplot(data=behavior_data[["点击","收藏","加入购物车","支付"]])
plt.show()

结论:点击的数据量远比其他三种高,所以下面的在日期和小时下来研究行为,只对比三种行为。

以日期维度来分析三种用户行为:

结论:同样,在双12购物节能够引起用户对购物的欲望 ,均在双12期间达到峰值。

以小时维度来分析三种用户行为:

3.3.3模型分析

3.3.3.1漏斗模型分析

行为的顺序:点击->收藏->加入购物车->购买
单一转化率的计算:就是前一个行为的人数除于下一个行为的人数*100%(保留两位小数点),需要将第一个行为的转化率设置为100%。(作为参考系)
tnum = np.array(df_behavior["人数"])[:-1]
num = np.array(df_behavior["人数"])[1:]
conversion_rate = num/tnum
conversion_rate.insert(0,1)
print(conversion_rate)
conversion_rate = [round(x*100,2)for x in conversion_rate]

总体转化率的计算:就是各个行为的人数分别除于第一个行为的人数。

total_conversion = df_behavior["人数"]/df_behavior["人数"][0]
total_conversion = [round(x*100,2)for x in total_conversion]

通过观察漏斗图,我们发观从浏览到购买这一过程的转化率十分低,这时候就需要去探究原因。
引发公司的猜想,这说明可能由于用户再浏览过程中,没有找到自己所想要的商品,提高产品个性化推荐或者产品不适合大部分消费者导致产品无法卖出去还是支付的时候出了什么问题还是在购买的时候又看到更让自己满意的商品。

3.3.3.2箱型图

通过观察发现25%到50%和50%到75%箱重占比相同,这说明大多数用户处在1-3次消费这个次数;用户的消费次数总体上来说偏少。

3.3.3.3日ARPPU分析

在这个数据集中没有用户的消费金额,我们用消费次数代替消费金额。


通过ARPPU-day统计图我们发现在平时一些日子里面用户消费次数主要在1.20到1.30之间波动,但在双12购物节日的时候剧烈增长,高峰值在1.40左右。说明一些节日会促进用户进行购物。

3.3.3.4日ARPU情况分析

同样,因为该数据集中没有消费收入的数据,我们用消费次数来代替收入。

通过ARPU_day统计图我们发现在这个数据集中用户的消费次数十分的少,每个用户平均消费次数不到0.2。

3.3.3.5复购率

Re_buy = df[df.行为==4].groupby('用户名')['日期'].apply(lambda x:len(x.unique()))
print(round(Re_buy[Re_buy>=2].count()/Re_buy.count(),2))

通过计算复购率,计算结果为0.47,说明产品相当不稳定,不符合人们的需求,导致消费次数、复购率相当低,该公司应该及时做出处理,紧急止损并且做出下一步的营销策略。

3.3.3.6 RFM模型分析

由于没有该数据集没有用户的消费金额,在这里只用R(最近一次消费时间)和F(消费频率)来进行评分划分用户。
自定义评分规则:

def Recency(day):if day < 5:return 5elif day >=5 & day < 10:return 4elif day >=10 & day < 15:return 3elif day >= 15 & day < 20:return 2elif day >= 20 & day <25:return 1elif day >= 25:return 0def Frequency(time):if time < 15:return 0elif time >= 15 & time < 30:return 1elif time >= 30 & time <45:return 2elif time >= 45 & time < 60:return 3elif time >= 60 & time < 75:return 4elif time >= 75:return 5

结论:对于不同的客户给予不同的个性化服务,能够创造更好的价值。

完整代码资源地址(我已经上传到csdn的资源上面):https://download.csdn.net/download/silent1cat/21012491

github地址:https://github.com/sientcat7/User-Behavior-analysis(如果大家没有积分的话,这里面也有完整的代码哟!)
希望这篇文章对大家的学习有所帮助!

用户行为分析的背景以及几种模型分析、实例分析——淘宝用户行为分析相关推荐

  1. python开发跟淘宝有关联微_使用Python分析淘宝用户行为

    一.项目背景 本数据分析报告以手机淘宝app订单数据作为数据集,通过行业常见指标对淘宝用户行为数据进行分析,并给出优化建议.本数据集包含了2014年11月18日至2014年12月18日之间,约八十万随 ...

  2. MySQL—淘宝用户行为分析

    文章目录 一.项目背景 二.结论先行 2.1用户行为漏斗转化分析 2.2时间维度分析用户行为 2.3商品维度分析用户行为 2.4RFM模型用户价值分析 三.数据分析 3.1数据来源 3.2数据说明 3 ...

  3. SQL淘宝用户数据分析

    文章目录 一.项目背景 数据来源及介绍 二.数据清洗 1. 导入数据 2. 数据清洗 三.数据分析 1. AARRR模型漏斗分析 1.1 活跃度分析(Active ) 1.2 留存(Retain) 1 ...

  4. 数据分析案例之淘宝用户行为分析完整报告

    一.项目背景 UserBehavior为淘宝用户行为的数据集,数据集包括了2017年11月25日至2017年12月3日之间,有大约82万随机用户的用户行为(行为包括点击pv,购买buy,加购物车cha ...

  5. 利用Python对淘宝用户行为进行分析

    1. 项目背景 该项目的数据集来源于天池,是由阿里巴巴提供的一个淘宝用户行为数据集,其中包含了2017年11月25日至2017年12月3日之间,一百万个随机用户的所有用户行为(行为包括点击.购买.加购 ...

  6. Python项目实战 —— 04. 淘宝用户行为分析

    Python项目实战 Python项目实战--目录 Python项目实战 -- 04. 淘宝用户行为分析 一.背景 二.解题思路 三.数据分析 3.1 数据清洗 3.2 数据分析 3.2.1 用户整体 ...

  7. 案例三:淘宝用户行为分析

    一.项目背景 本项目基于淘宝app平台数据,通过相关指标对行为进行分析,探索消费者相关行为模式 分析方法: 用户行为分析:日pv和日uv分析,时pv和时uv分析,不同行为类型用户的pv分析用户消费行为 ...

  8. 数据分析项目实战1——淘宝用户购买行为分析(天池)

    一.分析背景.数据来源.数据解释 https://tianchi.aliyun.com/dataset/649 由于userbehavior数据集的数据量较大,本次分析使用Navicat将前10万条数 ...

  9. 如何用mysql对淘宝用户行为进行分析

    一.项目背景和目的 项目集中于对淘宝用户行为的分析,如购买时段的分析.热销商品的分析.用户行为转化漏斗分析以及通过RFM模型对用户进行分类等,希望从中探索用户购买的规律,并将这些规律与店铺营销策略相结 ...

最新文章

  1. javascript中函数的全解简介
  2. xfce4设置屏保/锁屏时间
  3. 从位图数据取得位图句柄
  4. linux动态库ppt,LINUX系统中动态链接库创建与使用补充_区块链白皮书代写|市场计划书项目PPT设计_Tbleg...
  5. 美团安卓面试,难道Android真的凉了?快来收藏!
  6. c语言中next如何用,c语言的数据结构中,next是如何指向下一个元素的?
  7. Zookeeper权限控制ACL详解
  8. php分页代码简单实现原理,php分页类之PHP分页原理+代码实现
  9. Hibernate ——二级缓存
  10. 【航空订票系统——开题报告 分享(仅供参考呀)】
  11. matplotlib 设置中文字体
  12. AMOS软件简介【SPSS 050期】
  13. linux系统工具栏调整,如何调整任务栏大小
  14. ucfirst() 把字符串中的首字符转换为大写
  15. EXCEL和公式里的 通配符
  16. 帝都地铁隧道里的动态广告是什么原理?
  17. 年度回顾篇:2018年的亚马逊,众生虽苦,诸恶莫作
  18. 夕甲甲——孔乙己之C++版
  19. 网络地址转换----NAT
  20. 給windowsXP穿上Linux Ubuntu的漂亮馬甲 1

热门文章

  1. App桌面应用图标(Logo)制作工具(App Icon Gear)
  2. Java程序员的薪资取决于年限还是技术?
  3. ITE平台之UI开发02-Win32仿真开发UI
  4. 复杂性思维中文第二版 十一、进化
  5. 《GHOSTXP-SP2电脑公司特别版8.0》完美增强版
  6. win2008 启用 mongodb 服务出错 1053 的解决方法
  7. mysql子查询效率高_mysql利用子查询效率怎么样
  8. STM32h743开启cache后ADC采集DMA数据不更新问题
  9. 【C】C语言数组与字符串(包括:字符串与字符数组)
  10. 【Angular 基础入门】——知识点整合