文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

如何进行A/B测试,你学会了吗?

2024-11-30 15:42

关注

为什么不使用第三方服务?

确实将第 3 方 X 用于 A/B。

对于 X,观察到以下问题:

它提供什么?

该服务(作为微服务实现)将使客户能够进行 A/B 测试。可以对多个特征(返回值)进行任意数量的实验。

设计时要牢记可扩展性和进一步增强功能。

常用功能包括:

技术栈:

Springboot

Java 8

Maven

Mysql

Groovy

架构设计:

这是上面实体保存的内容的简短描述。所有实体都扩展 BasEntity 以获取所有实体的公共列。

流程设计:

现在将了解以上 2 个流程的含义:

usePreCalculated标志在这里很重要,因为它意味着我们是要重用 User_Feature_Mapping 表中包含的值还是再次评估逻辑表中的条件。

注意:每次评估逻辑时,都会将结果保存在user_feature_mapping表中

如何评估条件?

将常规代码存储在逻辑表的条件列中。以下只是一个示例:

import groovy.lang.GroovyShell;

public class GroovyDemo {
    public static void main(String[] args) {
        System.out.println("This represents some random code");

        String groovyScript = "println 'first line of Groovy output'\n" +
                "println 'second line of Groovy output'";

        GroovyShell groovyShell = new GroovyShell();

        // instead of passing a String you could pass a
        // URI, a File, a Reader, etc... See GroovyShell javadocs
        groovyShell.evaluate(groovyScript);

        System.out.println("This represents some more random code");
    }
}

选择 groovy shell 是因为它具有绝对的灵活性。可以执行复杂的功能,甚至可以使用存储为文本的代码调用外部方法和 api。当用例很复杂时,这很有用,例如想根据某些只能由第三方 api 实现的用户属性或参数来分配用户段。

例如,如果想将A/B分成90:10,可以对user_id进行模10运算,并将结果0分配给B段,剩下的分配给A段。可以多次更改比例甚至逻辑无需重新部署。

API列表:

来源:Java学研大本营内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