ランサーズ等のサービスを開発・運用する中で得た知識やノウハウを紹介しています。

Labels:  PHP, ツール/ライブラリ 投稿者:akin

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

誕生日に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テストに関して深掘りしていけたらと思います。

ランサーズではサービスを成長させてくれるエンジニア、デザイナーを募集しています!
ご興味がある方は、以下URLよりご応募ください。


【中途採用】
フロントエンドエンジニア
サーバーサイドエンジニア
コーポレートエンジニア
SREエンジニア

【新卒採用・その他】
21・22新卒
その他採用情報

関連記事

GoogleOAuth2.0を使って、超簡単にユーザー情報を取得した話

ランサーズ Advent Calendar 2019 4日目の記事となります。 みなさんこんにちは。ランサーズでエンジニアとしてインターンをしている神谷(@Gunji Kamiya)です。 今回の記事では、タイトルにもある通り、GoogleOAuthを使った実 …

ランサーズのNginx+PHP-FPM化

インフラエンジニアの金澤です。 以前ブログでお話しました、ランサーズのNginx+PHP-FPM化が一段落したのでまとめました。 移行の目的 以前は、Apache 2.2 + mod_php の構成で動作していました。 以前のブログでもお話ししましたように、P …

レジェンドコードと向き合いレガシーからモダンへ変革する

shin ( @nagatashinyalan )です。 先日、BASEさん、ReBuildさん、ランサーズ で、「レガシーコード改革!UT/CIでWebサービスの技術的負債を解消する取り組み」 というイベントを開催し、そこで登壇しましたので資料を公開します。 …