电商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 ...
随机推荐
- springboot项目打成jar包,启动指定外部的yml文件
java -jar xxx.jar --spring.config.local=application.yml
- Spring系列之字段格式化-13
字段格式化 Spring 3 引入了一个方便的SPI,它为客户端环境的实现Formatter提供了一个简单而健壮的替代方 Formatter Formatter实现字段格式化逻辑的SPI . pack ...
- 枚举类list序列化与反序列化
//序列化 public class AuthTypeEnumListJsonSerializer extends JsonSerializer<List> { @Override pub ...
- 文献阅读——Watch Sat and LTO for CaDiCaL and Kissat
Norbert Mantheynmanthey@conp-solutions.comDresden, Germany Proceedings of SAT Competition 2022: Solv ...
- getElementsByClassName()获取不到值
在这种方式下,虽然使用了getElementsByClassName方法,但是并不能获得到值.从执行顺序上来说,在HTML还没有执行的时候JS就已经开始执行了,所以获得的值不能够获得到.因此,如果遇到 ...
- vue-封装组件-结合vant实现点击按钮弹出泡泡(Popover)事件控制多个泡泡出现时,弹出对应的泡泡
<template> <div class="sale-share-box"> <span class="sale-share-btn&qu ...
- vue-多个卡片翻转动效
<van-grid :column-num="2" class="content" :border="false" > < ...
- DBeaver通过phoenix连接云主机的hbase
准备 1.云主机上已经安装好jdk.hadoop.hbase.zookeeper.phoenix,并且在主机上测试连接成功.可参考 https://blog.csdn.net/shangxindeku ...
- CentOS VMWare安装纪要
一.VMware虚拟机下载与安装 版本:VMware Workstation 16 Pro 二.CentOS下载与安装 版本:CentOS-7-x86_64-DVD-2009.iso 三.CentOS ...
- CBV源码分析及模板语法之传值 过滤器 标签 继承 导入
CBV的源码分析 # CBV的源码入口从哪里看呢? CBV的核心源码: return self.dispatch(request, *args, **kwargs) def dispatch(self ...