Day 12-python文本挖掘数据分析

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
驱虫市场的潜力分析-结论

. 整体驱虫市场处于快速增长阶段,趋向于成长期到成熟期
灭鼠杀虫剂市场份额较大(大于60%),约是第二名蚊香液的二倍,市场增长率接近40%,可以认为是明星产品类目,需要持续投资和重点关注
驱虫市场不存在垄断,结构不集中,竞争相对激烈,即没有明显的来自大公司的压力
灭鼠杀虫剂市场机会点-业务逻辑

子类目市场确定后(灭鼠杀虫剂市场):确定市场中最受欢迎的产品类别–>细分价格段–>属性进一步分析:什么样的价格作为主市场,什么样的商品符合大众口味

不同用途的商品定位:1. 引流商品:价格低,利润空间几乎没有,目的是为了引流

商品布局时要考虑的问题:价格,产品特征,用户喜好度,商品需求等

灭鼠杀虫剂市场机会点-产品类别

使用灭鼠杀虫剂细分市场数据(截止到2018年11月22日30天的交易数据):-读取五个文件并且合并
-清洗:去掉大量缺失值的列,去掉单一值的列,去掉逻辑上不可用的列,如:‘时间’,‘链接’,‘主图链接’,‘主图视频链接’,‘页码’,‘排名’,‘宝贝标题’,‘运费’,‘下架时间’,‘旺旺’查看各产品’类别’总的’预估销售额’的分布,以此表示市场分布情况

// An highlighted block
os.listdir(‘…/灭鼠杀虫剂细分市场’)
os.chdir(‘…/灭鼠杀虫剂细分市场’)
filenames1 = glob.glob(‘*.xlsx’)
dfs1 = [pd.read_excel(i) for i in filenames1]
df2 = pd.concat(dfs1,sort=False)
df2.info()
#缺失值
df2.isnull().mean()

计算空值占比

null_percent = df2.isnull().sum() / len(df2)

找出空值占比大于98%的列

ind1 = null_percent > 0.98

删除空值占比大于98%的列

df20 = df2.loc[:, ~ind1]

药品登记号之后的文号列作用不大且空值占比依旧较大,删除

ind11 = df20.columns.get_loc(‘药品登记号’)
df20 = df20.iloc[:,:ind11]

特征值单一,删除

ind2 = np.array([len(df20[i].unique())==1 for i in df20.columns])
df21 = df20.loc[:,~ind2]

删除逻辑上不可能用到的列

useless = [‘时间’,‘页码’,‘链接’,‘主图链接’,‘主图视频链接’,
‘排名’,‘运费’,‘下架时间’,‘旺旺’] #目标:寻找增长点,新数据中没有排名信息,故删除
df22 = df21.drop(columns=useless)
df22.isnull().mean()

按照 ‘类别’ 列进行分组,并计算每个类别的总预估销售额

sales_by_category = df22.groupby(‘类别’)[‘预估销售额’].sum()
print(sales_by_category)

画出横向柱状图

plt.figure(figsize=(10, 5))
sales_by_category.plot(kind=‘barh’)
plt.xlabel(‘预估销售额’)
plt.ylabel(‘类别’)
plt.title(‘按类别统计的预估销售额’)
plt.show()

在这里插入图片描述

// An highlighted block

画出饼图

plt.figure(figsize=(8, 8))
sales_by_category.plot(kind=‘pie’, autopct=‘%1.1f%%’, startangle=90)
plt.ylabel(‘’) # 隐藏y轴标签
plt.title(‘按类别统计的预估销售额分布’)
plt.show()

在这里插入图片描述
可见:最受欢迎的是灭鼠类产品,市场占比最大,高达38%,需要重点研究。
灭鼠杀虫剂市场机会点-灭鼠类别分析

选择灭鼠数据进一步分析–>依据’售价’进行价格划分,得到若干的价格区间
每个价格区间计算:预估销售额(总和),销售额占比,宝贝数(不同’宝贝ID’数),宝贝数占比,单宝贝平均销售额(不同宝贝的平均预估销售额,可以理解为竞争的反面,单宝贝平均销售额越高,竞争越低,单宝贝销售额高才有的分),相对竞争度(由前一项套入线性变换得到,0表示类目中最小竞争,1表示最大)

