如何预处理交易数据以预测购买概率?

Posted

技术标签:

【中文标题】如何预处理交易数据以预测购买概率?【英文标题】:How to pre-process transactional data to predict probability to buy? 【发布时间】:2017-12-19 02:34:52 【问题描述】:

我正在为一家百货公司开发一个模型,该模型使用以前购买的数据来预测客户今天购买的概率。为简单起见,假设我们有 3 类产品(A、B、C),我想使用客户在 2017 年第一季度、第二季度和第三季度的购买历史来预测 2017 年第四季度的购买概率。

我应该如何构建我的指标文件?

我的尝试:

我要预测的变量是生产集中的红色单元格。

请注意以下几点:

由于我的客户群在这两年都是相同的,我使用一张客户去年表现的照片来预测他们在今年年底会做什么(这是未知的)。 数据是按三个月分开的,一位同事认为这是不正确的,因为我无意中更重视将每一项分成 4 份的指标,而实际上每个类别应该只有一项。

替代方案:

我被建议的另一种方法是每个类别使用两个指标:例如'bought_in_category_A'和'days_since_bought_A'。对我来说,这看起来更简单,但是模型只能预测客户是否会购买 Y,而不是他们何时会购买 Y。此外,如果客户从未购买过 A,会发生什么?我不能使用 0,因为这意味着从未购买过的客户更接近几天前刚购买过的客户。

问题:

    这种结构是否可行,或者您会以其他方式构建数据吗? 在这种情况下可以使用去年的信息吗? 可以将一个分类变量“拆分”成几个二元变量吗?这会影响赋予该变量的重要性吗?

【问题讨论】:

【参考方案1】:

很遗憾,您需要一种不同的方法来实现预测分析。

例如,这里的产品属性未知(颜色、味道、 大小,季节性,....) 没有关于客户的信息 (年龄、性别、居住区域等...) 您需要更多“事务性” 信息,(何时,为什么 - 他们是如何购买等......) 什么是产品的“生命周期”?跟时尚有关系吗? 你在哪个分支? (零售、散装、金融、服装......) 同时您是否进行过任何活动?这将如何衡量?

我将首先(如果适用)专注于每个季度的类别关系和行为: 例如当 n1 减小时 n2 减小 当 q1 低于 q2 或 q1/2016 vs q2/2017。

我认为您首先应该与业务分析师一起解决这个问题,以便找出正确的“规则”和方法。

我认为您无法通过这些通用假设数据得到具体答案。 通常你需要至少 3-5 年的数据来做一些下降预测分析,当然这取决于你的产品的性质。 希望,这有点帮助。

;-)

-mwk

【讨论】:

感谢您的回答,我确实掌握了所有这些信息:自 2013 年以来的产品属性(颜色、尺寸等)、人口统计信息(年龄、性别、位置)等。这过于简单化了使其易于理解。我更担心季节性如何影响我构建信息的方式,但你确实回答了我的问题,说我可以将信息分成季度。

以上是关于如何预处理交易数据以预测购买概率?的主要内容,如果未能解决你的问题,请参考以下文章

sklearn中的多类概率标签数据和同类型预测用啥?

ML之R:通过数据预处理(缺失值/异常值/特殊值的处理/长尾转正态分布/目标log变换/柱形图-箱形图-小提琴图可视化/构造特征/特征筛选)利用算法实现二手汽车产品交易价格回归预测之详细攻略

如何识别影响预测结果的特征?

用户画像

使用逻辑回归预测用户是否会购买SUV

ML之R:通过数据预处理利用LiR/XGBoost等(特征重要性/交叉训练曲线可视化/线性和非线性算法对比/三种模型调参/三种模型融合)实现二手汽车产品交易价格回归预测之详细攻略