服務公司 A
公司簡介
資本額約5000萬;員工人數約100人
困境
- 期望企業提昇企業及消費者對於產品需求的交集幅度,找出消費者心中的潛在需求及使用痛點
目標
- 期望能找到消費者的潛在需求,及找出消費者使用商品時之消費特性,作為商品開發及商品改良之方向
- 從眾多競爭品牌中,找到藍海市場發展策略
- 找出品牌行銷操作方案
成效
技術應用
STP行銷策略分析
爬蟲技術
機器學習
案例剖析
STP行銷策略程式實作管理意涵
我們以市場區隔(Segmenting)、目標市場標選擇(Targeting)與市場定位(Positioning)來說明主角林曉美,可以從中獲得的管理意涵。
市場區隔(Segmenting)
首先,透過「市場區隔表」(表1.),以消費者為導向,對各個市場的營業狀況已有個概略的輪廓。不但降低行銷部門蒐集市場資訊的花費,以及內部會議必須不斷溝通的成本,同時,還可依據林曉美想要知道像是業績百分比、總人數百分比、業績人口百分比等,做為進入潛在市場區隔進入的KPI。
此次,林曉美選擇「跑步使用者」與「瑜伽愛好者」作為市場切入點,同時發現「瑜伽愛好者」在意中高運動者、包覆性、與穩定;「跑步使用者」在意舒適、輕運動、與時尚。
最後,本章節管理意涵簡述:
行銷資訊科學人員可以利用程式技術蒐集網路輿情,降低各個部門向外部蒐集資料的費用。以消費者為導向的來檢視市場區隔,有效降低內部會議溝通成本。
根據主管想要知道的市場區隔資訊,像是業績百分比、總人數百分比,以及業績人口百分比等,了解可進入的市場區隔。(前提是外部輿情中,已有類似資訊,如果找不到,可以網路聲量等具代表性的變數做為替代)。
了解有意進入的市場區隔特徵,做為下一步「目標市場選擇(Targeting)」的重要參考依據。
表1.市場區隔表
目標市場標選擇(Targeting)
接下來,林曉美可從不同的資料來源,或主要公司客群所在的論壇中,進行交叉比對,通過PTT聲量與蝦皮銷量的驗證,確認市場具有高度潛力(表2.)。如此林曉美不但得知瑜伽愛好者在「無鋼圈、舒適」與跑步使用者在「檢視、跑步」是具有發展潛力的,還可以為後續的市場定位,確立可與其他競爭品牌比較的特徵標籤。
- 本章節管理意涵簡述:
- 確認有意進入的市場區隔,是具有發展規模(月銷量)與發展潛能(聲量或討論次數),讓往後投入行銷與研發資源時,是有利可圖的。
- 確認市場目標選擇的特徵標籤,做為市場定位的後續分析標的,如:瑜伽愛好者的「無鋼圈、舒適等」
表2. PTT與蝦皮的關鍵字比較
市場定位(Positioning)
確立了瑜伽愛好者與跑步使用者是一個可以進入的市場後,接下來透過市場定位分析了解競爭態勢。
首先從「瑜伽愛好者」來查看,在關鍵字「舒適」裡(圖1.),除了較強的兩個品牌Adidas與iFit外,其他的關鍵字分數均在平均數以下,意味如果我們要成為一個中階品牌,競爭對手的優先順序即是UA、SA、Decathlon、Puma與Nike,這也代表只要林曉美的品牌,在「舒適」的表現上,超越UA,就是在平均數以上了。
再來觀看各品牌在關鍵字「訓練」上的差異(圖2.),可以發現這次的競爭對手順序為Nike、SA、UA、Decathlon與Puma,所以林曉美的首要競爭對手不再是UA,反而是Nike了。這也就代表,我們能從定位分析中,非常仔細地辨識各項特徵標籤背後的競爭對手,藉此擬定行銷策略,再貫徹行銷4P戰略。
圖1. 關鍵字五線譜分析—舒適
圖2. 關鍵字五線譜分析—訓練
接下來,我們再看「跑步使用者」(圖3.),除了可以瑜伽愛好者的角度來定義首要競爭者外,這裡,另一個最重要的管理意涵為「可乘之機的差異化策略」。如果,我們一樣以中階品牌的觀點來檢視,細觀跑步使用者的兩個特徵「重訓」與「跑步」,我們可以發現「跑步」的特徵標籤明顯較「重訓」來說,每個品牌的關鍵字分數「幅度」沒來的這麼大,這意味著「跑步」的特徵在中階市場來說,現有產品還未做出這麼大幅度差異化。換言之,林曉美若要進入「中階的跑步使用者市場」,則可以先從「跑步」特徵下手,從中階市場內,再製作出更具顯著差異的產品,進而成為中階領導品牌。
圖3. 關鍵字五線譜分析—重訓
圖4. 關鍵字五線譜分析—跑步
讓我們再換一個角度來說明圖4.,觀察入微的讀者一定會發現Nike運動內衣在這項關鍵字似乎沒有什麼起色。可能的原因有二,一是Nike根本不想進入這塊市場,所以分數就沒有這麼高,但如果Nike很在乎這塊市場,而且產品做得也很不錯,為什麼得分還幾乎墊底呢?
這是因為本圖係以「消費者導向」製作出來,也就是說,業者可能自認為在「跑步」這項特徵上自己很優秀,但是,這並不代表「消費者」有相同想法,而這也等於消費者與業者有認知上的落差。所以,如果您是Nike運動內衣的產品經理,則可以在跑步的要素上,加入更多的行銷元素,拉高關鍵詞分數,以便讓更多使用者看到Nike的優點,以增加購買的可能。
總結來說,「定位分析」給了林曉美幾個非常重要的決策方向:
在高階品牌中,目前已經有業者達成高度差異化,林曉美可考慮改以「中階品牌」,進軍「瑜伽愛好者」與「跑步使用者」的市場區隔。
在「瑜伽愛好者」市場中,以「舒適」為特徵的中階品牌,首要競爭者為「UA」,因此林曉美可以針對UA進行調查,設法超越;「訓練/無鋼圈」特徵的中階品牌,首要競爭者為「Nike」,因此可以針對Nike進行調查試圖超越。
在「跑步使用者」的市場中,「重訓」特徵的中階品牌首要競爭者為「UA」,因此可以針對UA進行調查,設法超越;「跑步」特徵的中階品牌首要競爭者為「UA」,因此可以針對UA進行調查,設法超越。
在「跑步愛用者」的市場中,建議可以優先對「跑步」特徵進行差異化,因該特徵相較於「重訓」來說,中階品牌尚無明顯差異化,因此如果在行銷預算有限的狀況下,可先以此品牌「特徵」做出出發點。
若未來該市場的品牌成立後,仍需定期進行定位分析,以檢視自身與消費者對產品認知的差異,並加以調整。
Python網路爬蟲專案導向教學
工欲善其事,必先有「資料」!
在分析STP行銷策略前,我們必先取得「資料」方可開始分析,所以本章節會獨特的以「專案導向」的方式橫入Python網路爬蟲,再輔以本文的Jupyter notebook(嵌入連接)程式教學,希望讓讀者不僅能從文章中瞭解爬蟲基本概念,亦從Python程式實戰中實際體驗爬蟲的「快感」~!
接下來,讓我們用「批踢踢PTT」(台灣最大的BBS網站)爬蟲專案直搗Python爬蟲的概念!
Python爬蟲基礎架構圖
正式進入爬蟲專案前,我們要先簡要的理解「Python爬蟲基礎架構圖」(如圖1所示)。
圖1. Python爬蟲基礎架構圖
網頁伺服器
一般我們上網所查詢到的網頁,都會有一個伺服器在背後發送網頁資訊給使用者,讓我們能從網頁中取得我們想要的資訊,其實它的功能說白了就是「上網查資料時,伺服器會顯示網頁的內容」,如圖2所示。讀者也可以藉由本段網址進入我們即將要爬取的網頁:
圖2. PTT內衣版
爬取網頁
有了網頁伺服器的概念後,我們開始用來理解並執行網路爬蟲啦! 簡單來說,即是「使用Python程式,解決我們人類在網頁上複製並貼上到資料表的工作」,舉例而言,如果我要抓取圖2的所有標題,就要手動一個個的複製下來,但若使用Python,則可以迅速且無誤的爬取所有標題,甚至是所有推文內容等我們肉眼在網頁上看到的任何資訊。
在商業論點上,若我們在無內部資料的狀況下,則有很大的潛在機會要使用「外部資料」,若我們具有有爬蟲相關技術,不但可以在短時間內大量爬取外部資料、節省人工抓取資料的成本,更可以爬取到「消費者爲中心」的重要輿情資料,以作後續的分析。
在技術實作上,我們會使用Python語言的request套件裏面的get功能來抓取我們要的網址(如圖3所示),接着可以使用text的方式呈現結果(如圖4所示)。
圖3. request爬取網頁
圖4. 爬取結果呈現
讀者們會發現圖4呈現的結果非常凌亂,導致我們很難從這麼如此凌亂的字串中找出我們要的資料,如標題等,所以這時候我們就會使用到bs4來爲我們解析網頁架構,從網頁中的蛛絲馬跡找出我們想要的資料!
在技術實作上,我們會使用Python語言的bs4套件裏面的BeautifulSoup功能來解析我們爬下來的網頁(如圖5所示),並呈現令人感到較舒適的網頁架構(如圖6所示)。
圖5. 解析網頁
圖6. 解析結果呈現
接下來,我們就開始以「專案導向」的方式執行爬蟲吧!
首先,我們要先要到我們要爬取的網址,再點擊「F12」出現如圖7右邊的視窗,進而點擊中間出現的箭頭符號,然後選取我們想要爬取的相關文字(如圖7所示)。
圖7. 爬蟲抓取元素基礎流程示範
最後就會顯示如圖8的畫面啦!
圖8. 檢視網頁元素
接下來該如何截取網頁資料呢? 首先,讓我們開始小小入門一下html網頁語法,我們看到圖10的html語法中:
- 標籤:時常會出現div、span等字樣,我們將此稱爲「標籤」,其目的在告訴我們標籤範圍內的所代表的資訊
- 屬性:屬性裏面有包含屬性名稱與其所代表的值,在此目的爲在這麼多的標籤下,可以快速歸類並找到對應的屬性值,如同如10裏面的屬性爲class,其值爲 ”I-love-TMR” ,程式設計師可以將”I-love-TMR”當做敘述「行銷資料科學」敘事內容專門使用的屬性值,讓協作者或自己可以快速理解其代表意涵哦!
- 網頁顯示的文字內容:又稱作Text,這即是我們常在網頁中一般會看到的內容
圖9. html基本語法介紹
所以讓我們開始對照到我們本次要爬的PTT網頁來重新檢視圖10,我們就可以歸納出本段html語法:
- 「屬性值」:爲div標籤下的Class屬性的title屬性值,程式設計師應該想要標明這是「標題」的意思
- 「網頁顯示的文字內容」:爲圖10左邊顯示的標題名稱,果然在一般的網頁上顯示他的文字內容
圖10. 檢視網頁元素
開始具有了html與爬蟲的概念後,我們就可以實戰bs4程式語法來抓取相關資料。從圖11中,我們可以使用bs4的find_all功能來抓取div標籤下的title。
圖11. 實戰bs4來抓取資料
讓我們來看看圖12成果,我們果真抓下了div標籤下有關於title的屬性值的相關資料!
圖12. 爬取第一頁的所有標題相關資料
若要將我們真正想要的「文字內容」給抓出來,我們會使用「text」的函數功能,將其確實顯示出來,如圖12所示,我們就如實透過爬蟲抓下來我們想要的標題資料啦!
圖13. 爬取第一個標題的文字內容
如果要將所有的標題內容全數抓取,就會使用到我們的for迴圈技術,將圖12的ppt_title_text裏面所有的標題給抓出來。
圖14. 使用for迴圈將該頁面的標題給抓出來
若後續要抓取「貼文連結」、「貼文內容」甚至是「貼文留言」等ptt相關文字內容,都是可以使用類似方法抓取的哦!也歡迎讀者點解下述Jupyter notebook鏈接,更深入的瞭解PTT其他內容如何抓取。當讀者慢慢熟悉了本文分享的爬蟲訣竅,我們有信心讀者可以用此方法開始爬取大約90%以上自己想要抓取資料的網頁!
至於剩下的10%則是比較難爬取的網頁,如:蝦皮、FB、IG等。在後續的文章中,我們會選擇蝦皮當做進階爬蟲的教學,其同時也是我們後續要分析的資料來源。