点击上方“大话coding”,选择“星标”公众号

重磅干货,第一时间送达


大家好,我是小瑄

在电商项目中经常需要对用户购买行为进行分析,比如需要求用户连续购买天数,用户这次购买与上次购买间隔天数。

这里是基于hive on spark来对数据进行分析的,所以使用sql进行讲解

使用sql求用户连续购买天数以及与上次购买间隔天数,按照下面步骤进行处理

  • 对数据进行聚合/去重

  • 对用户进行分组排序

  • 日期与序号进行减法运算

  • 获取开始连续的日期以及连续天数

  • 使用Hive中lead函数

根据业务需求不一样,可能名称也不一样,主要是理解思想。

对数据进行聚合/去重

第一步是对数据按天进行初步聚合(因为一个用户可能在某天有多次购买行为)

因为只是作为演示,所以只用单个用户进行

select member_id,order_date
from TABLE_NAME
where member_id='1690'
group by member_id,order_date

结果如下:

Step 2:对用户进行分组排序

我们把上一个结果表称为: TABLE_1

selectmember_id,order_date ,row_number() over(partition by member_id order by order_date) as rank_num
fromTABLE_1

结果如下:

Step 3:日期与序号进行减法运算

思路: 如果我的日期是连续的.这时日期减去序号天数,那么连续的日期会得到同一个日期,我们暂且称之为起始日期。

我们把上一个结果表称为: TABLE_2

selectmember_id,order_date ,rank_num,date_sub(order_date,rank_num) as origin_date
fromTABLE_2

结果如下:

获取开始连续的日期以及连续天数

其实从上面的结果表中就已经能够统计出那些用户的连续天数满足需求了.为了保留更多信息,所以还是可以继续进行加工

我们把上一个结果表称为: TABLE_3

selecttable_a.member_id                   as member_id,table_a.continuous_start_date      as continuous_start_date    ,count(table_a.continuous_start_date)   as continuous_date
from(
select
member_id,min(order_date) over(partition by member_id,origin_date) as continuous_start_date
fromTABLE_3) table_agroup by table_a.member_id,table_a.continuous_start_date

结果如下:

使用Hive中lead函数

lead() over()   将下一行提到当前行来另起字段

lead(需要调整的字段名,下几行,空余部分用什么补充)

lag() over()     将上一行提到当前行来另起字段

lag(需要调整的字段名,上几行,空余部分用什么补充)

饱经沙场的都知道,产品提需求后面一般都会跟着无数的顺便、再来等等…

思路:

当(continuous_start_date + continuous_date) - 下一行的continuous_start_date   =中断天数

其实算中断天数的方法很多.我这里就采用 lead函数来实现.我们把上面的结果表称为: TABLE_4

selecta.member_id                as member_id                ,a.continuous_start_date    as continuous_start_date      ,a.continuous_next_date     as continuous_next_date ,a.continuous_date         as continuous_date          ,datediff(a.continuous_next_date,date_add(a.continuous_start_date,a.continuous_date)) as discontinuity_date
from
(
selectmember_id  as  member_id  ,continuous_start_date  as  continuous_start_date  ,lead(continuous_start_date,1,0) over(partition by member_id,continuous_start_date) as continuous_next_date,continuous_dateas  continuous_date
fromTABLE_4)a

结果如下:

