What do we get doing A/B experiment? ● Improve content ● Increased Sales & Revenue ● Improve user Engagement ● Analyse Customer behavior ● Acceptance of App by customer
Traditional Approaches for A/B experiment ● Decide the buckets on server side and render respective view ● Writing multiple if...else condition for experiments ● Modifying multiple files to implement the experiments ● Keep track of files and clean up once experiments are done
Pros & Cons of Traditional Approach Pros ● Server side computation ● Simple and dumb code writing if...else Cons ● Modify multiple files with multiple if...else conditions ● Less readability and accessibility ● Difficult to maintain the code ● Need to plan Clean up activity
A/B experiment in REACT? REACT being Front end you can do A/B on:- ● Simple elements like button, icons, input fields, etc ● Complete Component ● Action based on experiments ● Tracking of user action and views
Problems & Thought on Solutions Drawbacks what I felt initially:- ● Having single file to do Variant experiment and mostly Components level experiments possible ● No idea how to do A/B on Actions and/or with individual elements
Problems & Thought on Solutions (cont..) Few things I considered when I planned to do A/B experiment on REACT ● No duplication of code ● Cleaner code base ● High level of readability and accessibility of components ● Easy code clean up provision
Approaches I took to do AB experiment ● Fetch value for A/B experiment bucket from server once on App launch and save in Redux which can be used in complete App ● Create separate Variant components and render components dynamically based on props. ● Minimal use of if...else when needed