Skip to content
/ bandit Public

An A/B/x testing algorithm written in PHP by implementing the solution to the multi armed bandit problem

License

Notifications You must be signed in to change notification settings

offdev/bandit

Repository files navigation

Offdev/Bandit

An A/B/x testing algorithm written in PHP by implementing the solution to the multi armed bandit problem

Latest Stable Version Minimum PHP Version Build Status License

Requirements

  • PHP >= 7.4
  • Composer

Installation

$ composer require offdev/bandit

General Usage

First, you need to set up a machine, and its possible levers. A lever might have already been pulled a few times, and some levers may also have rewarded the lucky person which pulled it, so adjust those numbers accordingly. Example:

use Offdev\Bandit\Lever;
use Offdev\Bandit\Machine;

$machine = new Machine(
    new Lever('first-lever', 123, 1),
    new Lever('second-lever', 108, 3),
    new Lever('third-lever', 115, 0),
);

Now you need a strategy to solve your problem. See this link for more information about strategies, and have a look at the example ones I have included in src/php/Strategies. Example:

use Offdev\Bandit\Strategies\EpsilonGreedy;

$strategy = new EpsilonGreedy();
$winningLever = $strategy->solve($machine);

It is as simple as that :)

TODO

Add more docs :)

About

An A/B/x testing algorithm written in PHP by implementing the solution to the multi armed bandit problem

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages