某超市4年零售數(shù)據(jù)分析


一. 項(xiàng)目來源:

數(shù)據(jù)來源:?https://www.kaggle.com/jr2ngb/superstore-data?select=superstore_dataset2011-2015.csv

????數(shù)據(jù)來自kaggle網(wǎng)站, 是全球某大型超市2011年至2014年的銷售數(shù)據(jù), 參考電商分析8類基本指標(biāo)安皱,并結(jié)合數(shù)據(jù)集特點(diǎn)荚坞,即電商基礎(chǔ)的“人茄靠、貨、場”進(jìn)行分析哥力。

二. 分析思路

1.? 整體運(yùn)營情況分析(場):?

????銷售額分析(每年銷售額,? 每年銷售額業(yè)績增長率,? 每年每月銷售額,? 每年每月銷售業(yè)績增長率),??

????利潤分析(每年利潤額,? 每年利潤增長率,? 每年利潤率,? 每年每月利潤及利潤率)

? ? 市場布局分析: 全球不同分店銷售額對(duì)比

2. 商品結(jié)構(gòu)分析(貨): 整體銷售( 銷售結(jié)構(gòu), 爆款)

3. 客戶價(jià)值分析(人):?

? ? 用戶概覽: (不同類型客戶分析)

? ? 用戶數(shù)量: (新客戶用戶數(shù), 老客戶用戶數(shù), 新老客戶用戶數(shù))

? ? 用戶質(zhì)量: (活躍用戶數(shù), 沉睡用戶數(shù), 復(fù)購率, 回購率, RFM模型)

三. 處理

1. 讀取數(shù)據(jù):?

data=pd.read_excel('E:\superstore_dataset2011-2015.xls', encoding='utf8')

data.head()

2. 數(shù)據(jù)清洗

data.isna().any()


Postal Code 數(shù)據(jù)部分缺失

可以看到Postal Code 數(shù)據(jù)部分缺失, 不過后面的分析并不需要用到這個(gè)字段.?

data.describe()

無異常值發(fā)現(xiàn)

第20066行前后日期格式不一致,?統(tǒng)一轉(zhuǎn)化為datetime格式

data['Order Date']=pd.to_datetime(data['Order Date'])?

#新建年,月列, 便于后續(xù)分析

data['year']=data['Order Date'].dt.year

data['month']=data['Order Date'].dt.month

data['year_month']=data['Order Date'].values.astype('datetime64[M]')

3. 構(gòu)建模型

3.1整體運(yùn)營情況分析

#選取銷售分析數(shù)據(jù)子集

data_sales=data[['Order Date','Sales','Profit','year','month']]

data_sales.head()



3.1.1#整體瀏覽

fig=plt.figure(figsize=(20,3))

sales_tem=data_sales[['Order Date','Sales','Profit']]

sales_tem.index=sales_tem['Order Date'].astype('object')

sales_tem[['Sales','Profit']].plot(kind='line',style='--g.',colormap='Accent_r', figsize=(10,4),title='four years Sales and Profit table',)

plt.grid()

#計(jì)算年度&月度銷售額/利潤

gb=data_sales.groupby(['year','month'])

sales_year=gb.sum()

sales_year

year_2011=sales_year.loc[(2011,slice(None)),:].reset_index()

year_2012=sales_year.loc[(2012,slice(None)),:].reset_index()

year_2013=sales_year.loc[(2013,slice(None)),:].reset_index()

year_2014=sales_year.loc[(2014,slice(None)),:].reset_index()

year_2011


year_2012

year_2013

year_2014

#構(gòu)建銷售表

sales=pd.concat([year_2011['Sales'],year_2012['Sales'],

? ? ? ? ? ? ? ? year_2013['Sales'],year_2014['Sales']],axis=1)

sales.columns=['Sales_2011','Sales_2012','Sales_2013','Sales_2014']

sales.index=['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月']

sales

#構(gòu)建利潤表

profit=pd.concat([year_2011['Profit'],year_2012['Profit'],

? ? ? ? ? ? ? ? year_2013['Profit'],year_2014['Profit']],axis=1)

profit.columns=['Profit_2011','Profit_2012','Profit_2013','Profit_2014']

profit.index=['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月']

profit


3.1.2銷售額分析

#計(jì)算2011-2014年年度總銷售額及增長率

#計(jì)算年度銷售額并圖表展示

sales_sum=sales.sum()

sales_sum.plot(kind='bar',colormap = 'RdYlGn_r',alpha=0.5)

plt.grid()

2011-2014年年度總銷售額??

#計(jì)算每年增長率

