贡献度分析又称帕累托分析,它的原理是帕累托法则,又称20/80定律。同样的投入放在不同的地方会产生不同的效益。例如,对一个公司来讲,80%的利润常常来自于20%最畅销的产品,而其他80%的产品只产生了20%的利润
对餐饮企业来讲,应用贡献度分析可以重点改善某菜系盈利最高的前80%的菜品,或者重点发展综合影响最高的80%的部门。这种结果可以通过帕累托图直观地呈现出来。
数据如下:
示例代码:
import pandas as pd
import matplotlib.pyplot as plt
#初始化参数
dish_profit = r'D:\daily\data\catering_dish_profit.xls'
data = pd.read_excel(dish_profit, index_col = u'菜品名')
data = data[u'盈利'].copy()
data.sort_values(ascending = False)
plt.rcParams['font.sans-serif'] = ['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False #用来正常显示负号
plt.figure()
data.plot(kind='bar')
plt.ylabel(u'盈利(元)')
p = 1.0*data.cumsum()/data.sum()
p.plot(color = 'r', secondary_y = True, style = '-o',linewidth = 2)
plt.annotate(format(p[6], '.4%'), xy = (6, p[6]), xytext=(6*0.9, p[6]*0.9), arrowprops=dict(arrowstyle="->", connectionstyle="arc3,rad=.2")) #添加注释,即85%处的标记。
plt.ylabel(u'盈利(比例)')
plt.show()
运行结果如下:
由上图可知,菜品A1~A7共7个菜品,占菜品种类数的70%,总盈利额占该月盈利额的 85.0033%。根据帕累托法则,应该增加对菜品A1~A7的成本投入,减少对菜品A8~A10的投人以获得更高的盈利额。