使用 Apriori 算法獲得更好的產品推薦

已發表: 2018-10-05

在本文中,您將學習有效的產品推薦方法(所謂的購物車分析)。 通過使用特殊算法(Apriori 算法),您將了解哪些產品可以成套銷售。 您將獲得有關在其他產品的網站上推薦哪種產品的信息。 這樣,您將增加商店中的平均購物車價值。

智能產品推薦 - 交叉銷售

在線商店增加銷售額的方法之一是推薦相關產品。

不幸的是,此類推薦的最常見實現是顯示同一類別的產品。 在我們正在查看的產品下,我們看到其他此類產品 - 例如其他鞋類產品。

相關產品-產品推薦

但是,產品之間的關係並不是由它們在商店中添加的聯合類別產生的。 當顧客已經將一雙鞋放入購物車時推薦其他鞋子毫無意義。 這樣,我們就可以盲目猜測這是否有效。 也許客戶會在購物車中添加其他東西。

產品推薦的本質是給客戶一個他們會明確感興趣的產品。我們怎麼知道這些產品是什麼? 感謝統計! 在它的幫助下,我們可以發現大多數購買產品 A 的客戶同時購買了 B 和 C。在這種情況下,我們向將 A 放入購物車的客戶推薦 B 和 C。 這種產品推薦在購物車頁面上效果最好。

結賬時的產品推薦 - 亞馬遜

通過這種方式,進行購買的客戶可以獲得他們可以購買其他商品的信息。 我們感知到某種購買趨勢,並促進其對後續客戶的實施。

由於方便的界面,後續客戶將在他們的訂單中添加其他產品。 購物車的價值會增加。 商店會賺更多。 大家都開心 :)

在這種追加銷售的情況下,您可以對追加銷售的產品應用折扣。 這樣,客戶對購買的滿意度就會提高。

產品頁面折扣

簡而言之 Apriori 算法

什麼是購物車分析?

問題 - 如何從產品訂單中獲取有用的數據以進行產品推薦? 答案就是所謂的購物車分析。 它是一種數據挖掘方法。

一種有效且流行的購物車分析算法是 Apriori 算法。 該算法定義了我們挖掘數據的方式以及我們如何評估其有用性。

並非客戶購物車中產品的每個相關性都將用於推薦。 如果一個案例在 1000 次中發生了 1 次,那麼在商店層面實施這樣的建議是沒有意義的。 這不是趨勢,而是個案。

有效實施的例子

在網上,我們可以找到沃爾瑪在 1990 年代使用購物車分析的信息。 它是美國最大的連鎖超市之一。 由於購物車分析,我們發現了啤酒和尿布之間的密切關係。 你不會自己想出這樣的東西,這種奇怪的相關性來自數據挖掘。

讓我們切入正題:啤酒和嬰兒尿布通常在周五晚上被年輕人購買。 多虧了這些知識,分析師已經在商店中引入了變化。 首先,他們將這些產品放在一起。 其次,他們修改了營銷活動。 大型超市對產品實行所有促銷和折扣。 週五,決定這兩種產品中只有一種會打折。 在大多數情況下,無論如何都會購買它們。 通過這種方式,商店獲得了額外的銷售額並節省了營銷活動。

傳統商店分析中使用的許多原則和方法也可以應用於電子商務。 其中一些更容易實現。 我們的在線商店可以輕鬆監控 - 點擊次數、流量、在網站上花費的時間。 使用購物車中產品的數據來改進推薦系統也是值得的。

一個很好的例子是亞馬遜。 超過 20% 的訂單是在各種推薦系統的幫助下生成的。

基本概念

Apriori 算法不僅顯示產品之間的關係,而且由於其設計,它允許您拒絕無關緊要的數據。 為此,它引入了兩個重要概念:

  • 支持- 發生頻率
  • 信心——規則的確定性

該算法可以確定這兩個指標的最小值。 因此,我們拒絕不符合推薦質量假設的交易。

該算法的操作是迭代的。 我們不會一次處理所有數據。 多虧了這一點,該算法限制了數據庫上的計算次數。

我將向您展示算法在實踐中的操作。 我將解釋使用支持度置信度作為 Apriori 算法的關鍵元素。

Apriori算法的工作原理

例如初始假設

