个性化推荐系统(七)--- ABTest ab测试平台

       个性化推荐系统、搜索引擎、广告系统,这些系统都需要在线上不断上线,不断优化,优化之后怎么确定是好是坏。这时就需要ABTest来确定,最近想的办法、优化的算法、优化的逻辑数据是正向的,是有意义的,是提升数据效果的。

        ab需求能方便测试,提供界面快速调整流量,调整流量后能够方便看效果变化,以及不同ab分支算法对比到底是a算法好、还是b算法好、还是c算法好。再有就是白名单配置上线新算法时,实现新算法上线测试,验证程序是否正确。

        根据ABtest需求,系统有三个大的系统构成。一个系统是ABTest配置管理平台用于管理每个ab需求。一个是ABTest实时分流服务,根据用户设备信息、用户信息进行ab分流。一个系统是实时效果分析统计,将分流后程序点击、浏览、gmv转化通过hive、hadoop程序统计后,在统计平台上进行展示。

        ABTest配置管理平台,平台设计为每一个ab测试生成唯一id,围绕id生成测试对象,对象包含各种分组配置,每一组分组配置包含生效时间。配置管理用户白名单,白名单用户会直接分配到配置分流,而不根据算法计算分配到某个分支,白名单既能对分支算法进行测试,避免找多个用户看用户是否在需要测试算法分支,当产品、运营需要看当前新算法推出文章、商品到底是什么情况也可通过白名单方便实现。

        在线实时分流服务目的是提供一个通用线上服务计算分流,返回分流结果。线上服务根据ab分流选择算法路径给用户提供个性化数据。ab服务实现需要先判断用户是否在白名单中,在白名单中直接将白名单配置分流返回。

       实时分流服务算法设计为接口,接口即是协议实现接口算法皆可用以线上分流,现平台用设备尾号进行hash以保证用户流量均分,避免流量未打散、均分导致线上效果受影响。这一块还可以进行分层支持,分层ab好处是可以同时进行大量ab算法。能快速同时进行多组线上实验,快速找到好的方法提升线上效果。

        实时分流服务作为基础服务,线上所有业务服务都会访问,算法正确性、服务稳定性、性能都极其重要。分流算法正确性服务先在线上试运行,一段时间后基本没有问题。稳定性、性能需要极高因为线上服务均要调用它。架构设计方式配置管理平台配置信息要缓存到本地缓存中,避免每次用户请求请求mysql数据库,每分钟几百万次请求这对数据库是灾难。当配置有变化后通过zookeeper通知变化,或定时30s去拉去配置都是很好的实现。性能要好因为线上服务均依赖它,它慢会导致线上服务慢。算法实现要简单明了,避免不必要循环以及逻辑,这点可通过review来保证。

        统计分析平台,有了好用的配置管理平台,方便高性能的线上服务,统计分析作为逻辑、算法、优化是否有意义最终标准。要求是实时数据、离线数据统计能通过图表方便直观查到,并且数据要正确有一定延时可以接受、准确性是更重要的指标。

        通过ABTest平台方便我们不仅仅方便做搜索引擎、推荐系统持续优化,其实线上UI、文案等各种优化,均可以通过ab来科学、直观、方便分析,到底是正向效果、没有效果、还是负向效果,讲科学避免拍脑袋。ab白名单还可以用来提供服务白名单服务,结合日志服务实现线上白名单服务,既方便定位问题,又能避免大量日志导致线上服务性能差。

        微信搜索:debugme123

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏互联网杂技

20个有用的UX日常使用工具&APPs

交互设计师或产品经理在工作中需要一些用户研究的工具,此文分享了一些日常使用的app及在线工具,希望对大家有所帮助~~ 在UX团队工作通常需要掌握相当多的在线工具...

3388
来自专栏IT大咖说

手无寸铁,如何强硬又体面地落地中间件

内容来源:2017 年 12 月 03 日,找钢网资深架构师刘星辰在“IAS2017互联网架构峰会”进行《手无寸铁,如何强硬又体面地落地中间件》演讲分享。IT ...

593
来自专栏zhisheng

为什么linux这么火?

linux自从诞生之初,就受到编程爱好的热宠,到现在也是如此,前段时间linux创始人骂人的一句话,都成了互联网传播的热词,这从侧面说明了linux...

2744
来自专栏程序猿的那些趣事

程序员抄袭代码现象普遍, 却能拿到年薪30万, 你怎么看?

你们知道程序员最熟悉,最熟练,最常用的两个快捷键是哪两个吗?没错,估计你现在心中所想的就是:和,俗名为:复制和粘贴。

461
来自专栏CDA数据分析师

数据科学的十大常见误区 你中枪了吗?

原作者 Shane Brennan 编译 Mika 本文为 CDA 数据分析师原创作品,转载需授权 对于数据科学领域的新手来说,以下的十大常见误区每一条都是血...

2447
来自专栏PPV课数据科学社区

数据创客:大数据创业机会演讲稿 附PDF下载

大数据创业机会演讲稿-江 1、回复“数据分析师”查看数据分析师系列文章 2、回复“案例”查看大数据案例系列文章 3、回复“征信”查看相关征信的系列文章 4、回复...

3184
来自专栏大前端开发

从编程小白到全栈开发:一只编程小白

现在的人们,每天在使用着各种手机app或网页之类的,进行日常工作,亦或是打发闲暇时间?但是在使用它们的时候,你是否曾有过一丁点的好奇心,想过这些东西到底是什么,...

733
来自专栏腾讯移动品质中心TMQ的专栏

激情测试--冒烟军团的远征

一、冒烟起源篇 冒烟测试的概念在整个测试组其实已经使用很久,在FT化之后,冒烟测试下发到各个FT里面进行把控,一直是一个不温不火的状态。 ...

1855
来自专栏AI研习社

2017 年关于 Python 案例的 Top45 文章

本文为雷锋字幕组编译的年度盘点系列,原标题Python Top 45 Articles for the Past Year (v.2018),作者Mybrid...

3846
来自专栏哲学驱动设计

脑子是用来想事的,不是记事的

    我们做程序员的,每天都有很多事情要做。拿我来说吧,很多事情要做:要工作、要看书、看别人写的文章、研究源码、写写代码、陪陪女友、打打游戏、看看电影……你肯...

17910

扫码关注云+社区