作者简介

房英明,携程支付中心数据负责人,目前负责支付离线数据仓库建设及BI业务需求。主要兴趣点为并行计算、数据处理及应用等领域。

一、引言

携程金融核心产品为:拿去花、借去花、信用卡、理财。其中拿去花提供携程产品分期支付服务,借去花提供现金借款服务,信用卡提供携程联名卡、理财则给用户提供有竞争力的理财产品。除此之外还有闪游卡、二维码、程金币等小的业务线。

如何把这些创新性的金融产品,推荐给有兴趣的潜在用户,成为一个需要解决的难题。在此背景下,支付中心数据组开发了一套用户精准营销系统。

二、系统设计目标

1)不侵入业务系统,与业务系统解耦

业务方只要提供符合规范的restful接口,即可接入系统。接口分为两类:一些强业务关联的规则,由业务研发实现;另外一些分析相关的接口由数据组负责完成实现。

2)灵活的营销页面投放方法

可以灵活进行分群及投放。投放策略分为:共性策略,个性化策略。共性策略配置实时生效,产品运营可以根据业务需要及时调整相关策略,无需数据/研发参与;而较为复杂的个性化策略可以由数据组基于画像指标进行扩展与定制,免去了漫长的开发、测试、发布等阶段,提高了投放效率。

3)支持多种投放模式

基于优先级、随机、模型等,其中模型效果可以通过Abtest 量化效果以及迭代优化。

4)报表监控/离线数据采集

报表监控包括:实时流量使用、实时点击、离线点展转化、业务接入api性能监控;离线数据采集主要是为了追踪策略效果及转化。

为了方便其他业务方接入,数据组定义了一套输入/输出标准,业务方提供的restful接口只需满足输入输出的定义,即可接入本系统,这样接口开发与数据组策略制定可以解耦,运营可以针对每种接口进行热插拔式投放。

2.1 整体架构

1)策略管理模块:数据组收集业务相关需求,沉淀相关的业务规则。目前核心功能是:借助分流策略提高流量利用率及使用模型评分提高开户转化率。

2)模型训练模块:根据不同业务线的特点,定义模型黑白样本,使用机器学习算法,对用户业务线的开通情况进行评分并进行标准化。

3)数据收集/分析模块:建立了完善的离线及实时监控,如实时流量使用、实时点击、离线流量/开通转化率数据;通过后端埋点,埋点日志落地至hive中,数据组基于日志分析各个步骤数据转化效果,进而优化策略。

2.2 交互时序

通过各接入业务方接口拦截是其营销页面展示的必要条件,为了提高接口的响应性能,采用了线程池对每种类型的弹窗分别遍历各自的规则,同时对于业务线接口返回超时时间进行限制,防止系统性能出现较大的真震荡。


三、核心功能

本系统关注两个方面:流量使用率和流量转化率,前者实现流量精细化运营,能够更加精细的控制每个产线所分配的流量;后者致力于提高流量转化,使流量能够最大化其价值,流量使用率主要通过分流实现,而流量转化率主要借助机器学习算法。

3.1 流量使用率-分流

分流的本质在于提高流量的利用率,在流量总量有限的情况下,如何根据一定的策略实现不同流量的分配,流量是通过百分比进行划分,所有产品线共享流量比例为100%。当前支持的策略有:随机均匀、基于优先级、基于推荐算法实现。

3.1.1 随机均匀

均匀性:保证各业务线不仅能够在投放总量上保持均匀分配还要求在同一时点尽可能的均匀,不同时点的流量质量会有差异,此处可以借鉴各种随机化函数实现(random/Collections.shuffle())。

一致性:保证同一个用户多次进入都会显示相同的营销内容,常用的算法为hash取模,如果对于并发度要求高,可以使用murmurhash3。

3.1.2 预测当天流量

当一个用户能够通过多个业务线策略拦截时,随机选择一个业务线的营销页面进行投放。针对任一用户uid,各业务线接口返回值会有不同,且不同业务线的拦截策略也会有所不同,最终能够通过业务线拦截的业务线个数会不同,故无法保证完全的均匀性和一致性。

如果仅仅借助于均匀性和一致性会导致部分产线的流量分配不合理,因此需要对各个业务线流量的上限进行严格控制。此时需要预测当天流量才能借助于当天流量总量及所分配比例,确定流量预算,考虑到携程app流量周期性影响,可以借助于时间序列模型去预测。

3.2 开通转化率-模型

