如何用SQL分析电商用户行为数据(案例)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用SQL分析电商用户行为数据(案例)相关的知识,希望对你有一定的参考价值。

参考技术A

        

本文以“淘宝用户行为数据集”的分析全过程为例,展示数据分析的全过程

——使用工具:mysql,Excel,Navicat,PowerBI

——分析类型:描述分析,诊断分析

——分析方法:漏斗分析,用户路径分析,RFM用户价值分析,活跃/存留分析,帕累托分析,假设验证分析。

(考虑到阅读体验文章中只放了SQL截图,如需PDF版本,再公众号后台回复“用户行为分析”领取)

(目录如下)

       

1.分析流程和方法

当没有清晰的数据看板时我们需要先清洗杂乱的数据,基于分析模型做可视化,搭建描述性的数据看板。

然后基于描述性的数据挖掘问题,提出假设做优化,或者基于用户特征数据进行预测分析找规律,基于规律设计策略。简单来说:

——描述性分析就是:“画地图”

——诊断性分析就是:“找问题”

——预测性分析就是 :“找规律”


在数据分析中有两个典型的场景:

一种是有数据,没有问题:需要先整体分析数据,然后再根据初步的描述分析,挖掘问题做诊断性分析,提出假设,设计策略解决问题。

 

另一种是已经发现了问题,或者已经有了假设,这种做数据分析更偏向于验证假设。

 

2.淘宝用户行为分析

本次是对“淘宝用户行为数据集”进行分析,在分析之前我们并不知道有什么问题,所以需要先进行描述性分析,分析数据挖掘问题。

我们首先来看下这个数据集的元数据:

       

根据以上数据字段我们可以拿用户行为为主轴从纵深方向提出一些问题,然后再从数据中找答案

       

纵向:

——这个数据集中用户的日活跃和周活跃时间有什么规律吗?

——在当日活跃的用户次日,三日,四日……还有多少活跃?

深向:

——用户从浏览到购买的整体转化率怎么样?

——用户从浏览到购买的路径是怎么样子的? 

——平台主要会给用户推送什么商品?

——用户喜欢什么类目?喜欢什么商品? 

——怎么判断哪些是高价值用户 ? 

 

 

下面是叮当整理的常用分析方法:      

我们可以给前面的问题匹配一下分析方法,便于后面的分析:


为了便于后面的数据分析,在分析之前我们需要先对做一下清洗

看元数据(字段解释,数据来源,数据类型,数据量……)初步发现问题为之后的处理做准备。

       

确定缺失值范围,去除不需要字段,填充缺失内容    

根据元数据格式和后续分析需要的格式对数据进行处理

  


去除重复值,异常值

——去除重复值:并把用户ID,商品ID,时间戳设置为主键

——异常值处理:查询并删除2017年11月25日至2017年12月3日之外的数据

     

查询并删除小于2017-11-25的

——验证数据:      


——分析思路:

——SQL提数:

       

       

——Excel可视化:

       

活跃曲线整体为上升状态,同为周六日,12月2号,3号相比11月25日,26日活跃度更高。

用户在周六周日相比其他时间更活跃(周六周日为休息日,用户有更多时间)

      

一天内用户活跃的最高峰期为21点(用户在这个时间段空闲较多)

 

——分析思路:

——SQL提数:

列出每用户每天及当天后面又活跃的日期,并创建“活跃时间间隔表”用于后面求次日存留,三日存留……

       

对“活跃时间间隔表视图”引用进行分组统计,计算每日存留人数并创建视图

对存留人数表进行计算,统计活跃用户留存率

——Excel可视化:

       

——分析思路:

——SQL提数:

-把各种用户行为分离出来并创建视图方便后续查询用户行为数据

查询整体数据漏斗

——Excel可视化:

       

用户从浏览到购买整体转化率2.3%,具体主要在哪个环节流失还需要再细分用户路径分析

 

——分析思路:

       

——SQL提数:

——PowerBI可视化:

       

用户从浏览到购买的路径主要有4条,路径越长转化率越底

路径1:浏览→购买:转化率1.45%

路径2:浏览→加购物车→购买:转化率0.33

路径3:浏览→收藏→购买:转化率0.11%

