/
A/B testing available framework evaluation
A/B testing available framework evaluation
Overview
Jira Ticket: - SB-10068Getting issue details... STATUS
As part of implementation of A/B framework, we have evaluated 4 frameworks' that are available for A/B testing. Planout (by Facebook), Wasabi (by Intuit), Alephbet & sixpack (by seatgeek)
We will list down the salient feature and comparison among this tools in following table
Planout | Wasabi | Sixpack | Alephbet | |
---|---|---|---|---|
Implemented By | Facebook (Python), Hubspot(Javascript), GlassDoor (Java) | Intuit | SeatGeek | GingerLime |
Server Implementation | Multiple - Python, Java, PHP | Java | Python | None |
Event logging mechanism | Add own logic for log-event - event object is received as an input | Full-fledged API - for assignment, impression, engagement | API for collection impression/engagement | Stores in javascript localstore, gives plug-in point |
License information | BSD | Apache 2.0 | BSD | MIT |
Other dependency | None | Cassandra/MySQL | Redis | None |
Other standout feature | Support's namespace - can be used to qualify experiment further | Has UI for configuring and looking at analytics data | Has UI for configuring and looking at analytics data | Has support for tracking adapters, as well as allows to implement custom tracking adapter. |
Config Syntax | //Extend experiment class class MyExperiment extends
var exp = | They have back-end and UI for confguri | var session = new sixpack.Session(); session.participate('test-exp', ['alt-one' | var button_color_experiment = new AlephBet.Experiment({ name: 'button color', |
It is desirable to use, just java-script implementation as minimal data storage or even just telemetry generation is enough for gathering data. So Planout/Alephbet are better fit for our purpose.
Sample Configuration for audience selection
Syntax
{ "activeExperiments": [ { "ExperimentName": "<Name of experiment>", //Experiment name "startDate": "2019-01-01", //Start date from which experiment is applicable. "endDate": "2019-01-31", //End date when experiment expires "rendering": true/false, //toggle for enable/disable the experiement - regardless of toher paramters. "deploymentVersion": 1.14, "rules": { "stateCode": [ //Value should be one of the configured "state1", "state2"..."stateN" ], "browser": [ "browser1", "browser2"..."browserN" ], "userType": [ "Student", "Teacher", ..."Other" ], "framework.id": [ "NCF", ..."Framework2" ], "framework.board": [ "CBSE", ..."ICSE" ], "framework.medium": [ "English", ..."Telugu" ] } }, { "ExperimentName": "<Name of experiment>""startDate": "2019-02-01", "endDate": "2019-02-28", "rendering": true/false"deploymentVersion": 1.14"rules": { "stateCode": [ "state1", "state2"..."stateN" ], "browser": [ "browser1", "browser2"..."browserN" ], "userType": [ "Student", "Teacher", ..."Other" ], "framework.id": [ "NCF", ..."Framework2" ], "framework.board": [ "CBSE", ..."ICSE" ], "framework.medium": [ "English", ..."Telugu" ] } } ] }
Example configuration
{ "activeExperiments": [ { "ExperimentName": "TestLibPage", "startDate": "2019-01-01", "endDate": "2019-01-31", "rendering": true, "deploymentVersion": 1.14"rules": { 'stateCode': [ "AP", "KA" ], 'browser': [ "Chrome" ] } }, { "ExperimentName": "TestLibPage", "startDate": "2019-02-01", "endDate": "2019-02-28", "rendering": true, "deploymentVersion": 1.15"rules": { "browser": [ "Firefox" ] } } } ]
, multiple selections available,
Related content
A/B Testing framework design
A/B Testing framework design
More like this
[Design] API to determine the experiment for a user
[Design] API to determine the experiment for a user
More like this
Experimentation Capability on Portal
Experimentation Capability on Portal
More like this
Sunbird inQuiry Overview
Sunbird inQuiry Overview
More like this
Individual or Volunteer Contribution to Sunbird (GSoC)
Individual or Volunteer Contribution to Sunbird (GSoC)
More like this