0

我有一个大客户,他经常向我购买。我想知道他经常一起购买哪些产品组合。例如,每次他购买产品 A时,他也会购买产品 W。其他产品组合也是如此。

我的目标是确定哪些是这些产品组合,以便我可以将产品 W提供给仅购买产品 A 的其他客户(也许他们正在从我的竞争对手那里购买产品 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

使用intersectorReduce(intersect, list = (products_by_month))我只能看到始终购买哪些商品。

到目前为止,我的想法是计算每个产品组合在几个月内出现在客户 49 购买帐户中的次数,然后选择这些篮子作为参考,为我的其他客户提供建议。

我可以使用创建产品组合的向量combn(两个或三个产品的每个组合就足够了),但我仍然想念如何计算它们在每个月购买的产品的每个向量中一起出现的时间。

关于如何做的任何想法?

4

2 回答 2

2

一段时间以来,我一直想深入研究购物篮分析,我知道 r 中有一个特定的包:

https://cran.r-project.org/web/packages/arules/index.html

这可能会或可能不会帮助你,但我想我会把它扔在那里以防万一。

于 2017-04-29T03:31:13.463 回答
0

您可以使用 dplyr 执行此操作:

spread(filter(df,codClient == 101249),codproduct,quant)

     codclient      date      A       B        C         W
1       101249 10/1/2016 4.1600  1.5268       NA    1.3880
2       101249 11/1/2016 0.8328  2.7760    1.875    2.9148
于 2017-04-28T21:54:53.440 回答