我有一个大客户以高频率向我购买。我想知道他经常一起购买哪些产品组合。例如,每次他购买产品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
创建产品组合的向量(两个或三个产品的每个组合就足够了)但我仍然不知道如何计算它们在所购买产品的每个向量中出现的时间每个月。
有关如何做的任何想法?
答案 0 :(得分:1)
我现在一直想深入研究市场购物篮分析,我知道r中有一个特定的包装:
https://cran.r-project.org/web/packages/arules/index.html
这可能会对您有所帮助,但我认为为了以防万一,我会把它丢弃。
答案 1 :(得分: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