使用 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 算法的便捷实施感兴趣? 在下面的评论部分告诉我。

另外,请查看我们的电子商务提示 →