任务二 灭鼠杀虫剂市场机会点分析
1、最受欢迎的产品类型
2、重点产品细分价格段分析
3、细分市场其它属性分析
1.加载并清洗数
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()
2.缺失值处理
df2.isnull().mean()#查看缺失值
ind1 = df2.isna().mean()>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()
3.市场分布情况
byclass = df23['预估销售额'].groupby(df23['类别']).sum()#查看各产品’类别’总的’预估销售额’的分布
#查看各产品’类别’总的’预估销售额’的分布
byclass.plot.pie(autopct='%.2f')
依据’售价’进行价格划分,得到若干的价格区间
#依据’售价’进行价格划分,得到若干的价格区间
df24 = df23[df23['类别']=='灭鼠']#选择类别
df24['售价'].describe()
df24.head()
df24['售价'].plot.hist()#绘制直方图,查看售价集中区域
#分箱操作
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 byfun(df,by,sort='单宝贝平均销售额'):
byc = pd.DataFrame(df.groupby(by).sum()).loc[:,['预估销售额']]
byc['销售额占比'] = byc['预估销售额']/byc['预估销售额'].sum()
byc['宝贝数'] = df.groupby(by).nunique()['宝贝ID']
byc['宝贝数占比'] = byc['宝贝数']/byc['宝贝数'].sum()
byc['单宝贝平均销售额'] = byc['预估销售额']/byc['宝贝数']
byc['相对竞争度'] = 1 - (byc['单宝贝平均销售额']-byc['单宝贝平均销售额'].min())/(
byc['单宝贝平均销售额'].max()-byc['单宝贝平均销售额'].min())
if sort:
byc.sort_values(sort,ascending=False,inplace=True)
return byc
byprice1 = byfun(df24,'价格区间')
byprice1
#绘图
def mcplot(bydf,figsize=(10,4)):
ax = bydf.plot(y='相对竞争度',linestyle='-',marker='o',figsize=figsize)
bydf.plot(y='销售额占比',kind='bar',alpha=0.8,color='wheat',ax=ax)
plt.show()
mcplot(byprice1)
选择容量最大的0-50细分市场进一步分析
df25 = df24[df24['价格区间']=='0_50']
df25['售价'].plot.hist()
bins1 = [0,10,20,30,40,50]
labels1 = ['0_10','10_20','20_30','30_40','40_50']
df25['价格子区间'] = pd.cut(df25['售价'],bins1,labels=labels1,include_lowest=True)
byprice2 = byfun(df25,'价格子区间')
byprice2
mcplot(byprice2)
4.细分市场的其他属性分析
df25.isna().mean()
df25.head()
店铺类型 :
bystore = byfun(df25,'店铺类型')
mcplot(bystore)
型号:
bytype = byfun(df25,'型号',sort='预估销售额')
#•销售额排名前5%的型号,这里认为销售额靠前才更倾向于大众产品
bytype1 = bytype[bytype['预估销售额']>=bytype['预估销售额'].quantile(0.95)]
mcplot(bytype1)
物理形态:
byshape = byfun(df25,['物理形态'])
mcplot(byshape)
物理形态,净含量:
byshape_con = byfun(df25,['物理形态','净含量'],['物理形态','预估销售额'])
mcplot(byshape_con,(30,10))
5.
5.总结
灭鼠杀虫剂市场机会点-结论
1. 灭鼠杀虫剂市场中,需要重点关注的产品类别是:灭鼠和蟑螂
2. 灭鼠中:
3. 灭鼠0-50价格段的产品市场中:
最大的市场集中在0-50的价格段,这个价格段竞争也很激烈
200-250这个价格段市场份额占10%左右,竞争度很低,是值得挖掘的高价市场
·
10-20价格段市场容量大,竞争度低,值得进一步开发,20-30也不错
店铺类型方面天猫明显优于淘宝
市场份额高的型号是粘鼠板,然而型号0005市场份额还行,竞争度较低,值得开发
产品的物理形态基本都是固体,也是被大众认可的形态
当物理形态为固体,净含量为1时,市场份额高竞争度低,值得开发