双十一购物狂欢节现已成中国电子商务的年度盛典,随着电子商务平台的逐渐兴起,平台的竞争也越来越强,为了更好地提高平台和商家利润。伴随着网购规模的逐年增大,随之产生了大量的围绕平台和购物者的数据集,如果从这大量的数据中挖掘出有用的信息,这就需要用到数据分析技术了。分析出有用的数据事就可以区分无价值消费者、高价值消费者,从而针对不同价值的消费者制定优化的个性化服务方案,并制定相应的营销策略进行喜好推荐和促销,将有限的营销资源集中于高价值消费者,对不同的消费者提供个性化的服务,实现平台和商家的利润最大化目标。
原始数据参考附件:data.csv
具体实验 导入数据bf% count() %>% arrange(desc(n))
purpro_20[1:20,] %>% ggplot(aes(x=Product_ID,y=n,fill=Product_ID))+geom_point(color='red')+theme(axis.text.x = element_text(angle=45,vjust=0.5),legend.position = "none")
结果:
从上图我们可以得知,编码为P00265242的产品被购买的次数最多,其次,编码为P00025442,P00110742,P00112142的产品被购买的次数也较多,次数均在1500次以上,从编码来看并没有什么很显眼的数据特点。
消费最多的价格区间代码:
bf %>% ggplot(aes(x=Purchase))+geom_histogram(fill="red")
结果:
从图上可知,消费最多的价格区间再8500左右,约有60000以上的消费次数。不存在购买频率十分显著的编码号,所以还需要进一步的挖掘。
产品类别信息统计- 对不同性别绘制箱线图: 代码:
p1% ggplot(aes(x=Gender,y=Purchase))+geom_boxplot()
p1
结果:
代码:
p2% ggplot(aes(x=City_Category,y=Purchase))+geom_boxplot()
p2
结果:
- 对消费者的婚姻状况绘制箱线图,我们分为男女两个方面: 代码:
p3% ggplot(aes(x=as.factor(Marital_Status),y=Purchase,fill=Gender))+geom_boxplot()
p3
结果:
从上面的3个箱形图中我们可以看出,男人在购物上花的钱比女人多。无论是是否结婚还是来自于不同城市,而且Age,Stay_In_Current_City_Years这两个变量本来应该保存成数字变量但是原始数据是使用字符型变量,所以需要我们进行进一步的处理。
统计年龄和所在城市的居住年份总数我们使用年龄范围的平均值来代表每个阶段,可以看到各个年龄段出现的次数。然后我们根据Stay_In_Current_City_Years来统计消费者在当前城市停留最多的年数。 代码:
根据结果,我们可以发现:中年人(35-55岁)的比例最多;年轻人支付较少;就城市停留年数的统计数据看,停留一年的占大多数。
产品类别信息统计首先我们通过用 table() 函数统计因子各水平的出现次数。可以看到:
共有18种产品,每种产品出现的次数各不相同。 针对不同的产品,我们通过对购买产品的数量、性别对产品的影响、价格对产品的影响三方面对数据进行分析,结果如下:
- 消费者最喜欢的产品类别: 代码:
p1% group_by(Product_Category_1) %>% count() %>% ggplot(aes(x=reorder(Product_Category_1,n),y=n))+geom_col(aes(factor(Product_Category_1)))+labs(x="",y="",title="消费者最喜欢的产品类别")
p1
结果:
- 不同性别各产品类别的喜爱程度 代码:
p2% group_by(Gender,Product_Category_1) %>% count() %>% ggplot(aes(x=as.factor(Product_Category_1),y=n,fill=as.factor(Gender)))+geom_bar(stat="identity",position="dodge")+labs(x="",y="",fill="gender",title="不同性别各产品类别的喜爱程度")
p2
结果:
- 各类别平均消费价格 代码:
p3% ggplot(aes(x=reorder(as.factor(Product_Category_1),Purchase),y=Purchase))+geom_point()+ggtitle("各类别平均消费价格")
p3
结果:
通过图像我们可以看到,消费者最喜欢的产品前三分别是5、1、8,男性消费者明显比女性多。
性别统计由于每行代表一个单独的事务,我们必须首先按User_ID对数据进行分组以删除重复项。我们选择用户编号和性别两项,按照用户编号进行分组,运用distinct()去除重复项。 代码:
bf2 %
group_by(User_ID) %>%
distinct()
head(bf2_gender)
summary(bf2_gender$Gender)
options(scipen=10000) # To remove scientific numbering
gender_ch %
group_by(User_ID) %>%
arrange(User_ID) %>%
summarise(Total_P= sum(Purchase))
user_G %
select(User_ID, Gender) %>%
group_by(User_ID) %>%
arrange(User_ID) %>%
distinct()
head(user_G)
head(total_P)
user_P_G%
summarize(Purchase = sum(as.numeric(Total_P)),
Count = n(),
Average = Purchase/Count)
head(avg_spending_G)
avg_gender %
group_by(User_ID) %>%
summarise(Purchase_Amount= sum(Purchase))
top_sellers %
count(Product_ID, sort = TRUE)
best_spro%
count(Age)
c_age
c_age_dis
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?