讓我們使用一個簡化的例子。 假設我們的商店中有四種產品:A、B、C、D。客戶進行了 7 筆交易,如下所示:

  1. A B C D
  2. 甲,乙
  3. 乙、丙、丁
  4. 甲、乙、丁
  5. 乙,丙
  6. 丙、丁
  7. 乙,丁

我們將使用 Apriori 來確定產品之間的關係。 作為支持,我們將值設置為 3。這意味著規則必須在給定的迭代中出現 3 次。

第一次迭代

讓我們開始第一次迭代。 我們確定產品在訂單中出現的頻率:

  • A - 3次
  • B - 6次
  • C - 4次
  • D - 5次

這些產品中的每一個都出現在訂單中超過 3 次。 所有產品均滿足支持要求。 我們將在下一次迭代中使用它們中的每一個。

第二次迭代

我們現在根據一組兩個產品尋找產品中的連接。 我們尋找客戶將兩種選定產品放在一個訂單中的頻率。

  • A、B - 3次
  • A、C - 1次
  • A、D - 2次
  • B、C - 3次
  • B、D——4次
  • C、D - 3次

如您所見,集合 {A, C} 和 {A, D} 不滿足support的假設。 它們出現的次數少於 3 次。 因此,我們將它們排除在下一次迭代之外。

第三次迭代

我們尋找由三種產品組成的套裝,其中:

  • 發生在客戶訂單中
  • 自身不包含集合 {A, C} 和 {A, D}

因此它是一組:{B, C, D}。 它僅在訂單中出現兩次,因此不符合我們的支持假設。

結果

我們的假設滿足以下條件:

  • A, B - 順序出現 3 次
  • B、C - 3倍
  • B、D——4次

這個例子只是為了說明算法的操作。 對於大多數在線商店來說,數據計算會復雜得多,因為它們的數量會更多。

以百分比表示的支持

值得補充的是,支持定義了規則在所有事務中的全局份額。 我們同意以數值形式支持我們的最低要求: 3. 但是,我們可以設置一個百分比。 在這種情況下:

  • A、B 的支持率約為 42.9% - 7 筆交易發生 3 次
  • B、C有相同的支持
  • B、D 的支持率約為 57.14% - 它們發生 4 次,共 7 次交易

在我們的示例中,支持因子的高百分比來自少量產品。 我們只有 4 種產品:A、B、C、D。

例如,在有 1000 種產品的商店中,在一半的訂單中總是有兩種相同的產品是不太可能的。

這個例子是故意簡化的。 在您的商店中使用該算法時,您應該考慮到這一點。 您應該為商店、行業等單獨設置支持的最小值。

最終結論

信心問題依然存在。 它將給定規則的發生指定給所有發生初始集合的規則。

如何計算它?

{A, B} - 在訂單中出現了 3 次 初始設置為 A。該產品也已在訂單中出現 3 次。 因此置信度為 100%。

讓我們鏡像這對。 {B, A}在訂單中出現了 3 次。 這裡什麼都沒有改變——這對是一樣的。 但是,初始設置發生了變化。 這是 B。該產品已發生 6 次交易。 這給了我們50%的信心。 產品 A 僅出現在產品 B 發生的一半交易中。

  • A 和 B 有 100% 的置信度
  • B 和 A 有 50% 的置信度
  • B 和 C 有 50% 的置信度
  • C 和 B 有 75% 的置信度
  • B 和 D 的置信度為 66.7%
  • D 和 B 有 80% 的置信度

我們的簡化示例(4 個產品,7 個交易)產生了以下建議:

  • A -> B
  • B -> D
  • C -> B
  • D -> B

其中第一個產品是用戶添加到購物車的產品。 第二個是我們推薦的。

結論

購物車分析是產品推薦系統的一種非常有效的方法。 但是,我無法想像根據上述算法進行手動數據處理。 尤其是大型商店。

有效的購物車分析需要方便的實施。 Apriori 算法應該按照程序的原理工作,而不是手動數據處理。

網絡上有一個用 Python 實現的 Apriori 算法。

Algorytm Apriori - 用 jezyku Python 實現

但是,正如您在屏幕截圖中看到的那樣,使用它需要編程技能。

您是否對 WooCommerce 中 Apriori 算法的便捷實施感興趣? 在下面的評論部分告訴我。

另外,請查看我們的電子商務提示 →