从优惠券的投放人群,教你看分类模型的评判标准

2017-12-27  本文已影响0人  Yan文怡

为什么要写这篇文章?

大数据背景下,优惠券的投放都用到了机器学习的分类模型。对于这个全新的概念,很多人一知半解。更好的使用分类模型,对优惠券发放起到了至关重要的作用。这篇文章想用最直观的语言,向企业各类人群,传达机器学习模型的在大数据营销时代的重要性。

对于分类模型(Logistic 回归、Decision Tree、Neural Networks等)的输出指标,比如 Confusion Matrix、ROC、AUC,召回率,准确率等。分析师往往向业务部门同事解释这些含义时感到头疼。如何直观的去理解这个指标含义,而不是机械的解释,是我这篇文章所要传达的目的。

什么是分类模型?

简单的说,我想发送100张优惠券,我应该发给哪些人,而且这些人会最大可能去使用这些优惠券。于是我建了一个模型,把现在的客户按照会使用的可能性打了一个分数。我觉得分数大于某个值的人,就会使用,小于某个值的就不会使用。这就是最普通的分类模型。

在建立模型的过程中,我们用过去的数据,让模型去学习,所以当模型给每个人打好分数时,我们是知道这些人中,哪些分数打对了,哪些打错了。我们用这些答对,答错的数据,来评判一个模型的好坏。

学过统计的人肯定都看过下面的图:

Confusion Matrix 实际1 实际0
预测1 TP FP
预测0 FN TN

很多人都是画出上面的图,然后手工计算各种指标:比如True Positive Rate,False Positive Rate,Presicion, Accuracy 等等,来评判模型好坏。我曾今见过一个分析师,拿着这张表格和业务部同事讲,告诉他们自己建的模型如何如何好,最后那个同事两眼无神的听了5分钟就走了。

了解True Positive Rate,False Positive Rate,ROC,AUC
例子:生病的小女孩

下图中,

我们请机器人模型根据她们的化验指标判断这10个人有没有生病,机器人的诊断结果用勾和叉表示。我们看到,真正生病的女孩中,机器人找对了4个,但是有一个没有生病的小女孩,机器人觉得她是生病的。
这样我们可以算出:True Positive Rate 是 4/6 (0.67) , False Positive Rate 是¼ (0.25)

之前我们提过,机器人模型会给每个小女孩打分,然后通过分值大小判断有没有得病。
首先机器人,设定的标准是,小女孩打分在0.5以上,就判定为生病了。这样我们可以算出,
TPR,FPR分别是(0.25,0.67),我们可以把这个点画在X轴是FPR,Y轴是TPR的坐标中。

然后机器人觉得,我定的标准是不是有点高,如果换成0.4为判定标准呢?因为低了0.1,所以打分0.4的小女孩,从原来没有生病的小女孩,变成了生病的小女孩。这样我们又有了一组新的坐标

机器人想,既然我是自动化的机器人,用不同的判断标准都算一遍,应该不是难事吧。于是,无数点连城了一条曲线。ROC是图中的一条线,而AUC是ROC下面包含的面积大小,用百分百表示,区间范围在(50%~100%),通常来说AUC越大越好。

除了ROC/AUC,还有什么指标评价模型好坏吗?
LIFT 和 GAIN 图形
例子:优惠券

商家想做一个市场活动,发个8折优惠券。建模分析师为了判定自己建的模型好坏,从去年优惠券活动中随机挑选了1500个人,用模型给他们从高到低打了分。通常来说如果不挑人投放的话,这种优惠券的响应率在53%左右,下面我们看看用模型挑人的话,会怎么样?

%dataset 人数 使用人数 累计人数 累计使用人数 累计响应率 LIFT 与基础响应率比值 GAIN
第一档10% 15 130 150 130 87% 1.63 16.3%
第二档20% 15 120 300 250 83% 1.56 31.3%
第三档30% 15 130 450 380 84% 1.58 47.5%
第四档40% 15 110 600 490 82% 1.53 61.3%
第五档50% 15 100 750 590 79% 1.48 73%
第六档60% 15 90 900 680 76% 1.42 85.0%
第七档70% 15 30 1050 710 68% 1.27 88.8%
第八档80% 15 40 1200 750 63% 1.17 93.8%
第九档90% 15 30 1350 780 58% 1.08 97.5%
第十档100% 15 20 1500 800 53% 1.00 100%

总人数:1500人,优惠券使用数800,基础响应率 80/1500 = 53%

我们把1500个人,根据模型认为会使用优惠券的可能性,按打分从高到低排列,分成10档,每档150个人。

从图中看,第一档的人数是150人,其中有130人使用优惠券,响应率是87%。前面提到,不用模型挑选,活动响应率是53%,那么用模型挑选出的第一档的人群比起不用模型,提升了1.63倍(=87%/53%)。

接下来模型定义的第一档和第二档,累计人数是300人,累计使用优惠券是250人,那么响应率是83%,这用模型定义的两档人群比起不用模型,提升了1.56倍。

再看第一档,第二档,第三档,累计人数450人。。。 以此类推。我们可以得到红色的LIFT(提升)图。其中X轴是每个档做包含的占比,Y轴是对应的提升率。

同样的,我们可以画出GAIN(获得率)图,模型挑选的第一档人群中,有130个人使用了优惠券,而总共有800个人使用,所以模型第一档的获得率是16.3%(=130/800)。第一档和第二档累计是有250个人使用,这两档的获得率是31.3%, 以此类推。。。

一个好的模型的判定标准之一,就是要大于不用模型挑选的响应率,而且越大越好。在 lift 图中,表现就是,在 Y轴对应的提升度为 1 之前,lift 一直保持较高的(大于 1 的)数值,并且曲线足够的陡峭,逐渐变小趋近1。

像我们图中的优惠券其实并不是一个很好的模型。因为在LIFT图中,第三档的圆点高于第二档的圆点,也就是说这个模型并没有把会响应的人打相对的高分,导致有些确实响应的人被模型分配去了更低的档位。

还有其他什么指标能判定吗?
我们还会计算Precision,Accuracy,计算方法如下

关于TPR,FPR等指标的其他叫法

不同的文献对于这些专业名词有不同的叫法,有些人还喜欢中英混杂,下面列出了是其他叫法:

各种指标如何应用

说了那么多,其实分类模型最重要的就是选那个划定指标(阙值/Threshold)。 但是如何挑选我们要根据实际应用,比如广告的投放预算,可承担的风险来设定。

比如:医生看病,比如非典,错诊一个的代价非常大。那这时我们需要模型的TPR尽可能高。因为我希望真正得病的人中,医生找到的比例也多。

再比如,亚马逊给每个人推荐10个产品,那这时候,我就希望模型的Precision很高,因为我希望,我推荐的产品中,确实是用户喜欢的比例高。

还有根据市场部的预算,我们可以通过Lift图,看一下哪些档的人群累计响应率高,更好的利用预算

市场部从业人员的思考

大数据环境下的优惠券发放,已经不局限于用传统的CRM理论来设计场景。想要在如今赢的更多的利润,获得更多的市场份额,大数据的思维必不可少。
传统企业的从业人员应该剔除固有思维,在企业内部开始形成全面的数据流转,存储机制,并且积极参与大数据的应用,才能做大自己的蛋糕。

上一篇下一篇

猜你喜欢

热点阅读