mixpanel のイベントのプロパティにリストを設定して、後から色々分析する術
こんにちは。さんまが食べたい、きたけーです。
mixpanel のイベントのプロパティにはリストを設定することができます。こんなかんじです。ランダムで僕の財布がすっからかんになった要因が追加されます。
require 'mixpanel-ruby' require 'dotenv' Dotenv.load tracker = Mixpanel::Tracker.new(ENV["PROJECT_TOKEN"]) 30.times do reasons = [] if rand(2) == 1 reasons << 'おいしいもの食べ過ぎた' end if rand(2) == 1 reasons << '本を買いすぎた' end if rand(2) == 1 reasons << '旅行に行き過ぎた' end tracker.track('kitak', "財布がすっからかんになった", { 'Reason' => reasons }) end
これを後から分析する場合はこんなかんじです(これは別にRubyのプログラムを書かなくてもmixpanelの分析画面で十分です)。本を買いすぎて、財布がすっからかんになった件数が出ます。
require 'mixpanel_client' require 'dotenv' Dotenv.load client = Mixpanel::Client.new( api_key: ENV["API_KEY"], api_secret: ENV["API_SECRET"] ) data = client.request( 'segmentation', from_date: '2014-10-12', to_date: '2014-10-12', event: '財布がすっからかんになった', type: 'general', where: '"本を買いすぎた" in properties["Reason"]' ) puts data.inspect # {"legend_size"=>1, "data"=>{"series"=>["2014-10-12"], "values"=>{"財布がすっからかんになった"=>{"2014-10-12"=>21}}}}
本を買いすぎ、かつ、おいしいものを食べ過ぎた場合はwhereを以下のようにします。
'"本を買いすぎた" in properties["Reason"] and "おいしいもの食べ過ぎた" in properties["Reason"]'
まとめ
ふざけた例でしたが、例えば、あるアクションをしたイベントと、そのアクションが失敗したイベント(プロパティに失敗した要因を記録する)をtrackしておけば、各要因ごと(あるいは全ての)のエラー率を計算できるので便利です。