路径4:浏览→收藏→加购物车→购买:转化率0.03%

——分析思路:

——SQL提数:


——Excel可视化:

       

——描述性分析:

浏览量top100的商品浏览量呈阶梯分布,越靠前的阶梯之间的落差相对越大在这个阶梯中的商品越少,越靠后商品浏览量阶梯之间的落差相对越小,同阶梯内的商品越多。

浏览量TOP100的商品所属类目中,4756105,3607361,4357323三个类目浏览量远超其他类目。

——分析思路:

——SQL提数:

查询计算商品转化率,升序排列,取前100个

       

——Excel可视化:

       

——描述性分析:

从商品看:有17款商品转化率超过了1。

从类目看:这些商品所属类目分布均匀,除965809,4801426,2735466,2640118,5063620,4789432,2945933这7个类目之外,其他类目都只有一个商品在转化率TOP100的商品中。

——分析思路:

用户价值分析常用的分析方式是RFM模型

       

本次分析中的R,F,M具体定义(仅用于演示分析方法,无实际业务参考价值):

 

——SQL取数与分析:

1)建立打分标准:先计算R,F的值,并排序,根据R,F值最大值和最小值得区间设计本次得打分标准

-查询并计算R,F值创建视图

       

-引用RF数值表,分别查询R,F的最大值和最小值

       

       

-结合人工浏览的建立打分标准      

2)给R,F按价值打分

3)计算价值的平均值

       

4)用平均值和用户分类规则表比较得出用户分类   

     

——Excel可视化      

 

通过描述性分析得到可视化的数据后我们一般会先看一下是否符合业务常识

如果符合常识接下来我们会通过与行业平均数据和本产品的同比环比对比看是否正常,如果不正常就要找原因,设计解决方案,如果正常那就看是否有可以优化的地方。

       

我们首先来看一下这些描述性分析是否符合业务常识和指标是否正常:

       

1.活跃曲线整体为上升状态,同为周六日,12月2号,3号相比11月25日,26日活跃度更高。

2.用户在周六周日相比其他时间更活跃

3.一天内用户活跃的最高峰期为21点

4.从2017年11月15日致2017年12月3日,活跃用户新增38%

5.从2017年11月15日致2017年12月3日,活跃用户次日留存增长18.67%,当日的活跃用户留存也在快速增长,第七日留存比次日留存高18.56%。

6.用户从浏览到购买整体转化率2.3%

7.用户从浏览到购买的路径主要有4条,路径越长转化率越低。

8.浏览量top100的商品浏览量呈阶梯分布,越靠前的阶梯之间的落差相对越大在这个阶梯中的商品越少,越靠后商品浏览量阶梯之间的落差相对越小,同阶梯内的商品越多。

9.浏览量TOP100的商品所属类目中,4756105,3607361,4357323三个类目浏览量远超其他类目。

10.从商品看:有17款商品转化率超过了1。

11.从类目看:这些商品所属类目分布均匀,除965809,4801426,2735466,2640118,5063620,4789432,2945933这7个类目之外,其他类目都只有一个商品在转化率TOP100的商品中。

根据以上诊断分析我们梳理出了以下假设,做假设验证。

       

 

假设1:这些商品中有高转化率的爆款商品

       

 

对比浏览量TOP5的商品,发现这些商品转化率在同一类目下并不高,假设不成立

 

假设2:4756105,3607361,4357323三个类目属于高频刚需类目

-创建类目购买频次表

       

-计算类目购买频次平均值

       

-查询4756105,3607361,4357323三个类目的购买频次       

4756105,3607361,4357323三个类目的用户购买频次明显高于平均值,假设成立

 

假设3:有部分用户是未点击商详直接从收藏和购物车购买的。

       

用户不是直接从收藏和购物车购买的,只是后续复购未点击商详,假设不成立

 

假设4:淘宝推荐的商品主要是“同一类目下的高转化商品”

       

用Excel对浏览量TOP100的商品ID和转化率TOP100的商品ID进行去重,结果无重复值,假设不成立


3.结论:

1)用户活跃:用户活跃曲线整体呈上升趋势,在一周中周六,周日活跃度比平时更高,在一天中用户活跃曲线从凌晨4点开始往上升,在中午12点和下午5~6点有两个小低谷(吃饭),到晚上9点时活跃度达到顶峰。

 