rise_12=sales_sum[1]/sales_sum[0]-1

rise_13=sales_sum[2]/sales_sum[1]-1

rise_14=sales_sum[3]/sales_sum[2]-1

rise_rate=[0,rise_12,rise_13,rise_14]

#表格顯示增長率

sales_sum=pd.DataFrame({'sales_sum':sales_sum})

sales_sum['rise_rate']=rise_rate

sales_sum

2011-2014總銷售額及增長率


2011-2014?總銷售額及增長趨勢圖

sales.plot.area(colormap = 'Accent_r',stacked=False)

#2011-2014月度銷售額對(duì)比表

sales.style.background_gradient(cmap='Greens',axis =0)

#2011-2014銷售額折線圖
sales.plot.area(colormap = 'Accent_r',stacked=False)

2011-2014銷售額折線圖

#計(jì)算每月同比增長率

rise=pd.DataFrame()

rise['rise_2012']=(sales['Sales_2012']-sales['Sales_2011'])/sales['Sales_2011']

rise['rise_2013']=(sales['Sales_2013']-sales['Sales_2012'])/sales['Sales_2012']

rise['rise_2014']=(sales['Sales_2014']-sales['Sales_2013'])/sales['Sales_2013']

rise

rise.style.background_gradient(cmap='Greens',axis =1,low=0,high=1)

#計(jì)算2011年個(gè)月份銷售占比及貢獻(xiàn)最大月份(2012, 2013, 2014代碼類似此處省略)

sales_11_sort=sales['Sales_2011'].sort_values(ascending=False)

sales_11_sort.plot(kind='bar',color='g',alpha=0.5,figsize=(10,6))

plt.ylabel('monthly sales of 2011')

p=sales_11_sort.cumsum()/sales_11_sort.sum()? #創(chuàng)建累計(jì)占比,Series

key=p[p>0.8].index[0]

key_num=sales_11_sort.index.tolist().index(key)

print('超過80%累計(jì)占比的節(jié)點(diǎn)值索引為:' ,key)

p.plot(style='--ko', secondary_y=True) #y副坐標(biāo)軸

plt.axvline(key_num,hold=None,color='r',linestyle='--',alpha=0.8)

plt.text(key_num+0.2,p[key],'cumulative proportion: %.3f%%' %(p[key]*100),color='r')

plt.ylabel('proportion of cumulative sales')

key_num = sales_11_sort[:key_num+1]

print('核心月份為:')

print(key_num)

2011
2012
2013
2014

3.1.3利潤分析

#計(jì)算2011-2014年年度總利潤及增長率

#計(jì)算年度總利潤并圖表展示

profit_sum=profit.sum()

profit_sum.plot(kind='bar',colormap = 'RdYlGn_r',alpha=0.5)

plt.grid()

#計(jì)算每年增長率

rise_12=profit_sum[1]/profit_sum[0]-1

rise_13=profit_sum[2]/profit_sum[1]-1

rise_14=profit_sum[3]/profit_sum[2]-1

rise_rate=[0,rise_12,rise_13,rise_14]

#表格顯示增長率

profit_sum=pd.DataFrame({'profit_sum':profit_sum})

profit_sum['rise_rate']=rise_rate

profit_sum

profit.plot.area(colormap = 'Accent_r',stacked=False)


#計(jì)算每月同比增長率

rise_p=pd.DataFrame()

rise_p['rise_2012']=(profit['Profit_2012']-profit['Profit_2011'])/profit['Profit_2011']

rise_p['rise_2013']=(profit['Profit_2013']-profit['Profit_2012'])/profit['Profit_2012']

rise_p['rise_2014']=(profit['Profit_2014']-profit['Profit_2013'])/profit['Profit_2013']

rise

rise_p.style.background_gradient(cmap='Greens',axis =1,low=0,high=1)

#計(jì)算2011年每月利潤率占比變化(2012, 2013, 2014代碼類似此處省略)
profit_rate=pd.DataFrame()

profit_rate['p-rate-11']=profit['Profit_2011']/sales['Sales_2011']

profit_rate_2011=profit['Profit_2011']/sales['Sales_2011']

sales['Sales_2011'].plot(kind='bar',color='g',alpha=0.5)

profit['Profit_2011'].plot(kind='bar',color='g',alpha=0.7)

profit_rate_2011.plot(style='--r.', secondary_y=True,alpha=0.5,label='profit_rate_2011')

plt.legend(loc='upper center')

plt.grid()

2011
2012
2013
2014

