public void Initialize() { _logs = new List <Dictionary <string, object> >(); _experiment1 = new Experiment("first_experiment", new Dictionary <string, object>(), (assignment, objects) => { assignment.Set(_experiment1ParamName, 1); return(true); }) { Log = objects => { _logs.Add(objects); } }; _experiment2 = new Experiment("second_experiment", new Dictionary <string, object>(), (assignment, objects) => { assignment.Set(_experiment2ParamName, 2); return(true); }) { Log = objects => { _logs.Add(objects); } }; _experimentDefault = new Experiment("default_experiment", new Dictionary <string, object>(), (assignment, objects) => { assignment.Set(_defaultParamName, 3); return(false); }); _simpleNamespace = new SimpleNamespace("first_namespace", new Dictionary <string, object>() { { "user_id", "blah" } }, "user_id", 100); }
private static void TextNamespace(INamespaceManagerService namespaceManager) { var myfirstNamespace = new SimpleNamespace("textNamespace", namespaceManager.Inputs, "userId", 100); Experiment demoButtonEx = new Experiment("textExperiment", namespaceManager.Inputs, (assignment, objects) => { var demoButton = assignment.Set("demoButton", new UniformChoiceBuilder(new Dictionary <string, object>() { { "choices", new[] { "requestDemo", "specialOffer", "earlyFreeAccess" } } }, namespaceManager.Inputs)); var pageTitle = assignment.Set("pageTitle", new UniformChoiceBuilder(new Dictionary <string, object>() { { "choices", new[] { "embracePower", "newGeneration", "improveBusiness" } } }, namespaceManager.Inputs)); return(true); }) { Log = objects => { namespaceManager.EventLogger.Log(objects); } }; myfirstNamespace.AddExperiment(demoButtonEx, 100); namespaceManager.AddNamespace(myfirstNamespace); }
private static void VideoPromotionNamespace(INamespaceManagerService namespaceManager) { var myfirstNamespace = new SimpleNamespace("video_promotion", namespaceManager.Inputs, "userId", 100); Experiment videoExperiment = new Experiment("video_experiment1", namespaceManager.Inputs, (assignment, objects) => { var showVideo = assignment.Set("show_video", new BernoulliTrialBuilder(new Dictionary <string, object>() { { "p", 0.6 } }, namespaceManager.Inputs)); if ((int)showVideo == 1) { var playVideo = assignment.Set("play_video", new BernoulliTrialBuilder(new Dictionary <string, object>() { { "p", 0.4 } }, namespaceManager.Inputs)); if ((int)playVideo == 1) { var muteVideo = assignment.Set("mute_video", new BernoulliTrialBuilder(new Dictionary <string, object>() { { "p", 0.5 } }, namespaceManager.Inputs)); } } return(true); }) { Log = objects => { namespaceManager.EventLogger.Log(objects); } }; myfirstNamespace.AddExperiment(videoExperiment, 100); namespaceManager.AddNamespace(myfirstNamespace); }