行銷定價新型態:即時動態定價策略與實做(附實現程式碼)

文章推薦指數: 80 %
投票人數:10人

動態定價顧名思義是一種採取變動價格的定價方式。

在電子商務的世界裡,透過資料科學的分析與應用,產品價格變化的時間間距,可以小到以分秒來計。

Marketingdatascience關於我們經理人商普筆記資料科學精華共筆文章行銷資料科學實戰案例產業情境數據分析應用熱門課程資訊所有文章檢索到粉專聯絡我們行銷定價新型態:即時動態定價策略與實做(附實現程式碼)行銷資料科學FollowMar31,2018·12minread動態定價顧名思義是一種採取變動價格的定價方式。

在電子商務的世界裡,透過資料科學的分析與應用,產品價格變化的時間間距,可以小到以分秒來計。

根據報導,亞馬遜於2013年,平均每天有超過250萬次的動態價格調整。

在傳統定價中,價格通常受到供給與需求的影響。

而動態定價,則是透過系統即時分析、設定,產生價格的自動化過程。

在實體商店裡,想要改變成千上萬件產品的價格並不容易,因為它必須透過人工將架上的產品重新換置。

然而,在網路上卻相對簡單,因為網路商店可透過系統的設定,依據消費者近期的購買行為、銷售量、庫存量、甚至網路上最新的討論議題…等,作為產品定價的判斷因素,即時更改網路上的產品定價。

因此,就成本面與時效面來說,動態訂價提供網路商店更多且更即時的行銷操作空間,同時也更有利於庫存管理。

例如:當新聞報導空氣品質嚴重不佳時,網路商店可透過資料分析,即時發展出多款空氣清新機商品的限時價格促銷活動,如不只降價,還買大送小。

而當時間一到,系統馬上會將多項商品恢復原價。

另一種常用動態定價的情況,則就供給狀況的變化而有所轉換。

例如:小至海鮮、酒品,大至預售屋,時常就以「時價」的方式來反應供給所造成的情形。

再舉一個大家耳熟能詳的範例,Airbnb的經營模式正是因為擁有「給力(利)」的動態定價,才讓他們的房屋租借者不虞匱乏(因為受動態定價的影響,所以依照淡旺季快速調整營收策略,想辦法多賺點錢),這樣就能提供消費者更好的服務。

以下,簡單說明動態定價能為企業帶來的好處:增加企業利潤率。

提高產品轉換率。

提升庫存管理效益。

刺激離峰尖峰時段的銷售。

提升對競爭者價格變動的反應。

至於如何進行動態定價,常見的動態定價方法如下:時間動態定價:根據假日、淡旺季、離峰尖峰時間…等,進行動態定價。

地理動態定價:根據不同區域的狀態,進行動態定價。

競爭者動態定價:根據競爭者價格即時調整售價,如:限時最低價、產品組合定價…等。

消費者動態定價:對猶豫不決的顧客提供價格誘因促使購買。

而如今面臨電商及社群經營的型態考量下,我們更要參考淺談資料格式—結構化與非結構化資料文章的概念,尋常結構化資料蒐集模式,要儘快結合「非結構化」的資料,如:文字、圖片,迅速掌握消費者對於商品的看法,深入消費者的想法,以求更精準化的行銷動態定價!但是…身為一個平台經營商,不可能時刻盯在電腦前面,觀察消費者的需求,動態調整定價….,更遑論一秒可能產生千乃至萬評論資料的電商平台。

就算我們的眼睛有這小男孩這麼大,也看不完所有非結構化的文字資料阿…所以,這時候我們就要應用到行銷資料科學中的「機器學習」功能,來協助我們進行自動化的動態定價。

因為電商或社群網路的非結構化資料量非常龐大,必須尋求機器/電腦的幫助,這時候就會用到機器學習!(Credit:周晏汝)動態定價—Python實戰去!講解過整個動態定價的概念後,接著,我們要深入行銷資料科學的「資料科學」領域,結合「結構化」與「非結構化」資料結構,將爬蟲下來的實際資料,以Python3進行機器學習實戰!我們即將使用Mercari電商平台上的爬蟲資料進行分析,並以「顧客行為」的角度切入動態定價。

讀者可以想像一下,當有一賣家急著出清自家球鞋,並已將商品基本資訊,如:商品名稱—輕量避震籃球鞋商品狀態—7成新商品敘述—高級名牌球鞋!限時優惠!商品分類—球鞋商品品牌—好棒棒牌運費狀況—賣家付…等基本資料完成後,接著,最困難的就來了,賣家該如何根據現有狀況定價?如果這時突然跳出一系統訊息:「根據行情,本球鞋建議售價1000元!可儘早賣出!」這時賣家就可能受到系統訊息的影響,想說:「反正我要趕快出清,我就用系統建議架個賣掉好了。