3.2.1 模型Y值定义

为了提高营销页面的转化率,我们借助机器学习算法,在选择模型的正负样本的时候,我们没有以是否点击作为模型的target,而是以是否开通作为模型的target,原因是我们通过离线数据分析发现,UED重新设计页面,可能导致页面的点击率变动较大,当对于整体的开通转化率影响较小。

3.2.2 关于模型开发及部署

我们测试了多种业内算法,最终采用了GBDT+LR,由于目标客户量大,而模型训练的特征也有近百个,且需要对每天的全量用户进行打分并推到生产环境,故直接使用spark ML在hadoop 平台进行模型训练及部署。

模型效果如下:其中拿去花KS较高,是由于已激活的拿去花用户较多,能够拿到的特征相对比较全面。

3.2.3 评分的标准化

由于大部分产线都会单独进行模型评分,各自评分的度量需要映射到同一个基线上进行评分才合理,这个统一基准包括:开通转化率的测算,然而不同业务线的开通转化率差异也会很大,我们对评分进行分段,对不同分段的开通转化率进行测算,最终根据测算结果选择阈值,且利用最大最小值标准化不同产线的评分。

四、策略制定需要关注的问题及解决方案

4.1 流量预算少时模型阈值的选择

倘若某个业务线所分配的流量占比非常少时,是否可以大幅度提高其转化率?也就是尽量选择高质量的流量进行曝光,防止流量过早在相对较低质量时段中耗尽,此时如果该业务线上了模型,可以将模型分值调整到一个较大值,从而保证其转化率。

4.2 业务线共存

各产线营销页面投放需求差异较大,部分营销页面投放周期较短,或不以“开通”为目的时,可能就不需要为这种类型的业务线训练模型,而营销页面投放选择时会遇到:拥有模型业务线和不拥模型业务线共存问题,此时要合并这两种类型的营销页面,进行页面随机均匀选择。

4.3 新业务线的接入

新接入的业务线由于没有样本,需要事先分配部分流量,待样本积累一段时间后,才会进行模型评分。

4.4 模型效果量化-abtest

理论上一个新的用户端产品上线前都应该进行有效的abtest,然后基于T/Z检验abtest产品效果,实际上abtest效果评估也需要根据业务进行调整。

如在一般的信用类场景中,使用abtest进行效果评估会很不合适,因为用户变坏的过程较为缓慢,且策略变更也较为频繁,而效果却难以短时间内衡量,具体到本系统,定义好目标值,如开通转化率,在保证AB样本接近1:1时,很容易可视化模型效果,无需T/Z检验。

4.5 如何构建近似1:1的abtest流量

Abtest衡量转化率时,需要尽量保证A流量和B流量近似于1:1,这需要对A、B样本进行埋点,然后线下分析,进而调整各业务线的模型分值,间接影响AB流量分配。

五、总结

本营销系统,基于携程用户信息及机器学习算法,灵活进行分群及推荐,解决了流量利用率和转化率难点,且能够通过abtest量化/迭代推荐算法效果,业务线接入简单,支持运营产品实时调整营销策略。

数据同学能够基于收集的完整后端/UBT日志,跟踪分析营销系统每一步的转化情况,然后进行策略调整及优化投放。

【推荐阅读】

  • 一文看懂JVM内存布局及GC原理

  • 加载速度提升15%,携程对RN新一代JS引擎Hermes的调研

  • 携程酒店RSocket实践

  • 携程酒店MOCK全链路实践

  • 万字长文全面解析GraphQL,携程微服务背景下的前后端数据交互方案

