关于ElecMart
顾名思义,ElecMart是一家电子超市。它们既满足零售客户的需求,也满足各种企业客户的需求。客户不仅能看到和感受到各种各样的产品,还能得到令人兴奋的折扣和优质的客户服务。ElecMart成立于1999年,并于2003年推出了客户忠诚度计划。ElecMart的目标是成为全国最大的电子超级商店,但他们有一个很大的障碍!
问题是,反复出现的买家在哪里?
忠诚度计划是为那些希望从重复购买中获益并在购买时注册的客户提供的。他们需要在购买时出示忠诚度卡在销售点,利益是不可转移的。同时,企业销售也会自动获得忠诚度计划的好处。在ElecMart最近发起的一项基准活动和市场调查中,发现“重复购买率”--即再次从这些客户那里购买的顾客--与其他竞争对手相比非常低。增加对这些客户的销售是成功实施忠诚度计划的唯一途径。
数据
事务的Transaction_ID唯一ID。不能用于建模
交易发生的Transaction_Date日期
进行采购的商店的Store_ID ID
客户选择的电磁干扰的Number_of_EMI数
Purchased_in_Sale交易项目是否有报价
Var1 - Var3蒙面范畴变量
进行购买的客户的Client_ID唯一ID。
客户的性别性别
道布客户出生日期
Referred_Friend顾客是否在购买时转介朋友
帮助客户的销售主管的Sales_Executive_ID ID
购货
SALES_Executive_Category类别的销售经理,谁帮助
客户随购
客户从中了解到的Lead_Source_Category频道
商店和做了购买(最后的来源归属)
交易支付的Payment_Mode模式
购买产品的Product_Category类别
事务的Transaction_Amount金额
**如果您需要识别每个客户的概率(在
忠诚度计划)在未来12个月内购买。**
请指导我哪种模型适合这里,以及哪种因变量i
应该用吗?
发布于 2016-04-29 20:57:12
如果您所要做的只是确定最频繁/反复出现的买家,那么解决方法应该是将数据放到关系数据库中(或者是大量的数据,然后是Hadoop for Spark),然后执行一个简单的SQL查询来获得排名最高的客户:
select Client_ID, count(*) as count from
(select distinct Client_ID, Transaction_Date from table) as table2
group by Client_ID order by count desc然而,我怀疑你真正要问的是如何获得更多的经常性客户,这是一个更加困难和开放的问题来回答。您可以做的一件事是建立一个解释性线性回归模型,以了解哪些类型的产品类别与您的频繁客户最相关,然后将您的工作重点放在优化客户对这些产品的体验上。
无论如何,我不认为预测模型会对你有所帮助。从原始数据中,应该清楚谁是您最频繁/经常出现的客户。
编辑:你下面的评论澄清了你的问题。
将数据分成两部分:培训数据集和验证数据集。创建一个二进制因变量,该变量对应于某个预先指定的日期后12个月是否有人进行了事务处理。将预测变量的多个组合输入梯度增强模型(GBM)。梯度增强将捕获变量之间的交互,并使您能够得到概念工作的快速证明,因为大多数梯度增强实现可以处理丢失的变量,因此需要进行最小的数据清理。我在您的配置文件中注意到,您使用的R.R有一个很好的预测建模包,名为“插入符号”:http://topepo.github.io/caret/index.html。
发布于 2016-05-02 13:15:27
请纠正我,但根据我在您的数据中看到的,您还没有(尚未)有一个因变量。要创建一个有监督的学习数据集,您需要自己构造一个因变量,例如,考虑到客户购买的日期之间的时间间隔。你可以通过使用他们的忠诚身份来识别同样的顾客。
因此,对于每个客户,如果他们(按日期排序)的购买历史记录包含的时间间隔小于12个月,那么您可以使用它们来创建一些积极的培训示例。其余的都是你的负面例子。清理一些不相关的数据,例如客户端ID和事务ID,您可以使用其余的数据来构建第一个分类器。
您还可能希望将一些自变量转换为更有用的表示形式,例如年龄组的出生日期等。
至于模特:嗯,你在这里有很多选择。从线性分类器开始,检查交叉验证中的性能.如果不满意,您可以尝试基于树的分类器,支持向量机和神经网络。
https://datascience.stackexchange.com/questions/11510
复制相似问题