分析:?通過以上計(jì)算結(jié)果和圖表展示可以發(fā)現(xiàn)获印,超市2011-2014年每年業(yè)績呈現(xiàn)上升趨勢涂滴,銷售額、利潤額笆焰、銷售量劫谅、利潤率都在上升,銷售額從2011年的226w到2014年的430w,說明經(jīng)營在逐步穩(wěn)定捏检。但是從銷售額對(duì)比亞馬遜/沃爾瑪這種大型超市荞驴,還是有一定差距,可以繼續(xù)努力贯城。

? ? ? ? 從增長率來看熊楼,銷售額、利潤額能犯、銷售量鲫骗、利潤率從11年到13年均在穩(wěn)步提升,其中2013年銷售額增長率達(dá)到了27.2%踩晶,從業(yè)績增長率來看执泰,對(duì)比沃爾瑪公開數(shù)據(jù)顯示(2012-2014年均增長率為4.5%),還是非常有競爭力的(但是沃爾瑪?shù)幕鶖?shù)大渡蜻,增長率會(huì)放緩术吝,所以要結(jié)合銷售額和增長率一起看),但我們也可以發(fā)現(xiàn)茸苇,14年的銷售額排苍、利潤額、銷售量学密、利潤率的增長率相較13年淘衙,均有所回落,其中利潤增長明顯放緩腻暮,2014年利潤增長率為23.9%(2013年為32.4%彤守,),同時(shí)比2014年銷售額增長率(26.25%)低哭靖,猜測和14年促銷活動(dòng)讓利過多導(dǎo)致利潤下降遗增。但是利潤率總體平穩(wěn),穩(wěn)定在11%-12%之間款青。此外做修,結(jié)合年度銷售額/利潤額/銷量及增長率,再結(jié)合公司整體戰(zhàn)略規(guī)劃抡草,可以預(yù)測或制定下一年度總銷售額業(yè)績指標(biāo)饰及。

3.1.3市場布局分析

sales_market=data.groupby('Market')['Sales'].sum()

sales_market.plot(kind='pie', autopct="%1.1f%%", title='2011-2014總銷售額占比')


分析:?從占比圖中可以看出APAC地區(qū)銷售額占比最大為28.4%,而Canada地區(qū)的銷售額占比最少康震,并且只有0.5%燎含,說明市場幾乎沒有打開,可以根據(jù)公司的總體戰(zhàn)略部署進(jìn)行取舍腿短,從而根據(jù)銷售額占比分配下一年的銷售額指標(biāo)屏箍。

sales_market_year=data.groupby(by=['Market', 'year'])['Sales'].sum().reset_index()

#2011-2014不同地區(qū)銷售額對(duì)比

sales_market_year2=pd.pivot_table(sales_market_year, index='Market', columns='year', values='Sales')

sales_market_year2.plot(kind='bar', title='2011-2014不同地區(qū)銷售額對(duì)比')


分析:?從上面的圖形中可以看出绘梦,各個(gè)地區(qū)的2011年-2014年銷售總額均是增長的趨勢,在APAC地區(qū)和EU地區(qū)的增長速度比較快速赴魁,可以看出市場占有能力也在不短增加卸奉,企業(yè)市場前景比較好,下一年可以適當(dāng)加大運(yùn)營成本颖御,其他地區(qū)可以根據(jù)自身地區(qū)消費(fèi)特點(diǎn)榄棵,吸取上面兩個(gè)地區(qū)的運(yùn)營模式。

#不同類型產(chǎn)品在不同地區(qū)銷售額對(duì)比

category_sales_market=data.groupby(by=['Market', 'Category'])['Sales'].sum().reset_index()

category_sales_market2=pd.pivot_table(category_sales_market, index='Market', columns='Category', values='Sales')

category_sales_market2.plot(kind='bar', title='不同類型產(chǎn)品在不同地區(qū)銷售額對(duì)比', figsize=(10, 8))

分析:?所有產(chǎn)品我們按照三個(gè)大的類型進(jìn)行了區(qū)分潘拱,分別是Furniture(家具)疹鳄、Technology(電子產(chǎn)品)、Office Supplies(辦公用品)芦岂。通過上圖我們大致可以看出瘪弓,在各大地區(qū)銷售額都比較高是電子產(chǎn)品,可以根據(jù)企業(yè)的整體戰(zhàn)略部署適當(dāng)?shù)募哟髮?duì)各地區(qū)該品類的投入禽最,以便擴(kuò)大優(yōu)勢杠茬。

3.1.4銷售淡旺季分析

year_month=data.groupby(by=['year','month'])['Sales'].sum()

sales_year_month=year_month.reset_index()

sales_year_month=pd.pivot_table(sales_year_month, index='month', columns='year', values='Sales')

