帕累托分析(貢獻度分析) → 帕累托法則:20/80定律
“原因和結果、投入和產出、努力和報酬之間本來存在著無法解釋的不平衡。一般來說,投入和努力可以分為兩種不同的類型:
多數,它們只能造成少許的影響;少數,它們造成主要的、重大的影響。”
→ 一個公司,80%利潤來自于20%的暢銷產品,而其他80%的產品只產生了20%的利潤
例如:
** 世界上大約80%的資源是由世界上15%的人口所耗盡的
** 世界財富的80%為25%的人所擁有;在一個國家的醫療體系中
** 20%的人口與20%的疾病,會消耗80%的醫療資源。
一個思路:通過二八原則,去尋找關鍵的那20%決定性因素!
‘’’
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
% matplotlib inline
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False # 這里設置字體,防止中文亂碼# 帕累托分布分析 data = pd.Series(np.random.randn(10)*1200+3000,index = list('ABCDEFGHIJ'))# 這里ABCDEFGHIJ表示是個產品,用隨機值模擬器銷售額
print(data)
print('------')
# 創建數據,10個品類產品的銷售額data.sort_values(ascending=False, inplace= True)
# 由大到小排列plt.figure(figsize = (10,4))
data.plot(kind = 'bar', color = 'g', alpha = 0.5, width = 0.7)
plt.ylabel('營收_元')
# 創建營收柱狀圖p = data.cumsum()/data.sum() # 創建累計占比,Series
key = p[p>0.8].index[0]
key_num = data.index.tolist().index(key)
print('超過80%累計占比的節點值索引為:' ,key)
print('超過80%累計占比的節點值索引位置為:' ,key_num)
print('------')
# 找到累計占比超過80%時候的index
# 找到key所對應的索引位置p.plot(style = '--ko', secondary_y=True) # secondary_y → y副坐標軸
plt.axvline(key_num,hold=None,color='r',linestyle="--",alpha=0.8)
plt.text(key_num+0.2,p[key],'累計占比為:%.3f%%' % (p[key]*100), color = 'r') # 累計占比超過80%的節點
plt.ylabel('營收_比例')
# 繪制營收累計占比曲線key_product = data.loc[:key]
print('核心產品為:')
print(key_product)
# 輸出決定性因素產品
python語言的特點不包括,上面的代碼在jupyter中運行,輸出如下:
數據分析中,通過帕累托分布,通過產品的貢獻度,可以得到現階段公司核心產品。
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态