如何统计同一客户同日购买某产品时搭配其他产品的次数?
产品搭配购买关联矩阵的Excel实现方法
我需要生成一个关联矩阵(或更优方案),统计同一客户在同一天购买某产品时,与其他产品搭配购买的次数。核心规则:
- 同一客户同一天内,同一产品多次购买仅视为一个搭配场景
- 产品自身的搭配计数,仅当该客户同一天购买该产品≥2次时,计1次(每个符合条件的客户-日期组合仅计1次)
数据源示例
| 客户姓名 | 下单日期 | 产品名称 |
|---|---|---|
| John | 2/26/2024 | Product 1 |
| John | 2/26/2024 | Product 1 |
| John | 2/26/2024 | Product 2 |
| John | 2/26/2024 | Product 3 |
| John | 2/26/2024 | Product 4 |
| John | 3/30/2024 | Product 1 |
| John | 4/11/2024 | Product 2 |
| John | 4/11/2024 | Product 3 |
| Dave | 6/24/2024 | Product 3 |
| Dave | 6/24/2024 | Product 1 |
| Dave | 6/24/2024 | Product 3 |
| Dave | 6/24/2024 | Product 1 |
| Dave | 7/17/2024 | Product 2 |
| Dave | 7/17/2024 | Product 1 |
| Bob | 6/6/2024 | Product 1 |
| Bob | 6/6/2024 | Product 2 |
| Bob | 6/8/2024 | Product 2 |
| Bob | 6/8/2024 | Product 3 |
我尝试过使用COUNTIFS和XLOOKUP函数,但未能得到理想结果,不确定是否是需求过于复杂导致。
期望结果矩阵
| Product 1 | Product 2 | Product 3 | Product 4 | |
|---|---|---|---|---|
| Product 1 | 2 | 3 | 2 | 1 |
| Product 2 | 3 | 0 | 3 | 1 |
| Product 3 | 2 | 3 | 1 | 1 |
| Product 4 | 1 | 1 | 1 | 0 |
计算逻辑示例(以Product 2为例)
- 场景1:John 2024年2月26日购买Product 2,搭配了Product 1(当天买2次仅计1次)、Product 3、Product 4,未重复购买Product 2,统计为
{1,0,1,1} - 场景2:John 2024年4月11日购买Product 2,仅搭配Product 3,统计为
{0,0,1,0} - 场景3:Dave 2024年7月17日购买Product 2,搭配Product 1,统计为
{1,0,0,0} - 场景4:Bob 2024年6月6日购买Product 2,搭配Product 1,统计为
{1,0,0,0} - 场景5:Bob 2024年6月8日购买Product 2,搭配Product 3,统计为
{0,0,1,0}
将各场景的统计结果按列求和,得到{3,0,3,1},即Product 2对应的行数据。
请问是否有不复杂的实现方法?我的需求表述是否清晰?
内容的提问来源于stack exchange,提问作者Jules Hars
相关产品推荐
相关产品推荐