sales_year_month.plot(title='各年各月的總銷售額')

分析:?通過圖表我們基本可以看出,該超市2011年-2014年每一年的銷售額同比上一年都是上升趨勢弛随,所以很容易發(fā)現(xiàn)該超市的旺季是下半年,另外宁赤,我們在上半年銷售額中發(fā)現(xiàn)6月份的銷售額也是比較高的舀透,所以可以在6月份開始加大一些運(yùn)營成本,進(jìn)而更大一步提高銷售額决左,但是需要注意是下半年的7月份和10月份銷售額會(huì)有明顯的下降愕够,可以針對(duì)這些下降的月份多舉行一些營銷活動(dòng)。

4. 商品結(jié)構(gòu)分析(貨)

4.1銷售數(shù)量前十

Top10_quantity=data.groupby('Product ID').agg({'Customer ID':'count', 'Sales':'sum'}).reset_index().sort_values(by=['Customer ID'], ascending=False)[['Product ID', 'Sales']].head(10)

Top10_quantity


4.2銷售金額前10

Top10_amount=data.groupby("Product ID").agg({'Customer ID':'count','Sales':'sum'}).reset_index().sort_values(by=['Sales'],ascending=False)[['Product ID','Sales']].head(10)

Top10_amount

分析:?我們可以發(fā)現(xiàn)銷售數(shù)量最多的是office產(chǎn)品佛猛,而銷售金額最多是電子惑芭,家具等大額商品

4.3各類物品銷售金額, 利潤率和銷售額累計(jì)占比

data['Category_Sub_Category'] = data[['Category','Sub-Category']].apply(lambda x:str(x[0])+'_'+str(x[1]),axis=1)

data_Category_Sub_Category=data.groupby('Category_Sub_Category').agg({'Profit':'sum','Sales':'sum'}).reset_index().sort_values(by=['Sales'],ascending=False)[['Category_Sub_Category','Sales','Profit']]

data_Category_Sub_Category['cumSales'] = data_Category_Sub_Category['Sales'].cumsum()/data_Category_Sub_Category['Sales'].sum()

data_Category_Sub_Category

#可視化

bar_width = 0.45

n = len(data_Category_Sub_Category['Category_Sub_Category'])

x = np.arange(len(data_Category_Sub_Category['Category_Sub_Category']))

ax = plt.subplots(1,1)

ax = plt.bar(x-bar_width/2, data_Category_Sub_Category['Sales'], bar_width)

ax = plt.bar(x+bar_width/2, data_Category_Sub_Category['Profit'], bar_width)

plt.xticks(x, list(data_Category_Sub_Category['Category_Sub_Category']), rotation=90)

plt.xlabel('Category_Sub_Category', fontsize=12)

plt.ylabel('Sales/Profit', fontsize=12)

plt.legend(('Sales', 'Profit'), fontsize=15)

plt.show()

分析:?從圖表中可以很清晰的看到不同產(chǎn)品的銷售額貢獻(xiàn)對(duì)比,可以判斷出furniture(家具)中Bookcases(書柜)继找、Chairs(椅子)遂跟、Tables(桌子),Office supplies(辦公用品)中Appliances(電器)婴渡、Storage(儲(chǔ)藏箱)幻锁,Technology(電子技術(shù)產(chǎn)品)中Accessories(附件)、Copiers(復(fù)印機(jī))边臼、Machines(機(jī)器)哄尔、Phones(電話/手機(jī)),是整體產(chǎn)品中銷售比較好的柠并。

????????從著名的帕累托二八法則分析也可以看出岭接,這幾款產(chǎn)品的總銷售占比達(dá)到84%富拗,應(yīng)該是自家優(yōu)勢主營產(chǎn)品,后續(xù)經(jīng)營中應(yīng)繼續(xù)保持鸣戴,可以結(jié)合整體戰(zhàn)略發(fā)展適當(dāng)加大投入啃沪,逐漸形成自己的品牌。

????????同時(shí)葵擎,也可以發(fā)現(xiàn)谅阿,末尾占比16%的產(chǎn)品中,Binders(粘合劑)酬滤、Furnishings(家具)签餐、Art(藝術(shù)品)、Paper(紙)盯串、Supplies(供應(yīng)品)氯檐、Envelopes(信封)、Fasteners(緊固件)体捏、Labels(標(biāo)簽)均是辦公用品中的小物件冠摄。可以參考“啤酒與尿布”的故事几缭,與其他主營產(chǎn)品結(jié)合河泳,連帶銷售。(也有可能現(xiàn)在的這些小產(chǎn)品主要就是靠連帶銷售來的銷售額年栓,由于篇幅有限拆挥,后續(xù)會(huì)專題對(duì)關(guān)聯(lián)銷售進(jìn)行分析~)。