干货 | 千人千面营销系统在携程金融支付的实践相关推荐

  1. 如何实现情感分析在舆情场景下的千人千面效果——情感分析在舆情中的研发实践(上)

    编者按 文本情感分析是对带有主观感情色彩的文本进行分析.处理.归纳和推理的过程.互联网上每时每刻都会产生大量文本,这其中也包含大量的用户直接参与的.对人.事.物的主观评价信息,比如微博.论坛.汽车.购 ...

  2. 干货 | 实现一个属于你的“语言”-携程Kotlin DSL开发与实践

    作者简介 刘媛,携程金融高级开发工程师,主要负责中文版.国际版支付Android端的开发及维护工作. 每一个DSL,都是一定意义上专有的语言,这篇文章希望能够用浅显易懂的方式,将Kotlin DSL的 ...

  3. 弘辽科技:千人千面你理解清楚了吗?

    千人千面是通过什么样的形式来运转呢,简单的来说在买家面前展现的是宝贝合集,从买家到宝贝合集共需要四个点,来我们一同看下是哪四点? 第一:买家进入淘宝,淘宝立马会识别买家的标签. 第二:根据该买家的标签 ...

  4. 如何通过“推送文案的千人千面”有效提升用户转化和留存

    随着互联网用户红利消失和获客成本不断飙升.互联网正从"增量时代"迈向"存量时代". 通过精细化运营激活存量用户,从而带动企业的第二增长曲线发力,已经成为行业共识 ...

  5. rds 数据库营销报告_千人千面的营销数智化测试,你还没做?

    这不是一个纯靠"文科式"打法的年代了--营销人不断探索,用数据赋能自己的营销工作,降本提效,找到更优解.然而,当我们都在说"智能化营销"的时候,你真的懂营销数智 ...

  6. 企业千人千面管理模式_零售企业该如何打造“千人千面”的差异化营销?

    面对新的市场特点,企业必须要重构一套新的营销体系,这套营销体系可能将会是颠覆以往的营销体系,因为现在的市场环境.消费需求已经完全不同于以往的市场特点. 今年在和一些企业交流时,有的企业老板提出: 能不 ...

  7. 悟了,电商的千人千面系统,原来还可以这么搞

    互联网行业的快速发展,给我们带来了极大的便利.回顾整个互联网行业的发展历程,从PC时代到移动互联网时代,从移动互联网时代到IOT(物联网)时代,现在又即将从IOT时代迈入AI(人工智能)时代.这些飞速 ...

  8. 电商的千人千面系统,这样搞比较靠谱

    本文详细描述了千人千面的具体业务逻辑.技术方案和推荐算法,以及需要注意的问题.阅读全文需要15分钟. 互联网行业的快速发展,给我们带来了极大的便利.回顾整个互联网行业的发展历程,从PC时代到移动互联网 ...

  9. 解读千人千面,洞悉数据智能的价值(附ppt下载链接)

    本文根据神策数据业务咨询师潘书荟<数据智能打造"百人百态 & 千人千面">的主题演讲整理,从判断企业是否需要千人千面.如何实现千人千面以及效果追踪三大方面展开. ...

最新文章

  1. led灯bin值_「技术贴」如何判断LED透明屏正发光与侧发光的优劣?
  2. 【云计算】云计算从业者导学
  3. 面试:你说一下 MyBatis 事务吧!
  4. php基础 简书,PHP入门基础
  5. 计算机运行卡英语怎么说,“芯片卡”英语怎么说
  6. Ubuntu下常用命令总结
  7. 获取Java对象中所有的属性名称和属性值
  8. Shell编程入门学习
  9. shl归纳推理测试题库_SHL(外企笔试常见试题)全攻略
  10. csp202109-1:数组推导 题解
  11. linux 修改网卡 mac地址命令,Centos系统下查看和修改网卡Mac地址(附ifconfig命令格式)...
  12. Directory Opus打不开除了zip的压缩包(打开错误)
  13. Windows网络诊断和配置常用命令详解
  14. 华为鸿蒙17日,华为又有大动作,于10月17日发布全新系列手机,或将采用鸿蒙系统...
  15. 2019年安徽省模块七满分多少_2019年安徽中考总分是多少 考试科目及分值
  16. 联想拯救者R720重装Win10系统的正确姿势
  17. 钉钉邮箱登录入口_钉邮的使用攻略①
  18. vue3 引用vue-ueditor-wrap中百度编辑器ueditor实例,字数统计
  19. 可达性(tarjan算法)
  20. 雷蛇Razer鼠标固件升级失败后的解决办法

热门文章

  1. VC工程配置OpenCV库
  2. Crontab执行java/spark-shell/spark-submit 异常解决方法
  3. 汇编语言求一组数中的最大值,最小值和总和(以10个数为例)
  4. 马兰士 RS-232C/IP 控制开发文档
  5. [转]关于男女两性关系的名言幽默!经典!!
  6. ElasticSearch快速入门详解(亲测好用,强烈推荐收藏)
  7. 【python35.1--EasyGui界面】
  8. jpa多对多,中间表有额外查询字段设计,以及使用creteriaquery进行动态查询,使用自定义类进行数据封装返回
  9. 一名大四ACM弱鸡 退役宣言
  10. JCK Editor 结合jQuery Upload File 增加图片批量上传功能