ランサーズ(Lancers)エンジニアブログ > PHP > PHP向け簡易A/Bテストライブラリーを公開しました

PHP向け簡易A/Bテストライブラリーを公開しました

akin|2017年01月31日
PHP

誕生日にSNS上では祝われリアルでは誰にも祝われず翌日にカッとなってMAKAVELICのリュックを買ったプロダクト開発部のakin.です。

今回はプライベートでA/B/n テストを行えるPHP向けライブラリーを公開致しましたのでお知らせいたします。

どんなライブラリー?

使い方は簡単で、PHP5.3〜7.1まで利用できます。
導入に関してはcomposerを使いますので、

$ composer require dimgraycat/split-testing

これで完了です。
もしバージョンを指定した場合は composer.jsonに下記を追記し

{
    "require": {
        ...
        "dimgraycat/split-testing": "^1.0" // これを追記
    }
}

以下を実行します。

$ composer update

又は

$ php composer.phar update

使い方

<?php
use \Ab\SplitTesting; 
$params = array(
    'use'       => 'random',
    'variation' => array(
        'foo',
        'bar',
        'miko'
    );
);

$result = SplitTesting::get($params);

こちらが一番簡単な方法です。
だたこれだと毎回ランダムに取得されます。
その為、結果を一定期間キャッシュするなどをするとより効果的に利用できます。
A/Bテストの種類として

  • ランダム方式
  • Rate(ルーレット)方式
  • パターンマッチ方式

の3種類用意しました。
ライブラリーはPackagistに公開していますのでご利用ください。
詳細に関してもそちらをご観覧して頂ければ幸いです。

A/Bテストとは

きっと何方もご存知ではあると思いますが改めて説明させていただきます。

簡単なA/Bテストの場合は異なる複数パターンを用意することによりユーザへ訴求効果を測る検証手法になります。
Webページの効果測定では

  • 文言を複数パターン
  • ランディングページを複数パターン
  • フォームの項目数の違うパターン

などを一定期間複数パターンを表示させることでクリック数(コンバージョン)÷表示数(PV)からコンバージョン率を測定し、最も良いパターンを探し出す手法です。

ただ、1回のA/Bテストだけでは正しい効果を得られません。
そのため長期間に渡り測定を行い最適なパターンを探し出すことが良いでしょう。

最後に

ランサーズでもA/Bテストを導入しており紹介したライブラリーも一部利用しています。
次回以降ではA/Bテストに関して深掘りしていけたらと思います。