????????但是值得關(guān)注的是某抓,Tables(桌子)的利潤是負(fù)纸兔,表明這個(gè)產(chǎn)品目前處于虧損狀態(tài),應(yīng)該是促銷讓利太多否副。通過檢查原數(shù)據(jù)汉矿,發(fā)現(xiàn)Tabels大部分都在打折,打折的銷量高達(dá)76%备禀。如果是在清庫存洲拇,這個(gè)效果還是不錯(cuò)的,但如果不是曲尸,說明這個(gè)產(chǎn)品在市場推廣上遇到了瓶頸呻待,或者是遇到強(qiáng)競爭對(duì)手,需要結(jié)合實(shí)際業(yè)務(wù)進(jìn)行分析队腐,適當(dāng)改善經(jīng)營策略蚕捉。

5. 客戶價(jià)值分析(人):?

5.1用戶概覽

#不同類型客戶分析

data_Segment_Year_Sales=data.groupby(['Segment', 'year']).agg({'Sales':'sum'}).reset_index()

data_Segment_Year_Sales

#每年客戶類型數(shù)量

data_Segment_Year_Sales['Segment_Year_count']=data_Segment_Year_Sales.apply(lambda x: Segment_Year_Customer_count(x), axis=1)

#每年各類型客戶人均銷售額

data_Segment_Year_Sales['Segment_Year_price']=data_Segment_Year_Sales.apply(lambda x: x[2]/x[3], axis=1)

#每年各類型客戶銷售額占比

data_Segment_Year_Sales['Segment_year_prop']=data_Segment_Year_Sales.apply(lambda x:x[3]/data.loc[(data['year']==x[1])].drop_duplicates(subset=['Customer ID'], keep='first')['Customer ID'].count()*100, axis=1)

data_Segment_Year_Sales

#2011年不同類型客戶占比(2012, 2013, 2014代碼類似)

plt.style.use('ggplot')

plt.pie(x=data_Segment_Year_Sales['Segment_year_prop'].loc[data_Segment_Year_Sales['year']==2011],

? ? ? labels=data_Segment_Year_Sales['Segment'].loc[data_Segment_Year_Sales['year']==2011],

? ? ? explode=(0.05, 0, 0), autopct='%.1f%%', textprops={'fontsize':15})

plt.title('2011年客戶占比')

#不同類型客戶每年人數(shù)

sns.barplot(x='year', y='Segment_Year_count', hue='Segment', data=data_Segment_Year_Sales)

#不同類型客戶每年銷售額

sns.barplot(x='year', y='Sales', hue='Segment', data=data_Segment_Year_Sales)

分析:?從上我們可以看到,超過一半的客戶為普通消費(fèi)者consumer柴淘,且每類客戶每年均在保持增長的趨勢迫淹,客戶結(jié)構(gòu)還是非常不錯(cuò)的秘通,其中corporate和home office維系的好,一般屬于穩(wěn)定長期客戶敛熬,還可以有增長的空間

5.2用戶數(shù)量

#各年各月的新客戶數(shù)

data2=data.drop_duplicates(subset=['Customer ID'])

new_customer=data2.groupby(by=['year', 'month']).size()

new_customer=new_customer.reset_index()

sale_year_month=pd.pivot_table(new_customer, index='month', columns='year', values=0)

sale_year_month

def Segment_Year_Customer_count(x):

? ? for i in data['Segment'].drop_duplicates():

? ? ? ? for j in data['year'].drop_duplicates():

? ? ? ? ? ? if x[0]==i and x[1]==j:

? ? ? ? ? ? ? ? return (data.loc[(data['Segment']==i) & (data['year']==j)].drop_duplicates(subset=['Customer ID'], keep='first')['Customer ID'].count())

#可視化

sale_year_month.plot(title='各年各月的新客戶數(shù)')

分析: 因?yàn)閿?shù)據(jù)是從2011年開始統(tǒng)計(jì)肺稀,在2011年第一次消費(fèi)的消費(fèi)者都被定位新客戶,所以2011可以忽略不看应民。但根據(jù)圖表可以看出话原,從2012年開始到2014年總體看,每一年的新增客戶數(shù)還是逐年減少的趨勢诲锹,可以看出該超市對(duì)保持老用戶是有效的繁仁,超市的運(yùn)營狀況較為穩(wěn)定。但是归园,新客戶獲取率比較低黄虱,可以不定期的進(jìn)行主動(dòng)推廣營銷,從而增加新客戶數(shù)庸诱。

