Practical and Modern A/B Test Methods
While the concept of A/B Test is simple and intuitive deployment is much trickier. After having experience with deployment of A/B Test systems we built a single day (The 2nd day is optional) course in order to give the engineers and data scientists the required knowledge to develop and deploy a successful A/B Test system.
The course deals with practical and modern A/B Test methods. It focuses on the Bayesian approach which is the modern way of handling the A/B Test since it allows answering business questions naturally. The course is accompanied with Jupyter Notebooks with real world data examples.
Overview
The course:
${\color{lime}\surd}$ Introduces the problem and its probabilistic formulations.
${\color{lime}\surd}$ Explores different concepts of solving the problem.
${\color{lime}\surd}$ Demonstrates results on real world data using battlefield learned tricks with Jupyter Notebooks and hands on approach.
Main Topics
A/B Test Models | Frequentist Approach, Bayesian Approach |
Key Performance Indicators (KPI) | Binary (Clicks, Sales, etc…) vs. Continuous (Revenue) |
Answering Business Questions | Defining and simulating results, Confidence level |
Modern A/B Test System Architecture | High Level Blocks, Low level implementation considerations, guide lines |
Advanced Bayesian Models (Optional) | Hierarchical Bayesian Methods with MCMC, Advanced models for A/B Test |
Reactive A/B Test (Optional) | Fixel’s own built battle proven algorithm to A/B Test to maximize revenue |
Goals
- The participants will know fundamentals concepts in A/B Test.
- The participants will be aware of the different assumptions for different models for A/B Test.
- The participants will be able to choose the proper model for a given A/B Test case.
- The participants will be able to implement a deployment oriented A/B Test algorithm.
Pre Built Syllabus
We have been given this course in various lengths, targeting different audiences.
The final syllabus will be decided and customized according to audience, allowed time and other needs.
The 2nd day is optional by design.
Day | Subject | Details |
---|---|---|
1 | A/B Test Models | Frequentist Approach, Bayesian Approach, Distributions, Priors |
Key Performance Indicators (KPI) | Views, Clicks, Sales, Revenue, Binary vs. Continuous | |
A/B Test by Frequentist Approach | Assumptions, T-Test (Continuous and Binary), Estimating number samples required, Stopping criteria | |
Notebook 001 | Frequentist Approach for Binary KPI, Manual implementation of T-Test | |
Notebook 002 | Frequentist Approach for Continuous KPI, Manual implementation of T-Test | |
A/B Test by Frequentist Approach | Assumptions, Priors, Models (Conjugate Priors), Answering business oriented questions | |
Notebook 003 | Bayesian Approach for Binary KPI, Implementation of the Bayesian Posterior | |
Notebook 004 | Bayesian Approach for Continuous KPI, Implementation of the Bayesian Posterior | |
Real World Practice and Considerations | Frequentist vs. Bayesian, Change detection, Prior learning, Update rate, Granularity of data | |
Notebook 005 | Prior learning, update rate and change detection | |
Notebook 006 | Answering business questions by simulations | |
Modern A/B Test architecture | High level architecture, Building blocks, Visualization and reports | |
2 | Introduction to MCMC | Concept, Frameworks, Using MCMC for A/B Test |
Notebook 007 | Simulation and inference of Bayesian A/B Test model with MCMC | |
Introduction to Hierarchical Bayesian Model | Concept and visualization, Example of models for real world data | |
Notebook 008 | Implementation of models for real world data | |
Hierarchical Bayesian Model for A/B Test | Binary Model, Continuous model, Comparison with Non Hierarchical Bayesian Models | |
Notebook 009 | Implementation of Binary and Continuous models, comparison to non hierarchical models |
Prerequisites
We can offer this course in Python, Julia or MATLAB. The 2nd day can be only offered in Python or Julia.
- Linear algebra (Basic).
- Probability / Statistics (Basic).
- Python / MATLAB / Julia.
In any case any of the prerequisites are not met, we can offer 1-2 hours sprint on: Linear Algebra, Probability and Python / MATLAB / Julia.