library(dplyr)
library(highcharter)
业务数据综合分析
1 内容提要
电商业务分析模型的分类
定性分析模型与探索性数据分析 (EDA)
漏斗模型可视化
5W2H模型分析
2 电商业务分析模型
定性分析模型(与EDA配合使用)p.p. 111-115
漏斗模型
5W2H模型
SWOT模型
定量分析模型(统计学模型)p. 108, p. 118
回归分析模型
时间序列模型
聚类分析模型
3 漏斗模型的可视化
漏斗图 (Funnel Chart)
- 安装程序包
highcharter
by Joshua Kunst etc. 1
highcharter
的参数配置
options(highcharter.theme = hc_theme_smpl(tooltip = list(valueDecimals = 2)))
- 创建数据框
<- data.frame(
df x = c( 1, 2, 3, 4),
y = c( 52853, 3271, 1108, 1013),
name = as.factor(c("访客数", "加购人数", "下单买家数", "支付买家数"))
%>%
) arrange(-y)
df
x y name
1 1 52853 访客数
2 2 3271 加购人数
3 3 1108 下单买家数
4 4 1013 支付买家数
- 创建交互式漏斗图
<- df %>%
hc hchart(
"funnel", hcaes(x = name, y = y),
name = "Sales Conversions"
) hc
注意:漏斗区各区域面积比对应着数据框中的数值比。所以,当我们调整原始数据时,漏斗图也随之改变,例如,
<- data.frame(
df x = c( 1, 2, 3, 4),
y = c( 5285, 3271, 1108, 1013),
name = as.factor(c("访客数", "加购人数", "下单买家数", "支付买家数"))
%>%
) arrange(-y)
%>%
df hchart(
"funnel", hcaes(x = name, y = y),
name = "Sales"
)
4 5W2H模型
4.1 生成模拟销售数据
4.1.1 数据生成思路
一条销售记录包含的变量信息,本例中是指网店客户的年龄、性别、下单时间、地点,所购产品名称、单价、数量。
注意:支付总金额不是销售记录的变量,它是数据分析过程中产生的变量,即总结信息。
4.1.2 变量
产品名称:为简便起见,此处使用大写字母表示不同产品名称。如,产品A,产品B,以此类推。
年龄段组别:18-24岁,25-30岁,30-35岁,36-45岁,45-55岁,55岁以上
性别:F表示女性,M表示男性
时间段组别:22-02 (不含边界值), 02-09, 09 -20, 20-22.
地点组别:一二线城市,三四线城市,其他
set.seed(1234)
<- 1000
n <- sample(c("A","B","C","D"), n, replace = TRUE, prob = c(0.15, 0.3,0.5,0.05) )
prod <- sample(c("18-24","25-30","30-35","36-45","45-55","55+"), n, replace = TRUE, prob = c(0.05, 0.3,0.25,0.25,0.1,0.05) )
age <- sample(c("F","M"), n, replace = TRUE, prob = c(0.8, 0.2) )
gender <- sample(c("22-02","02-09","09-20","20-22"), n, replace = TRUE, prob = c(0.3, 0.05,0.15,0.5))
Time <- sample(c("一二线","三四线","其他"), n, replace = TRUE, prob = c(0.75, 0.2,0.05) )
Location <- cbind.data.frame(prod, age,gender,Time,Location) %>% mutate(price= if_else(prod=="A" , 73, if_else(prod=="D",83, 71) ))
sales # sales # 销售台账
4.2 利用数据变换工具进行探索性数据分析
Q1:What? 即找出销售总额最高的产品。
%>% count(prod) sales
prod n
1 A 147
2 B 310
3 C 482
4 D 61
# sales %>% group_by(prod) %>% summarise(n=n()) # equivalently
%>% group_by(prod) %>% summarise(total= sum(price)) sales
# A tibble: 4 × 2
prod total
<chr> <dbl>
1 A 10731
2 B 22010
3 C 34222
4 D 5063
Q2:Who? 即找出主要客户群体。
%>% count(gender,age,sort = TRUE) sales
gender age n
1 F 25-30 240
2 F 30-35 206
3 F 36-45 202
4 M 25-30 74
5 F 45-55 69
6 M 30-35 53
7 M 36-45 47
8 F 55+ 46
9 F 18-24 25
10 M 45-55 24
11 M 18-24 8
12 M 55+ 6
Q3&4:When and Where?
%>% count(Time,Location,sort = TRUE) sales
Time Location n
1 20-22 一二线 389
2 22-02 一二线 208
3 09-20 一二线 111
4 20-22 三四线 100
5 22-02 三四线 50
6 02-09 一二线 34
7 09-20 三四线 33
8 20-22 其他 30
9 22-02 其他 21
10 02-09 三四线 12
11 02-09 其他 6
12 09-20 其他 6
课后练习:模拟客户购买方式数据(搜索购买或老客户推荐),并回答关于”2H”的问题。
最后,根据5W2H模型的分析思路,形成结论,见教材p.p.113