5.3用戶質(zhì)量

#統(tǒng)計(jì)每月購買次數(shù)

pivoted_counts=data.pivot_table(index='Customer ID',

? ? ? ? ? ? ? ? ? ? ? ? ? ? columns='year_month',

? ? ? ? ? ? ? ? ? ? ? ? ? ? values='Order Date',

? ? ? ? ? ? ? ? ? ? ? ? ? ? aggfunc='count').fillna(0)

pivoted_counts

df_purchase=pivoted_counts.applymap(lambda x: 1 if x>0 else 0)

df_purchase.head()

#定義狀態(tài)函數(shù)并進(jìn)行標(biāo)記

def active_status(data):

? ? status = []

? ? for i in range(48):

? ? ? ? if data[i] == 0:

? ? ? ? ? ? if len(status)>0:

? ? ? ? ? ? ? ? if status[i-1] == "unreg":

? ? ? ? ? ? ? ? ? ? status.append("unreg")#未注冊客戶

? ? ? ? ? ? ? ? else:

? ? ? ? ? ? ? ? ? ? status.append("unactive")#不活躍用戶

? ? ? ? ? ? else:

? ? ? ? ? ? ? ? status.append("unreg")


? ? ? ? #若本月消費(fèi)了

? ? ? ? else:

? ? ? ? ? ? if len(status) == 0:

? ? ? ? ? ? ? ? status.append("new")#新用戶

? ? ? ? ? ? else:

? ? ? ? ? ? ? ? if status[i-1] == "unactive":

? ? ? ? ? ? ? ? ? ? status.append("return")#回歸用戶

? ? ? ? ? ? ? ? elif status[i-1] == "unreg":

? ? ? ? ? ? ? ? ? ? status.append("new")

? ? ? ? ? ? ? ? else:

? ? ? ? ? ? ? ? ? ? status.append("active")

? ? return pd.Series(status)?

purchase_stats = df_purchase.apply(active_status,axis =1)

purchase_stats.head()

#新用戶, 回歸用戶, 活躍用戶情況圖

purchase_stat_ct=purchase_stats.replace('unreg', np.NaN).apply(lambda x:pd.value_counts(x))

purchase_stat_ct.fillna(0).T.plot.area()


分析:?從上可以發(fā)現(xiàn)活躍客戶捻浦、新客戶和回歸客戶,每年呈一定的規(guī)律起伏桥爽,這可能和年終年末大促有關(guān)朱灿,需要更多數(shù)據(jù)進(jìn)行佐證;同時(shí)可以發(fā)現(xiàn)新客數(shù)量每年均在減少钠四,說明該商家新客獲取率較低盗扒,如果能在新客戶獲取上取得突破,會(huì)給商家?guī)砗艽蟮脑鲩L空間形导。

#復(fù)購率計(jì)算指標(biāo):? 用戶在該月購買過一次以上算復(fù)購

purchase_r = pivoted_counts.applymap(lambda x :1 if x>1 else np.NaN if x==0 else 0)

(purchase_r.sum()/purchase_r.count()).plot()

#回購率: 在該月購買過, 在下月也購買時(shí)計(jì)入回購
def purchase_back(data):

? ? status=[]

? ? for i in range(47):

? ? ? ? if data[i] ==1:

? ? ? ? ? ? if data[i+1] == 1:

? ? ? ? ? ? ? ? status.append(1)

? ? ? ? ? ? if data[i+1] == 0:

? ? ? ? ? ? ? ? status.append(0)

? ? ? ? else:

? ? ? ? ? ? status.append(np.NaN)

? ? status.append(np.NaN)

? ? return status

purchase_b = df_purchase.apply(purchase_back,axis =1,result_type='expand')

(purchase_b.sum()/purchase_b.count()).plot()

分析:?從上可以發(fā)現(xiàn)復(fù)購率基本大于0.525,且呈總體上升趨勢习霹,說明客戶忠誠度高朵耕,回購率在年中年末呈峰形態(tài),可能與商家折扣活動(dòng)或節(jié)日有關(guān)淋叶。

#RFM模型

????????用戶精細(xì)化運(yùn)營分類阎曹,通過各類運(yùn)營手段提高不同類型的用戶在產(chǎn)品中的活躍度、留存率和付費(fèi)率煞檩。如何將用戶從一個(gè)整體拆分成特征明顯的群體決定了運(yùn)營的成敗处嫌。在用戶價(jià)值領(lǐng)域,最具有影響力并得到實(shí)證驗(yàn)證的理論與模型有:用戶終生價(jià)值理論斟湃、用戶價(jià)值金字塔模型熏迹,策論評(píng)估矩陣分析法和RFM客戶價(jià)值分析模型等。本文使用RFM用戶分群模型模型對(duì)用戶進(jìn)行分類凝赛。RFM定義如下:

