当前位置: 首页 > news >正文

网站广告推送怎么做安装完wordpress第一件事

网站广告推送怎么做,安装完wordpress第一件事,可以做网站的公司,茶叶网站开发AB测试实战 1、AB测试介绍#x1f43e; 很多网站/APP的首页都会挂一张头图(Banner)#xff0c;用来展示重要信息#xff0c;头图是否吸引人会对公司的营收带来重大影响#xff0c;一家寿险公司Humana设计了如下三张头图#xff0c;现在需要决定使用哪一张放到首页#x…AB测试实战 1、AB测试介绍 很多网站/APP的首页都会挂一张头图(Banner)用来展示重要信息头图是否吸引人会对公司的营收带来重大影响一家寿险公司Humana设计了如下三张头图现在需要决定使用哪一张放到首页怎么办开会讨论举手表决还是领导拍板 AB测试以“对照”知“优劣” AB测试主要应用于互联网行业它通过对相同特征的互联网用户流量在同一时间内实施两种不同的策略。来观察每组流量在关键目标指标上的表现。从而找出表现更优的策略。并凭借实验结果对策略和人群展开交叉分析得到洞察 无论是添加功能头图替换还是添加新的按钮使用了新的推荐算法所有可能会对业务造成影响的主动调整最好都要经过AB测试 在上面的Humana公司的例子中头图的迭代就是使用了AB测试 第一张图是最初的版本第二张设计图在第一张的基础上减少了文字描述换了更大的按钮在第二张图片的基础上又做了新的迭代设计了第三张图片主要的变化调整了按钮的颜色和文字内容添加了Shop这样带有明显销售倾向的词语两次迭代的决定都是基于AB测试的结果经过AB测试验证后上线都得到了很好的效果 1.1 AB测试的关键点目标KPI和策略 目标KPI指评判AB测试效果优劣的最终指标 在Humana公司首页头图调整的例子中目标KPI是该头图的点击率 策略AB组分别采取的策略的差异点 如注册按钮采用的颜色位置注册页面采用的海报标语等有多少个差异点就可以设计多少次AB测试直到穷尽策略差异点后找出最有效的那一组策略。只要分流量的时候做到随机那么AB组人群的特征就是类似的因此最终结果的差异只能是策略不同造成的。 1.2 AB测试的作用 实现目标KPI的最大化通过在小样本用户中进行实验避免错误决策影响用户体验找到对KPI最优的策略 Humana公司的头图调整例子中,第二张图片对比第一张带来了433%的点击率提升第三张图片对比第二张有带来了192%的点击率提升 后续分析沉淀诀窍 每组流量都是随机分配的因此每组人群中都包含了各种不同特征的子人群通过研究不同子人群对于不同策略的响应程度可以获得每组人群在策略上的偏好帮助未来更好的个性化创新和设计从上面的例子中,我们可以得出一些有意的结论, 如头图文字不易过多,要主题突出, 文字简洁头图使用的按钮颜色, 红色更容易吸引人点击等 1.3 AB测试实施的一般步骤 严谨的产品迭代过程(策略,算法, 界面调整, 功能调整), 一定要先经过AB测试, 在少部分流量上进行测试, 没问题了再逐渐放量 明确KPI 提升转化率, 提升点击率, 提升分享率圈人, 通过假设检验确定足够的实验人数 通过目标KPI提升多少, 确定实验人数 AA 测试 : 确定圈人没圈跑偏(量组流量的组成类似) 实验组和对照组在AA测试后, 观察目标KPI 没有太大的区别 AB测试: 对照组看老产品, 给测试组看新的产品回收结果,分析 如果B组确实比A组好, 并且达到了圈人时设定的目标KPI 说明新设计有效的如果B组确实比A组好, 但是提升幅度有限, 没有达到圈人时设定的目标KPI 的提升度, 说明这个提升没有说服力, 不能证明新的设计有效A组比B组好, 新的设计不行 2、AB测试常见问题和应对方案 2.1 如何分配流量 一般采用A组B组人数相等的方法进行流量分配 常用的分流方法 利用随机数排序例如My SQL中的 rand()函数 select a.*,case when rand()0.1 then ctrl when rand() between 0.1 and 0.55 then test1 else test2 end as ab_group_tag from (select distinct customerID from user_table) a order by ab_group_tag;利用某些随机ID的尾数例如case when ID like ‘%1’then ‘Ctrl’else ‘Test’end as AB_group select a.*,case when customerID like 1% then ctrl when customerID like 2% or customerID like 3% or customerID like 4% or customerID like 5% then test1 else test2 end as ab_group_tag from(select distinct customerID from user_table) a order by ab_group_tag;不管用哪种方法都要在人群身上留好标签以便事后分析 2.2 确定试验有效的最小参与人数 AB测试的效果会一定程度上受到随机波动的影响 完全随机的两组人不发优惠券观察同一段时间的人均交易数人均交易额这些KPI都不会完全一样为了使测试结果显著有效我们首先要确保测试组里人数最少的一组达到验证效果有效性的最小样本数量 帮助计算样本量的网站https://www.evanmiller.org/ab-testing/sample-size.html 首先介绍比例类的KPI例如领券率点击率核销率的样本量计算方式我们以基准率10%需要探知最低效果2%为例 Baseline conversion rate 这里填写基准比率 10%Minimum Detectable Effect这里填写最低的可探知效果2%Significance level α显著性水平 一般选择5%Statistical power 1−β统计功效statistical power 一般选择80% 经过计算得知我们想通过AB测试确定新的策略能够将KPI提升两个点参数实验的每组人数最少为3623人 2.3 AB测试中的假设检验 为什么要计算参与AB测试的最少参与人数 我们做AB测试的目的是在尽量不影响用户体验的前提下让少部分用户来验证新旧方案的优劣。这里就需要对用户进行抽样 也就是抽取部分用户来代表全体用户来参与实验并得出结论 如果抽取的用户数量过少不能代表所有用户的观点结果没有意义如果抽取的用户过多一旦我们的新方案与预期效果偏差较大则会对用户体验带来较大影响 我们可以使用假设检验的理论帮助我们计算参与实验的最少人数 什么是假设检验? 假设检验(hypothesis testing)又称统计假设检验是用来判断样本与样本、样本与总体的差异是由抽样误差引起还是本质差别造成的统计推断方法。显著性检验是假设检验中最常用的一种方法也是一种最基本的统计推断形式其基本原理是先对总体的特征做出某种假设然后通过抽样研究的统计推理对此假设应该被拒绝还是接受做出推断。 假设检验的基本思想 假设检验的基本思想是“小概率事件”原理其统计推断方法是带有某种概率性质的反证法。 小概率思想是指小概率事件在一次试验中基本上不会发生。反证法思想是先提出检验假设再用适当的统计方法利用小概率原理确定假设是否成立 即为了检验一个假设 H 0 H_0 H0​是否正确首先假定该假设 H 0 H_0 H0​正确然后根据样本对假设 H 0 H_0 H0​做出接受或拒绝的决策如果样本观察值导致了“小概率事件”发生就应拒绝假设 H 0 H_0 H0​否则应接受假设 H 0 H_0 H0​。 假设检验中所谓“小概率事件”并非逻辑中的绝对矛盾而是基于人们在实践中广泛采用的原则即小概率事件在一次试验中是几乎不发生的 概率小到什么程度才能算“小概率事件”显然“小概率事件”的概率越小否定原假设 H 0 H_0 H0​就越有说服力常记这个概率值为α(0α1)称为检验的显著性水平 对于不同的问题检验的显著性水平α不一定相同一般认为事件发生的概率小于0.1、0.05或0.01等即“小概率事件” 。 假设检验举例——鉴别可口可乐和百事可乐 可口可乐和百事可乐作为市场上最常见的两种可乐饮料大家一定都喝过我们知道这两种可乐的味道差不多很难分辨 如果现在有一名同学说自己能通过味道区分出两种可乐那么如何设计实验来验证他是否具备这项能力呢 我们可以假设这名同学不具备这个能力如果通过实验能证明我们的假设是错误的那么就说明这名同学具备品尝出两种可乐的能力来 原假设 H 0 H_0 H0​ 不能区分两种不同的可乐备择假设 H 1 H_1 H1​ 可以区分两种不同的可乐 接下来我们给该同学用相同的杯子倒若干杯不同的可乐让他品尝说出杯子里的可乐究竟是可口可乐还是百事可乐如果答对了可能有两种情况 瞎蒙的真的能尝出来 我们都知道只喝一杯他如果答对了说明不了什么问题那么究竟喝几杯能下结论说这个同学不是瞎蒙的呢我们可以计算一下概率 如果是瞎猜猜对的概率是0.5 那么猜对一杯的概率是0.5 连着猜对两杯的概率是0.5*0.5 0.25 连着猜对三杯的概率是0.5 * 0.5 * 0.50.125如果该同学连喝5杯都做出了正确的判断 那么我们可以计算得知 0.5^5 0.03125 也就是说有 3.125%的可能他是猜对的, 那么此时我们就可以推翻原假设: 该同学是蒙的,因为连着猜对5杯的概率实在太低了那么尝对了5杯之后我们是否有100%的把握说该同学一定具备通过味道区分可乐的能力呢? 答案也是否定的, 因为仍然有3.125%的可能他是瞎蒙的, 这个3.125%就是显著性水平(Significance level) 一般用α表示, 一般我们把显著性水平α的阈值设置为5%, 也就是α≤5%的时候我们认为这个结果是具有统计学意义的当然我们还可以接着做更多次实验, 比如让该同学再多喝几杯, 如果都能做出正确判断, 那么对应的显著性水平α 就越小, 我们得出该同学能够通过味道区分出两种可能的把握就越大 AB测试中的假设检验 通过上面的例子我们对假设检验有了基本的了解, 接下来我们看一下如何在AB测试中应用假设检验 原假设 H 0 H_0 H0​ 老的方案老的设计备择假设 H 1 H_1 H1​ 新的方案新的设计 在上面的例子中实验的次数越多我们得到的结论就越准确那么在AB测试中实验的次数实际上就是参与实验的人数我们可以通过设置显著性水平(Significance level) α来倒推参与实验的最少人数具体计算可以通过上面给出的工具网站实现 显著性水平α 依据实验结果做出推翻原假设(否定原方案) 选择备择假设(采用新方案) 的决定犯错的概率 一般设置为5% 统计功效1−β: 依据实验结果做出保留原假设(保留原方案) 不选择备择假设(不采用新方案) 的决定犯错的概率 一般β设置为20% 那么1−β 为80% 2.4 AB测试与辛普森悖论 辛普森悖论为英国统计学家E.H.辛普森于1951年提出即在某个条件下的两组数据分别讨论时都会满足某种性质可是一旦合并考虑却可能导致相反的结论。 方案A(现有方案)转化率方案B(新方案)转化率Android 用户70/800 8.75%20/200 10%iphone 用户10/200 5%50/800 6.25%总用户80/1000 8%70/1000 7% AB测试中产生辛普森悖论的原因流量分割不均匀导致的实验组与对照组的用户特征不一致 AB测试中如何避免辛普森悖论 要得到科学可信的 AB 测试试验结果就必须合理的进行正确的流量分割保证试验组和对照组里的用户特征是一致的并且都具有代表性可以代表总体用户特征。 方案A(现有方案)转化率方案B(新方案)转化率Android 用户70/800 8.75%80/800 10%iphone 用户10/200 5%12/200 6%总用户80/1000 8%92/1000 9.2% 在实验设计上如果我们觉得某两个变量对试验结果都有影响那我们就应该把这两个变量放在同一层进行互斥试验不要让一个变量的试验动态影响另一个变量的检验。如果我们觉得一个试验可能会对新老客户产生完全不同的影响那么就应该对新客户和老客户分别展开定向试验观察结论 在试验实施上对试验结果我们要积极的进行多维度的细分分析除了总体对比也看一看对细分受众群体的试验结果不要以偏盖全也不要以全盖偏。一个试验版本提升了总体活跃度但是可能降低了年轻用户的活跃度那么这个试验版本是不是更好呢一个试验版本提升总营收0.1%似乎不起眼但是可能上海地区的年轻女性 iPhone 用户的购买率提升了20%这个试验经验就很有价值了。 3、AB测试代码实战 3.1 项目背景 假设您在一家中型电商公司工作。 UI设计师设计了最新的产品页面想通过页面更新提高转化率 目前的转化率全年平均在13%左右目标转化率达到 15%。 在新的页面上线之前,我们要通过一小部分用户上测试页面的效果, 所以需要进行A/B测试 3.2 设计实验 提出假设 首先我们要确保在项目开始时就制定了一个假设 鉴于我们不知道新设计的性能是否会比我们当前的设计更好或更差或相同我们将选择双尾测试 H 0 H_0 H0​ 原假设 老的设计比较好, 新版设计没有用 H 1 H_1 H1​ 备选假设 新的设计比较好 选择变量 对照组: 看到旧的设计实验组: 看到新的设计 虽然我们已经知道了旧的设计的转化率(13%左右), 但是我们依然要需要设计两组, 原因是为了避免其他因素带来的误差, 比如季节因素, 促销因素。这两组人在其它条件都相同的只是页面设计不同的情况下进行实验 这样能保证两组间的差异是由于设计导致的 我们的设计的目标KPI是转化率 所以我们会添加一个字段来记录用户的购买情况 购买了产品的用户 值为1未购买产品的用户值为0 确定实验人数 AB测试只会选择一小部分用户来参与实验 用小部分的实验结果来估计整体的结果每组的人数越多我们得到的结果就越精准但同时我们付出的成本就越大通过功效分析我们可以计算出满足实验条件的最小人群检验功效 (1 — β) 一般设置为0.8α 在设计实验的时候我们设置为0.05效果大小旧的页面转化率为13%新页面我们希望转化率能提升2%所以我们可以用13%和15%来计算预期效果大小确定实验人数的计算过程可以通过Python代码实现 import numpy as np import pandas as pd import scipy.stats as stats import statsmodels.stats.api as sms import matplotlib as mpl import matplotlib.pyplot as plt import seaborn as sns from math import ceil%matplotlib inline# 计算effect_size 0.13为当前的转换率 0.15为目标转化率 也就是说我们希望通过新的设计带来2%的提升 effect_size sms.proportion_effectsize(0.13, 0.15) required_n sms.NormalIndPower().solve_power(effect_size, # 传入上面计算的 effect_sizepower0.8, # 设置 1-β 80%alpha0.05, # 设置 α 为5%ratio1 # 对照组和测试组人一样, 这里的ratio 比例就是1) #对结果向上取整 required_n ceil(required_n) print(required_n)4720 计算结果说明每组至少需要4720人在实践中将功率参数设置为 0.8 意味着如果我们的设计之间存在转化率的实际差异假设差异是我们估计的差异13% 对 15%我们有大约 80% 的机会检测到它 与我们计算的样本量在我们的测试中具有统计显着性。 3.3 收集准备数据 在企业场景下,我们需要与工程团队配合,收集满足要求的数据, 这里我们使用准备好的数据集, 对数据进行处理 加载数据到DataFrame检查和清理数据从DataFrame中采样数据每组4720行 df pd.read_csv(data/ab_data.csv) df.head()user_idtimestampgrouplanding_pageconverted08511042017-01-21 22:11:48.556739controlold_page018042282017-01-12 08:01:45.159739controlold_page026615902017-01-11 16:55:06.154213treatmentnew_page038535412017-01-08 18:28:03.143765treatmentnew_page048649752017-01-21 01:52:26.210827controlold_page1 查看数据基本情况 df.info()class pandas.core.frame.DataFrame RangeIndex: 294478 entries, 0 to 294477 Data columns (total 5 columns):# Column Non-Null Count Dtype --- ------ -------------- ----- 0 user_id 294478 non-null int64 1 timestamp 294478 non-null object2 group 294478 non-null object3 landing_page 294478 non-null object4 converted 294478 non-null int64 dtypes: int64(2), object(3) memory usage: 11.2 MB数据一共294478行,每一条数据代表一次用户访问,共五列: user_id - 访问的用户IDtimestamp - 访问的时间group - 该用户被放到那一组 {control对照, treatment实验}landing_page -该用户看到的是哪一种落地页 {old_page老页面, new_page新页面}converted - 改次访问是否有转化 (binary, 0无转化, 1转化) 在后续的分析中,我们实际上主要用到的是 group 和converted 这两个字段 创建透视表, 查询是否对照组看到的都是老页面 df.pivot_table(index group,columnslanding_page,values user_id,aggfunccount)landing_pagenew_pageold_pagegroupcontrol1928145274treatment1453111965 在我们进行后续处理之前, 还要查看是否有用户进行了多次操作 session_counts df[user_id].value_counts(ascendingFalse) multi_users session_counts[session_counts1].count() multi_users3894 说明一共有3894个用户访问了不止一次, 整体数据有20多万条, 所以我们直接把这部分数据删除 users session_counts[session_counts 2].index df df[df[user_id].isin(users)]数据采样 接下来我们从处理后的数据中,每组采样4720条数据, 我们这里使用DataFrame的sample()方法进行简单随机采样 control_sample df[df[group] control].sample(nrequired_n, random_state22) treatment_sample df[df[group] treatment].sample(nrequired_n, random_state22) # 这里random_state 为随机数种子, 如果也传入22, 那么后续结果会与讲义中一样 ab_test pd.concat([control_sample, treatment_sample], axis0) ab_test.reset_index(dropTrue, inplaceTrue) ab_testuser_idtimestampgrouplanding_pageconverted07638542017-01-21 03:43:17.188315controlold_page016905552017-01-18 06:38:13.079449controlold_page028615202017-01-06 21:13:40.044766controlold_page036307782017-01-05 16:42:36.995204controlold_page046566342017-01-04 15:31:21.676130controlold_page0………………94359085122017-01-14 22:02:29.922674treatmentnew_page094368732112017-01-05 00:57:16.167151treatmentnew_page094376312762017-01-20 18:56:58.167809treatmentnew_page094386623012017-01-03 08:10:57.768806treatmentnew_page094399446232017-01-19 10:56:01.648653treatmentnew_page1 查看两组数据情况 ab_test.groupby(group)[landing_page].value_counts() # landing_page 落地页类型 old_page老页面 new_page 新页面 # control 控制组 treatment 对照组group landing_page control old_page 4720 treatment new_page 4720 Name: landing_page, dtype: int64 3.4 分析实验结果 首先我们来计算一下两组的转化率和标准差 conversion_rates ab_test.groupby(group)[converted].mean().to_frame() conversion_rates conversion_rates.style.format({:.3f})groupconversion_ratecontrol0.123treatment0.126 从上面的统计数据来看旧的和新的落地页表现非常相似新设计表现略好, 12.3% 与 12.6% 从对照组的数据看, 转换率为12.3% 比之前我们的整体表现要差一些, 可能与采样人群的差异有关测试组的数据比对照组要好一些, 但是这个结果是否具有统计意义? 3.5 假设检验 最后一步是假设检验, 我们的样本量比较大,可以应用Z检验来计算P值, 如果P值0.05, 说明我们可以使用statsmodels.stats.proportion 模块来计算P值和置信区间 from statsmodels.stats.proportion import proportions_ztest, proportion_confint control_results ab_test[ab_test[group] control][converted] #获取对照组是否转化的数据 treatment_results ab_test[ab_test[group] treatment][converted] #获取实验组是否转化的数据 n_con control_results.count() # 获取对照组人数 n_treat treatment_results.count() # 获取实验组人数 successes [control_results.sum(), treatment_results.sum()] # 获取实验组和对照组成功转化的人数 nobs [n_con, n_treat]z_stat, pval proportions_ztest(successes, nobsnobs) #计算P值 (lower_con, lower_treat), (upper_con, upper_treat) proportion_confint(successes, nobsnobs, alpha0.05) #计算置信区间print(fz statistic: {z_stat:.2f}) print(fp-value: {pval:.3f}) print(fci 95% for control group: [{lower_con:.3f}, {upper_con:.3f}]) print(fci 95% for treatment group: [{lower_treat:.3f}, {upper_treat:.3f}])z statistic: -0.34 p-value: 0.732 ci 95% for control group: [0.114, 0.133] ci 95% for treatment group: [0.116, 0.135] 3.6 最终结论 最终计算出的p-value 0.732 远大于我们实验设置的α 0.05, 我们不能拒绝原假设 旧的主页表现更好, 这就意味着,我们的新页面并不比旧的页面表现好查看实验组的置信区间[0.116, 0.135] 或 11.6-13.5%注意到 13% 的基准转化率在置信区间内15% 的目标值我们的目标是 2% 的提升并不在置信区间内这意味着新设计的真实转化率可能与之前的转化率接近, 证明我们的新改进并没有效果 小结 AB测试的应用场景 互联网行业应用广泛页面结构调整 换新图标添加新功能等等实体行业应用相对复杂一些不同优惠券效果测试 AB测试还是ABC测试 AB测试一次测试一个方案ABC…… 测试 一次测试多个方案但需要流量足够大否则难以满足实验要求的最少人数 AB测试需要注意如下几点 流量分配 确定有效的最小参与人数 确定基准指标和提升目标设置显著性水平α 一般是5%和 统计功效 1-β 一般是80%出结果之后计算P值 如果P5% 则可以拒绝原假设 我们可以通过AB测试工具网站帮助确定人数也可以使用statsmodels 模块来通过代码实现 import statsmodels.stats.api 计算需要人数statsmodels.stats.proportion 计算P值和置信区间
http://www.hkea.cn/news/14432635/

