根据过去的购买行为购买商品的概率

时间:2018-11-11 22:47:04

标签: r probability

我有一些有关个人购买的数据。

在此数据中,PANID是在特定一周内购买产品的人。在我提供的示例中,有6个唯一的PANID。总共有6个人我正在尝试计算PANID将第二次回购产品的条件概率。

例如:

PANID 3104497在ITEM于2010年1月11日购买了WEEK 7028,然后同样的PANID在{{1}中购买了相同的ITEM } 2010年1月25日。我正在尝试找出如何找到他们再次购买同一物品的概率(在数据中的任何时候)。

WEEK

数据:

    PANID       WEEK ITEM
1 3104497 2010-01-11  526
2 3104497 2010-01-11  526
3 3104497 2010-01-11  526
4 3104497 2010-01-11  526
5 3104497 2010-01-11  526
6 3104497 2010-01-11 2890
...
705 3146217 2010-04-05   97
706 3146217 2010-04-05  132
707 3146217 2010-04-05  132
708 3146217 2010-04-05  132
709 3146217 2010-04-05  132
710 3146217 2010-04-05  132

1 个答案:

答案 0 :(得分:1)

在最一般的情况下,如果过去在可比较的时间范围内发生了X次,那么您希望在给定的时间范围内发生某事X次。

output <- aggregate(df$PANID, by = list(df$ITEM, df$PANID), length)
colnames(output) <- c('ITEM', 'PANID', 'COUNT')
k <- as.integer(max(df$WEEK) - min(df$WEEK)) / 7 # number of weeks in the data
output$EXPECTATION <- output$COUNT / k
head(output)

#ITEM   PANID COUNT EXPECTATION
#1  106 3104497     5   0.4166667
#2  240 3104497     5   0.4166667
#3  526 3104497     5   0.4166667
#4  548 3104497     5   0.4166667
#5  900 3104497     5   0.4166667
#6 1251 3104497     5   0.4166667

也就是说,这是一个非常落后的计算。有了更多数据(例如,具有更长的时间范围和更强的时间分辨率),您就可以研究季节性因素(期望销量逐月保持稳定是很不合理的,对吧)。如果您有描述PANIDITEM的实际功能,则可以研究这些功能与购买数量之间的可能关系。确实,通过这种分析可以使技术变得多么复杂没有限制。