」也就是賣家的這個想法,我們已經不知不覺觸發了電商平台背後的「動態定價的機制」。

讀者可以花幾秒想想,這個簡單的機制背後到底隱含了什麼樣的目的?最主要目的:預測定價,再提供電商平台的賣家商品價錢建議,降低賣家定價猶豫的時間,提昇上架的速率。

電商平台化被動為主動,增加操縱賣家「動態售價」的可能性。

讓電商平台迅速掌握不同品項的動態定價,便可根據時間週期調整商品供需。

利用機器學習模型與損失函數之搭配,來誘導賣家訂出「不割喉式競爭」的價格。

從此開始,難度會相較於動態定價概念來說高上許多!前方高能!非戰鬥人員請迅速撤離!平台簡介:Mercari為日本社群電商銷售最大的平台,提供賣家在上面銷售自家產品(有點像是掏寶)。

方法:主要以改良過的機器學習模型Ridgeregression,製作模型,進行預測。

資料:Mercari的公開資料,共約148萬筆文字資料,可在本檔案連結下載數據。

數值變數price:每一物品的下標價格,也是廠商要可以對賣家做價錢自動建議的變數類別變數shipping:為一二元變數,1代表是賣家付錢,0代表買家付錢item_condition_id:代表商品狀況name:商品名稱brand_name:商品品牌category_name:商品分類item_description:賣家對商品的敘述載入套件將重要套件載入python環境。

讀取資料集並檢視價格檢視價格的目的在於挑選損失函數了解價格分佈由價格敘述性統計中,我們發現價格迥異極大,大(max)則到2009美元,平均(mean)27美元,小(min)則0元,且可發現價格分佈呈現右偏分佈,必須使用log轉換,方可將價格的右偏分佈儘量導正到常態分佈,讓訓練上比較快收斂。

經過logtransformation後,可以發現呈現常態分佈,對於訓練收斂上會比較適合損失函數因為價錢高低之間的不同,如果要做預測,最好使用RMSLE(RootMeanSquareLogarithmicError)的方式當作損失函數,主要原因是用來調節「預測值」低於「真實值」的損失,讓預測出來的結果儘量不會過低於真實值,以免造成電商平台割喉式競爭,得不償失。

RMSLE美麗的數學式舉例來說:我的預測值=售價6元;真實值=售價10元,他的RMSLE=0.4520我的預測值=售價14元;真實值=售價10元,他的RMSLE=0.3102明顯發現當我的預測值低於真實值時,就會受到損失函數的懲罰(penalty),那透過機器學習最常使用的梯度下降法(gradientdescent)來說,便會優先將售價6元的數值調高,想辦法降低RMSLE的損失。

那以「商業應用」來說,就代表著提供賣家儘量不低於市場行情的建議售價,也就避免了降價求售,而電商平台賺不到抽成費用的窘境。

#預測值=6;真實值=10的RMSLE計算式np.sqrt(np.mean(np.power(np.log1p(6)-np.log1p(10),2)))=0.4055#預測值=14;真實值=10的RMSLE計算式np.sqrt(np.mean(np.power(np.log1p(14)-np.log1p(10),2)))=0.3102建模檢視完價格變數及訂定損失函數後,來建模吧,從現在開始,我們便要針對建模逐步做詳細說明,讓我們趕緊來體驗吧!定義基本品牌數值定義模型function參數開始定義模型文字處理的函式與損失函數。

並進行非結構化文字資料與結構化資料處理。

自然語言分析前處理任何非結構化的資料都必須要轉換成模型訓練能使用的「結構化資料」。

在item_description的欄位中放的是商品的敘述,而商品的描述是非常長的,可比一篇短文,因此在自然語言處理中,我們時常利用TF-IDF法來找到關鍵字,作分析使用;TF-IDF法的全名是TermFrequency-inverseDocumentFrequency,簡單來說,他是一種篩選關鍵字的方法,也是現在常使用的文字加權技術,主要有以下兩類:字詞頻率(TermFrequency):計算每文章字詞頻率,我們常用詞袋稱之(bagofwords)。

逆文件頻率(InverseDocumentFrequency):一個單字出現在文章數目的逆向次數,也就是說,如果該字太常出現,就顯得不重要,例如:「你」、「我」、「他」、「了」、「吧」,這種不具有指標性的主詞或語氣詞,他得加權數值就會顯低上許多。

會取log的原因在於隨著每個字詞的增加,其差異次數必是呈現遞減式遞增,如10-9與1000-999之差異,一個是0.1,一個卻是0.001的差距。

