同样的投资在不同的地方会产生不同的收益。例如,对于一家公司来说,80%的利润往往来自20%的畅销产品,而其他80%的产品只产生20%的利润。就餐饮企业而言,应用贡献分析可以重点提升某菜系前80%最赚钱的菜品,或者重点发展综合影响力最高的80%部门。这个结果可以通过帕累托图可视化。图3-10为某月海鲜系列A1~A1010道菜的利润(降序排列)。图3-10菜品盈利数据排列图从图3-10可以看出,菜品A1到A7共有7个菜品,占菜品数量的70%,总利润占菜品数量的85.0033%月利润。根据帕累托原理,菜品A1-A7的成本投入要增加,菜品A8-A10的成本投入要减少,才能获得更高的利润。表3-5为餐饮系统对应的菜品利润数据,绘制出菜品利润排列图,如代码清单3-8所示。表3-5餐饮系统菜品利润数据代码表3-8绘制菜品利润数据Pareto图#DishProfitDataParetoDiagramimportpandasaspd#初始化参数dish_profit='../data/catering_dish_profit.xls'#餐饮菜品利润数据data=pd.read_excel(dish_profit,index_col='菜名')datadata=data['profit'].copy()data.sort_values(ascending=False)importmatplotlib.pyplotasplt#导入图片库plt.rcParams['font.sans-serif']=['SimHei']#用来正常显示中文标签plt.rcParams['axes.unicode_minus']=False#用来正常显示负号plt.figure()data.plot(kind='bar')plt.ylabel('利润(元)')p=1.0*data.cumsum()/data.sum()p.plot(color='r',secondary_y=True,style='-o',linewidth=2)plt.annotate(格式(p[6],'.4%'),xy=(6,p[6]),xytext=(6*0.9,p[6]*0.9),arrow-props=dict(arrowstyle="->",connectionstyle="arc3,rad=.2"))#添加注释,即85%处的标记。这包括指定箭头样式。plt.ylabel('利润(比率)')plt.show()