相关文章:

  • 一般网站用什么数据库宁波十大互联网企业
  • 钱包钱夹移动网站建设深圳网站搜索优化
  • 站长工具seo优化系统网站设计动画
  • 制作网站培训学校厦门双瑞高磁网站是谁做的
  • 如何编写网站淮北做网站的公司有哪些
  • 灌南县建设局网站鞍山网站制作价格
  • 做网站推广哪个好厦门网站制作案例
  • 个人怎么做自媒体花都网络推广seo公司
  • 北京住房和城乡建设局门户网站济南市建设执业资格注册中心网站
  • 母版页做网站例子做网页的软件哪个好用
  • 有南昌网站优化公司html基础知识思维导图
  • 福州网站建设推广平台欧莱雅旗下品牌
  • 视频网站 建设 硬件俄语免费网站制作
  • 温州网站建站织梦本地做的网站内网访问不
  • 外贸网站搭建公司个人中心网页设计
  • wordpress导航站的源码嵌入式应用软件开发流程
  • 国内专业网站建设cf租号网站怎么做的
  • 创意做美食视频网站dede网站建设很卡
  • 网站logo在哪里wordpress购物 app
  • 网站后台管理系统源码下载宝安建网站的公司
  • 合肥的房产网站建设个人怎么做自媒体
  • 深圳网站公司招聘阳信做网站
  • 网站设计介绍怎么写汉中市建设工程招投标交易中心官网
  • 笑话小网站模板html联合早报 即时消息
  • 青岛物流公司网站建设太原网站建设开发公司
  • 用php做网站要多久建行官方网站多少钱
  • 设计网站大全湖南岚鸿设计做网站费用分几块
  • 网站名称大全qingdao城乡住房建设厅网站
  • 自己动手建立网站3制作网站项目实例
  • 做网站建设的电话销售logo网站素材