2)用户留存:从2017年11月15日致2017年12月3日的用户留存数据来看,淘宝的用户留存数据较好,活跃用户次日留存增长18.67%,当日的活跃用户留存也在快速增长,第七日留存比次日留存高18.56%。

 

3)用户转化:整体转化2.3%,用户从浏览到购买的路径主要有4条,路径越长转化率越低。

4)平台推荐与用户偏好:从数据集中的数据来看,排除用户兴趣偏好标签,淘宝给用户用户推送的商品主要是高频刚需的类目,促使用户复购,流量回流平台。

 

以上结论受数据量和数据类型的影响,并不一定准确,仅用来练习数据分析方法。

(考虑到阅读体验文章中只放了SQL截图,如需PDF版本,再公众号后台回复“用户行为分析”领取)

个数是如何用大数据做行为预测的?

“个数”是“个推”旗下面向 APP 开发者提供数据统计分析的产品。“个数”通过可视化埋点技术及大数据分析能力从用户属性、渠道质量、行业对比等维度对 APP 进行全面的统计分析。

“个数”不仅可以及时统计用户的活跃、新增等,还可以分析卸载用户的成分、流向,此外还能实现流失、付费等用户关键行为的预测,从而帮助 APP 开发者实现用户精细化运营和全生命周期管理。其中很值得一提的是,“个数”在“可视化埋点”及“行为预测”方面的创新,为 APP 开发者在实际运营中带来了极大便利,所以,在下文中,我们也将围绕这两点做详细的分析。


可视化埋点

埋点是指在产品流程的关键部位植入相关统计代码,以追踪用户行为,统计关键流程的使用程度,并将数据以日志的方式上报至服务器的过程。

目前,数据埋点采集模式主要有代码埋点、无埋点、可视化埋点等方式。

“代码埋点”是指在监控页面上加入基础 js,根据需求添加监控代码,它的优点是灵活,可以自定义设置,可以选择自己需要的数据来分析,但对复杂网站来说,每次修改一个页面就得重新出一份埋点方案,成本较大。目前,采用这种埋点方案的代表产品有百度统计、友盟、腾讯云分析、Google Analytics 等。

“可视化埋点”通常是指开发者通过设备连接用户行为分析工具,直接在数据接入管理界面上对可交互且交互后有效果的页面元素(如:图片、按钮、链接等)进行操作实现数据埋点,下发采集代码生效回数的埋点方式。目前,可视化埋点的代表产品有个数、Mixpanel、神策数据等。

“无埋点”与“全埋点”相似,它的原理是“全部采集,按需选取”,也就是说它可以对页面中所有交互元素的用户行为进行采集,它是先尽可能多收集检测页面的内容,然后再通过界面配置决定分析哪些数据,但它是标准化采集,如果需要设置自定义的采集方式仍需要代码埋点助力。这种方案的代表产品有 GrowingIO、数极客、百度统计等。

“个数”为什么会选用可视化埋点?

当下移动互联网正处于高速发展且发展形势瞬息万变的阶段中,开发者需要及时根据大数据的分析、反馈,对业务功能等做出调整,在传统的操作模式中,如果想要了解不同节点的数据,就要修改相应代码里面的埋点,然后测试发布,之后再在应用商店审核、上线,整个周期可能长达几个星期,这显然无法满足业务的需求。所以,“个数”采用的“可视化埋点”技术就是为了帮助开发者解决这个问题的。

“个数”的可视化埋点灵活、方便,不需对数据追踪点添加任何代码,使用者只需要通过设备连接管理台,对页面可埋点的元素圈圈点点,即可添加随时生效的界面追踪点,同时在数据采集模式及数据分析能力上,“个数”能够提供给开发者们准确的、有效的数据。

技术分享图片
可视化埋点主要具有以下特性:

1、零代码,无需代码,节省成本
2、免更新,新增便捷,无需升级
3、易测试,圈选测试,实时呈现
换而言之,可视化埋点不仅可以节约企业成本,还可以提高开发人员和运营人员的工作效率。


行为预测

