长沙手机网站首页设计公司,网站建设 柳州,公司部门新年祝福语简短,做网站专题模板这篇文章会讨论#xff1a; 1. 在什么情况下需要做 AB 实验 2. 从产品/交互角度#xff0c;如何设计一个实验 3. 前端工程师如何打点 4. 如何统计数据#xff0c;并保证数据准确可信 5. 如何分析实验数据#xff0c;有哪些数据需要重点关注 6. 附#xff1a;如何搭建… 这篇文章会讨论 1. 在什么情况下需要做 AB 实验 2. 从产品/交互角度如何设计一个实验 3. 前端工程师如何打点 4. 如何统计数据并保证数据准确可信 5. 如何分析实验数据有哪些数据需要重点关注 6. 附如何搭建前端实验项目以 mip-experiment 为例 一. AB 实验的使用场景和正确用法
通常在页面有样式变化但又不确定是修改影响好坏的时候进行 AB 实验实验数据可以为改版提供有力支持。 某公司日常1 产品把页面标题变成之前的两倍。标题就是要醒目要大大大。 设计打死都不同意太大的标题不精致不优雅。 BOSS下面的按钮点击导流就是收入。收入就是一切你们做下实验采用收入高的方案。 前端哦。 当不确认按钮颜色banner 大小两个宣传语哪个效果好的时候实验数据可以帮你做决定。
二. 产品经理如何设计实验
在设计一个实验时需要考虑以下问题
2.1 实验的目的是什么
提升点击提升单个按钮转化能力提升页面总体点击率增加广告收入 用户留存增加用户在页面的留存时长拉升登录减少多步骤页面的用户流失 强化功能增加用户搜索次数增加用户点赞频率增加用户购买次数
重点关注一个目标并选择其它几个目标作为辅助以免走偏。比如提升广告点击率但不减少用户的留存时长和购买次数。Jenny_L 多啰嗦一句用户体验是绝对不能损失的。在页面头部多插入一条广告虽然可以短时间内提升广告收入但长期来看会造成用户反感造成永久的用户流失。
2.2 实验应设置哪些变量哪些不变量
样式按钮变大banner 底色文章行间距和长度中英混排样式 交互增加提醒增加面包屑导航增加 loading 动画 文案文案风格文字长度
通常情况下做实验都是使用控制变量法仅改变一个影响因素保持其他因素不变。控制变量法在物理实验中经常用到比如自由落体实验使用相同的物体保证空气阻力不变仅改变物体下落的初始高度计算下落时间与高度的关系。类似地在 web 样式改版实验中仅改变标题大小保持其他元素一致这样就能得出标题文字大小和下方按钮点击率的关系了。 某公司日常2 产品我们做个实验验证“标题变大按钮点击量增加”。 设计title 2x 的设计稿给你。 前端好。 2.3. 为得出实验结论需要关注哪些数据
2.3.1 提升页面的用户体验
用户停留时间交互动作次数页面展现量(PV)用户数(UV)单个用户访问页面数 PV/UV
2.3.2 提升广告收入
广告点击次数页面展现量(PV)广告点展比 点击次数/PV
2.3.3 提升 App 导流量/按钮导流能力
按钮展示次数按钮点击量按钮点展比 点击量/展示次数
三. 为了得到实验数据如何抽样前端工程师如何打点
3.1 如何抽样
github/mip-experiment 实验组件采用的方案是前端随机数抽样。简单来说就是预先设置100个实验分组算一个100以内的随机数随机数落在哪个区间用户就进入哪个实验分组。
3.2 如何打点
打点请求的统计汇总方式有两种第三方统计与自行统计。前端工程师只需要了解项目采用的是哪种就可以了。
3.2.1 PV UV 打点
第三方统计使用百度统计或类似服务都不需要前端工程师手动打点在页面插入统计代码后在后台可以就看到 PVUV。 自行统计每次页面加载时看下有没有标识单一用户的 cookie如果有则在document.readyState complete时发送 PV 请求。数据分析时汇总所有 http request 请求得到 PV, 根据 cookie 去重的到UV。如果没有 cookie则根据设备特征产出及访问时间计算出一个字符串用于标识唯一用户。
3.2.2 交互打点滑动点击
交互日志的打点需要前端工程师手动绑定事件。比如给按钮绑定点击事件给轮播图绑定滑动事件等等。
第三方统计在事件触发时调用统计服务的API将参数传入即可。例如百度统计的事件 API 是_hmt.push([_trackEvent, category, action, opt_label, opt_value]);那么在事件中就可以写_hmt.push([_trackEvent, 按钮01, 点击]); 自行统计百度系方法在事件触发时新建一个图片在图片URL中拼上统计事件的链接。比如百度搜索结果页的滚动请求为 https://sp1.baidu.com/xxx/mwb.gif?type3fmview…也可以拼接类似的 http request比如https://m.aa.com/a.gif?obj按钮01event点击。
3.2.3 元素展现打点
在浏览器自带事件中没有“元素在浏览器内可见”事件但是可以用 JavaScript 判断或者引用第三方库来实现。 JavaScript 判断思路根据页面当前滚动距离 scrollY元素距离顶部距离 top和屏幕高度 screenHeight 可以计算出元素是否在页面内可见。 某公司日常3 前端监听滚动事件。 if( top scrollY screenHeight) { -_ 按钮在屏幕内展现一次发请求 -_ 标记为已展现过。 } 第三方库jquery 插件-github原生实现- github
四. 如何统计数据并保证数据准确可信
4.1 统计的两种方式第三方统计与自行统计
如果选择第三方统计就选择了 Easy 模式。百度统计Google Analytics 等统计服务会帮你计算很多需要的数据。首推百度统计除了因为它是自家产品有问题随时可以找接口人解决之外还因为它是免费的中文统计投放简单数据产出快。
如果选择自行统计那么面对的就是浩大的工程了储存量和计算量惊人。百度系的统计是将统计参数拼接到图片 URL 后面带给服务端。知乎的统计是发送了 POST 请求。无论哪种方案每次用户点击滑动数据加载都会产生一条 http request储存和计算这些 request 会耗费不少服务器资源。Jenny_L 没有实践过如有需要可以 google 一下。
4.2 为保证数据可信请空转流量
解释空转是指先抽样统计关键数据而不修改页面样式的流程相当于AA实验。
原因虽然前端随机数抽样及类似方法理论上能够保证两份流量 pv 和 uv 相同关键数据相差不大但毕竟存在抽样不均的特殊情况。空转可以明显地发现抽样不均摒弃掉这部分流量保证实验数据的变化仅仅是实验本身样式改变引起的。
具体做法如果要做 AB 实验需要实验组 A 和对照组 B 两组流量。一次性抽取5-6组流量空转3天监控 pvuv点击数量等关键数据。选择两组数据最接近的上实验其他流量可以释放。
4.3 为验证结论正确请反转实验
解释当得出实验正向结论后将实验反转对照组变成实验组实验组变成对照组。 某公司日常4 产品实验数据正了标题就是要大大大 设计这不科学应该是数据波动。需要反转验证。 前端嗯我反转一下。 原因反转实验能够验证实验数据的差别是由实验样式改变引起的。但需要注意的是建议只在实验为正向收益时反转实验。如果收益为负反转实验只会多损伤原对照组的用户体验。
具体做法举个例子实验目的为“按钮大小对该按钮点击率的影响”。A 组流量按钮变大B 组为对照组按钮大小正常数据显示A组的按钮点击率升高效果更好。在反转试验中A 组流量按钮回复正常B 组变为实验组按钮变大。如果此时数据显示B组按钮点击率升高说明按钮大小对点击率有影响。
4.4 为减少多个实验互相影响请分流量实验不要分层实验
解释“分流量实验”是指一次抽取流量分别进行多个实验。“分层实验”是指每个实验都从100%中抽取一次流量。
原因“分流量实验”能够保证实验间没有重合一份流量不会同时中两个实验。而“分层实验”相当于从总流量中抽取多次一份流量有概率同时中两个实验这会对实验结果有一定影响。
具体做法
分流量实验: 抽取40%的流量20% 用于 Foo 实验20% 用于 Bar 实验。分层实验: 抽取20%的流量用于 Foo 实验再抽取 20% 流量用于 Bar 实验。此时约有 4% 流量即Foo 又 Bar 某公司日常5 产品反转数据也是正的说明标题应该大大大。 设计不对不科学是不是流量之间有干扰 前端采用的分流量实验确认没有干扰。 4.5 考虑到用户习惯性请保证实验黏性及持续时间
解释实验黏性 (sticky)指的是实验流量中的 pv 分配固定单个用户每次都被分入相同分组。实验的持续时间建议至少3天一周左右为好。 某公司日常6 前端正常情况下应该使用黏性的实验抽样。 原因在页面改版后用户可能有一段时间的学习过程和习惯期显示为数据的下降以及缓慢回升。
具体做法当某个用户中抽样时本地记录localstorage他的抽样情况下次他进入同样的页面读取记录进入同样的分组。
五. 如何分析实验数据有哪些数据需要重点关注?
如文章 2.1 提到的重点关注一个目标并选择其它几个目标作为辅助以免走偏。
常见的目标为pv, uv, 首屏按钮点展比广告点展比。
六. 附如何搭建前端实验项目以 mip-experiment 为例
mip-experiment 是 MIP 开源项目中的一个组件从零搭建了一个前端抽样的实验系统。抽样系统实现了上文提到的抽样功能
用户分组实验黏性设置分流量抽样分层抽样实验空转实验AB样式设置实验反转
除此之外mip-experiment 还与 mip-pix 和百度统计深度整合实现了统计功能
mip-pix 将实验数据拼装在图片 URL 中将请求发往站长服务器由站长自行统计。mip-experiment百度统计 通过配置可将请求发送到百度统计后台实验数据可在百度统计-访问分析-事件分析中看到。
mip-experiment 的源码可在 github 上找到有建议可以提 issue 给我。
MIP 官网也使用了mip-experiment 做实验现在正处于空转阶段。实验完成后将发出整体实验的流程和结论。 文章作者Jenny_L 转发自Jenny_L 的简书