mixi engineer blog

*** 引っ越しました。最新の情報はこちら → https://medium.com/mixi-developers *** ミクシィ・グループで、実際に開発に携わっているエンジニア達が執筆している公式ブログです。様々なサービスの開発や運用を行っていく際に得た技術情報から採用情報まで、有益な情報を幅広く取り扱っています。

mixiシーズナル企画「桜」のお知らせ+ABテストについて

桜が咲き始めました。

こんにちは、コミュニケーションサービス開発部 エンジニアの岩熊です。

4月になり、新年度を迎えましたね。そして、この時期恒例のイベントといえばお花見!お花見と言えば...そう、桜ですね!
twitterの@mixi_PRアカウントの方でもご案内致しましたので、既にお気づきの方もいらっしゃるかもしれませんが、mixiでは只今、ホーム画面のボイス投稿枠につきまして、一部の方に桜デザインを提供させて頂いております。

PC版 桜デザインイメージ
PC版 桜デザインイメージ 全体

尚、先程「一部の方に」と書きましたが...
今回の企画を通して、サービスの向上のための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」をよろしくお願い申し上げます。