小案例(四):销售额下滑(python)
案件回顾
饭团销售额下滑
- 酒馆的热销菜品之一饭团,近几个月销量比去年同期少了约2成
- 酒馆给出了47种菜品,三个月内每天的销售数据(问题:什么原因导致了饭团销量的下降?)
- 菜品销量变化分析
将数据存储为csv格式,导入python。为了直观的看看饭团销售额的时间序列,画出饭团3个月内的销售额时间序列图。
menus.日期 = pd.to_datetime(menus.日期) import matplotlib.pyplot as plt import pylab menus.index = menus.iloc[:,1] menus.loc[menus.品名=='饭团'].iloc[:,2].plot() plt.ylabel("销售额") pylab.show()
时间序列图,即横轴代表时间轴的图。从图中可以看出,4月份以后,折线整体呈下降趋势,即销售额下降。折线波动的很厉害,因为周末销售额会上涨。再看看炒饭的销售情况。
menus.loc[menus.品名=='炒饭'].iloc[:,2].plot() plt.ylabel("销售额") pylab.show()
从图中可直观看出,炒饭的销售额波动一样厉害,但是整体没有向上或向下的趋势。再看面条类的销售情况。
menus.loc[menus.品名=='意大利面'].iloc[:,2].plot(label='意大利面') menus.loc[menus.品名=='酱汁炒面'].iloc[:,2].plot(label='酱汁炒面') menus.loc[menus.品名=='乌冬面'].iloc[:,2].plot(label='乌冬面') menus.loc[menus.品名=='什锦面'].iloc[:,2].plot(label='什锦面') menus.loc[menus.品名=='拉面'].iloc[:,2].plot(label='拉面') plt.ylabel("销售额") plt.legend() pylab.show()
从图上可以看出,5种面条,从4月份开始,每种的销售额都涨了一点。一般来说,很少人米饭面条会一起点,所以一边增加了,另一边减少也很正常。 虽然看上去饭团的销售额与面条的销售额有关系,但是饭团销售额下降的原因真的是因为面条吗? 两者之间其实是一种伪相关,因为他们不属于因果关系,应该是由其他某种原因导致的这两者销售额的变化。通过散点图,可以得到各种食品两两比对后的结果,判断是否有相关性。其中,从散点图可以看到饭团和牛奶间存在明显的负相关。
plt.scatter(menus.loc[menus.品名=='饭团'].iloc[:,2],menus.loc[menus.品名=='牛奶'].iloc[:,2]) plt.xlabel("饭团") plt.ylabel("牛奶") pylab.show()
在实际生活中,饭团与牛奶间不存在替代关系,即不应该出现两者的负相关关系,因此图像显示的情况与实际有出入。再来看牛奶的销售情况图。
menus.loc[menus.品名=='牛奶'].iloc[:,2].plot()