电商项目分析用户购买行为案例一相关推荐

  1. 电商平台用户购买行为真实度的检测方法及系统

    1引言 1.1课题背景及意义 现电商网站,商家为了吸引更多客户,有进行假买的现象.一般由假买手,在商家店铺自己垫资拍下商品.商家接单后,将商品快递给假买手.假买手将商品寄回给商家.商家返还假买手垫资购 ...

  2. 数据集收集-包含《COVID-19》,《英国在线零售业务》,《电商行业用户行为分析数据集》,《电商婴儿用户》,《亚马逊手机》等17个数据集,用于数据分析挖掘,kaggle比赛练习

    COVID-19数据集 本数据集记录了2019年12月01日至2020年7月24日,每日精确到国家.省.市的确诊.疑似.治愈.死亡人数.2020年02月07后数据从今日头条接口采集,每小时57分自动更 ...

  3. 电商数据分析--用户行为分析

    电商数据分析–用户行为分析 数据分析流程: 明确目的 获取数据 数据探索和预处理 分析数据 得出结论 验证结论 结果展现 用户行为是指用户在产品上产生的行为.(登陆.浏览.购买.加入购物车) 用户行为 ...

  4. 【创利树】电商的用户流失率是80%,你的用户流失率是多少呢?

    张泉灵说过:时代抛弃你时,连一声招呼都不打.对呀,你的粉丝抛弃你时,也不会和你说再见. 为什么商家会有大量的粉丝流失,一个是商家没有去圈住粉丝,一个是商家圈不住粉丝. 一种是不做,一种是不会做.最终的 ...

  5. 小红书用户画像分析_电商平台用户画像分析

    电商平台用户画像分析 1.项目背景 1.1 分析目的 通过分析用户的行为特征,深挖用户的潜在价值. 1.2 产品简述 由于数据脱敏无法具体了解产品的种类,通过数据只能基本判断该产品的消耗量和复购率并不 ...

  6. Java生鲜电商平台-用户管理的架构与实战

    Java生鲜电商平台-用户管理的架构与实战 在电商后台中,用户管理是运营人员管理用户的模块.这里的用户区别于运营人员,会在权限的角色管理中分别阐述.这里的用户包含平台的一般用户,会员用户等.本文将分享 ...

  7. 宇贸电商二期-用户模块开发(一)

    Hello,大家好,我是Steafan_,在宇贸电商二期的上篇博文中,我们对宇贸电商二期的项目架构做了整体的演进与实操,并且对宇贸一期中的一些功能做了改进,针对电商平台该有的功能点呢,我们对宇贸二期的 ...

  8. 抖音电商魏雯雯:深耕全域兴趣电商 丰富用户美好生活

    2023年5月16日,抖音电商第三届生态大会于广州举行. 抖音电商总裁魏雯雯披露,近一年平台GMV增幅超80%.其中,商城GMV同比增长277%,电商搜索GMV同比增长159%,货架场景GMV在平台G ...

  9. R语言CART决策树、随机森林、chaid树预测母婴电商平台用户寿命、流失可视化

    全文链接:http://tecdat.cn/?p=31644 借着二胎政策的开放与家庭消费升级的东风,母婴市场迎来了生机盎然的春天,尤其是母婴电商行业,近年来发展迅猛(点击文末"阅读原文&q ...

  10. 基于hadoop的小红书电商网站用户行为分析系统毕业论文+任务书+开题报告+答辩PPT+知网查重报告+项目源码及Mysql数据

    基于hadoop的小红书电商网站用户行为分析系统毕业论文+任务书+开题报告+答辩PPT+知网查重报告+项目源码及Mysql数据库-99源码网,程序代做,代写程序代码,代写编程,代写Java编程,代写p ...

最新文章

  1. java打包_java工程打包(方式一)
  2. 技术领导力实战笔记一
  3. java的System.gc()的理解
  4. 8个你应该了解的正则表达式
  5. Java黑皮书课后题第8章:*8.27(列排序)用下面的方法实现一个二维数组中的列排序。返回新数组,且原数组保持不变。编写一个测试程序,提示用户输入一个3*3的double型矩阵,显示一个排好的矩阵
  6. arm 架构_ARM发布A78增强版大核架构:性能怪兽
  7. sicily 1068. Euro Efficiency
  8. javafx窗体程序_JavaFX实际应用程序:AISO HRC-Matic
  9. C++从0到1的入门级教学(十三)——继承
  10. 关于5G被激烈讨论的那些争端和冲突
  11. 罗振宇2021跨年演讲1:长大以后有多少责任和烦恼?
  12. 清屏函数 mysql,mysql中的常用函数总结
  13. 宇视科技android面试_宇视科技软件笔试面试
  14. git 应用 创建分支 并切换分支
  15. C#中使用消息队列服务
  16. 系统类扩展方法,实现对所有类或某种类扩展自定义方法
  17. java square类_java – 处理大类
  18. 循环数组最大子段和--51nod1050
  19. 项目1-员工(绩效)信息管理系统
  20. 精简版XP安装IIS

热门文章

  1. 分区副本重分配、数据迁移、副本扩缩容
  2. 简述具有五层协议的网络体系结构各层的主要功能。
  3. 证券分析软件测试面试题,光大证券面试经验
  4. 一些流行的颜色及其RGB值
  5. 111.绘制正态分布曲线
  6. 2.3 常用导数公式及推导
  7. matlab向量乘法要加.,matlab中的矩阵与向量运算
  8. excel各种填充的总结
  9. crontab 误删除恢复
  10. 哪些英语用法是普通中国学生最生疏的?