mixiシーズナル企画「桜」のお知らせ+ABテストについて
こんにちは、コミュニケーションサービス開発部 エンジニアの岩熊です。
4月になり、新年度を迎えましたね。そして、この時期恒例のイベントといえばお花見!お花見と言えば...そう、桜ですね!
twitterの@mixi_PRアカウントの方でもご案内致しましたので、既にお気づきの方もいらっしゃるかもしれませんが、mixiでは只今、ホーム画面のボイス投稿枠につきまして、一部の方に桜デザインを提供させて頂いております。
尚、先程「一部の方に」と書きましたが...
今回の企画を通して、サービスの向上のためのABテストを致しておりまして、そちらの関係で、2割程度のユーザー様は通常のデザインとさせて頂いております。該当されてしまった皆様、申し訳ございません!
次回以降の企画にご期待頂けたら幸いです。
ちなみに弊社のABテストでは、一つ一つのテストの効率を上げるために、yamlでテスト内容の切り分けが出来るようになっております。
例えば、パターンA,B,C,Dの4種についてABテストを行う時は、下記のようにyamlを記述します。
ex). sample_test.yaml
--- 'pattern_A' : 1 'pattern_B' : 1 'pattern_C' : 1 'pattern_D' : 1 --- pattern_A: - text: hoge pattern_B: - text: huga pattern_C - text: muga pattern_D - text: piyo
1つ目のドキュメントには、グループの出現頻度を指定します。上記サンプルの場合、1:1:1:1の、全グループ均等の比率になります。
2つ目のドキュメントには、出し分けしたいテキストなど、各々のグループに対応する値を記述します。
実際に利用する際は、ABテスト用のmoduleに
Module::ABtest::get( $yaml_name , $member_id );
のようにして引数を渡します。すると$member_idのユーザーがどのグループに属するか、$yaml_nameのyamlで設定した比率に準じてグループを自動で振り分け、対応する値を返してくれます。
例えば、上記sample_test.yamlというABテストを利用し、その中で、IDが100の方の情報を取得しようとした場合、moduleに渡す引数は
Module::ABtest::get('sample_test', '100');
となり、仮にpattern_Aに属していたとしたら、
{ text => 'hoge' }
という値が返ってきます。他のABテストを行いたい時は、新しくyamlを作り、上記と同様にして利用することができます。ね、簡単でしょ?
これから週末にかけて、桜のピークを迎える地域も多くなるかと思います。お出かけの際は是非、桜の感想をつぶやいて下さいね!
mixiではこれからも、ユーザーの皆様の生活に密着すべく、季節行事に沿った企画を展開していく予定です(先日のエイプリルフール企画はお楽しみ頂けたでしょうか?)。今後とも、ソーシャルネットワーキングサービス「mixi」をよろしくお願い申し上げます。