資料驅動銷售 個性化推薦引擎

2021-05-27 20:54:57 字數 2142 閱讀 9762

from:

文/簡朝陽

在當前這個資訊量飛速增長的時代,乙個企業,尤其是電子商務企業的成功已經越來越多地與其海量資料處理能力相關聯。高效、迅速地從海量資料中挖掘出潛在價值並轉化為決策依據的能力,將成為企業的核心競爭力。

資料的重要性毋庸置疑,但隨著資料的產生速度越來越快,資料量越來越大,資料處理技術的挑戰自然也越來越大。如何從海量資料中挖掘出價值所在,分析出深層含義,進而轉化為可操作的資訊,已經成為各網際網路企業尤其是電子商務公司不得不研究的課題。本文將介紹國內箱包行業電子商務領軍者麥包包如何利用海量資料的分析處理(個性化推薦引擎)來協助使用者更好地完成購買體驗。

圖1 資料層基礎架構

資料層基礎架構

用於分析各種報表、資料探勘,如購買行為、銷售分析、瀏覽跟蹤等。

個性化推薦引擎

我們首先分析一下這個推薦引擎的需求。

根據使用者的喜好傾向以及訪問歷史記錄,不同使用者瀏覽同乙個產品時,將給出不同的關聯推薦結果。

不同使用者訪問同乙個頁面,我們將會根據使用者的以往購買歷史及瀏覽行為而展示個性化的內容。

我們再來看一看推薦引擎的資料特點。

超過500萬會員,5位數的sku,7位數的訪問量。將這些資料與會員及sku的各類屬性相互關聯,資料量之龐大可想而知。

從效能優化角度來說,資料量大並不可怕,只要訪問方式簡單,很容易通過索引等手段進行優化。可偏偏不幸的是,由於將使用者和產品進行多維度關聯,既需要根據使用者去分析,又需要根據產品去關聯,再輔以執行時的各類屬性;既可能各個維度同時存在,也可能只有任何乙個維度;多維度就多維度吧,可還有很多訪問是分析型,比較難以優化擴充套件。

當然,資料量大也並不一定就可怕,如果併發訪問較小,響應時間要求不是太高,那也容易解決,可以用hadoop之類的分布式系統來分析計算。可恰恰不巧的就是這個系統面對的是**上的訪問客戶,對併發及響應時間的要求和oltp系統一樣。

需求已經確定,資料特點也已了解,下一步就是根據資料的特點,設計乙個切實可行的架構來實現這些應用需求了。

在如此海量資料中進行高併發複雜分析查詢,還要能夠快速響應,看上去就像是乙個不可能的任務。但仔細分析之後,我們不難發現,推薦引擎結果主要由以下幾個因素決定。

以上四個因素實際上對應了四種資料,在分析每一種資料的特點之後,可以發現前面三個因素所對應的資料都是相對靜態的,只有使用者當前行為才是乙個在不斷變化的動態資料。也就是說,在海量資料中,只有少部分資料是動態的,其他大部分都是靜態。

當然,使用者屬性中的各種喜好,也需要我們通過使用者以往的歷史購買以及瀏覽行為進行各種分析挖掘才能獲得,但這都是由歷史積澱資料分析得來,而不是由當前的執行時動態資料決定。**承受範圍以及地域特性也同樣如此。

圖2 推薦引擎基本架構

架構設計

圖3 推薦引擎整體架構

整個架構的資料流,如圖3所示。

以上就是整個推薦引擎的資料流架構方案,乍一看也沒有太多特別的內容,但在實際實施過程中,會遇到以下幾個難點。

這個難點,我們首先在每乙個頁面部署監測點,通過請求乙個gif來獲得使用者的各種瀏覽資訊,並存入到mysql資料庫,交易相關的資料自然也會有在資料庫中進行儲存。然後使用通過擴充套件mysql複製協議而實現的日誌解析合併程式,實時解析 mysql日誌,再將其以我們需要的格式傳輸至離線分析系統中進行分析運算。

這個難點,實際上在6月刊的《程式設計師》雜誌對麥包包首席架構師盛**的採訪稿中,已經有了相應的介紹。我們主要使用了基於使用者(user)、商品(item)、話題(topic)以及**(exposure)這四種協同過濾技術,來實現推薦演算法。

總的來說,資料量的增長,以及分析需求的越來越複雜,將會對網際網路公司的資料處理能力提出越來越高的要求、越來越大的挑戰。但每乙個場景都有其特性,充分分析其資料特性,將合適的軟體用在合適的場景下,才能更好地解決實際問題。

作者簡朝陽,麥包包技術保障部總監,oracle ace,擅長mysql和oracle資料庫應用系統的效能調優與高可用可擴充套件架構設計。曾就職於阿里巴巴,參與多個核心資料庫應用系統的設計與實施,負責mysql資料庫應用系統的架構設計與相關維護。

資料驅動銷售 個性化推薦引擎

在當前這個資訊量飛速增長的時代,乙個企業,尤其是電子商務企業的成功已經越來越多地與其海量資料處理能力相關聯。高效 迅速地從海量資料中挖掘出潛在價值並轉化為決策依據的能力,將成為企業的核心競爭力。資料的重要性毋庸置疑,但隨著資料的產生速度越來越快,資料量越來越大,資料處理技術的挑戰自然也越來越大。如何...

推薦引擎分為哪幾類,個性化推薦引擎的介紹

在資訊時代的今天,大資料為使用者獲取方方面面的資訊提高了效率,更可以智慧型的幫助使用者從海量內容中快速找到想要閱讀的資訊,或者從海量商品中快速找到想要購買的商品。推薦引擎的發展讓選擇不明確的使用者更加了解她們的需求和喜好。下面以內容產品和電商產品為例,談談推薦引擎在產品中發揮的巨大作用。一 推薦引擎...

推薦引擎 個性化推薦 常用模型和演算法

背景介紹 技術所要達到的目的為非在合適的地方展現合適的內容。通常有下面的一些技術 1 協同過濾 collaborative filtering 技術 2 自然語言理解技術 人與人交道使用的是人類語言 基本由詞彙及約定俗成的含義構成 人與機器互動通常表現為機器提供特定的介面供人使用,隨著人與機器互動的...