【python数据分析实战】电商打折套路解析(4)—— 商家营销套路挖掘?

我就是我 2023-07-16 13:59 93阅读 0赞
1. 指标选取

假使是从下面三个方面进行商家营销套路评价的

  1. 不同品牌参加双11活动的商品总数
  2. 不同品牌的商品折扣率
  3. 不同品牌打折商品比例

其中第一个指标已经在之前的操作中获得了,接下来就是获取后面的两个指标,最后将这三个指标进行汇总即可

2. 筛选出不同品牌的折扣率

数据还是基于之前处理过的数据,这里进行数据提取和分组,因为同一品牌存在多个商品,所以折扣力度这里以均值来代替

  1. data_zk = result3_data2[result3_data2['zkl']<0.95] # 删除未打折数据
  2. result4_zkld = data_zk.groupby('店名_y')['zkl'].mean()

–> 输出结果为:
在这里插入图片描述

3. 不同商家打折商品比例

1) 确定打折商品数量

  1. n_dz = data_zk['店名_y'].value_counts()

2) 确定商品总数

  1. n_zs = result3_data2['店名_y'].value_counts()

3) 创建DataFrame数据,保存上面的内容

  1. result4_dzspbl = pd.DataFrame({ '打折商品数':n_dz,'商品总数':n_zs})

4) 计算打折比例,并去除空值

  1. result4_dzspbl['参与打折商品比例'] = result4_dzspbl['打折商品数'] / result4_dzspbl['商品总数']
  2. result4_dzspbl.dropna(inplace = True)

–> 输出结果为:
在这里插入图片描述

4. 指标合并

采用pd.merge方法进行DataFrame数据的两两合并,这里为了保证result2_data数据的完备性,进行复制一份,再进行数据的处理

  1. result4_sum = result2_data.copy() #这里含有指标①的数据
  2. result4_data = pd.merge(
  3. pd.DataFrame(result4_zkld),result4_dzspbl,
  4. left_index = True, right_index = True, how = 'inner'
  5. ) # 包含指标②③数据
  6. result4_data = pd.merge(
  7. result4_data,result4_sum,
  8. left_index = True, right_index = True, how = 'inner'
  9. ) #包含指标①②③数据

–> 输出结果为:(注意理解商品总数和sum字段的数据,其中sum代表的是不同品牌参加双11活动的商品总数;商品总数字段数据代表的是打折0-0.95区间内的商品总数,根据之前的分析也可知道还有四分之三的商品没有打折,而且再加上预售的商品,所以这两个数据之间的差距会有点大)
在这里插入图片描述

5. 制图数据筛选

选取上图中的’zkl’、‘参与打折商品比例’、’sum’三个字段的数据,制图前需要把名称修改为英文(标题重命名)、然后设定散点图的大小(0.03的值是试出来的,对于标记的大小根据数据而定没有固定的值),并配置要参考线

  1. bokeh_data = result4_data[['zkl','sum','参与打折商品比例']]
  2. bokeh_data.columns = ['zkl','amount','pre']
  3. bokeh_data['size'] = bokeh_data['amount'] * 0.03
  4. x_mean = bokeh_data['pre'].mean()
  5. y_mean = bokeh_data['zkl'].mean()
  6. source = ColumnDataSource(bokeh_data)
6. bokeh制图

将商家营销套路分为四大类:

  1. 少量大打折
  2. 大量大打折
  3. 少量少打折
  4. 少量大打折

也就是根据数据划分四个象限,每个象限就对应一类

  1. from bokeh.models.annotations import Span
  2. from bokeh.models.annotations import Label
  3. from bokeh.models.annotations import BoxAnnotation
  4. hover = HoverTool(tooltips=[("品牌", "@index"),
  5. ("折扣率", "@zkl"),
  6. ("商品总数", "@amount"),
  7. ("参与打折商品比例", "@pre"),
  8. ]) # 设置标签显示内容
  9. p = figure(plot_width=600, plot_height=600,
  10. title="各个品牌打折套路解析" ,
  11. tools=[hover,'box_select,reset,wheel_zoom,pan,crosshair'])
  12. # 构建绘图空间
  13. p.circle_x(x = 'pre',y = 'zkl',source = source,size = 'size',
  14. fill_color = 'red',line_color = 'black',fill_alpha = 0.6,line_dash = [8,3])
  15. p.ygrid.grid_line_dash = [6, 4]
  16. p.xgrid.grid_line_dash = [6, 4]
  17. # 散点图
  18. x = Span(location=x_mean, dimension='height', line_color='green',line_alpha = 0.7, line_width=1.5, line_dash = [6,4])
  19. y = Span(location=y_mean, dimension='width', line_color='green',line_alpha = 0.7, line_width=1.5, line_dash = [6,4])
  20. p.add_layout(x)
  21. p.add_layout(y)
  22. # 绘制辅助线
  23. bg1 = BoxAnnotation(bottom=y_mean, right=x_mean,fill_alpha=0.1, fill_color='olive')
  24. label1 = Label(x=0.1, y=0.55,text="少量大打折",text_font_size="10pt" )
  25. p.add_layout(bg1)
  26. p.add_layout(label1)
  27. # 绘制第一象限
  28. bg2 = BoxAnnotation(bottom=y_mean, left=x_mean,fill_alpha=0.1, fill_color='firebrick')
  29. label2 = Label(x=0.7, y=0.55,text="大量大打折",text_font_size="10pt" )
  30. p.add_layout(bg2)
  31. p.add_layout(label2)
  32. # 绘制第二象限
  33. bg3 = BoxAnnotation(top=y_mean, right=x_mean,fill_alpha=0.1, fill_color='firebrick')
  34. label3 = Label(x=0.1, y=0.80,text="少量少打折",text_font_size="10pt" )
  35. p.add_layout(bg3)
  36. p.add_layout(label3)
  37. # 绘制第三象限
  38. bg4 = BoxAnnotation(top=y_mean, left=x_mean,fill_alpha=0.1, fill_color='olive')
  39. label4 = Label(x=0.7, y=0.80,text="少量大打折",text_font_size="10pt" )
  40. p.add_layout(bg4)
  41. p.add_layout(label4)
  42. # 绘制第四象限
  43. show(p)

–> 输出结果为:
在这里插入图片描述

7. 小结

少量少打折:包括雅诗兰黛、娇兰、兰蔻、薇姿、玉兰油等共5个品牌。

少量大打折:包括悦诗风吟、兰芝、欧珀莱等3个品牌。该类品牌的打折商品较少,但折扣力度较大。

大量小打折:包括妮维雅、美宝莲、蜜丝佛陀等3个品牌。该类型有半数以上的商品都参与了打折活动,但折扣力度并不大。

大量大打折:包括相宜本草、佰草集、自然堂等三大国产品牌。这些品牌不仅有90%以上的商品参与了折扣活动,而且折扣力度很大

发表评论

表情:
评论列表 (有 0 条评论,93人围观)

还没有评论,来说两句吧...

相关阅读