访问者在电子商务网站上购买的概率,基于汇总的历史数据

数据挖掘 机器学习 深度学习 预测建模 数据集 预言
2022-02-27 07:19:10

在电子商务网站上,我们希望为更有可能购买的访问者创建一些个性化。

假设我们只有一件商品待售。

可能性应该基于我们拥有的数据,例如:

  • 客户访问时的商品价格(可能会有所不同)
  • 商品的平均客户评论评分
  • 是否提供折扣券
  • 如果某些词出现在项目标题或描述中
  • 等等

我们的计划是创建一个数据库,其中包含每个访问者的访问数据(上述数据),并指示他最终是否进行了购买。

一旦我们至少有一些购买,我们需要以某种方式在所有这些案例中寻找一种模式,并且基于这种模式,我们以后可以预测可能性。

例如,如果至少在50%购买该物品的情况下,其价格不超过$100,那么我们将仅在该物品以最高价格出售的情况下进行个性化设置$100

这有意义吗?

我们应该如何在技术上做到这一点?从数据库结构问题和网站速度问题 -

我们应该在自己的 DB 列中收集每个变量,还是最好在浏览器会话中创建某种长字符串,例如p:99-r:4, (这意味着:price $99, rating: 4)然后使用另一个脚本分解这些数据?

是否有某种库可以分析这些数据并将其显示在图表中,比如一些花哨的前端,或者这个项目是否需要从头开始?

做这件事的人需要具备什么样的技术技能?这与机器学习有关吗?

1个回答

这是一个被称为推荐系统或推荐引擎的大话题。

最常见的方法是使用所谓的协同过滤互联网上的大多数方法都试图猜测用户对某项商品的排名,但我认为这可以扩展到用户是否会购买,因为如果用户对某项商品的排名很高,他们也更有可能购买该项目。

这个想法是每个项目都有一个n维向量,每个用户都有一个n维向量。您可以通过两个向量之间的一些操作来预测用户的预测评分。在这个例子中,让我们使用两个向量之间的点积来预测用户对他们还没有看到的项目的评分。

虽然获取 2 个向量并获得预测不是机器学习问题,但为向量找到合适的值绝对是机器学习问题。我不会深入探讨如何获得这些向量,因为应用了许多不同的算法,而且您似乎在询问更多系统设计问题。

一旦你为每个用户训练了 1 个向量,为每个项目训练了 1 个向量,你还有 2 个问题需要解决: 1. 估计要推荐的前 N ​​个候选项目 2. 取这 N 个项目之间的点积并推荐少数几个以最高分。

第 1 项可能会涉及在您的数据库中使用一些空间索引(例如 PostGIS for PSQL),因此您可以找到一些能够提供相当好的点积的向量。您可能需要考虑使用球树数据结构来搜索一组好的候选项目。

数字 2 将非常简单,只需点点向量并选择最好的几个。

这对你来说将是一个巨大的挑战,但我相信你会学到很多东西。由于您要创建的系统如此庞大,因此我无法详细说明,但希望我为您指明了正确的方向。