同时进行预测和聚类?

数据挖掘 机器学习 数据挖掘 聚类 预测建模
2022-03-05 20:43:50

我想建立一个细分来替代现有的 RFM 细分,这是基于 Recency、Frequency 和 Monetary 值的基本细分。

新的细分将用于两个目的:

  1. 按价值对客户进行排名
  2. 拥有同质的客户群体,因此每个群体都应该有一个解释和意义。

我认为这不应该是无监督学习,而是有监督和无监督学习的混合。

所以我所做的是我定义了一个目标变量,如果客户在下一个期间处于活动状态,则为 1,否则为 0。然后我用决策树来预测这个值,让叶子代表集群。每个组中活跃客户的百分比用于对这些集群进行排名。

您认为这是一个很好的解决方案吗?您还有其他想法吗?

提前致谢

1个回答

您的解决方案似乎很有趣。但是,这意味着客户的价值是通过他们在下一个时期是否活跃来评估的。看看客户的购买情况可能会很有趣,比如未来 8 周(或者未来 6 周或 12 周——时间框架很大程度上取决于业务的特殊性)。这种测量反映了客户在下一个时期是否活跃,也量化了他们的“活动”。

对于一个有点相似的项目,我实现了以下解决方案:

  • 首先为三个维度(RFM)中的每一个随机选择一个断点;断点是指 Recency 的唯一值中的一个随机值,另一个随机选择的频率值和另一个用于货币的值。

  • 根据选择的断点,选择RFM方面比较相似的客户群,根据这三个断点画出一些初始段。由于有 3 个断点(每个变量一个),因此您将获得 2^3 段,因为每个变量将分为 2 个部分,总共有 8 个段。换句话说,您将拥有:

第 1 段:新近度 < breakpoint_Recency & Frequency < breakpoint_Frequency & Monetary < breakpoint_Monetary

第 2 段:新近度 < breakpoint_Recency & Frequency >= breakpoint_Frequency & Monetary < breakpoint_Monetary

第 3 段:新近度 < breakpoint_Recency & Frequency < breakpoint_Frequency & Monetary >= breakpoint_Monetary

第 4 段:新近度 < breakpoint_Recency & Frequency >= breakpoint_Frequency & Monetary >= breakpoint_Monetary

Segm 5: Recency >= breakpoint_Recency & Frequency < breakpoint_Frequency & Monetary < breakpoint_Monetary

Segm 6: Recency >= breakpoint_Recency & Frequency >= breakpoint_Frequency & Monetary < breakpoint_Monetary

Segm 7: Recency >= breakpoint_Recency & Frequency < breakpoint_Frequency & Monetary >= breakpoint_Monetary

Segm 8: Recency >= breakpoint_Recency & Frequency >= breakpoint_Frequency & Monetary >= breakpoint_Monetary

  • 计算每个结果段的未来 8 周购买的平均值

  • 然后,当然,这种分割是随机的,并不是最佳分割。为了获得最佳分割,您然后实施遗传算法以重新执行先前的过程并探索空间以获得更好的断点。通过这种方式,您可能会根据他们的购买行为(由 RFM 表征)对同质客户进行最佳细分——就他们的价值而言是最佳的(当您决定定义他们的价值时)。

顺便说一下,GA 的适应度函数旨在最大化每个细分市场未来 8 周购买量的平均值。或者你也可以设定你自己的目标来衡量客户的价值并相应地定义适应度函数。

希望这可以帮助。祝你好运!

更新:此解决方案允许您找到“同质客户群”和“按价值排名细分”。我不确定这是否是您所说的“按价值对客户进行排名”的意思。在我看来,监督聚类打败了个人排名的想法(但也许我错了)。此外,客户从一个时期到另一个时期的行为会发生变化,最好根据购买行为对他们进行聚类,而不是在某个时间点对个人进行排名。这样,当客户改变行为(就 RFM 而言)时,我们知道他/她去了哪里(即在哪个集群中),因此我们可以评估他/她是否“改善”了。在后一种情况下,营销人员可以采取行动来激励相关客户回到更富裕的细分市场。