【发布时间】:2017-04-28 21:28:06
【问题描述】:
我有一个大客户,他经常向我购买。我想知道他经常一起购买哪些产品组合。例如,每次他购买 产品 A 时,他也会购买 产品 W。其他产品组合也是如此。
我的目标是确定哪些是这些产品组合,以便我可以向仅购买 产品 A 的其他客户提供 产品 W(也许他们正在购买 产品 W 来自我的竞争对手,却不知道我在卖它)。
我的数据是这样的
codclient codproduct quant date
1 101249 A 4.1600 2016-10-01
2 101249 W 1.3880 2016-10-01
3 101249 B 1.5268 2016-10-01
4 101249 A 0.8328 2016-11-01
5 101249 W 2.9148 2016-11-01
6 101249 B 2.7760 2016-11-01
7 101249 C 1.8750 2016-11-01
8 101250 A 0.6940 2016-10-01
9 101250 A 7.0000 2016-11-01
10 101251 B 12.0000 2016-11-01
11 101251 C 1000.0000 2016-11-01
12 101252 W 1000.0000 2016-11-01
使用intersect 或Reduce(intersect, list = (products_by_month)) 我只能看到始终购买的商品。
到目前为止,我的想法是计算每个产品组合在几个月内出现在客户 49 购买帐户中的次数,然后选择这些篮子作为参考,以向我的其他客户推荐。
我可以使用combn 创建产品组合向量(两个或三个产品的每个组合就足够了)但我仍然想念如何计算它们在每个月购买的产品的每个向量中一起出现的次数.
关于如何做到这一点的任何想法?
【问题讨论】:
-
您可能会发现一些有用的东西here——例如
crossprod(table(month, product)) -
我可能会制作一个以产品为节点的完整图表;设置一对产品之间的重量=它们一起购买的#次;并使用一些标准的图形工具来查找集群(......我只是假设这些存在)。