php split testing
1.0.5
A server-side A/B/n testing tool
This library provides a layer to run AB tests on your applications. The "SplitTesting" is useful when you want to change something on the application, but you want to check the optimize by using various variations.
$ composer require dimgraycat/split-testing{
"require": {
"dimgraycat/split-testing": "^1.0"
}
}And install dependencies:
$ curl -sS https://getcomposer.org/installer | php
$ php composer.phar install<?php
use AbSplitTesting;
$params = array(
'use' => 'random',
'variation' => array(
'foo',
'bar',
'baz'
);
);
$result = SplitTesting::get($params);
// $seed is optional
// e.g.) userId, IpAddress
$seed = 1234;
echo SplitTesting::get($params, $seed);<?php
use AbSplitTesting;
$params = array(
'use' => 'rate',
'variation' => array(
'rate' => array(
// 1 => 0.1%, 50 => 5%, 500 => 50%, 1000 => 100%
'foo' => 50,
'bar' => 20,
'baz' => 500,
),
'list' => array(
'default' => array('hoge'),
'a' => '5%',
'hoge' => 1234567890,
'moge' => '123456789',
),
),
);
echo SplitTesting::get($params);<?php
use AbSplitTesting;
$params = array(
'use' => 'pattern',
'variation' => array(
'pattern' => array(
'foo' => '/[0-9]$/',
'bar' => '/z$/',
),
'list' => array(
'default' => 'default',
'foo' => 'hit 1!',
'bar' => 'hit 2!'
),
),
);
$seed = 1234; // required
echo SplitTesting::get($params, $seed); // hit 1!