“个数”的行为预测主要包括流失预测、卸载预测、付费预测等,它的原理是基于 App 历史行为数据构建算法模型预测用户关键行为,从而帮助开发者达到用户精细化运营和全生命周期管理的目的。

在这里需要注意的是,“个数”的行为预测与电商平台常用的个性化推荐不同,后者主要是基于用户近期的行为,如浏览记录、购买记录而分析出用户可能需要的东西,而“个数”是基于 App 各渠道卸载数、卸载趋势等指标的综合分析,更多的是对人群的聚类分析,而非仅仅基于个人的行为。

行为预测的步骤

据“个推”大数据科学家朱金星介绍,“个数”的行为预测主要分为以下几个步骤:

1、找样本,主要从历史数据库中抽取;

2、特征抽取,将用户与数据库打通,做匹配;

3、特征筛选,保留相关性高的或有价值的特征;

4、模型训练,将保留下来的特征放到模型中训练,在模型的选用上,“个数”主要用了逻辑回归,逻辑回归的模型相对深度学习等其他模型来说,简单一些,而且在特征筛选上相对好处理,得到的结果好解释,也相对稳定。

5、参数优化,根据效果进行调整,如果结果不理想,即可返回调整参数重新走一次以上流程。

实例分析

下面我们以付费预测为例,为大家梳理一下具体的实现过程。

个数付费预测的流程主要包括以下几点:

1、目标问题分解

明确需要进行预测的问题即付费预测,以及未来一段时间的跨度。

2、分析样本数据

(1)提取出所有用户的历史付费记录;

(2)分析付费记录,了解付费用户的构成,比如年龄层次、性别、购买力和消费的产品类别等;

(3)提取非付费用户的历史数据,这里可以根据产品的需求,添加条件、或无条件地进行提取,比如提取活跃并且非付费用户,或者不加条件地直接进行提取;

(4)分析非付费用户的构成。

3、构建模型的特征

(1)原始的数据可能能够直接作为特征使用;

(2)有些数据在变换后,才会有更好的使用效果,比如年龄,可以变换成少年、中年、老年等特征;

(3)交叉特征的生成,比如“中年”和“女性”两种特征,就可以合并为一个特征进行使用。

4、计算特征的相关性

(1)计算特征饱和度,进行饱和度过滤;

(2)计算特征 IV、卡方等指标,用以进行特征相关性的过滤。

5、选用逻辑回归进行建模

(1)选择适当的参数进行建模;

(2)模型训练好后,统计模型的精确度、召回率、AUC 等指标,来评价模型;

(3)如果觉得模型的表现可以接受,就可以在验证集上做验证,验证通过后,进行模型保存和预测。

6、预测

加载上述保存的模型,并加载预测数据,进行预测。

7、监控

最后,运营人员还需要对每次预测的结果进行关键指标监控,及时发现并解决出现的问题,防止出现意外情况,导致预测无效或预测结果出现偏差。

其他场景如流失预测、卸载预测等,在流程上与付费预测类似,所以在这里就不再一一介绍了。

有了精准的行为预测,运营者则可以将运营目标进行拆分、细化,具体到每个场景、每个流程,针对不同用户采取不同的推广渠道、运营策略。例如基于流失预测,运营者能够提前洞察到用户流失行为,提早进行干预,通过个性化内容推荐、消息推送等运营手段对即将流失的用户进行挽留,从而降低流失率。总的来说,在大数据行为预测的帮助下,运营者能够更及时、更全面地了解用户,从而达到精细化运营的目的。

关于未来

接下来“个数”还将在商品推荐等领域做更多的探索,例如开发精准的推荐技术等,也会不断挖掘大数据的潜力,结合反馈的数据做进一步的优化,围绕客户提供的样本数据做更深入的训练学习等,为开发者提供更全面的大数据服务,大家敬请期待。

以上是关于如何用SQL分析电商用户行为数据(案例)的主要内容,如果未能解决你的问题,请参考以下文章

个数是如何用大数据做行为预测的?

电商用户消费行为数据分析

基于Spark的用户行为路径分析

手把手教你用 SQL 实现电商产品用户分析

[Spark/Scala] 180414|大数据实战培训 Spark大型项目实战:电商用户行为分析大数据平台 大数据视频教程

Flink实战之电商用户行为实时分析