背景
策略或算法需要在线上不断上线,不断优化,优化之后怎么确定是好是坏。这时就需要ABTest来确定,最近想的办法、优化的算法、优化的逻辑数据是正向的,是有意义的,是提升数据效果的。
ab需求能方便测试,提供界面快速调整流量,调整流量后能够方便看效果变化,以及不同ab分支算法对比到底是a算法好、还是b算法好、还是c算法好。再有就是白名单配置上线新算法时,实现新算法上线测试,验证程序是否正确。
根据ABtest需求,系统有三部分构成。
- 配置管理平台: 用于管理每个ab需求。
- ABTest实时分流服务: 根据用户设备信息、用户信息进行ab分流。
- 实时效果分析: 将分流后程序点击、浏览、转化通过统计后,在BI平台上进行展示。
配置管理
配置管理利用现在的Apollo配置平台,以json格式进行配置,每个业务详细配置如下:
{
"layers": [
{
"id":10001,
"name": "search",
"is_stop":false,
"experiments": [
{
"name": "searchA",
"id":11,
"weight": 20
{
"name": "searchB",
"id":22,
"weight": 10
}
]
},
{
"id":10002,
"name": "ctr",
"is_stop":false,
"experiments": [
{
"name": "v1",
"id":1,
"weight": 50
},
{
"name": "v3",
"id":3,
"weight": 50
}
]
},
{
"id":10003,
"name": "bid",
"is_stop":false,
"experiments": [
{
"name": "v3",
"id":3,
"weight": 100
}
]
}
]
}
实时分流服务
考虑延迟性,ABT以SDK方式提供服务
image.png实时效果分析
ABT相关信息打印在ABT的log中,基于开源组件实现可视化。下面是数据可视化数据流:
数据流实时数据可视化效果
如有疑问,欢迎关注下面公众号进行交流。
网友评论