应用

1 APP Store 数据分析案例

1 案例介绍

  • 案例背景
    • 对APP下载和评分数据分析帮助App开发者获取和留存用户
    • 通过对应用商店的数据分析为开发人员提供可操作的意见
  • 通过数据分析要解决的问题
    • 免费和收费的App都集中在哪些类别
    • 收费app的价格是如何分布的,不同类别的价格分布怎样
    • App文件的大小和价格以及用户评分之间是否有关
  • 分析流程

2 数据清洗

app.drop(‘Unnamed: 0’,axis=1,inplace=True)

app[‘size_mb’] = app[‘size_bytes’] / (1024 * 1024.0)

app[‘paid’] = app[‘price’].apply(lambda x: 1 if x > 0 else 0)

app.describe()查看数据分布

app.info()查看字段类型 数量

3 单变量分析

app.price.value_counts()

bins = [0,2,10,300]
labels = ['<2', '<10','<300']
app['price_new']=pd.cut(app.price, bins, right=False, labels=labels)


app.groupby([‘prime_genre’])[‘price’].describe()

删除价格大于等于49.99的app

app.rating_count_tot.describe()

4 业务数据可视化

sns.relplot(x="prime_genre", y="user_rating",kind='line',
              data=app) #折线图
              
sns.relplot(x="prime_genre", y="user_rating",kind='line',data=app,height=5,aspect=3) \
#讲x轴文字旋转45度
plt.xticks(
    rotation=45, 
    horizontalalignment='right',
    fontweight='light',
    fontsize='x-large'  
)
sns.distplot(app1['price'])

大部分应用都是免费的,极少数APP的收费>5元

收费app的价格分布

plt.figure(figsize=(15,8))#调整大小
sns.boxplot(x='price',y='prime_genre',data=app[app['paid']==1])
plt.yticks(fontweight='light',fontsize='x-large')
#只保留应用数量最多的前5个类别
top5 = app.groupby(['prime_genre'])['price'].count().sort_values(ascending = False).head().index.tolist()
app5 = app[app.prime_genre.isin(top5)]
plt.figure(figsize=(10,8))#调整大小
sns.boxplot(x='price',y='prime_genre',data=app5[app['paid']==1])

散点图,价格和用户评分的分布

plt.figure(figsize=(10,8))
sns.scatterplot(x='price',y='user_rating',data=app)

柱状图,前5个类别app的用户评分均值

#同一类别,将免费和付费的评分进行对比
plt.figure(figsize=(10,8))
sns.barplot(x='prime_genre',y='user_rating',hue='paid',data=app5)

###5 业务解读

问题一 免费或收费APP集中在哪些类别

sns.countplot(y=‘prime_genre’,hue=‘paid’,data=app,order=app[‘prime_genre’].value_counts().index)

免费与收费的APP在不同评分区间的分布

app.groupby([‘rating_level’])[‘user_rating’].describe()

sns.countplot(x=‘paid’,hue=‘rating_level’,data=app)

业务问题3:APP的大小和用户评分之间有关系吗?

app[q4].corr()

sns.heatmap(app[q4].corr())

2 Uniqlo销售数据分析案例

1 案例介绍

  • 案例背景
    • 数据集中包含了不同城市优衣库门店的销售记录
    • 通过对销售数据的分析,为运营提供一些有益信息

2 加载数据

uniqlo.info()

uniqlo.describe()

从结果中看出,revenue 销售金额,有异常值,-0.66 / 12538,可以进一步查看

uniqlo[uniqlo.revenue<1] 找到销售金额为负值的

uniqlo[uniqlo.revenue>5000] 查看金额大的订单,查看后发现均为消费多件导致金额较高,数据没有问题

3 不同产品的销售情况

uniqlo.pivot_table(index = 'product',values = 'quant',aggfunc = 'sum').sort_values(by=['quant'],ascending = False)

进一步拆解,按城市拆解销量

uniqlo.pivot_table(index = 'product',columns='city',values = 'quant',aggfunc='sum').sort_values(by=['上海'],ascending = False)

对城市拆解后,再进一步按线上线下拆解

uniqlo.pivot_table(index = 'product',columns=['city','channel'],values = 'quant',aggfunc='sum')

4 用户习惯使用哪种方式进行消费

不同城市消费习惯不同

plt.figure(figsize=(15,8))
sns.countplot(y='city',hue='channel',data=uniqlo)

uniqlo.pivot_table(index = 'city',columns='channel',values='quant',aggfunc='sum')

5 用户消费习惯(周间还是周末)

uniqlo.wkd_ind.value_counts() 查看整体情况

计算每个城市工作日和周末销售情况
wkd_sales = uniqlo.pivot_table(index = 'wkd_ind',columns=['city'],values = 'quant',aggfunc='sum')
wkd_sales

添加行数据,每个城市的平均销售情况
wkd_sales.loc['weekday_avg',:] = wkd_sales.loc['Weekday',:]/5
wkd_sales.loc['weekend_avg',:] = wkd_sales.loc['Weekend',:]/2
wkd_sales

###6 销售额和成本之间的关系

销售额 revenue 和 unit_cost 成本之间的关系 计算相关系数后,发现没相关性

查看发现unit_cost为单位商品的成本,但是revenue不一定是一件物品的收入,需要处理数据

#添加单件收入列,使用单件收入和单位成本计算相似度
uniqlo2.loc[:,'rev_per_goods'] = uniqlo2['revenue']/uniqlo2['quant']
uniqlo2[['rev_per_goods','unit_cost']].corr()

3 RFM会员价值度模型案例

1 会员价值度模型介绍

RFM模型是根据会员

  • 最近一次购买时间R(Recency)
  • 购买频率F(Frequency)
  • 购买金额M(Monetary)计算得出RFM得分

RFM模型的基本实现过程

2 Excel实现RFM划分案例

常见的确定RFM划分区间的套路

  • 业务实际判断
  • 平均值或中位数
  • 二八法则

提取用户最近一次的交易时间,算出距离计算时间的差值

根据天数长短赋予对应的R值

从历史数据中取出所有用户的购买次数,根据次数多少赋予对应的F分值

从历史数据中汇总,求得该用户的交易总额,根据金额大小赋予对应的M值

在得到不同会员的RFM之后,根据步骤⑤产生的两种结果有两种应用思路

思路1:基于3个维度值做用户群体划分和解读,对用户的价值度做分析

思路2:基于RFM的汇总得分评估所有会员的价值度价值

3 RFM计算案例

1 案例背景

案例数据是某企业从2015年到2018年共4年的用户订单抽样数据,数据来源于销售系统

2 代码

读取数据,查看数据基本情况

数据预处理 去除异常值,缺失值

汇总所有数据 拼接数据,

按会员ID做汇总,分别计算rfm原始值

确定RFM划分区间,根据统计指标和业务方确定

计算rfm值

使用Series.str.cat拼接每个用户生成对应的rfm类别编码

保存结果 excel/数据库

3 RFM图形展示

  • 为了更好地了解不同周期下RFM分组人数的变化,通过3D柱形图展示结果
  • 展示结果时只有3个维度,分别是年份、rfm分组和用户数量。

4 案例结论

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值