繁体   English   中英

对于“购买此商品的客户也购买了”的数据库,我需要什么?

[英]What do I need in a database for "Customers Who Bought This Item Also Bought"?

亚马逊有“购买此商品的客户也购买了”。

我想知道并想将此添加到我制作的购物车中。

数据库中需要哪些字段? 任何网站,博客或资源?

你能建议我应该如何编码的机制吗?

您可能不需要数据库中的任何新字段 - 只需保留订单历史记录即可。 然后,当您想查找其他人购买的商品清单时:

  1. 选择订单包含商品 X 的所有用户
  2. 对于这些用户中的每一个,合计他们购买的所有其他东西
  3. 获得前 3/5 名/随便什么,这就是您的清单。

这不是太棘手。 假设您有以下表格:

  • 客户,主键 CustomerID
  • 产品,主键 ProductID
  • 订单,主键 OrderID,外键 CustomerID
  • OrderItems ,主键 OrderItemID,外键 OrderID,ProductID

要查找您要查找的产品,您需要找到购买了该特定产品 ID 的一组客户:

SELECT CustomerID
FROM (Customers INNER JOIN (Orders INNER JOIN OrderItems))
WHERE OrderItem.ProductID = <your product id here>

然后,您需要获取这些客户购买的其他产品:

SELECT ProductID
FROM (Customers INNER JOIN (Orders INNER JOIN OrderItems))
WHERE (Customer = <given customer ID>) AND (ProductID <> <your product id>)

然后选择前几个产品,你就可以参加比赛了。

注意:我是一个数字人。 数据库专家将能够在 1 个查询中完成此操作! :)

您需要订单历史记录,以便您可以检查与用户当前正在查看的商品一起购买的其他商品。

你需要“编程集体智慧” 他们有一些关于推荐等的不错的章节。 您将需要阅读有关 Pearson 差异和其他度量的信息。

看看智能网络的算法,第 3 章“创建建议和推荐”。 对于您的问题:可选地,您可能需要一个包含不同项目的用户评分的表格。 根据这些评级,您将能够衡量两个客户之间的相似性,然后根据这些值对其中一个客户即将实现的项目进行估计。 这些估计用于对项目进行排名。

另外,请查看Apriori 算法第 4 章或此处的一般描述; 这适用于一起购买的物品并提取一些关联规则。 根据这些规则,您将检测您销售的哪些商品可能会添加到客户的购物篮中。 对于您的问题:不应将其他字段添加到您的数据库中; 您只需要维护一个表格来将购买的物品组合在一起(购物篮内容)。

select `A`.`ORDER_NO`, `A`.`SKU`, `B`.`SKU` `REL_SKU`
from `order_detail` `A`
inner join 
    (select DISTINCT `ORDER_NO`, `SKU` 
        from `order_detail`) `B`
    on `B`.`ORDER_NO` = `A`.`ORDER_NO`  
WHERE `B`.`SKU` = 'XXXXXXXX'
  AND `A`.`SKU` <> 'XXXXXXXX'

这对我有用。 当然,根据需要在 where 子句中添加任何过滤器,例如订单状态等...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM