我有个大客户,他经常向我买东西。我想知道他经常一起购买哪些组合的产品。例如,每次他购买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使用intersect或Reduce(intersect, list = (products_by_month)),我只能看到总是购买哪些商品。
到目前为止,我的想法是计算每个产品组合在客户49购买账户中出现多少次,然后选择这些篮子作为我的其他客户的参考。
我可以使用combn创建产品组合向量(两个或三个产品的每一个组合就足够了),但我仍然不知道如何计算每个月在每个购买产品向量中出现的时间。
对怎么做有什么想法吗?
发布于 2017-04-29 03:31:13
我想深入研究市场篮子分析已经有一段时间了,我知道这里有一个特定的软件包:
https://cran.r-project.org/web/packages/arules/index.html
这可能对你有帮助,也可能没有帮助,但我想我会把它扔出去以防万一。
发布于 2017-04-28 21:54:53
您可以使用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.9148https://stackoverflow.com/questions/43689136
复制相似问题