LoginSignup
35
34

More than 5 years have passed since last update.

「その改善本当は意味ないかもしれないですよ?」- Mixpanelでしっかり行うABテスト

Last updated at Posted at 2015-04-14

背景

  • 一個先の効果じゃなくて、最終的な効果が見たい
  • 可視化されてない、分析に時間がかかるABテストは使われなくなる

これらの問題を解決するために、MixpanelでABテストの枠組みを作ると幸せになれるかもしれないというお話。

WebUI上でもサーバー上でもモバイルアプリでも

実は、いろんなメトリクスは、Javascriptやアプリ側じゃなくてサーバーサイドのリクエストでトラックしたほうが楽だよねみたいなことも多いので、サーバーサイド側のライブラリが充実しているのが、Mixpanelのありがたいところ。
ココらへんがOptimizelyやGoogle Analyticsよりも優れている。(どっちも非公式のライブラリ使うとか、無理やり頑張る方法はあるけど、あまりイケてない。)

他にもActionScript用のがある他、HTTP経由でアクセスできるものもあるので、他の言語でも対応できそう

Mixpanelで行うたった一つのこと

Mixpanelで行うべきことはたった一つしか無い。それは、

イベントを投げる

こと

  • イベントを4,5個投げることでファネルを作ることが出来る
  • イベントを送る時に付加情報(property)をつけることができる
    • 例えば画像のアップロードというイベントにpng,jpgなどのファイルタイプをつけるなど

イベントを投げる例

javascript
mixpanel.track("Video played", {
    "Video length": 213,
    "id": "hY7gQr0"
});

ユーザーのプロフィールをつける

javascript
mixpanel.identify("13487"); // user_id
mixpanel.people.set({
    "$first_name": "Joe",
    "$last_name": "Doe",
    "$created": "2013-04-01T09:02:00",
    "$email": "joe.doe@example.com",
    "age": 24,
    "gender": "Male"
});

\$から始まる4種類のキーの値は、Mixpanelの中で特別な意味を持っている。その他のものは自由につけてよく、その時\$からはじめてはいけない。
値としては、string, integer, date, listが使える

投げたイベントをABテストに使う

基本的には、これだけのことしかできないのだが、これだけでFunnel分析やRetentionの分析が出来るのがMixpanelの良いところ。
ここでは、Funnelを使ってABテストをする例をみせる。

まずはMixpanelのFunnel画面の結果から示そう。

全体

mixpanel_abtest.png

バージョンA(ベース)

var0.png

バージョンB(改善後)

var1.png

結果解釈

いわゆる一般的に行われるABテストだと、最初の2つの棒の比較をしてしまい、+47ポイント改善したで終わってしまう。しかし、実際は本当のゴール地点ではほとんど差が出なかったという結論がでている。

例えば、この改善は、これはフォームで入力項目を少なくしたり、詳細な説明を省いたりする行動をとるような変更をしたと思っていただきたい。

そういうものは確かにそのフォームの通過率は上げるけれど、結局のところ、その先で躓くだけで、最終到達点では結果がほぼ変わらない(見た目ちょっと悪くなっているが有意ではない)という結論になっている。

もちろん、最初の通過率を上げて、次の通過率を上げてと改善を続けていけば最終到達地点の数値も上がるかもしれないし、2個目まで通過すれば、別の施策を打てる可能性もあるので、Bの改善が無駄ではないかもしれない。
だが、ここで改善をやめてしまっては効果がなかったことがすぐに分かる。

このABテストのやり方

例えば、MixPanelは X->Y->Z とフローがあった時に

  • ユーザごとにUniqueな結果で表示される
  • Yを飛ばしてX->Z、Xを通ってなくてZのみ行われているといったものはZにカウントされない

といった特性がある。(cf. https://mixpanel.com/help/questions/articles/how-are-funnels-calculated )

なので、最初のXのパートのみでABテストのどちらだったか(ここではvariationを使用)をmixpanel.trackの2引数目に入れておけばこのファネルを描くことが出来る。
これはJavascript側でやってもいいし、サーバー側でやっても良い。例えば、Ruby on Railsだったら、createアクション等Controllerで処理すると自然。

もちろんXをのぞいた他のポイントで見たい時もあるので、可能であれば全てのイベントを送るポイントでABのどちらだったかを送っておくとよい。

35
34
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
35
34