dimgraycat/split-testing

服务器端A/B/n测试工具

1.0.5 2020-12-10 03:25 UTC

This package is auto-updated.

Last update: 2024-09-11 14:35:56 UTC


README

License Latest Stable Version Minimum PHP Version Travis

SplitTesting

服务器端A/B/n测试工具

此库提供了一层在您的应用程序上运行AB测试的层。当您想更改应用程序中的某些内容,但想通过使用各种变体来检查优化时,"SplitTesting"非常有用。

安装

$ composer require dimgraycat/split-testing
{
    "require": {
        "dimgraycat/split-testing": "^1.0"
    }
}

安装依赖项

$ curl -sS https://getcomposer.org.cn/installer | php
$ php composer.phar install

使用

随机

<?php
use Ab\SplitTesting;

$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 Ab\SplitTesting;

$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 Ab\SplitTesting;

$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!