
嗨,我正在处理一个有客户购买记录的数据集。字段ord_cnt表示没有优惠券使用的购买,而cpn_ord_cnt表示使用优惠券的购买。
有两件事我想弄清楚:
我添加了一个字段'mod_cpn_ratio‘,因为当我计算简单的比例:(cpn_ord_cnt/total_ord_cnt)时,它对购买数量较少的客户并没有起到很好的作用。(1张优惠券购买/2整笔购买)= 0.50% vs (50 / 100) = 0.50%
因此,对于“mod_cpn_ratio”,我在分母上加了一个常数'10‘,以惩罚那些买得少的人。我想知道这是否是处理这个问题的一个公平的方法,或者是否有更好的方法来处理它(可能不仅仅是常量,而是动态数字)。
当两个客户拥有相同数量的“total_ord_cnt”时,我希望在没有优惠券的情况下购买更多的商品。
如有任何建议,将不胜感激。
谢谢!
发布于 2020-06-02 02:46:43
这是个好问题。最好的方法是给你最好的结果,所以你建议给分母加一个常数的方法可能是正确的。然而,我不认为这是理想的。原因是你会系统性地低估使用优惠券的比例,这并不理想。它也可能很难解释或解释。
相反,我的建议是从贝叶斯手册中借用一部剧本,并利用先验。A先验代表你对一般人的优惠券消费的信念。例如,您可以将百分比优惠券使用率的分布表示为beta分布。关于这个发行版,您需要知道的是它有参数\alpha和\beta,\alpha对应使用优惠券的产品数量,而\beta对应于不使用优惠券的产品数量。假设你相信普通的人对10%的物品使用优惠券。您可以选择\alpha=1和\beta=9作为您的先验,它的平均值为\tfrac{\alpha}{\alpha+\beta}=0.1。对于数据集中的每个人,您可以通过更新新信息来估计他们使用优惠券的频率。例如,如果用户在两个项目上使用了一张优惠券,您可以通过将1添加到\alpha,将2添加到\beta,从而更新beta发行版,这给出了\tfrac{2}{2+10}=0.17的新估计平均值。你可以看到,当一个人的购买数量很小时,你没有多少信息,所以你的估计将接近你的先前。如果没有多少信息,你就会假设一个人接近平均水平。然而,当你有很多信息时,先前的影响将是最小的,因为你有很多信息,不再需要做假设。
考虑这一点的简单方法是在分子和分母上添加一个常数:(#优惠券购买+ \alpha) / (#整笔购买+ \alpha + \beta)
注意:即使在10%这样的固定比例下,您也可以为\alpha和\beta选择不同的值,这些值代表了您对先前的自信程度。例如,您可以选择(\alpha,\beta) = (0.1, 0.9)或(\alpha,\beta)=(10,90)。这控制了您应用了多少“平滑”。
https://datascience.stackexchange.com/questions/75243
复制相似问题