我有一个跟踪交易发生日期的数据库,以及交易所对应的独特买家 - 现在我正在尝试查看导致客户在以后再次购买的预订。现在,下面的代码和示例输出显示了我们哪些客户是其buyer_id计数的重复客户,但我还希望能够看到哪些购买(预订)导致同一客户稍后再次购买(没有更早的时候,通过使用简单的" Count")可能就是这种情况。
SELECT r.id AS Reservation_id, r.created, r.buyer_id, COUNT(r.buyer_id)
FROM reservations r
GROUP BY r.buyer_id
ORDER BY Reservation_id
Reservation_id created buyer_id COUNT(r.buyer_id)
3 2007-08-14 18:28:38 438 1
7 2007-09-19 12:29:52 474 2
8 2007-09-19 13:14:54 476 1
9 2007-09-20 10:22:52 477 1
10 2007-09-25 15:27:45 485 3
11 2007-09-26 20:56:25 474 2
12 .... etc
目标是能够提取有关每个预订的其他数据,然后查看哪些服务因素对重新购买的客户产生影响。在上面的情况下,买家#474购买了两次,但我希望能够区分第一次购买(当他/她确实再次购买时,第二次和最后一次购买)从第二次购买(之后没有其他购买)购买是由买方#474)完成的。在这种情况下,目标是使另一个输出行显示:
Reservation_id created buyer_id COUNT(r.buyer_id) Returning
3 2007-08-14 18:28:38 438 1 0
7 2007-09-19 12:29:52 474 2 1
8 2007-09-19 13:14:54 476 1 0
9 2007-09-20 10:22:52 477 1 0
10 2007-09-25 15:27:45 485 3 1
11 2007-09-26 20:56:25 474 2 0
12 .... etc
即显示客户474的ID如何在reservations_id 11之后不再出现。我会在excel中执行此操作,但是我有大量的行,而且excel无法处理这样的功能大数据集。
感谢任何帮助或建议。
答案 0 :(得分:0)
评论太长了。
您要做的是称为循环事件分析。特别是,它是统计/数据挖掘分支的一部分,称为“生存分析”。
你的方法(在SQL中完全可能)会导致偏见的结果和有偏见的结论,原因很简单,很久以前第一次购买的人比昨天第一次购买的人有更大的回报机会。
我对问题的回答几乎从未读过我的一本书。但是,“使用SQL和Excel进行数据分析”一书有两章关于生存分析。从实际角度来看,这些可以帮助您理解这些时间到事件的问题。