电商AARRR模型分析(二)—R语言
AARRR模型可以说是用户运营和业务增长非常重要的模型。模型以用户的生命周期为核心,把增长步骤拆分为5个步骤,分别是:获取用户(Acquisition)、用户激活(Activiation)、用户留存(Retention)、用户变现(Revenue)、用户推荐(Referal)。区别于传统的市场营销人通过广告投放或者品牌营销焦点在于获取用户,而AARRR模型让大家意识到了公司业务的增长需要关注整个用户生命周期,不仅仅涉及到广告投放获取用户,还需要通过产品优化或运营手段等来实现用户的激活、留存、变现和自传播(用户裂变)。否则公司浪费了很多钱获取了大量用户,但是产品没有把用户留下来,那钱就都打水漂了。又或者你产品可以设计出用户自传播的机制,让老用户给你的产品推荐更多的新用户,那就可以减少获取新用户的费用。
一、不同时间尺度下用户行为模式分析
电子商务的迅速发展和移动互联网的普及,使得越来越多的人选择方便快捷的网上购物,淘宝作为国内最大的电商交易平台之一,拥有巨大的流量优势。在淘宝APP上,商品的搜索、分类导航、个性化推荐和广告等通过让用户在短时间内了解到更多可能需要或者喜欢的商品而促进购买,同时可以通过数据埋点,收集和分析用户的数据,实现更精细化的运营。本文基于数据集的特点,利用R对淘宝APP的用户行为数据进行分析,得出可能存在的业务问题,并提出推荐的解决策略。接上个博客,这里着重分析一周内每天的用户行为
library(stringr)
library(dplyr)
library(lubridate)
library(tidyverse)
columns<- cbind("user_id","item_id","category_id","behavior","timestamps")
df=read.csv('UserBehavior.csv',header=FALSE)
names(df) <-columns
columns1<- cbind("user","item","category","behavior","date")
data=df[5000001:8000000,]
names(data) <-columns1
tt<-as.POSIXlt(data$date,origin ='1970-01-01')
date=paste0(year(tt),"-",month(tt),"-",mday(tt))
date<-ymd(date)
data1 <- data.frame(data[,1:4],date,hour(tt))
columns2<- cbind("user","item","category","behavior","date","hour")
names(data1) <-columns2
summary(data1)
data2<- filter(data1,data1$date<= "2017-12-3")
data3<- filter(data2,data2$date >= "2017-11-25") #后面分析的数据基础
summary(data3)
kk<-table(data3[,c("date","behavior")]) #交叉分组列表
addmargins(kk)
behavior
date buy cart fav pv Sum
2017-11-25 5955 17116 9163 283830 316064
2017-11-26 6059 18150 9245 287519 320973
2017-11-27 6649 16636 8817 271512 303614
2017-11-28 6131 16540 8639 267496 298806
2017-11-29 6387 16849 8885 272311 304432
2017-11-30 6550 17272 9177 278325 311324
2017-12-01 6218 18861 9088 291565 325732
2017-12-02 7827 24013 12058 368515 412413
2017-12-03 7553 23334 11481 362584 404952
Sum 59329 168771 86553 2683657 2998310
kk<-table(data3[,c("date","behavior")])
addmargins(kk)
kk1=as.data.frame(kk)
kk2=spread(kk1,key=behavior,value = Freq)
plot(data.frame(kk2$date,kk2$pv))
lines(data.frame(kk2$date,kk2$pv),type = "o", col = "red")
其他时间的客户行为分析(略)。
二、 不同商品种类的用户行为
2.1 统计浏览次数、收藏次数和加入购物车次数最多的商品
#购买量最多的30种商品
ll<-table(data3[,c("item","behavior")])
ll1=as.data.frame(ll)
ll2=spread(ll1,key=behavior,value = Freq)
ll3<- ll2 %>% mutate(rank1 = min_rank(desc(ll2$buy))) %>% arrange(rank1)
ll4<-filter(ll3,ll3$rank1<=30)
#购买量最多的30种商品
item buy cart fav pv rank1
1 3122135 34 8 8 51 1
2 3031354 26 46 22 524 2
3 5140357 24 6 1 93 3
4 1910706 23 3 2 48 4
5 2964774 23 21 9 215 4
6 3189426 20 11 0 116 6
7 2560262 17 38 5 321 7
8 1813380 16 12 1 80 8
9 3251377 16 9 6 79 8
10 4443059 16 28 8 420 8
p_cor <-ggplot(ll4, aes(rank1, buy)) +
geom_tile(aes(fill = rank1),colour = "white")
p_cor + scale_fill_gradient(name="Value", low = "white",high = "red") +
theme(axis.text.x = element_text(vjust = 0.5, hjust = 0.5, angle = 90))+
coord_fixed(ratio=1)+
theme(axis.text= element_text(size = 8,family="ARL"))+
theme(plot.margin = unit(c(0.1,0,0,0), unit="mm"))+
labs(x = "排名", y = "购买次数")+
theme(plot.title = element_text(size = 13,hjust = 0.5,family = "ARL" ))+
theme(legend.key.width=unit(3,'mm'),legend.key.height=unit(3,'cm'))+
theme(legend.title = element_text(size = 8))+
geom_text(aes(rank1, buy, label = item), color = "blue", size = 3)
2.2 统计所有商品的购买次数
ll<-table(data3[,c("item","behavior")])
ll1=as.data.frame(ll)
ll2=spread(ll1,key=behavior,value = Freq)
ll3<- ll2 %>% mutate(rank1 = min_rank(desc(ll2$buy))) %>% arrange(rank1)
ll4<-filter(ll3,ll3$rank1<=100)
plot(ll4$rank1,ll4$buy)
length(unique(ll3$item))
length(filter(ll3,ll3$buy==1))
根据分析的数据,只购买一次的商品有38248种,本次分析的商品有805829种,占商品总数的4.75%,说明商品点击转化率很低,还可以分析售卖到底依靠爆款商品的带动,还是主要依靠长尾商品的累计效应,可以从商品购买分布和相关累积购买数额等方面展开分析,这些都是进一步挖掘的专题,鉴于本文的目的,不做扩展。
总结
到这里基本把AARRR模型简单的讲了一遍,不过要用好AARRR模型可不是这么简单,里面有很多道道,后续有空把每个环节都可以仔细详解一下。这套模型基本可以用于任何行业,假如你经营了一个餐厅,你完全可以用这个模型来提升你餐厅的销售额,获客方面,你可以通过微信做个人号或者微信群的裂变拉新;用户激活的话你可以通过给新用户一些体验券或者优惠券,来让用户体验到你们店的好味道和好服务,留存方面,现在基本做的好的餐饮企业都会做私域流量(微信群运营客并留存客户)或公众号。
参考文献
1.(淘宝用户行为数据分析)[https://blog.csdn.net/weixin_42739997/article/details/119765990]
2.(淘宝用户行为数据分析)[https://www.likecs.com/show-180687.html]
电商AARRR模型分析(二)—R语言的更多相关文章
- [.NET] 一步步打造一个简单的 MVC 电商网站 - BooksStore(二)
一步步打造一个简单的 MVC 电商网站 - BooksStore(二) 本系列的 GitHub地址:https://github.com/liqingwen2015/Wen.BooksStore 前: ...
- Java生鲜电商平台-电商促销业务分析设计与系统架构
Java生鲜电商平台-电商促销业务分析设计与系统架构 说明:Java开源生鲜电商平台-电商促销业务分析设计与系统架构,列举的是常见的促销场景与源代码下载 左侧为享受促销的资格,常见为这三种: 首单 大 ...
- 如何一步一步用DDD设计一个电商网站(十二)—— 提交并生成订单
阅读目录 前言 解决数据一致性的方案 回到DDD 设计 实现 结语 一.前言 之前的十一篇把用户购买商品并提交订单整个流程上的中间环节都过了一遍.现在来到了这最后一个环节,提交订单.单从业务上看,这个 ...
- 电商打折套路分析 —— Python数据分析练习
电商打折套路分析 ——2016天猫双十一美妆数据分析 数据简介 此次分析的数据来自于城市数据团对2016年双11天猫数据的采集和整理,原始数据为.xlsx格式 包括update_time/id/tit ...
- survival analysis 生存分析与R 语言示例 入门篇
原创博客,未经允许,不得转载. 生存分析,survival analysis,顾名思义是用来研究个体的存活概率与时间的关系.例如研究病人感染了病毒后,多长时间会死亡:工作的机器多长时间会发生崩溃等. ...
- R语言重要数据集分析研究——R语言数据集的字段含义
R语言数据集的字段含义 作者:马文敏 选择一种数据结构来储存数据 将数据输入或导入到这个数据结构中 数据集的概念 数据集通常是有数据结构的一个矩形数组,行表示规则,列表示变量. 不同的行业对数据集的行 ...
- Spring Boot 构建电商基础秒杀项目 (二) 使用 Spring MVC 方式获取用户信息
SpringBoot构建电商基础秒杀项目 学习笔记 修改 DOMapper 在 UserPasswordDOMapper.xml 添加: <select id="selectByUse ...
- C#大型电商项目优化(二)——嫌弃EF与抛弃EF
上一篇博文中讲述了使用EF开发电商项目的代码基础篇,提到EF后,一语激起千层浪.不少园友纷纷表示:EF不适合增长速度飞快的互联网项目,EF只适合企业级应用等等. 也有部分高手提到了分布式,确实,性能优 ...
- SpringCloud Alibaba实战(2:电商系统业务分析)
选用了很常见的电商业务来进行SpringCloud Alibaba的实战. 当然,因为仅仅是为了学习SpringCloud Alibaba,所以对业务进行了大幅度简化,这里只取一个精简版的用户下单业务 ...
- 插值和空间分析(二)_变异函数分析(R语言)
方法1.散点图 hscat(log(zinc)~, meuse, (:)*) 方法2.变异函数云图 library(gstat) cld <- variogram(log(zinc) ~ , m ...
随机推荐
- 标记一下CF教育场的网址
(因为太难翻了,做到哪里标到哪,自用 Educational Codeforces Round 1 Educational Codeforces Round 2 Educational Codefor ...
- 龙中华著《Spring Boot实战派》读书笔记之入门篇
第一章 进入Spring Boot的世界 理念:默认大于配置.有很多集成好的方案,开箱即用.针对痛点:环境配置耗时. 1.1 Spring Boot 的特色: 使用简单 注解方式实现类的定义和功能开发 ...
- 关于ADB命令工具
android提供了不少命令行工具,方便我们调试和查看信息.下面是frameworks/base/cmds(android 6.0.1)中的命令. $ tree cmds -L 1 cmds am├─ ...
- Delphi 关于RichEdit URL 颜色相关总结
一.代码改变字体大小和颜色 1 procedure TForm1.Button1Click(Sender: TObject); 2 var 3 sNickName, sstr: string; 4 b ...
- WCF使用post 提交
[OperationContract] [WebInvoke(RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFor ...
- 精通Spring 4.x 企业应用开发实战 文档链接总结
Spring在线文档 http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle
- 1012.Django中间件以及上下文处理器
一.中间件 中间件的引入: Django中间件(Middleware)是一个轻量级.底层的"插入"系统,可以介入Django的请求和响应处理过程,修改Django的输入或输出. d ...
- 【js】js执行机制-js单线程-同步和异步
js是单线程 即同一个时间只能做一件事,JavaScript是为处理页面中用户的交互,以及操作DOM而诞生的.比如我们对某个DOM元素进行添加和删除操作,不能同时进行.应该先进行添加,之后在进行删除. ...
- linux系统下载redis时make报错:没有名为什么》》》》》
明明自己下载了gcc-c++环境,但是make还是一直报错,没有名为什么的>>>>> 其实这个问题主要的原因的是gcc的版本过低了,你可以gcc -v查看一下你的版本,是 ...
- RF射频的定义和原理
转自:http://www.saiyuan.net/portal/article/index/id/119/cid/28.html RF射频的定义和原理 定义 简称RF射频就是射频电流,它是一种高频交 ...