abbajs
v0.1.4
Published
A/B test analysis in Javascript
Downloads
2,122
Readme
abbajs
A/B test analysis library in JavaScript
Table of Contents
Installation
As a Node.js module
$ npm install abbajs
As a component
$ component install thii/abbajs
Usage
Normal Distribution
Create a normal distribution analysis with Abba.NormalDistribution(mean, standardDeviation)
. Available functions are listed below.
Density
var normal = new Abba.NormalDistribution(1, 2);
var result = normal.density(1);
// 0.19947114020071632
CDF
var normal = new Abba.NormalDistribution(1, 2);
var result = normal.cdf(3);
// 0.8413447460685429
Survival function
var normal = new Abba.NormalDistribution(1, 2);
var result = normal.survival(5);
// 0.02275013194817921
Inverse CDF
var normal = new Abba.NormalDistribution(1, 2);
var result = normal.inverseCdf(0.95);
// 4.289707253902945
Inverse survival function
var normal = new Abba.NormalDistribution(1, 2);
var result = normal.inverseCdf(0.75);
// 2.3489795003921636
Binomial Distribution
Create a binomial distribution analysis with Abba.BinomialDistribution(numTrials, probability)
. Available functions are listed below.
Mass function
var binomial = new Abba.BinomialDistribution(1000, 0.3);
var result = binomial.mass(300);
// 0.0275296327870529
CDF
var binomial = new Abba.BinomialDistribution(1000, 0.3);
var result = binomial.cdf(310);
// 0.7656417087768965
Survival function
var binomial = new Abba.BinomialDistribution(1000, 0.3);
var result = binomial.survival(340);
// 0.002596868572741773
Inverse CDF
var binomial = new Abba.BinomialDistribution(1000, 0.3);
var result = binomial.inverseCdf(0.5);
// 300
Inverse survival function
var binomial = new Abba.BinomialDistribution(1000, 0.3);
var result = binomial.inverseSurvival(0.75);
// 290.22571491846537
Computes Experiment
Create an experiment with Abba.Experiment(numVariations, baselineNumSuccesses, baselineNumTrials, intervalAlpha)
. Get the result of a specific test with experiment.getResults(numSuccesses, numTrials)
var experiment = new Abba.Experiment(3, 20, 100, 0.05);
var result = experiment.getResults(50, 150);
/*
{ proportion:
{ value: 0.3333333333333333,
lowerBound: 0.24862657323794302,
upperBound: 0.4303072595809455
},
relativeImprovement:
{ value: 0.6666666666666665,
lowerBound: -0.040933756155489553,
upperBound: 1.1803459277365715
},
pValue: 0.05749442762442982
}
*/
Running Tests
npm install
npm test