abbajs

0.1.4 • Public • Published

abbajs

CI Status Coverage Status Version License

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

License

BSD-3 Clause

Readme

Keywords

none

Package Sidebar

Install

npm i abbajs

Weekly Downloads

655

Version

0.1.4

License

BSD-3-Clause

Last publish

Collaborators

  • thi