舉簡單例子來說,我們有10篇文章當作樣本「鍾皓軒」這個字詞卻在同一篇文章中出現過100次,那「鍾皓軒」的TF-IDF就是100(TF)*log(100/10)=230「我」這個字詞在10篇文章中都有出現,且僅出現過10次,那「我」字詞的TF-IDF就是10(TF)*log(10/10)=0所以從此範例中清楚可見「鍾皓軒」相對於「我」來說,要重要許多!最後將所有非結構化變數轉變成稀疏結構化矩陣,以便於模型分析,因為一般非結構化的變數如果要轉換成結構化資料,維度通常都會破千萬以上,且並不代表每一個欄位轉換後都有數值存在,所以才稱作「稀疏結構化矩陣」或直接稱作「稀疏矩陣」。

本次資料的稀疏矩陣的維度有4900萬維度接下來就讓我們開始真正建模吧!脊迴歸(Ridgeregression)使用本方法的原因在於,因為分析的變數極多,共有7萬多筆自變數,所以一般線性迴歸模型使用的最小平方法忌諱的共線性便容易產生,讓權重(Beta)變得非常不穩定,因此我們便加入L2正規化函式於損失函數後,讓Beta的變動縮小,以達到平衡。

將線性迴歸的加入L2調教,轉變成脊回歸,縮減共線性之可能性使用脊迴歸訓練完畢後,我們發現其RMSLE=0.4677,已經算是不錯的標準,接著讓我們來製作出真實值與預測值的比較圖表。

Bingo~!根據以往資料訓練後的動態定價產生拉~也就是說,當賣家輸入一串文字與相關結構化訊息後,預測的動態定價就會產生!列出前10筆價格的預測與真實價格價格預測上仍有待更多的資料數目來加強準確度,至於RMSLE是否有發揮預測值比真實值低就會進行調節之作用(逞罰)?結果是很明顯的:有!「預測值(Pred_price)」的個數明顯高於「真實值(true_price)」的個數,這讓平台商推薦給賣家的價格上,不會一面倒造成「割喉式競爭」。

再看平均數值,發現「預測值」的價格比「真實值」的價格普遍來說低上3~6美元,代表預期值個數雖多,但並不會因此大幅度的調昇價格,降低消費者因貴不買之可能性。

由這個動態定價的實例來看,確實有機會因為建議賣家售價,降低賣家定價猶豫的時間,提昇上架的可能性。

同時增加操縱賣家「動態售價」的可能性。

讓電商平台迅速掌握不同品項的動態定價,便可根據時間週期調整商品供需。

利用機器學習模型與損失函數之搭配,來誘導賣家訂出「不割喉式競爭」的價格。

敬請期待!即時動態定價—集成模型常言道:「三個臭皮匠,勝過一個諸葛亮」,我們在動態定價—Python實戰去!僅提及最基本的Ridgeregression,試想如果我同時串連好幾個模型進行預測會不會更準確呢?這就是機器學習中集成模型(Ensemblemodel)的概念,在往後的貼文,我們會使用三個不同參數的模型製作集成模型,造就RMSLE降低3%-10%的功效,使結果更加準確!想了解集成模型與營收之間的關係嗎?歡迎繼續閱讀即時動態定價「實做2」—集成模型(附實現程式碼)往後的貼文都會持續在行銷資料科學粉絲專頁上發表喔!再請大家多多follow我們的粉絲專頁:行銷資料科學EnjoyMarketingDataScience!共同作者:鍾皓軒(臺灣行銷研究有限公司共同創辦人)羅凱揚(台科大兼任助理教授)楊超霆(臺灣行銷研究有限公司資料科學研發工程師)歡迎加入我們的Line@獲取即時訊息!https://line.me/R/ti/p/%40cde8265r您可能有興趣:歡迎加入我們的Line@獲取即時訊息!https://line.me/R/ti/p/%40cde8265rMarketingdatascience行銷資料科學 — 數據驅動精準行銷。

基礎概念、趨勢、方法和實戰。

2023行銷資料科學動態定價非結構化資料RidgeRegression行銷資料科學實戰案例202 claps2023Marketingdatascience行銷資料科學 — 數據驅動精準行銷。

基礎概念、趨勢、方法和實戰。

Writtenby行銷資料科學FollowMarketingdatascience.台灣第一個行銷資料科學(MDS)知識部落,本粉絲專頁在探討行銷資料科學之基礎概念、趨勢、新工具和實作,讓粉絲們瞭解資料科學的行銷運用,並開啟厚植數據分析能力之契機。

粉絲專頁:https://www.facebook.com/MarketingDataScienceTMRMarketingdatascience行銷資料科學 — 數據驅動精準行銷。

基礎概念、趨勢、方法和實戰。



請為這篇文章評分?