uplift model学习笔记

一、解决的问题:

  通常的 Propensity Model 和 Response Model 只是给目标用户打了个分,并没有确保模型的结果可以使得活动的提升最大化;它没有告诉市场营销人员,哪个用户最有可能提升活动响应;

  因此,需要另外一个统计模型,用来定向那些可以被营销推广活动明显驱动他们偏好响应的用户,也就是“营销敏感”用户;

  Uplift Model的最终目标就是找到最有可能被营销活动影响的用户,从而提升活动的反响(r(test)-r(control))、提升ROI、提升整体的市场响应率;

  因此,模型要避免推广预算花在

  (一)从购买者角度来看:

  (1)自然反应的用户(即不需要营销也会来的用户);(2)顽固不会响应的用户;

  (二)从流失者的角度来说:

  (1)肯定的用户;

  (2)因为进行了市场推广反而流失的用户;

  (3)没有意识到是否有这个活动会有什么影响的用户;(即营销不敏感的用户)

二、什么是uplift model ?

  直接为treatment所带来的影响提升建模;

三、如何进行uplift modeling?(差分响应)

方法(一):

1、建立两个logistic模型

Logit(Ptest(response|X,treatment =1)) = a+ b*X +c*treatment

Logit(Pcontrol(response|X,treatment=0) ) = a + b*X 

2、将两个得分相减,计算uplift score

Score = Ptest(response|X,treatment =1) - Pcontrol(response|X,treatment =0)

方法(二):

只用一个模型,但是建立两个同样的;

1、Logit(P(reponse|X) = a + b*X + c*treatment + d* treatment *X

2、将两个得分相减得到uplift score

Score = P(response|X,treatment =1) - P(response|X,treatment =0)

 方法(三):

knn modeling

方法(四):

Naive Bayes

 四、uplift model使用过程中需要注意的问题:

1、训练样本

  由于强化学习需要用到的是反馈数据,因此训练样本的及时及自动更新会是比较重要的方面(尤其是label的更新和实时特征的更新),才能体现出来强化学习优于机器学习的地方,使用用户反馈的标注样本来更新训练样本库,可以使得反馈及时地得到学习,从而优化算法效果;

2、label设计问题

3、问题定义

  uplift的点与运营活动指标完美结合

4、冷启动策略问题

5、抽样训练时样本有偏的问题

 

 

总结:

   "Where traditional predictive modeling focuses on the outcome, uplift modeling focuses on the effectiveness of the treatment.Then, you can target resources on the cases that are likely to be positively impacted by the treatment."

  Uplift Model 的精髓是,它专注于作用之后效果的提升,因此区分出“营销/核销敏感人群”这一步特别重要,也是筛选特征的重要考虑方面;它对ROI结果的优化,不是在于模型设计的复杂,而是在于将ROI的思维策略融入到了模型当中。

  但是其实ROI并不仅仅是提升核销率,从长远的营销价值来说,ROI最优化还需要考虑用户的终身价值,也就是对用户所投入的每一分钱,是否对该用户长远来看给企业带来的价值是最大化的。

  Uplift Model对正负样本的定义就是,with treatment 和 without treatment的时候,是否具有response。

  

上图就是uplift model的建模假设矩阵。

 

转载于:https://www.cnblogs.com/zichun-zeng/p/8330358.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/448306.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

必须看透的50个错觉 人生要看透而不看破!

我们应该感谢命运的多喘,是它用历练使一颗脆弱心的渐渐变得坚强,变得对一切都充满了向往。无可否认,只有真正的经历了一些事物之后,你才会对人生看得更加透彻,才会对世间真情感悟的更加真切。 1、个人只能被现实改变…

设计模式之依赖倒置原则

在传统的过程式中,上层依赖于底层,当底层变化,上层也得跟着做出相应的变化。这就是面向过程的思想,弊端就是导致程序的复用性降低并且提高了开发的成本。 而面向对象的开发则很好的解决了这个问题,让用户程序依赖于抽象…

@Transactional 详解

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 Transactional 是声明式事务管理 编程中使用的注解 1 .添加位置 1)接口实现类或接口实现方法上,而不是接口类中…

LiveGBS高性能GB28181国标流媒体服务流传输模式支持UDP、TCP被动、TCP主动模式

LiveGBS国标(GB28181)流媒体服务软件: 提供用户管理及Web可视化页面管理; 提供设备状态管理,可实时查看设备是否掉线等信息; 实时流媒体处理,PS(TS)转ES; 设备状态监测、云台控制、录…

通过人行横道线