R(Recency):客戶最近一次交易時(shí)間的間隔注暗。R值越大坛缕,表示客戶交易發(fā)生的日期越久,反之則表示客戶交易發(fā)生的日期越近捆昏。

F(Frequency):客戶在最近一段時(shí)間內(nèi)交易的次數(shù)赚楚。F值越大,表示客戶交易越頻繁骗卜,反之則表示客戶交易不夠活躍宠页。

M(Monetary):客戶在最近一段時(shí)間內(nèi)交易的金額。M值越大寇仓,表示客戶價(jià)值越高举户,反之則表示客戶價(jià)值越低。

RFM模型是衡量用戶價(jià)值和用戶創(chuàng)利能力的經(jīng)典工具焚刺,依托于用戶最近一次購買時(shí)間敛摘、消費(fèi)頻次以及消費(fèi)金額。在應(yīng)用RFM模型時(shí)乳愉,要有用戶最基礎(chǔ)的交易數(shù)據(jù)兄淫,至少包含用戶ID,交易金額蔓姚,交易時(shí)間三個(gè)字段捕虽。根據(jù)R,F(xiàn)坡脐,M這三個(gè)維度泄私,我們可以將客戶分為以下8種類型:

在這個(gè)表中,我們將每個(gè)維度都分為高低兩種情況备闲,進(jìn)而將客戶群體劃分為8種類型晌端,而這8種類型又可以劃分成A、B恬砂、C三個(gè)等級(jí)咧纠。接下來對(duì)R、F和M進(jìn)行計(jì)算泻骤,步驟如下:

#排序函數(shù)

def order_sort(group):

? ? return group.sort_values(by='Order Date')[-1:]

#按數(shù)據(jù)將客戶分組

data_group=data2.groupby(by='Customer ID', as_index=False) #as_index = False是“SQL風(fēng)格”的分組輸出漆羔。

#將每個(gè)分組對(duì)象的數(shù)據(jù)排序, 并取出日期最大的數(shù)據(jù)

data_rfm=data_group.apply(order_sort)

data_rfm

data_rfm['R']=-(data_rfm['Order Date']-data_rfm['Order Date'].max())/np.timedelta64(1, 'D')#np.timedelta64()函數(shù), 用于控制時(shí)間間隔,間隔多少年/月/天/時(shí)/分/秒/

data_rfm['F']=data_group.size().values

data_rfm['M']=data_group.sum()['Sales'].values

data_rfm

data_rfm[['R', 'F', 'M']].apply(lambda x:x-x.mean())#基于平均值比較

def rfm_func(x):

? ? level=x.apply(lambda x:'1' if x>0 else '0')

? ? level=level.R+level.F+level.M

? ? d={'111':'重要價(jià)值客戶',

? ? '101':'重要發(fā)展客戶',

? ? '011':'重要保持客戶',

? ? '001':'重要挽留客戶',

? ? '110':'一般價(jià)值客戶',

? ? '100':'一般發(fā)展客戶',

? ? '010':'一般保持客戶',

? ? '000':'一般挽留客戶'

? ? }

? ? result=d[level]

? ? return result

data_rfm['label']=data_rfm[['R', 'F', 'M']].apply(lambda x:x-x.mean()).apply(rfm_func, axis=1)

data_rfm

size=data_rfm.groupby(['label']).size().to_frame()

size['rfm_pct']=["%.2f%%"%(i/sum(size.values)*100) for i in size.values]

size

#對(duì)重要價(jià)值客戶和重要保持客戶進(jìn)行可視化
data_rfm.loc[data_rfm.label=='重要價(jià)值客戶', 'color']='g'

data_rfm.loc[data_rfm.label=='重要發(fā)展客戶', 'color']='b'

data_rfm.loc[data_rfm.label=='重要保持客戶' , 'color']='gray'

data_rfm.loc[data_rfm.label=='重要挽留客戶' , 'color']='gray'

data_rfm.loc[data_rfm.label=='一般價(jià)值客戶' , 'color']='gray'

data_rfm.loc[data_rfm.label=='一般發(fā)展客戶' , 'color']='gray'

data_rfm.loc[data_rfm.label=='一般保持客戶' , 'color']='gray'

data_rfm.loc[data_rfm.label=='一般挽留客戶' , 'color']='gray'