// An highlighted block
df24 = df22[df22[‘类别’] == ‘灭鼠’]

对价格分箱进一步观察

bins = [0,50,100,150,200,250,300,500]
labels = [‘0-50’,‘50-100’,‘100-150’,
‘150-200’,‘200-250’,‘250-300’,‘300以上’]
df24[‘价格区间’] = pd.cut(df24[‘售价’],bins,labels=labels,include_lowest=True)
df24[‘价格区间’].value_counts()

对价格分箱进一步观察

bins = [0,50,100,150,200,250,300,500]
labels = [‘0-50’,‘50-100’,‘100-150’,
‘150-200’,‘200-250’,‘250-300’,‘300以上’]
df24[‘价格区间’] = pd.cut(df24[‘售价’],bins,labels=labels,include_lowest=True)
df24[‘价格区间’].value_counts()
def bykey(df,by,sort=‘销售额占比’):
byk = pd.DataFrame(df.groupby(by).sum()).loc[:,[‘预估销售额’]]
byk[‘销售额占比’] = byk[‘预估销售额’]/byk[‘预估销售额’].sum()
byk[‘宝贝数’] = df.groupby(by).nunique()[‘宝贝ID’]
byk[‘宝贝数占比’] = byk[‘宝贝数’]/byk[‘宝贝数’].sum()
byk[‘单宝贝平均销售额’] = byk[‘预估销售额’]/byk[‘宝贝数’]
byk[‘相对竞争度’] = 1-(byk[‘单宝贝平均销售额’]-byk[‘单宝贝平均销售额’].min())/(
byk[‘单宝贝平均销售额’].max()-byk[‘单宝贝平均销售额’].min())
if sort:
byk.sort_values(sort,ascending=False,inplace=True)
return byk
byprice = bykey(df24,‘价格区间’)
byprice

在这里插入图片描述
灭鼠杀虫剂市场机会点-灭鼠类别分析

// An highlighted block

绘图观察

def plot_m(bydf):
‘’’
绘图函数
‘’’
sns.set(font=‘SimHei’,style=‘white’)
y1 = bydf[‘销售额占比’]
y2 = bydf[‘相对竞争度’]
x = bydf.index.tolist()
fig = plt.figure(figsize=(10,6))
# 柱形图
ax1 = fig.add_subplot(111)
ax1.set_ylim([0,1])
ax1.bar(x, y1, alpha=0.7,color=‘g’)
ax1.set_ylabel(‘销售额占比’,fontsize=‘14’)
ax1.tick_params(labelsize=15)
for i,(_x, _y) in enumerate(zip(x, y1)):
plt.text(_x, _y,f’{_y*100:.2f}%‘,color=‘black’, fontsize=20, ha=‘center’, va=‘bottom’)
plt.xlabel(‘价格区间’)
# 折线图
ax2 = ax1.twinx()
ax2.set_ylim([-0.1,1.1])
ax2.plot(x, y2, ‘b’, ms=10, lw=3, marker=‘o’)
ax2.set_ylabel(u’相对竞争度’, fontsize=‘14’)
sns.despine(left=True, bottom=True)
ax2.tick_params(labelsize=15)
ax2.legend(loc=‘upper right’)
plt.show()

结果依单宝贝销售额降序,即依竞争度升序,这里销售额占比可以理解为市场份额可见0-50容量大,竞争大,大容量市场(对比的是50-100,容量小,竞争稍小)200-250,竞争小,做高价市场的优先选择,属于机会点
可见我们喜欢的类目是:市场份额高(表示更适合大众),相对竞争度低(没人抢).也就是找到闷声发大财的那些个分类去分蛋糕
灭鼠杀虫剂市场机会点-0_50细分价格市场

这里我们选择容量最大的0-50细分市场进一步分析再一次细分得到新的更小的价格区间,计算每个区间的指标

可见10-20竞争度低,容量大,优选,20-30也不错200-250细分市场也是同样的分析思路
灭鼠杀虫剂市场机会点-其他属性分析

店铺类型

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值