一、解决的问题:

  通常的 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的建模假设矩阵。

uplift model学习笔记的更多相关文章

  1. ExtJs Ext.data.Model 学习笔记

    Using a Proxy Ext.define('User', { extend: 'Ext.data.Model', fields: ['id', 'name', 'email'], proxy: ...

  2. Django2.2 数据库的模块model学习笔记

    一.前言 为什么选用Django2.2,因为从2019年下半年起Django2.2逐渐成为长期支持版本,官网也有数据,所以当然选用维护时间长的版本 二.models的建立 Django的models也 ...

  3. (转)Qt Model/View 学习笔记 (七)——Delegate类

    Qt Model/View 学习笔记 (七) Delegate  类 概念 与MVC模式不同,model/view结构没有用于与用户交互的完全独立的组件.一般来讲, view负责把数据展示 给用户,也 ...

  4. (转)Qt Model/View 学习笔记 (五)——View 类

    Qt Model/View 学习笔记 (五) View 类 概念 在model/view架构中,view从model中获得数据项然后显示给用户.数据显示的方式不必与model提供的表示方式相同,可以与 ...

  5. Django学习笔记(三)—— 型号 model

    疯狂暑期学习 Django学习笔记(三)-- 型号 model 參考:<The Django Book> 第5章 1.setting.py 配置 DATABASES = { 'defaul ...

  6. 学习笔记之Model selection and evaluation

    学习笔记之scikit-learn - 浩然119 - 博客园 https://www.cnblogs.com/pegasus923/p/9997485.html 3. Model selection ...

  7. AngularJs学习笔记--Understanding the Model Component

    原版地址:http://docs.angularjs.org/guide/dev_guide.mvc.understanding_model 在angular文档讨论的上下文中,术语“model”可以 ...

  8. [学习笔记] Uplift Decision Tree With KL Divergence

    Uplift Decision Tree With KL Divergence Intro Uplift model 我没找到一个合适的翻译,这方法主要应用是,探究用户在给予一定激励之后的表现,也就是 ...

  9. maven权威指南学习笔记(三)——一个简单的maven项目

    目标: 对构建生命周期 (build  lifecycle),Maven仓库 (repositories),依赖管理 (dependency management)和项目对象模型 (Project O ...

随机推荐

  1. Qt 学习(4)

    Qt UI 文件机制 使用 Qt 设计界面程序时,若界面是静态的,可以借助 Qt Designer 进行所见即所得的界面设计.设计好界面后,在界面类中对 ui 对象进行操作非常方便. QtCreato ...

  2. npm EPERM: operation not permitted, rename解决

    此问题并非权限问题! 执行如下3条命令解决: 1.清理npm缓存 npm cache clean --force 2.升级npm版本 npm install -g npm@latest --force ...

  3. 《Head First 设计模式》之状态模式——糖果机

    状态模式(State) ——允许对象在内部状态时改变它的行为,对象看起来好像修改了它的类. 策略模式与状态模式的区别 状态主体(拥有者)持有状态对象,运行时可以通过动态指定状态对象来改变类的行为 策略 ...

  4. PHP保存Base64图片base64_decode的问题

    PHP对Base64的支持非常好,有内置的base64_encode与base64_decode负责图片的Base64编码与解码. 编码上,只要将图片流读取到,而后使用base64_encode进行进 ...

  5. SublimeText插件cssrem : px转换为rem

    步骤: 下载插件: https://github.com/flashlizi/cssrem 安装插件: 打开:Sublime Text 点击: Preferences 选择: Browse Packa ...

  6. 1像素border

    1像素border 利用伪类和媒体查询: 伪类: border-1px($color) position:relative &:after display: block position: a ...

  7. Python列表边遍历边修改问题解决方案:alist[:]

    最近在看python,遇到个简单的问题:删除列表中指定的重复元素,发现一些实用并且有趣的东西. 1.错误示范 alist = [1,1,2,2,3,3,2,2,1,1] for i in alist: ...

  8. 我的Android开发之路——百度地图开源工具获取定位信息

    定位技术在现在的移动设备上是必不可少的,许多app都会使用定位功能. 通常定位方式有两种:GPS定位:网络定位. Android系统对这两种定位方式都提供了相应的API支持,但是因为google的网络 ...

  9. Azure 1 月新公布

    Azure 1 月新发布:Microsoft Power BI Embedded 公共预览和计算机视觉 API 标准版的更新以及 Azure IoT 网关 SDK 和中心设备管理新功能正式发布以及关于 ...

  10. 学习笔记_TCP编程,服务端

    public void startTcpService(String ip) { try { InetAddress ipAddress = InetAddress.getByName(ip); tc ...