BT

Facebookがオンラインフィールド実験フレームワークPlanOutをオープンソース化

| 作者: Sergio De Simone フォローする 17 人のフォロワー , 翻訳者 徳武 聡 フォローする 0 人のフォロワー 投稿日 2014年5月11日. 推定読書時間: 3 分 |

原文(投稿日:2014/04/25)へのリンク

PlanOutはFacebookのオンラインフィールドの実験のためのフレームワークであり、"A/Bテスト"、ファクトリアルデザイン、より複雑な実験をサポートする。Facebookによれば、PlanOutはアプリケーションのコードから分離したかたちで検証用のデザインを実装でき、正確にデザインを記述できる。

PlanOutはGitHub上で公開されているPythonベースのフレームワークで実装されている。オンラインサービスを制御するパラメータにランダムの値を提供し、UIや代替の機能のために固定値を使う必要はない。PlanOutがパラメータの値を決めてくれる。

PlanOutのフレームワークは次を含む。

  • 拡張可能なPythonクラスで実験を定義する。これによって、ランダムの引数や自動的に大事なデータをロギングできる。
  • 複数の排他的な関係にある実験を管理する。
  • PlanOutインタプリンタの参照実装。実験の定義をシリアライズ、保存、実行できる。
  • PlanOutのドメイン定義言語をシリアライズしたPlanOutコードに変換するコンパイラ。

PlanOutのページにあるサンプルは下記の通り。

class MyExperiment(SimpleExperiment):
  def assign(self, params, userid):
    params.button_color = UniformChoice(choices=['#ff0000', '#00ff00'],
      unit=userid)
    params.button_text = UniformChoice(choices=['I voted', 'I am a voter'],
      unit=userid)

PlanOutの実験の目的はユニット、例えばユーザをサービスのパラメータにマップするかを記述することだ。上記の例では、ボタンの色とテキストをランダムに均一にユーザに表示される。

一度実験を定義すると、アプリケーションのコードから問い合わせができ、どの値を現在のユーザに表示させるべきかを特定できる。

my_exp = MyExperiment(userid=42)
color = my_exp.get('button_color')
text = my_exp.get('button_text')

フレームワークは値は正確にランダムになることを保証し、各ユニット(例えば、上記の例ならuserid)が常に同じパラメータ値にマップさせる。

PlanOutを使う利点は、実験のパラメータにアクセスさせたらすぐに、実験の分析に必要な関連するデータが自動的にログ出力されることだ。

PlanOutは複数の実験で同じパラメータを使たい場合にパラメータ名前空間で実現する。名前空間によって実験を順に実行することもできる。これはテストを反復的に実施するのに使える。また、サービスの同じ側面を複数のチームがテストする場合には、実験を並列で実行することも可能だ。

FacebookはPlanOutを使って毎日数千の実験をしているという。億単位のひとが実験に参加していることになる。一方で、同社はHackで記述した別の実装でも実験をしている。

オンラインフィールド実験はデザインの代替をテストする方法であり、意思決定者がユーザのサービスに対する反応を理解する手助けをする。

また、InfoQの"A/Bテスト"のセクションには、オンラインフィールド実験に対するさまざまなコンテンツを用意している。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT