一、項目描述
該項目為一個咨詢項目,客戶為手機品牌商,主要目的是通過數(shù)據(jù)分析幫助制客戶制定品牌策略策略、產(chǎn)品策略和價格策略,助力客戶品牌的成長和銷量的增長。由于涉及到一些商業(yè)上的保密,所以本文最終公開的策略偏宏觀。
電商平臺為我們提供了大量的銷售數(shù)據(jù),以及消費者的反饋數(shù)據(jù),從電商平臺入手我們能夠同時了解到市場、產(chǎn)品和消費者,考慮到數(shù)據(jù)量以及用戶群體的豐富性,我們選擇了淘寶電商的數(shù)據(jù)作為我們的數(shù)據(jù)源。在項目中同時涉及到市場,產(chǎn)品和消費者,所以我們的思路是同時獲取到淘寶電商平臺上手機的銷售數(shù)據(jù)以及評論數(shù)據(jù),然后通過數(shù)據(jù)挖掘,從評論中挖掘出產(chǎn)品的屬性特征和用戶特征并進行關(guān)聯(lián),從而建立起市場、產(chǎn)品和消費者三者直接的聯(lián)系,然后進行數(shù)據(jù)分析,為我們幫助客戶制定品牌、產(chǎn)品以及價格策略提供依據(jù)。
二、數(shù)據(jù)采集
數(shù)據(jù)的采集上我們用python通過爬蟲的方式進行采集,思路為先模擬登錄淘寶,然后再通過關(guān)鍵字進行搜索,搜索后得到商品的列表,通過商品的列表信息,我們可以得到商品的id信息,得到id后我們通過把不同商品的id傳遞給不同的線程,通過多線程的方式同時爬取商品的銷售數(shù)據(jù),評論數(shù)據(jù)和評分?jǐn)?shù)據(jù)。
這里不再進行詳細(xì)的說明,有興趣的朋友可以參考具體代碼,鏈接(包括數(shù)據(jù))如下
https://github.com/qmqqyb/-/tree/master?github.com/qmqqyb/-/tree/master
由于評論的文件太大,沒辦法上傳到github上,所以如果有朋友對評論數(shù)據(jù)感興趣的可以私信我。
三、數(shù)據(jù)挖掘
數(shù)據(jù)挖掘這一部分相對來說比較困難一些,我們主要是對評論數(shù)據(jù)進行了挖掘,挖掘兩個方面的信息,一個方面是評論的標(biāo)簽(產(chǎn)品屬性+評論觀點),一部分是用戶分組信息,挖掘這兩部分信息的目的主要用這兩部分?jǐn)?shù)據(jù)建立消費者的用戶畫像,同時把消費者和市場和產(chǎn)品關(guān)聯(lián)到一起,把評論信息結(jié)構(gòu)化數(shù)值化,為后面的數(shù)據(jù)分析做準(zhǔn)備。
在數(shù)據(jù)挖掘部分主要用到的一些技術(shù)和工具是:
哈工大ltp分詞、詞性標(biāo)注、依存句法分析、命名實體識別、詞義角色標(biāo)注;
Word2vect的gensim模塊進行詞向量計算;
k_mens聚類,得到用戶分組和產(chǎn)品的屬性,并為后面產(chǎn)品評論特征和用戶特征做歸一化做準(zhǔn)備
具體大家可以參考如下代碼:
https://github.com/qmqqyb/comment_data_mining/tree/master?github.com/qmqqyb/comment_data_mining/tree/master
在鏈接的代碼中,涉及到的評論文本由于文件過大,暫時無法上傳,感興趣的朋友可以私信我。
四、數(shù)據(jù)分析
經(jīng)過數(shù)據(jù)的挖掘和一些數(shù)據(jù)的處理,我們得到4491款不同手機數(shù)據(jù)信息,數(shù)據(jù)包含61個字段
(1)數(shù)據(jù)的理解
①首先導(dǎo)入數(shù)據(jù),查看數(shù)據(jù)的基本信息
df = pd.read_csv('F:\pycharm project data\\taobao\phone\\final_goods_info.csv', encoding='utf-8', index_col=0)
print(df.columns)
這里我們可以把字段氛圍四類
第一類字段為一些基本的信息,主要包括以下
itemid:商品的id
category:商品的分類
sellerid:店鋪id
location:發(fā)貨地址
comment_count:評論數(shù)量
price:價格
sale_amount:銷售量
title:商品標(biāo)題,標(biāo)題中包括包含著品牌信息
sale_volume:產(chǎn)品的銷售額
第二類字段為產(chǎn)品的評論信息,主要包含電池、屏幕、音質(zhì)等,其中在每個屬性下分為下標(biāo)0和1.0表示negative評論,1表示positive評論,例如:
電池_0:該字段就表示電池負(fù)面評價字段,對應(yīng)的數(shù)值表示評論中出現(xiàn)該標(biāo)簽的頻數(shù)
電池_1:表示電池方面的正面評價,對應(yīng)的數(shù)值表示評論中出現(xiàn)該標(biāo)簽的頻數(shù)。
第三類字段為用戶信息分字段,用戶信息字段根據(jù)年齡和角色,兩個字段
年齡分組中:主要包含兒童、青年、中年和老年人這些值
角色分組中:主要包含學(xué)生,爸爸,媽媽、女朋友、男朋友這些信息
第四類字段只包含一個字段,主要是用戶對該產(chǎn)品的評分
score:用戶對商品的評分,5分為滿分
(2)數(shù)據(jù)的清洗以及數(shù)據(jù)的處理
①缺失值的填充
對于數(shù)值型的數(shù)據(jù),缺失值主要集中在評論頻次上,評論頻次的缺失主要由于該商品沒有涉及到該品論標(biāo)簽,所以我們可以直接填充為0.這樣也方便我們后續(xù)的數(shù)據(jù)類型的轉(zhuǎn)化;
df.fillna(0. inplace=True)
然后我們需要將頻次的數(shù)據(jù)轉(zhuǎn)化為以及其他一些有實際意義的數(shù)字轉(zhuǎn)化為int型
cols = ['itemid', 'category', 'sellerId', 'isTmall', 'comment_count', '系統(tǒng)很強大', '手機不錯', '用得久', '手機一般', '電池_1', '電池_0', '信號_1', '信號_0', '性價比_1', '功能_1', '功能_0', '音質(zhì)_1', '音質(zhì)_0', '屏幕_1', '屏幕_0', '正品_1', '軟件_1', '軟件_0', '按鍵_1', '按鍵_0', '外觀_1', '外觀_0', '拍照_1', '拍照_0', '手感_1', '死機_1', '配件_1', '配件_0', '包裝_1', '贈品_1', '贈品_0', '物流_1', '物流_0', '視頻_1', '發(fā)熱_1', '發(fā)熱_0', '輕便_1', '操作_1', '性價比_0', '正品_0', '手感_0', '死機_0', '包裝_0', '總體_1', '總體_0', '視頻_0', '輕便_0', '操作_0']
for col in cols:
df[col] = df[col].astype('int64')
對于用戶分組的信息,如果發(fā)生缺失則代表,該商品中沒有提及到手機適合的用戶對象,所以我們用空值進行填充
df.loc[df['年齡分組'] == 0. ['年齡分組']] = ''
df.loc[df['角色分組'] == 0. ['角色分組']] = ''
②異常值的處理
首先我們來看價格,我們做一各品牌手機價格的箱線圖:
我們可以發(fā)現(xiàn),榮耀手機的價格接近100000.導(dǎo)致箱線圖其他數(shù)據(jù)在圖中直接沒有顯示出來,但是我們查看其銷售量卻為0.所以這類數(shù)據(jù)是存在異常的,我們使用分位數(shù)的方法來去除異常數(shù)據(jù):
# 用分位數(shù)法去除異常值
high_q = df['price'].quantile(q=0.75)# 上四分位數(shù)
low_q = df['price'].quantile(q=0.25)# 下四分位數(shù)
interval = (high_q - low_q)# 分位數(shù)間隔
df = df.loc[(df['price'] > low_q - 3*interval) & (df['price'] < high_q + 3*interval), ]
去除異常數(shù)據(jù)之后,我們再來看一下各品牌手機的價格情況:
從上圖中可以看出,進行處理以后手機的價格基本位于11000元以下,符合我們的預(yù)期。
③數(shù)據(jù)分箱
為了方便我們后續(xù)的研究,我們對價格數(shù)據(jù)進行分箱處理
# 對價格進行分箱處理
labels = list(np.arange(60))
counts, bins_edge = np.histogram(df['price'], bins=60)
df['分組'] = pd.cut(df['price'], bins=bins_edge, labels=labels, include_lowest=True)
price_list = []
for bin_price in bins_edge:
price_list.append(round(bin_price, 1))
df['分組'] = pd.cut(df['price'], bins=bins_edge, labels=labels, include_lowest=True)
plt.figure(figsize=(20. 10))
sns.barplot(x=price_list[1: 61], y=counts)
plt.xticks(rotation=90)
plt.ylabel('count')
plt.title('price')
plt.show()
結(jié)果如下:
注意這里的橫軸表示每個價格小區(qū)間,如175.0代表0-175的價格,縱軸表示位于該價格區(qū)間中的商品數(shù)量。為了在后面表示方便,我們用0-59的標(biāo)簽來代表每個價格小區(qū)間。
(3)市場分析
首先根據(jù)價格分組我們可以得到價格和銷量,價格和銷售額之間的關(guān)系,如下:
# 按照價格分組數(shù)據(jù)進行切分
gp_df = df.groupby('分組')
# 價格和銷量的曲線圖
g_sales_amount = gp_df['sales_amount'].agg(sum)
plt.figure(figsize=(20. 12))
sns.pointplot(x=np.arange(60), y=g_sales_amount.values[0: 60], color='r')
plt.title('price-sales_amount')
plt.xlabel('price')
plt.xticks(rotation=90)
plt.ylabel('sales_amount')
plt.show()
# 價格和銷售量的關(guān)系
g_sales_volume = gp_df['sales_volume'].agg(sum)
plt.figure(figsize=(20. 12))
sns.pointplot(x=np.arange(60), y=g_sales_volume.values[0: 60], color='r')
plt.title('price-sales_volume')
plt.xlabel('price')
plt.xticks(rotation=90)
plt.ylabel('sales_volume')
plt.show()
# print(bins_edge)
對比價格和銷量,價格和銷售額的的關(guān)系,我們可以得出以下信息:
①價格和銷售額以及銷售量的關(guān)系都呈現(xiàn)出復(fù)雜的脈沖關(guān)系;
②在價格和銷量的關(guān)系中出現(xiàn)了三個顯著的波峰位置,一個位置是0.對應(yīng)0-175元的價格區(qū)間;一個位置是6.對應(yīng)1049.9-1224.9元的價格區(qū)間;一個是31的位置,對應(yīng)的是5424.5-5599.5元的價格區(qū)間;
③在價格和銷售額的關(guān)系中出現(xiàn)了兩個最顯著的波峰位置,一個是6對應(yīng)1049.9-1224.9元的價格區(qū)間,在價格低于1224.9這個區(qū)間內(nèi),價格和銷售額呈現(xiàn)出正相關(guān)的關(guān)系;另一個是31的位置,對應(yīng)的是5424.5-5599.5元的價格區(qū)間,在價格高于5599.5這個價位的時候銷售額明顯急劇下降。
④在6-31的位置區(qū)間內(nèi)不管是銷售量還是銷售額都呈現(xiàn)出反復(fù)脈沖的關(guān)系。
所以我們發(fā)現(xiàn)銷量和銷售額隨著價格的變動情況只有在0這個位置上差異非常大,我們把這一部分產(chǎn)品篩選出來查看一下,發(fā)現(xiàn)這是因為處于0-175這個價位的有一些老年機和兒童手表電話賣的特別火,但是由于價格較低,其本身銷售額和手機比還是差很多,現(xiàn)在我們把這一部分的數(shù)據(jù)剔除得到如下關(guān)系:
# 舍去價格位于0-175的價位之間的產(chǎn)品
df = df.loc[df['分組'] != 0. ]
# 按照價格分組數(shù)據(jù)進行切分
gp_df = df.groupby('分組')
# 價格和銷量的曲線圖
g_sales_amount = gp_df['sales_amount'].agg(sum)
plt.figure(figsize=(20. 12))
sns.pointplot(x=np.arange(60), y=g_sales_amount.values[0: 60], color='r')
plt.title('price-sales_amount')
plt.xlabel('price')
plt.xticks(rotation=90)
plt.ylabel('sales_amount')
plt.show()
# 價格和銷售量的關(guān)系
g_sales_volume = gp_df['sales_volume'].agg(sum)
plt.figure(figsize=(20. 12))
sns.pointplot(x=np.arange(60), y=g_sales_volume.values[0: 60], color='r')
plt.title('price-sales_volume')
plt.xlabel('price')
plt.xticks(rotation=90)
plt.ylabel('sales_volume')
plt.show()
# print(bins_edge)
我們現(xiàn)在可以發(fā)現(xiàn),當(dāng)剔除了0-175之間特殊消費的影響后,銷售額和銷售量隨價格波動的具有非常高的一致性,仍然有兩個關(guān)鍵的位置,一個位置是6.對應(yīng)1049.9-1224.9元的價格區(qū)間;一個是31的位置,對應(yīng)的是5424.5-5599.5元的價格區(qū)間。價格低于1224.9時,銷量和銷售額隨著價格的升高而升高;當(dāng)價格位于1224.9-5424.5元區(qū)間內(nèi)時,價格和銷售量和銷售額之間都呈現(xiàn)出反復(fù)脈沖的關(guān)系;當(dāng)價格為5424.5-5599.5元區(qū)間內(nèi)的時候銷售額和銷售量都出現(xiàn)顯著的波峰;當(dāng)價格高于5599.5元的時候,銷售量和銷售額都隨著價格升高急劇下降。
所以按照這樣的關(guān)系,我們可以把手機市場切分了三個市場,一個是1225元以下,我們稱之為低端市場,一個是1225-5425元之間,我們稱之為中端市場;一個是5425元以上,我們稱之為高端市場。
根據(jù)市場分析,我們首先來看一下各個市場的銷售額和銷售量的分布情況:
# 總體市場分析
df['市場分組'] = ''
df.loc[df['分組'].isin(list(np.arange(0. 7))), ['市場分組']] = 'low_market'
df.loc[df['分組'].isin(list(np.arange(7. 31))), ['市場分組']] = 'medium_market'
df.loc[df['分組'].isin(list(np.arange(31. 60))), ['市場分組']] = 'high_market'
print(df.head(100))
market_a_df = df.groupby('市場分組')['sales_amount'].sum().sort_values(ascending=False)
market_v_df = df.groupby('市場分組')['sales_volume'].sum().sort_values(ascending=False)
# 市場銷售額和銷售量分析
plt.figure(figsize=(10. 10))
plt.pie(market_a_df, labels=market_a_df.index, autopct="%1.1f%%")
plt.title('market_amount')
plt.show()
plt.figure(figsize=(10. 10))
plt.pie(market_v_df, labels=market_v_df.index, autopct="%1.1f%%")
plt.title('market_volume')
plt.show()
對比銷售額和銷售量在各個市場中的占比情況,我們可以得到以下信息:
低端市場中的銷售量占優(yōu)勢,但是由于價格過低,在營收方面占比最少,而中端市場依靠42.6%的市場銷量,創(chuàng)造了62.7%的市場營收,高端市場依靠6.9%的市場銷量,創(chuàng)造了23.0%的市場營收。
主要原因是低端市場的價格太低,雖然在銷量上占優(yōu),但是在營收上遠(yuǎn)遠(yuǎn)低于中端市場和高端市場中。但是我們重點應(yīng)該關(guān)注的是低端市場高銷量背后,是否隱藏著商業(yè)機會?
針對這個問題,我們來看一下,低端市場中的用戶群體:
# 低端市場用戶分布研究
low_df = df.loc[df['分組'].isin(list(np.arange(0. 7))), ]
g_low_df = low_df.groupby('年齡分組')['sales_amount'].sum().sort_values(ascending=False)
# 低端市場的用戶分布
plt.figure(figsize=(10. 10))
plt.pie(g_low_df, labels=g_low_df.index, autopct="%1.1f%%")
plt.title('low_market_user')
plt.show()
在上面的圖中,左邊是低端市場中用戶按照年齡分類后的分布情況,右邊是我國目前的人口結(jié)構(gòu)中的年齡分布情況。對比我們可以發(fā)現(xiàn)在低端市場中,主要是老年人用戶群體,占比超過53.3%,這非常符合我們的預(yù)期。但是我們也要注意到,按照低端市場在總市場占比50.5%,低端市場的用戶中年人占比33.9%,中年人在我國人口結(jié)構(gòu)中占比71.2%來計算,這部分中年人用戶是一個龐大的基數(shù)。那這部分中年人的消費為什么會在低端市場?
針對這個問題,我們來看一下中年人用戶的一些消費偏好:
# 低端市場中年人用戶畫像研究
cols = ['系統(tǒng)很強大', '手機不錯', '用得久', '手機一般', '電池_1', '電池_0', '信號_1', '信號_0', '性價比_1', '功能_1', '功能_0', '音質(zhì)_1', '音質(zhì)_0', '屏幕_1', '屏幕_0', '正品_1', '軟件_1', '軟件_0', '按鍵_1', '按鍵_0', '外觀_1', '外觀_0', '拍照_1', '拍照_0', '手感_1', '死機_1', '配件_1', '配件_0', '包裝_1', '贈品_1', '贈品_0', '物流_1', '物流_0', '視頻_1', '發(fā)熱_1', '發(fā)熱_0', '輕便_1', '操作_1', '性價比_0', '正品_0', '手感_0', '死機_0', '包裝_0', '總體_1', '總體_0', '視頻_0', '輕便_0', '操作_0']
# 進行用戶分組分析
g_low_um_df = low_df.loc[df['年齡分組'] == '中年人', cols].sum(axis=0).sort_values(ascending=False)
# 中年人用戶關(guān)注性能分析
plt.figure(figsize=(10. 10))
plt.pie(g_low_um_df[0: 10], labels=g_low_um_df.index[0: 10], autopct="%1.1f%%")
plt.title('low_muser_point')
plt.show()
#中年人品牌分析
bm_df = low_df.loc[df['年齡分組'] == '中年人']
g_low_bm_df = bm_df.groupby('brand')['sales_amount'].sum().sort_values(ascending=False)
# 中年人用戶品牌分析
plt.figure(figsize=(10. 10))
plt.pie(g_low_bm_df[0: 8], labels=g_low_bm_df.index[0: 8], autopct="%1.1f%%")
plt.title('low_muser_brand')
plt.show()
在上面的圖中,左邊是中年人用戶對手機某方面屬性關(guān)注的占比情況,右邊為中年人用戶對品牌的偏好??梢园l(fā)現(xiàn)中年人用戶更為關(guān)注手機的整體性能,以及外觀方面的屬性,更青睞于榮耀,華為和小米三個品牌。(注意這里把榮耀和華為拆開是為了后面的對比方便)
現(xiàn)在我們來看一下低端市場的用戶畫像:
# 低端市場用戶畫像研究
cols = ['系統(tǒng)很強大', '手機不錯', '用得久', '手機一般', '電池_1', '電池_0', '信號_1', '信號_0', '性價比_1', '功能_1', '功能_0', '音質(zhì)_1', '音質(zhì)_0', '屏幕_1', '屏幕_0', '正品_1', '軟件_1', '軟件_0', '按鍵_1', '按鍵_0', '外觀_1', '外觀_0', '拍照_1', '拍照_0', '手感_1', '死機_1', '配件_1', '配件_0', '包裝_1', '贈品_1', '贈品_0', '物流_1', '物流_0', '視頻_1', '發(fā)熱_1', '發(fā)熱_0', '輕便_1', '操作_1', '性價比_0', '正品_0', '手感_0', '死機_0', '包裝_0', '總體_1', '總體_0', '視頻_0', '輕便_0', '操作_0']
# 進行用戶分組分析
g_low_u_df = low_df[cols].sum(axis=0).sort_values(ascending=False)
# 低端市場用戶關(guān)注性能分析
plt.figure(figsize=(10. 10))
plt.pie(g_low_u_df[0: 10], labels=g_low_u_df.index[0: 10], autopct="%1.1f%%")
plt.title('low_user_point')
plt.show()
#低端市場品牌分析
g_low_m_df = low_df.groupby('brand')['sales_amount'].sum().sort_values(ascending=False)
# 中年人用戶品牌分析
plt.figure(figsize=(10. 10))
plt.pie(g_low_m_df[0: 8], labels=g_low_m_df.index[0: 8], autopct="%1.1f%%")
plt.title('low_user_brand')
plt.show()
我們可以發(fā)現(xiàn)低端市場中的用戶畫像和低端市場中中年人的用戶畫像差距非常大,在手機的屬性方面,低端市場的用戶更為關(guān)注的是手機的音質(zhì)、功能(手機的基本功能,例如電打電話、上網(wǎng)等)方面的屬性,這與低端市場中老年人占比較多有關(guān);品牌的偏好上,低端市場的用戶出現(xiàn)了一些不知名的小品牌,榮耀也占一定的比例。
現(xiàn)在我們來看一些中端市場的用戶畫像:
# 中端市場用戶畫像研究
cols = ['系統(tǒng)很強大', '手機不錯', '用得久', '手機一般', '電池_1', '電池_0', '信號_1', '信號_0', '性價比_1', '功能_1', '功能_0', '音質(zhì)_1', '音質(zhì)_0', '屏幕_1', '屏幕_0', '正品_1', '軟件_1', '軟件_0', '按鍵_1', '按鍵_0', '外觀_1', '外觀_0', '拍照_1', '拍照_0', '手感_1', '死機_1', '配件_1', '配件_0', '包裝_1', '贈品_1', '贈品_0', '物流_1', '物流_0', '視頻_1', '發(fā)熱_1', '發(fā)熱_0', '輕便_1', '操作_1', '性價比_0', '正品_0', '手感_0', '死機_0', '包裝_0', '總體_1', '總體_0', '視頻_0', '輕便_0', '操作_0']
# 進行用戶分組分析
medium_df = df.loc[df['分組'].isin(list(np.arange(7. 31))), ]
g_medium_u_df = medium_df[cols].sum(axis=0).sort_values(ascending=False)
# 低端市場用戶關(guān)注性能分析
plt.figure(figsize=(10. 10))
plt.pie(g_medium_u_df[0: 10], labels=g_medium_u_df.index[0: 10], autopct="%1.1f%%")
plt.title('medium_user_point')
plt.show()
#中端市場品牌分析
g_medium_m_df = medium_df.groupby('brand')['sales_amount'].sum().sort_values(ascending=False)
# 中年人用戶品牌分析
plt.figure(figsize=(10. 10))
plt.pie(g_medium_m_df[0: 8], labels=g_medium_m_df.index[0: 8], autopct="%1.1f%%")
plt.title('medium_user_brand')
plt.show()
對比中端市場用戶的畫像和低端市場中中年人的用戶畫像,可以發(fā)現(xiàn)在手機的屬性方面,中端市場用戶和低端市場中年人的用戶關(guān)注點近似,都是產(chǎn)品的功能(手機的基本功能,例如電打電話、上網(wǎng)等)、外觀、電池、拍照等;在品牌偏好上蘋果的價位較高,沒有千元機,所以低端市場的中年人用戶沒有選擇權(quán),但對華為、榮耀、小米幾個品牌商認(rèn)同度接近。
通過中年人用戶的對比我們發(fā)現(xiàn)一下幾點信息:
①低端市場中中年人用戶占比較大,按照低端市場銷量占比和中年人人口占比來計算,這是一個龐大的消費群體;
②單獨分析低端市場中年人用戶的畫像,發(fā)現(xiàn)其和低端市場整體用戶畫像差異較大而和中端市場整體用戶畫像差異較??;
③基于以上兩點,我們判斷,低端市場中的這一部分中年人的消費需求理應(yīng)在中端市場,但是由于某種原因使得他們只能選擇低端市場;
④中端市場和低端市場最顯著的區(qū)別就是低端市場的整體價格比中端市場要低很多,所以我們可以判斷低端市場中中年人這個群體的消費需求整體上受到收入上的抑制,并沒有充分釋放出來,在收入保持穩(wěn)定增長的前提下,未來中端市場的存在繼續(xù)壯大發(fā)展的潛力。
(4)中端市場產(chǎn)品和價格分析
在了解了中端市場存在著巨大的發(fā)展?jié)摿?,如何壯大自己品牌在中端市場的競爭力?
針對這個問題,我們首先再來看一下中端市場價格和銷售量以及銷售額的關(guān)系:
# 中端市場分析
gp_df = df.groupby('分組')
# 價格和銷量的曲線圖
g_sales_amount = gp_df['sales_amount'].agg(sum)
plt.figure(figsize=(20. 12))
sns.pointplot(x=np.arange(7. 31), y=g_sales_amount.values[7: 31], color='r')
plt.title('price-sales_amount')
plt.xlabel('price')
plt.xticks(rotation=90)
plt.ylabel('medium_sales_amount')
plt.show()
# 價格和銷售額的關(guān)系
g_sales_volume = gp_df['sales_volume'].agg(sum)
plt.figure(figsize=(20. 12))
sns.pointplot(x=np.arange(7. 31), y=g_sales_volume.values[7: 31], color='r')
plt.title('price-sales_volume')
plt.xlabel('price')
plt.xticks(rotation=90)
plt.ylabel('medium_sales_volume')
plt.show()
可以發(fā)現(xiàn)中端市場的價格和銷售額以及銷售量都存在著反復(fù)脈沖的復(fù)雜關(guān)系,那為什么會呈現(xiàn)出這種關(guān)系呢?
我們來觀察一下中端市場的消費者群體:
# 中端市場用戶研究
g_medium_df = medium_df.groupby('年齡分組')['sales_amount'].sum().sort_values(ascending=False)
# 低端市場的用戶分布
plt.figure(figsize=(10. 10))
plt.pie(g_medium_df, labels=g_medium_df.index, autopct="%1.1f%%")
plt.title('medium_market_user')
plt.show()
上圖是中端市場用戶的一個分布圖,由于我們在從評論中挖掘用戶信息的時候,主要是挖掘在評論中提及到的對象,比如某條評論中可能會提及到手機適合老人使用,那么我們就可以挖掘到老人這個用戶信息,但是對于大部分給自己買手機的消費者來說,不會表明自己的身份,只會對產(chǎn)品本身加以評論,所以圖中缺失的80.1%的用戶信息主要集中在中青年,有獨立的消費能力的人群中。
對于以中青年為主的中端市場,消費者有什么樣的消費偏好呢:
我們來看中端市場的用戶畫像:
對比以上兩個圖,我們可以得到以下幾點信息:
①中端市場的用戶除了關(guān)注手機整體性能這種通用屬性外,更加關(guān)注手機的外觀、拍照、電池、是否正品等方面的屬性;
②在品牌商中端市場的品牌偏好呈現(xiàn)多元化,華為、榮耀、vivo、小米、oppo等主要的品牌都占有一定的市場份額;
我們可以看到中端市場的用戶不管是在產(chǎn)品屬性還是品牌上,消費需求非常的多元化,這就很好地解釋了為什么為什么中端市場在會出現(xiàn)反復(fù)脈沖的關(guān)系。由于用戶消費需求的多元化,所以品牌商為了滿足不同消費群體的個性化需求,利用產(chǎn)品設(shè)計和價格的多元化變相實施價格歧視,達到利潤的最大化,所以基本在一定的價格區(qū)間內(nèi)就會出現(xiàn)一次銷量和銷售額的急劇上升,中端市場是一個多層次的市場。
為了這一結(jié)論更加可靠,我們可以從品牌的價格競爭策略上做一個橫向?qū)Ρ龋?/p>
# 中端市場價格多元化與銷售量的關(guān)系
pro_list = ['華為', '蘋果', '小米', '榮耀', 'oppo', 'vivo', '三星']
g_b_medium_df = medium_df.groupby('brand')['price']
price_sum_list = []
for i in range(len(pro_list)):
b_df = g_b_medium_df.get_group(pro_list[i]).value_counts()
price_sum_list.append(len(b_df))
# print(price_sum_list)
plt.figure(figsize=(12. 8))
sns.barplot(x=pro_list, y=price_sum_list)
plt.title('medium_market_brand_price')
plt.show()
g_b_medium_volume_df = medium_df.groupby('brand')['sales_volume']
volume_sum_list = []
for i in range(len(pro_list)):
b_df = g_b_medium_df.get_group(pro_list[i]).sum()
volume_sum_list.append(b_df)
# print(price_sum_list)
plt.figure(figsize=(12. 8))
sns.barplot(x=pro_list, y=volume_sum_list)
plt.title('medium_market_brand_volume')
plt.show()
在上圖中,左邊的圖表示在中端市場中每個品牌手機制定的價格數(shù)量,右邊的圖表示每個品牌手機在中端市場中的銷售額,我們可以很明顯的看出一致性非常強,既制定價格數(shù)越多的品牌,其對應(yīng)的銷售額就越多,這也很好的證明了我們上面的結(jié)論。
所以,在未來,手機廠商們應(yīng)該重點把握中端市場仍未飽和的機會,注重以年輕用戶喜歡拍照,注重產(chǎn)品外觀,看中產(chǎn)品是否為正品等方面的性能為導(dǎo)向,打造個性化、多樣化的產(chǎn)品,制定多元化的價格策略,并制定一定的品牌驗證機制,實現(xiàn)營收上的增長。
(5)高端市場產(chǎn)品和價格
高端市場在總的市場占比中超過20%,那么高端市場是否存在機會呢?
我們先來看一下高端市場的用戶分布情況:
上圖是高端市場用戶的一個分布圖,和中端市場類似,由于我們在從評論中挖掘用戶信息的時候,主要是挖掘在評論中提及到的對象,比如某條評論中可能會提及到手機適合老人使用,那么我們就可以挖掘到老人這個用戶信息,但是對于大部分給自己買手機的消費者來說,不會表明自己的身份,只會對產(chǎn)品本身加以評論,所以圖中缺失的98.0%的用戶信息主要集中在中青年,有獨立的消費能力的人群中。
接著我們來看高端市場用戶畫像:
# 高端市場用戶畫像研究
high_df = df.loc[df['分組'].isin(list(np.arange(31. 60))), ]
cols = ['系統(tǒng)很強大', '手機不錯', '用得久', '手機一般', '電池_1', '電池_0', '信號_1', '信號_0', '性價比_1', '功能_1', '功能_0', '音質(zhì)_1', '音質(zhì)_0', '屏幕_1', '屏幕_0', '正品_1', '軟件_1', '軟件_0', '按鍵_1', '按鍵_0', '外觀_1', '外觀_0', '拍照_1', '拍照_0', '手感_1', '死機_1', '配件_1', '配件_0', '包裝_1', '贈品_1', '贈品_0', '物流_1', '物流_0', '視頻_1', '發(fā)熱_1', '發(fā)熱_0', '輕便_1', '操作_1', '性價比_0', '正品_0', '手感_0', '死機_0', '包裝_0', '總體_1', '總體_0', '視頻_0', '輕便_0', '操作_0']
# 進行用戶分組分析
g_high_u_df = high_df[cols].sum(axis=0).sort_values(ascending=False)
# 高端市場用戶關(guān)注性能分析
plt.figure(figsize=(10. 10))
plt.pie(g_high_u_df[0: 10], labels=g_high_u_df.index[0: 10], autopct="%1.1f%%")
plt.title('high_user_point')
plt.show()
#中端市場品牌分析
g_high_m_df = high_df.groupby('brand')['sales_amount'].sum().sort_values(ascending=False)
# 中年人用戶品牌分析
plt.figure(figsize=(10. 10))
plt.pie(g_high_m_df[0: 5], labels=g_high_m_df.index[0: 5], autopct="%1.1f%%")
plt.title('high_user_brand')
plt.show()
上圖中左邊為高端市場中用戶關(guān)注的手機屬性分布情況,右圖為高端市場的用戶對品牌的偏好分布情況,對比后我們發(fā)現(xiàn):
①區(qū)別于中低端市場,高端市場中,用戶除了關(guān)注手機的一些通用屬性外,更為關(guān)注產(chǎn)品的外觀以及是否為正品;
②高端市場中品牌的集中度非常高,蘋果的銷量占比超過70%,華為和三星占一定比例。
對于高端市場而言,是否存在中端市場中的價格多元化以及銷售額正相關(guān)的關(guān)系呢?
我們來看高端市場中制定各品牌制定的價格數(shù)量和銷售額之間的關(guān)系:
# 高端市場價格多元化與銷售量的關(guān)系
pro_list = ['華為', '蘋果', '小米', '榮耀', 'oppo', 'vivo', '三星']
g_b_high_df = high_df.groupby('brand')['price']
price_sum_list = []
for i in range(len(pro_list)):
b_df = g_b_high_df.get_group(pro_list[i]).value_counts()
price_sum_list.append(len(b_df))
# print(price_sum_list)
plt.figure(figsize=(12. 8))
sns.barplot(x=pro_list, y=price_sum_list)
plt.title('high_market_brand_price')
plt.show()
g_b_high_volume_df = high_df.groupby('brand')['sales_volume']
volume_sum_list = []
for i in range(len(pro_list)):
b_df = g_b_high_df.get_group(pro_list[i]).sum()
volume_sum_list.append(b_df)
# print(price_sum_list)
plt.figure(figsize=(12. 8))
sns.barplot(x=pro_list, y=volume_sum_list)
plt.title('high_market_brand_volume')
plt.show()
在上圖中,左邊的圖表示在高端市場中每個品牌手機制定的價格數(shù)量,右邊的圖表示每個品牌手機在高端市場中的銷售額,我們可以很明顯的看出華為在高端市場中價格制定相對比較集中,但是其在銷售額上仍然表現(xiàn)比較好,這其實反映了華為進入高端市場是相對比較謹(jǐn)慎的。
那高端市場對于一個追求營收最大化的品牌來說,應(yīng)不應(yīng)該重點布局呢?
我們這里先看一下各品牌的市場占比以及均價其情況:
# 銷量和銷售額分析
g_a_df = df.groupby('brand')['sales_amount'].sum().sort_values(ascending=False)
g_v_df = df.groupby('brand')['sales_volume'].sum().sort_values(ascending=False)
# 銷售量
plt.figure(figsize=(12. 12))
plt.pie(g_a_df[0: 8], labels=g_a_df.index[0: 8], autopct="%1.1f%%")
plt.title('high_user_brand')
plt.show()
# 銷售額
plt.figure(figsize=(12. 12))
plt.pie(g_v_df[0: 8], labels=g_v_df.index[0: 8], autopct="%1.1f%%")
plt.title('high_user_brand')
plt.show()
在上圖中,左邊的圖表示各品牌的銷量占比,右邊的圖表示每個品牌手機銷售額占比。結(jié)合三星在中高端市場多元化的價格策略分析,我們發(fā)現(xiàn)盡管三星在中端市場和高端市場中實施了多元化的價格策略,但是從整體上來看,中高端市場的價格多元化戰(zhàn)略并沒有給三星帶來整體市場在銷量以及銷售額上的提升。這是什么原因造成的呢?
對比三星在中端市場和高端市場制定價格和銷售額的關(guān)系,我們發(fā)現(xiàn),三星在高端市場多元化的價格戰(zhàn)略實際上帶來了銷售的增長,但是在中端市場中三星的價格多元化戰(zhàn)略明顯比較失敗,因為小米、榮耀、vivo、oppo制定的價格數(shù)量都小于三星,但是在銷售額上卻要比三星的占比要高,最終從整個市場來看,榮耀、vivo、小米、oppo的銷售額都高于三星。
那為什么三星會在中端市場遭遇滑鐵盧呢?
我們來看一下中端市場各品牌手機的均價:
# 各品牌均價
g_mp_df = medium_df.groupby('brand')['price'].mean().sort_values(ascending=False)
plt.figure(figsize=(20. 8))
sns.barplot(x=g_mp_df.index, y=g_mp_df.values)
plt.xticks(rotation=90)
plt.title('m_brand_mean_price')
plt.show()
我們可以看出在中端市場,銷售額占比較大的幾個品牌除了蘋果外,華為、小米、榮耀、oppo、vivo的價格均低于三星。
從整體上來看,在中端市場中三星雖然價格也比較多元化,但是,第一品牌弱于蘋果,第二價格高于華為、小米、榮耀、oppo、vivo,所以導(dǎo)致三星在中端市場從品牌和價格上都不占優(yōu)勢,在中端市場中的銷量和營收占比都較低。這是三星在戰(zhàn)略上的失誤,三星并沒有在中端市場取穩(wěn)固,取得優(yōu)勢的前提下,再進入高端市場。
而相對來說國內(nèi)的品牌華為在中端市場穩(wěn)固的前提下非常謹(jǐn)慎地進入高端市場,并取得了一定的成效。vivo基本上沒有進攻高端市場,繼續(xù)做大坐穩(wěn)中端市場,并在2019年中市占率超過了oppo。oppo正在嘗試進入高端市場,中端市場的穩(wěn)固性出現(xiàn)一定的調(diào)整。小米也在嘗試進入高端市場,但是成效并不理想。
所以我們發(fā)現(xiàn)中端市場,對于一個品牌來說,不管是市場的穩(wěn)固,還是發(fā)展機遇都非常重要,對于高端市場,品牌的壁壘非常強,用戶對品牌的認(rèn)可度非常高,不應(yīng)該在中端市場得不到穩(wěn)固的情況下貿(mào)然進入。
(7)策略建議
①中端市場在未來仍然存在著較大的市場發(fā)展空間,品牌商應(yīng)該把握住中端市場的機會,進一步鞏固自己的市場地位。
②對于中端市場中競爭的各大品牌來說,應(yīng)該聚焦于消費者最關(guān)心的性能,重點打造差異化個性化產(chǎn)品,建立起與其他品牌的競爭優(yōu)勢,為品牌創(chuàng)收,并形成品牌標(biāo)簽,增強品牌的傳播力度,同時為品牌的升級奠定市場基礎(chǔ)和消費心理需求。
③在中端市場中,消費者對品牌的認(rèn)可度相對來說不高,消費者更加關(guān)注產(chǎn)品的性能和價格,對應(yīng)的應(yīng)該實施更為多元化的價格策略。
④目前國產(chǎn)品牌在中端市場占有絕對的優(yōu)勢,對于華為來說,高端市場的進入取得了初步的成效,但是仍然需要注意防守中端市場;對于oppo和小米來說,中端市場有一定程度的下降,進入高端市場需要謹(jǐn)慎,不能急于求成,一定要穩(wěn)固好中端市場;對于vivo來說,在中端市場得到強化的同時,應(yīng)該逐步打造幾款特征鮮明的產(chǎn)品,嘗試進入高端市場。
⑤在高端市場,用戶的品牌忠誠度非常高,品牌壁壘效應(yīng)強,不應(yīng)該在中端市場得不到穩(wěn)固的情況下貿(mào)然進入。
⑥對于已經(jīng)進入高端市場的品牌來說,需要建立品牌驗證機制,同時和子品牌建立一定的品牌隔離,保證高端市場用戶的消費體驗。
⑦在低端市場中,能夠通過打造一些剛需產(chǎn)品,迅速拓展品牌的銷量,所以對于其他小品牌來說,品牌的塑造應(yīng)該從中低端市場切入,在低端市場打造高性價比的剛需產(chǎn)品,擴大品牌受眾;在中端市場打造差異化、個性化的產(chǎn)品為品牌創(chuàng)收,強化自己的市場地位。
樂發(fā)網(wǎng)超市批發(fā)網(wǎng)提供超市貨源信息,超市采購進貨渠道。超市進貨網(wǎng)提供成都食品批發(fā),日用百貨批發(fā)信息、微信淘寶網(wǎng)店超市采購信息和超市加盟信息.打造國內(nèi)超市采購商與批發(fā)市場供應(yīng)廠商搭建網(wǎng)上批發(fā)市場平臺,是全國批發(fā)市場行業(yè)中電子商務(wù)權(quán)威性網(wǎng)站。
本文內(nèi)容整合網(wǎng)站:百度百科、知乎、淘寶平臺規(guī)則
本文來源: 淘寶電商數(shù)據(jù)挖掘與分析