雅虎奇摩
在臺灣,Yahoo奇摩是電子商務龍頭之一,去年,Yahoo奇摩旗下購物中心線上商品超過40萬件,超級商城更有3,800多家廠商提供超過260萬件商品,供300多萬名會員選購。而光是今年4月造訪這兩個電子商務平臺的人數合計更達到5百萬人次。根據Yahoo奇摩內部調查,72%的網站造訪者在造訪的同一天就會做出購買決定,如何第一時間在百萬件商品中,挑出每一個造訪者感興趣的商品,成了Yahoo奇摩進一步擴大電子商務營收規模的挑戰。
Yahoo臺灣電子商務資料部資深資料工程師黃孝文和Yahoo臺灣電子商務資料部資深資料工程師林于聖日前在一場演講中首度揭露了支撐Yahoo奇摩電子商務茁壯背後的新關鍵──彈珠檯系統(Pinball System),這是一套可產生即時分析上百萬名顧客喜好及時提供推薦的即時串流分析平臺。
臺灣的消費者還是習慣看到實體商品,所以大部分的實體商店營收還是高於電子商務平臺,不過,實體商店最多只能夠蒐集和分析消費者交易記錄的資料,但在網路交易平臺上可以蒐集各種使用者行為事件,例如點擊流量、網頁瀏覽資訊、網站造訪停留時間等
原本,Yahoo電子商務商品推薦系統採用了批次推薦(Batch-trained Recommender)的作法,推薦系統平時會持續蒐集使用者在網站上的瀏覽行為等Log記錄,每隔2~4周就會啟動批次作業來分析使用者的喜好,當使用者下一次上線瀏覽商品時,推薦機制可以提供使用者可能有興趣的類似產品來促進使用者產生消費意願。批次推薦機制已是許多電子商務業者常見的作法。
不過,黃孝文表示,根據Yahoo內部調查資料顯示,將近72%瀏覽Yahoo網站的造訪者,在造訪的同一天就會做出購買決定。若推薦系統可以越快找出潛在買家(Potential Buyers),並且推薦合適的商品給他們,或許可以誘發潛在買家購物的行為。因此,Yahoo著手開發了這套系統Pinball。
以創市際ARO今年4月揭露的網站瀏覽人數來看,Yahoo奇摩旗下超級商城和購物網站的單月不重複瀏覽人數將近500萬人次,也就是說其中有7 成約350萬人在上網當天會決定要不要購買。推薦商品的準確度就是吸引這群人按下結帳按鈕的關鍵。
即時串流資料分析系統推薦合適的商品,促使買家下單
這個彈珠檯系統採用了開源的即時事件處理平臺Storm,搭配分類模型(Pre-Trained Classification Models),來預測使用者的偏好和購買意願,再結合資料探勘和串流技術產出推薦商品預測結果來投放廣告。
之所以稱為Pinball系統,是因為Yahoo將使用者比喻為彈珠,分類器(Classifier)則像是彈珠檯上的鋼針,而使用者行為類型則是不同的得分洞。在玩彈珠檯的時候,過程中彈珠碰撞不同的鋼針,最後會掉進不同的得分洞裡,每個洞最後會累積數量不一的彈珠。使用者的每一個瀏覽行為都會經過分類器處理,最後來判斷這個使用者行為所反映出來的消費意願或喜好傾向。
Pinball會根據使用者瀏覽事件的記錄來分類其行為,也就是使用者在網站上瀏覽的事件記錄在經過各個分類器後,可以判斷使用者的行為,所以如果有很多使用者出現同一行為時,這表示這些使用者有相似的購買偏好。Pinball會利用串流資料處理來分析使用者的購買偏好,另外,也可以用來找出潛在買家,並依據使用者的行為來傳送合適的廣告和商品推薦。
Storm則是Apache基金會旗下另一個開源專案,提供了一個即時處理大量運算的分散式平臺,根據Apache基金會網站說明,一個Storm運算節點每秒可以處理1百萬位元組的即時運算,不少網站已用此平臺來彌補大資料運算平臺Hadoop只能批次處理而不夠即時的不足。
Pinball系統主要使用了Storm平臺提供的Spout元件和Bolt元件,Spout可以從整合各種不同的網路資料,來產生串流式的資料源,就像水龍頭一樣,而資料串流就像打開水龍頭就會有水不斷流出,匯入給處理元件進一步分析。而Bolt元件則是可以讀取Spout提供的即時串流資料,並且透過事先定義的商業邏輯來處理這些串流資訊,進行如函數計算、過濾、資料整合或轉寫入資料庫等。
舉例來說,Spout可以將文章拆解為個別的句子,而Bolt則可以將Spout裡的句子拆解為單詞,接著進行解析文章。這種方式類似Hadoop MapReduce,但Storm和Hadoop主要的差別是,Storm著重於持續處理串流資料,而Hadoop是批次處理。
透過分析使用者在購物平臺上的交易資料,可以得知交易過程的模式,如果使用者正在瀏覽電子商務網站,且考慮購買商品,這些使用者瀏覽事件記錄會持續送至Storm處理,並透過學習模組(Learning Module)判斷使用者的購買行為模式。
上站的買家人數越多,系統上的學習模組越能夠探測各種購買行為,進而找出判斷不同類型潛在買家的特徵。當一名使用者進入網站瀏覽商品時,若符合目標顧客的特徵,系統就會自動推薦給這名使用者合適的商品,吸引目標顧客進一步成為新的買家。
舉例來說,Yahoo電子商務系統利用學習模組分析筆記型電腦的買家的購買行為,然後使用這些分析結果來尋找潛在買家。所以如果有使用者在電子商務平臺上尋找筆記型電腦,就可以判斷該名使用者的購買行為,系統進一步可以推薦合適的商品,或是和廠商合作,提供使用者特別的服務,增加將潛在買家轉為新的買家的機會。
而Pinball系統會將使用者在購物網站上的每個瀏覽行為記錄都會送進導航事件串流(Navigation Event Streaming),而每個瀏覽行為就是一個行為事件(Behavioral Event)。
如果使用者選擇購買,則此行為事件的資料就會送進學習模組(Learning Module),系統會萃取這筆購買記錄,且解析瀏覽到購買的過程,找出過程中的潛在規則,接著再利用學習結果(Learning Result)預測使用者是否為潛在買家。
還有一種情況是,使用者單純瀏覽購物網站裡的某個商品,那麼系統會持續判斷使用者是否為潛在買家,若是符合就會推薦使用者合適的商品。
使用者瀏覽行為和使用者購買意願也有正向關連,根據Pinball資料探勘結果發現,在特定商品類別的瀏覽次數越多,就表示購買的可能性越高,不過,還得考慮使用者的購買意願會因商品類別而異。舉例來說,大部分買家看了2次餅乾商品網頁,就會決定,而要購買電視的買家通常會看了約6次網頁才會決定購買。
另外,使用者採購較昂貴的商品,或不常用的物品時,由於採購時的考慮通常較多,這種類別商品的頁面瀏覽次數(Page View,PV)也會比其他類商品的PV值高。透過這些使用者瀏覽行為的解析,可以用來判斷使用者是否為潛在買家。
黃孝文表示,久而久之,推薦機制會越來越精準且即時,結合Storm架構和購買意願的判斷有助於電子商務每日的營運。
即時處理可和批次處理混用
不過,Pinball即時處理其實並不是為了取代原有Hadoop的批次處理功能,黃孝文表示,Apache Storm的創造者Nathan Marz提出Lambda架構,包括了3層,第一層是常見的批次層(Batch Layer),執行批次處理,如Hadoop、Pig等,如果追求效能則可使用Spark;第二層是速度層(Speed Layer),執行即時處理,如Apache Storm、Spark Streaming、Samza等;第三層是服務層(Serving Layer),提供查詢(Query)。
他說,Lambda架構的並非要取代批次處理,而是要協調批次處理和即時處理,讓預測模型更準確。
超過7成的民眾在瀏覽Yahoo奇摩首頁後,1天內做出購買決定,因此耗時數周批次作業的產品推薦機制已不敷使用,還需要混合即時處理機制。
熱門新聞
2024-12-22
2024-11-29
2024-11-15
2024-12-20
2024-11-20