最近收到不少留言,除了夸小Z腦洞奇清的,問最多的竟然是:
“我是偏運營/業務分析的,復雜的分析算法我不會,還有什么方法能夠對評價類數據做更深入分析嗎?”
剛開始我會昧著良心回復“詞云啊!”
然鵝總是會被DISS“詞云太簡單了吧,有點low!”
我猙獰一笑,雖然這個問題有點像“我長的不帥也沒錢,有沒有什么辦法能夠追到白富美”。但從數據分析的角度來看,仍不失為一個好問題。
好在哪里呢?在回答之前,先瞧一個數據分析常見思維誤區:
一些同學總是認為,分析不出來有價值的結果,是因為有兩只攔路虎,一是數據量和維度不夠,二是因為自己不會復雜的分析模型和算法。然后,也沒有再去思考,如何基于現狀更進一步地分析問題。
數據維度和算法的價值當然不言而喻,但總是把分析不出結果和價值的鍋甩出去,這種歸錯于外的思維非常危險,它營造了一種“分析不出結果,我也沒辦法”的心安理得。
而“我不會高階分析工具和方法,但基于現狀,去思考或者詢問有沒有更好的分析方式”,雖然這種思維也有槽點,但本身算是一種在現階段嘗試去解決問題的思路。
So,我們循著后一種思路,以李子柒在天貓上賣的一款辣椒醬評價為例:
看看基于現有的“單薄”數據維度,怎樣讓分析再向前邁進一步。
01 明確目標
魯迅曾經沒說過:“明確分析目標,你的分析已經成功了一大半”。
做深入分析之前,面對這一堆評價數據,我們要明確,究竟想通過分析來解決什么問題?只有明確分析目標,才能把發散的思維聚焦起來。
為了給大家一個明確的分析錨點,假設我們是這款辣椒醬的產品負責人,要基于評價,更好的獲悉消費者對產品的看法,從而為后續產品優化提供思路。
所以,我們的分析目標是“基于評價反饋,量化消費者感知,指導優化產品”。
注:這里給到的一個假設目標并不完美,主要是拋磚引玉,大家可以從不同的維度來提出目標假設,嘗試不同分析方向。
是不是有那么一丟丟分析思路了?別急,目標還需要繼續拆解。
02 拆解目標
這些年來,最有價值的一個字,便是“拆”了:
在數據分析中也是同理。
我們在上一步已經確定了“基于評價優化產品”的目標,但這只是一個籠統模糊的目標。要讓目標真正可落地,“拆”是必不可少的一步。
“拆”的藝術大體可以分為兩步,第一步是換位思考。
評價來源于客戶,客戶對產品有哪些方面的感知呢?我們可以閉上眼睛,幻想自己購買了這款辣椒醬。
接著進入第二步,基于換位的邏輯拆解,這里可以按照模擬購物流程的邏輯來拆解:
首先,李子柒本身有非常強的IP光環,大家在選購時或多或少是慕名而來。所以,在購買決策時,到底有多大比例是沖著李子柒來的?
Next,在沒收到貨前,影響體驗的肯定是物流,付款到收貨用了幾天?派送員態度怎么樣,送貨上門了嗎?
收到貨后,使用之前,體感最強的則是包裝。外包裝有沒有破損?有沒有變形?產品包裝是精致還是粗糙?
接下來是產品體驗,拿辣椒醬來說,日期是否新鮮?牛肉用戶是否喜歡?到底好不好吃?
吃完之后,我們建立起了對產品的立體感知——性價比。我花錢買這個產品到底值不值?這個價位是貴了還是便宜?實惠不實惠?
品牌、物流、包裝、產品(日期、口味)和性價比五大天王鋒芒初現,我們下一步需要量化消費者對于每個方面的感知。
03 Python實現
對于評價的拆解和量化,這里介紹一種簡單粗暴的方式,按標點把整條評論拆分成零散的模塊,再設置一系列預置詞來遍歷。
注:再次強調我們這篇內容的主題是“如何基于最基礎的技術,做進一步的分析,這里假設我們只會最基礎的python語法和pandas。
有同學會問“為什么不用分詞”!此問可謂正中我懷。不過,我把這個問題當作開放式思考題留給大家——如果用分詞,如何實現同樣的效果,以及有什么優缺點?
言歸正傳,我們先看看實戰爬取的評論數據,一共1794條:
把每條評論按照標點拆分成短句,為了省事,用了簡單的正則拆分:
我們發現,就算是比較長段的評論,也只是涉及到品牌、物流、包裝、產品和性價比的部分方面,所以,我們依次去遍歷匹配,看短句中有沒有相關的內容,沒有就跳過,有的話再判斷具體情緒。
以物流為例,當短句中出現“物流”、“快遞”、“配送”、“取貨”等關鍵詞,大體可以判定這個短句和物流相關。
接著,再在短句中尋找代表情緒的詞匯,正面的像“快”、“不錯”、“棒”、“滿意”、“迅速”;負面的“慢”、“龜速”、“暴力”、“差”等。
在我們預設詞的基礎上進行兩次遍歷匹配,大體可以判斷這句話是不是和物流相關,以及客戶對物流的看法是正面還是負面:
為方便理解,用了灰常丑陋的語法來一對一實現判斷。包裝、產品和性價比等其他模塊的判斷,也是沿用上述邏輯,只是在預設詞上有所差異,部分代碼如下:
defjudge_comment(df,result): judges=pd.DataFrame(np.zeros(13*len(df)).reshape(len(df),13), columns=['品牌','物流正面','物流負面','包裝正面','包裝負面','原料正面', '原料負面','口感正面','口感負面','日期正面','日期負面', '性價比正面','性價比負面']) foriinrange(len(result)): words=result[i] forwordinwords: #李子柒的產品具有強IP屬性,基本都是正面評價,這里不統計情緒,只統計提及次數 if'李子柒'inwordor'子柒'inwordor'小柒'inwordor'李子七'inword or'小七'inword: judges.iloc[i]['品牌']=1 #先判斷是不是物流相關的 if'物流'inwordor'快遞'inwordor'配送'inwordor'取貨'inword: #再判斷是正面還是負面情感 if'好'inwordor'不錯'inwordor'棒'inwordor'滿意'inwordor'迅速'inword: judges.iloc[i]['物流正面']=1 elif'慢'inwordor'龜速'inwordor'暴力'inwordor'差'inword: judges.iloc[i]['物流負面']=1 #判斷是否包裝相關 if'包裝'inwordor'盒子'inwordor'袋子'inwordor'外觀'inword: if'高端'inwordor'大氣'inwordor'還行'inwordor'完整'inwordor'好'inwordor '嚴實'inwordor'緊'inword: judges.iloc[i]['包裝正面']=1 elif'破'inwordor'破損'inwordor'癟'inwordor'簡陋'inword: judges.iloc[i]['包裝負面']=1 #產品 #產品原料是牛肉為主,且評價大多會提到牛肉,因此我們把這個單獨拎出來分析 if'肉'inword: if'大'inwordor'多'inwordor'足'inwordor'香'inwordor'才'inword: judges.iloc[i]['原料正面']=1 elif'小'inwordor'少'inwordor'沒'inword: judges.iloc[i]['原料負面']=1 #口感的情緒 if'口味'inwordor'味道'inwordor'口感'inwordor'吃起來'inword: if'不錯'inwordor'好'inwordor'棒'inwordor'鮮'inwordor '可以'inwordor'喜歡'inwordor'符合'inword: judges.iloc[i]['口感正面']=1 elif'不好'inwordor'不行'inwordor'不鮮'inwordor '太爛'inword: judges.iloc[i]['口感負面']=1 #口感方面,有些是不需要出現前置詞,消費者直接評價好吃難吃的,例如: if'難吃'inwordor'不好吃'inword: judges.iloc[i]['口感負面']=1 elif'好吃'inwordor'香'inword: judges.iloc[i]['口感正面']=1 #日期是不是新鮮 if'日期'inwordor'時間'inwordor'保質期'inword: if'新鮮'inword: judges.iloc[i]['日期正面']=1 elif'久'inwordor'長'inword: judges.iloc[i]['日期負面']=1 elif'過期'inword: judges.iloc[i]['日期負面']=1 #性價比 if'劃算'inwordor'便宜'inwordor'賺了'inwordor'囤貨'inwordor'超值'inwordor '太值'inwordor'物美價廉'inwordor'實惠'inwordor'性價比高'inwordor'不貴'inword: judges.iloc[i]['性價比正面']=1 elif'貴'inwordor'不值'inwordor'虧了'inwordor'不劃算'inwordor'不便宜'inword: judges.iloc[i]['性價比負面']=1 final_result=pd.concat([df,judges],axis=1) returnfinal_result
運行一下,結果畢現:
第一條評價,很明顯的說快遞暴力,對應“物流負面”計了一分。
第二條評價,全面夸贊,提到了品牌,和正面的物流、口感信息。
第三條評價,粉絲表白,先說品牌,再夸口感。
看起來還不賴,下面我們對結果數據展開分析。
04 結果分析
我們先對結果做個匯總:
一共爬了1794條評論,評論中有提及到我們關注點的有1937次(之所以用次,是因為一條評論中可能涉及到多個方面)。粗略一瞥,口感和原料占比較高,畫個圖更細致的看看。
看來,辣椒醬的口感(好不好吃)是客戶最最最關注的點,沒有之一,占比高達57.98%,領先其他類別N個身位。
慢隨其后的,是原料、品牌、性價比和包裝,而物流和日期則鮮有提及,消費者貌似不太關注,或者說目前基本滿足要求。
那不同類別正負面評價占比是怎么樣的呢?
整體來看,主流評論以好評為主,其中口感、品牌(這個地方其實沒有細分)、包裝以正面評價占絕對主導。
原料和性價比,負面評價占比分別是14%和38%,而物流和日期由于本身占比太少,參考性不強。
作為一個分析師,我們從原料、性價比負面評價占比中看到了深挖的機會。
原料負面評價是單純的在吐槽原材料嗎?
初步篩選之后,發現事情并沒有那么簡單。
原料負面評價共出現了53次,但里面有24次給了口感正面的評價,甚至還有8次原料正面評價!羅生門嗎?
這8次即正面又負面的原料評價,其實是揭了我們在預置詞方面的不嚴謹,前面判斷牛肉相關的短句,“小”就是負面,“大”就是正面,有些絕對。
而判斷準確的原料差評中,雖然有一半說味道不錯,但還是不留情面的吐槽了牛肉粒之小,之少,甚至還有因此覺得被騙。
如何讓牛肉粒在體感上獲取更多的好評,是應該在產品傳播層做期望控制的宣導?還是在產品層增加牛肉的“肉感”?需要結合具體業務進一步探究。
性價比呢?
性價比相關負面評價共58次,負面情緒占性價比相關的38%。這些負面評價消費者大多數認為價格偏貴,不劃算,還有一部分提到了通過直播渠道購買價格相對便宜,但日常價格難以接受。
坦白講,這款辣醬的價格在線上確實屬于高端價位,而價格體系是一個比較復雜的場景,這里暫不展開分析。
但是對于這部分認為性價比不符預期的客戶,是應該因此反推產品價格,還是把他們打上“價格敏感的標簽”,等大促活動喚醒收割,這是兩條可以考慮并推進的道路。
物流和日期提及太少,不具備參考性,但為了不那么虎頭蛇尾,我們還是順手看一眼物流負面評價:
果然,物流是一項必備需求,基本滿足預期的話消費者并不會主動提及,沒達預期則大概率會雷霆震怒。而物流暴力、速度太慢是兩個永恒的槽點。
至此,我們基于看起來簡單的評價數據,用簡單淺白的方式,做了細致的拆分,并通過拆分更進一步的量化和分析,向深淵,哦不,向深入邁進了那么一丟丟。
總結
文中涉及到的代碼,主要是拋磚引玉,大家還可以結合實際,做更精細的梳理和判斷。在整個分析過程中,去思考如何更深入的分析,如何明確分析方向,如何通過換位思考和流程拆解,把大目標拆成可以分析的小目標,并最終落地,則需要在實踐中反復磨練,與君共勉!
-
模塊
+關注
關注
7文章
2728瀏覽量
47614 -
算法
+關注
關注
23文章
4624瀏覽量
93116 -
python
+關注
關注
56文章
4801瀏覽量
84867
原文標題:我用python分析了李子柒的辣醬真的好吃嗎?
文章出處:【微信號:AI_shequ,微信公眾號:人工智能愛好者社區】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論