data_rfm.plot.scatter('F', 'R', c=data_rfm.color)

分析:?根據(jù)RMF模型分類出8種客戶狱掂,根據(jù)他們對(duì)平臺(tái)的貢獻(xiàn)度排序如下:一般挽留客戶→一般發(fā)展客戶→一般保持客戶→一般價(jià)值客戶→重要挽留客戶→重要發(fā)展客戶→重要保持客戶→重要價(jià)值客戶演痒。

????????通過RFM識(shí)別不同的客戶群體,能夠衡量客戶價(jià)值和客戶利潤創(chuàng)收能力趋惨,可以指定個(gè)性化的溝通和營銷服務(wù)鸟顺,為更多的營銷決策提供有力支持,為企業(yè)創(chuàng)造更大的利益器虾。

? ??????從統(tǒng)計(jì)結(jié)果中看诊沪,該平臺(tái)重要價(jià)值客戶占總體2.64%,說明該公司已經(jīng)沉淀了一批優(yōu)良客戶养筒,但這個(gè)比例較小。但有41.51%的重要保持客戶端姚,這批客戶是曾高頻購買且消費(fèi)金額大的客戶晕粪,但是這批客戶近期沒有成交行為說明已經(jīng)有流失傾向,這批客戶需要著重關(guān)注渐裸。另外一般發(fā)展用戶也占了26.48%的比例巫湘,說明在用戶新增的階段做的還不錯(cuò),但是一般挽留客戶也占了24.4%昏鹃,一般挽留客戶代表已經(jīng)流失的客戶尚氛,說明客戶保持方便做的比較差。這組數(shù)據(jù)說明了這個(gè)平臺(tái)整體已經(jīng)處于客戶流失的階段洞渤,用戶整體活躍行為已經(jīng)降低阅嘶,需要維護(hù)現(xiàn)有忠誠的客戶的同時(shí),也要花精力在新用戶往重要價(jià)值客戶的轉(zhuǎn)化上载迄。


如需轉(zhuǎn)載, 請注明出處.?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末讯柔,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子护昧,更是在濱河造成了極大的恐慌魂迄,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,888評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件惋耙,死亡現(xiàn)場離奇詭異捣炬,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)绽榛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,677評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門湿酸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人灭美,你說我怎么就攤上這事推溃。” “怎么了冲粤?”我有些...
    開封第一講書人閱讀 168,386評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵美莫,是天一觀的道長页眯。 經(jīng)常有香客問我梯捕,道長,這世上最難降的妖魔是什么窝撵? 我笑而不...
    開封第一講書人閱讀 59,726評(píng)論 1 297
  • 正文 為了忘掉前任傀顾,我火速辦了婚禮,結(jié)果婚禮上碌奉,老公的妹妹穿的比我還像新娘短曾。我一直安慰自己寒砖,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,729評(píng)論 6 397
  • 文/花漫 我一把揭開白布嫉拐。 她就那樣靜靜地躺著哩都,像睡著了一般。 火紅的嫁衣襯著肌膚如雪婉徘。 梳的紋絲不亂的頭發(fā)上漠嵌,一...
    開封第一講書人閱讀 52,337評(píng)論 1 310
  • 那天,我揣著相機(jī)與錄音盖呼,去河邊找鬼儒鹿。 笑死,一個(gè)胖子當(dāng)著我的面吹牛几晤,可吹牛的內(nèi)容都是我干的约炎。 我是一名探鬼主播,決...
    沈念sama閱讀 40,902評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼蟹瘾,長吁一口氣:“原來是場噩夢啊……” “哼圾浅!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起热芹,我...
    開封第一講書人閱讀 39,807評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤贱傀,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后伊脓,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體府寒,經(jīng)...
    沈念sama閱讀 46,349評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,439評(píng)論 3 340
  • 正文 我和宋清朗相戀三年报腔,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了株搔。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,567評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡纯蛾,死狀恐怖纤房,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情翻诉,我是刑警寧澤炮姨,帶...
    沈念sama閱讀 36,242評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站碰煌,受9級(jí)特大地震影響舒岸,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜芦圾,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,933評(píng)論 3 334
  • 文/蒙蒙 一蛾派、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦洪乍、人聲如沸眯杏。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,420評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽岂贩。三九已至,卻和暖如春巷波,著一層夾襖步出監(jiān)牢的瞬間河闰,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,531評(píng)論 1 272
  • 我被黑心中介騙來泰國打工褥紫, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留姜性,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,995評(píng)論 3 377
  • 正文 我出身青樓髓考,卻偏偏與公主長得像部念,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子氨菇,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,585評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容