学车中的通过人行横道线 人行横道线,俗称斑马线,是由一条一条的白色线组成的,主要是用来让行人穿越马路的。 驾驶员驾驶车辆通过人行横道时应该减速缓行,注意礼让行人。 考核要求 当驾车进入路面有施划人行横道线的&#xf…

python学习-38迭代器和生成器

迭代器和生成器---- 迭代器协议和for循环工作机制1.迭代器协议:对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么引起一个Stoplteration异常,以终止迭代(只能往后走,不能往前走&#xff09…

[转载]基于Aaf的数据拆分

(本文适于使用Aaf框架的开发者阅读) 1. 基本原理 在Aaf框架中,“对象”和“存储”的关系映射有一个关键的纽带StorageAlias,即“存储别名”,同样一个类型,在不同的存储别名下,可以自由映射到任意存储“位置”。  “位…

靠边停车

什么是靠边停车 靠边停车是大路考中一个指标很明确的考核项目,要求学员驾驶车辆使之靠边停下。 操作方法 1、停车前,要通过内、外后视镜观察后方和右侧交通情况,开右转向灯。 2、适量踩下制动踏板。 3、向右转动方向盘(第一把轮…

RuntimeException 和 Exception 区别、异常的子父级关系

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 1.java 将所有的错误封装为一个对象,其根本父类为Throwable, Throwable 有两个子类:Error 和 Exception。 2.Err…

通过路口

操作方法 1、让车减速 2、观察路口的情况 3、通过路口 注意事项 1、不要抢黄灯 2、不要开英雄车,即红灯亮起时通过路口的最后一辆车 3、控制车速,控制在50km/h以下 4、看到左右车都减速时,也马上减速 5、要左转…

C语言笔记(关键字)

gdb调试 gcc 源程序 -g;加gdb调试信息gdb可执行程序;(gdb调试)l(ist):查看源码,按一下从main开始10行以此往后l n:查看n处上下10行的源码run:运行程序b&…

自定义 Git - Git 钩子 (自动部署)

Git 钩子 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 和其它版本控制系统一样,Git 能在特定的重要动作发生时触发自定义脚本。 有两组这样的钩子:客户端的和…

变更车道

操作方法 1、观察与判断观察车辆后方、侧方和准备变更的车道上的交通流情况; 2、确认安全后,打开转向指示灯示意,并再次通过后视镜观察两侧道路上有无车辆超越,确认准备驶入的车道是否允许留有安全距离; 3…

C语言笔记(符号)

注释符号 几个似非而是的注释问题 例子: (A) int / * ... * /i; (B) char * s "abcdefgh //hijklmn"; (C) //Is it a \valid comment? (D) in/ * ... * /t i; 我们知道C语言里可以有两种注释方式:“/* */” 和 “ // ”。那么上面几条…

直线行驶

考核要求 保证跟车安全速度和安全距离,了解车辆行驶速度、注意观察路面状况,采取相应措施。不能有左右摆动、方向不稳的现象。 考试口诀 一.寻找中心 二.双眼锁定本车能通行的中心 三.心理想着走中间 四.双眼从本车前面最突出点的.中心…

java 命令: jmap 命令使用 ( 查看内存使用、设置 )

jdk安装后会自带一些小工具,jmap命令(Java Memory Map)是其中之一。主要用于打印指定Java进程(或核心文件、远程调试服务器)的共享对象内存映射或堆内存细节。 jmap命令可以获得运行中的jvm的堆的快照,从而可以离线分析堆,以检查内存泄漏&am…

第一节 接口概述 [转贴]

接口(interface)用来定义一种程序的协定。实现接口的类或者结构要与接口的定义严格一致。有了这个协定,就可以抛开编程语言的限制(理论上)。接口可以从多个基接口继承,而类或结构可以实现多个接口。接口可以…

获取本机用户名、MAC地址、IP地址、硬盘ID、CPU序列号、系统名称、物理内存

我们在利用C#开发桌面程序(Winform)程序的时候,经常需要获取一些跟系统相关的信息,例如用户名、MAC地址、IP地址、硬盘ID、CPU序列号、系统名称、物理内存等。 首先需要引入命名空间: using System.Management; //…

只用一套解决方案,就可解决80%的交通物流行业信息难题

行业背景 新中国成立70多年来,中国交通运输总体上已经形成了多节点、全覆盖的综合运输网络,“五纵五横”综合运输大通道基本贯通,一大批综合客运、货运枢纽站场(物流园区)投入运营,取得了一系列瞩目成果&am…

起步

什么是开车起步 起步,即发动汽车,使汽车开始走动。 操作方法 1、“踩”离合器 2、“挂”一档 3、“打”左转向灯(提醒后车驾驶员注意安全避让) 4、“鸣”号(引起车辆周围的行人或机动车等注意&…