<?xml version="1.0" encoding="UTF-8"?><rss version="0.92">
<channel>
	<title>Google Analytics アクセス解析</title>
	<link>http://abc-analytics.com</link>
	<description>実践メモ、解説、疑問点の表明、データの見方</description>
	<lastBuildDate>Sun, 18 Dec 2011 04:45:20 +0000</lastBuildDate>
	<docs>http://backend.userland.com/rss092</docs>
	<language>en</language>
	<!-- generator="WordPress/3.2.1" -->

	<item>
		<title>CARTで結論を絞る</title>
		<description><![CDATA[Google Analyticsでエクセルなどでデータをいじる場合、　僕がよくやったのは、ディメンジョンを多めにセットしておいて(データ行は一万行を超えないようにする、indexするのが面倒な場合)、データを得た後、エクセルのピボットで軸を入れ替えながら、突出したポイントを探すことでした。エクセル2010でスライサー使えば、アドバンスセグメント＋カスタムレポートという形が簡単かつ柔軟に実現できる。 それで、データに浸かっていじってれば、そのうち、イメージができることはできるけど、時間かかります。　そういう場合に、よく言われるのは、予め仮説を持って、その検証のみに時間を使う。サイトに対する今までの見識を持って仮説を出し、データでの裏付けを探す。見識がなければ、世間で一般的に使われる指標を一般的なディメンジョンで分類するという形になると思います。または、テストできる環境を整え、指標を対比する。。。などだったと思います。 で、それとは違うアプローチとして、データマイニングがあります。仮説なしで、結論みたい？なものをだしてもらう。ほとんどは凡庸な結論だけど、時々、宝ものが出てくるかもしれない。。。冒頭の本は、そのアプローチ、データマイニングのやり方を説明してくれてます。この本は、数式抜きでやり方を丁寧に説明してくれてるし、書き方からも読者に理解させようとする気が伝わってきます。とても良いです。　 &#160; で、その中の分析木をやってみました。ただ、分析木は、マイニングというより、シンプルな結論の提示という気がします。なので、この本にあるように、mvpartというライブラリを使います。コードは最後に提示します。 冒頭のグラフが図で、結果そのものが下記。split:分岐基準、n:その基準での観察数(セッション数), loss: n回は間違え分類した。(分類名が続いてる。今回なら、bounce, nobounces) ======================================================== n= 226 node), split, n, loss, yval, (yprob)&#160;&#160;&#160;&#160;&#160; * denotes terminal node 1) root 226 79 bounce (0.65044 0.34956)&#160; &#160;&#160; 2) visitCount&#62;=6.5 22&#160; 1 bounce (0.95455 0.04545) *&#160;&#160; 3) &#8230; <a href="http://abc-analytics.com/cart%e3%81%a7%e7%b5%90%e8%ab%96%e3%82%92%e7%b5%9e%e3%82%8b">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<link>http://abc-analytics.com/cart%e3%81%a7%e7%b5%90%e8%ab%96%e3%82%92%e7%b5%9e%e3%82%8b</link>
			</item>
	<item>
		<title>リスティング広告運用についての雑感</title>
		<description><![CDATA[チョット前に、ちょっとだけ、リスティング管理を経験しました。それで、知識の棚卸しをする意味で、私が思っていることを書きます。 google analyticsのデータの利用についても、織りまぜて書きます。記憶の掃き出しをしておきます。あいまいな部分や誤認識もあると思いますので、そういう前提で読んでください。(GAも、ここ数ヶ月は触ってないので、知識が古ぼけてきてます。サイトも更新してないですね。。。) リスティング広告（サーチ)の流れ 出稿する側は、キーワードとそれにヒモ付た広告を出す。（管理上、いろんなグルーピング機能があって、それらの上位グループ(広告グループ、キャンペーン)で制御が色々入れられる)。 ユーザーが検索する。　と、検索語にマッチしたキーワードに紐づいた広告が表示される。　ユーザーから見ると、検索語を打ち込む =&#62; 広告文を見る =&#62; ランディングページ訪問という流れ。 ここで大事だと思った点の一つは、ユーザーは出稿側がシステムに出す出稿キーワードは見ないし知らないという点。(完全一致はそのままなので、広告を出す側のキーワード設定とユーザーの検索語が一致するが、) 。 というのは、リスティング広告の管理をしてると、キーワード単位(マッチタイプ、テスト機能で分化管理、グループ、キャンペーンで統合管理されるが)で考えがちだと思われるのだけど、ユーザーサイドの行動である実際のクエリーを出発点に組み立てる事は大事だと。ユーザーは自分のクエリーをだして、広告文をクリックして、サイトに行く。ユーザーの頭に出稿する側のキーワードは入ってない。部分一致の場合。 ユーザーの行動プロセスを起点に考えると、上記のような流れ。で、その前提でデータを見えるようにしないとイカン。　 もちろん、google, yahooの入札システムサイドでも上手く立ちまわる事は大切(CPC, 順位などの管理)だ。 そして、こちらも巨大なブラックボックスで、仮説、検証サイクルが廻る事にはなる。 で、 クエリーデータを得る、マッチタイプで分ける 上記の点を念頭にしたとき、僕としては、以下の２点、A,Bを抑えたときに、作業が楽になった。 A .クエリーデータの取得(Google Analyticsで) B. adwords側でのクエリーデータのマッチタイプ別の分別管理。(yahooは楽にならなかった、、、) A. クエリーデータの取得(Google Analyticsで) 1.yahooリスティング これは、独自に取らないと行けない。また取れてもadwordsのようにリスティング側のデータを教えてくれないので、クエリーデータを取るだけになるが、それでもやる必要がある。 方法としては、一般にはutm_source, utm_medium, utm_camapignを付けてということになっているが、あんまり有効な方法には見えない。この方法だと、クエリーデータはリファラーから取って、cookieのutmzのutmctrに入るはずだけど、utmパラメータを設定すると、リファラー内のキーワード情報は、日本語のまま入ってしまう。で、エンコードしてcookieに入らないと、最終的なデータで文字化けやデータ不取得となることがあるのだ。通常の場合(utmパラメータを使わない)と違う仕様にした理由は分からない。マルチバイトの人が声を上げてないだけかもしれないし、他に理由があるのかもしれないし、僕の勘違いかもしれない。　でも、この辺りのデータ不備で悩んでる人は多いと思う。 で、utm_xxxx を使わないとすると、、、ヤフーリスティング側の仕様を利用する方法が良い。 yahooリスティングからクリックされた時には、ヤフーがパラメータを付けてくれる。それを使う。 クエリー情報、キーワード情報、マッチタイプ情報、キャンペーンID情報、広告グループID情報、広告ID情報　をURLパラメータとして付加してくれてる。これを素直にGAに入れれば良い。 その方法としては２つ。サイト内検索を使う。 or&#160;&#160; &#8230; <a href="http://abc-analytics.com/%e3%83%aa%e3%82%b9%e3%83%86%e3%82%a3%e3%83%b3%e3%82%b0%e5%ba%83%e5%91%8a%e9%81%8b%e7%94%a8%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6%e3%81%ae%e9%9b%91%e6%84%9f">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<link>http://abc-analytics.com/%e3%83%aa%e3%82%b9%e3%83%86%e3%82%a3%e3%83%b3%e3%82%b0%e5%ba%83%e5%91%8a%e9%81%8b%e7%94%a8%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6%e3%81%ae%e9%9b%91%e6%84%9f</link>
			</item>
	<item>
		<title>ggplot2でお手軽ヒートマップ</title>
		<description><![CDATA[式とグラフの備忘録です。 時間系列の記憶は、人間の記憶の中でも頼りになる方。超整理法のアドバンテージは、ここにあったはず。　で、月間レポートを書く場合に、時間系列のヒートマップだと、人間の記憶とレポートの記録が、上手くつながる気がする。なので、ヒートマップ(時系列)が好き。 ggplot2は、簡単にヒートマップが出せる。 例として、このブログのGoogle Analyticsの４月のデータ。時間、日付け、訪問数、平均PVの４つが入ったデータフレーム。 R&#62; str(abc)&#8216;data.frame&#8217;:&#160;&#160;&#160; 720 obs. of&#160; 4 variables: $ hour&#160; : int&#160; 0 1 2 3 4 5 6 7 8 9 &#8230; $ date&#160; : Date, format: &#8220;2011-04-01&#8243; &#8220;2011-04-01&#8243; &#8220;2011-04-01&#8243; &#8220;2011-04-01&#8243; &#8230; $ visits: int&#160; &#8230; <a href="http://abc-analytics.com/heatmaps_with_ggfluctuation_or_ggplotgeom_point">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<link>http://abc-analytics.com/heatmaps_with_ggfluctuation_or_ggplotgeom_point</link>
			</item>
	<item>
		<title>アドバンスセグメントで擬似加重ソート(Excel のTable機能)</title>
		<description><![CDATA[Google Analyticsだけに限らないTIPSですが、簡単でそれなりに実用的に使える方法だとおもうので、紹介します。 2010年の秋にGoogle Analyticsの加重並び替えが導入されました。Wikiの方の紹介。新機能として紹介されたに似た感じのものを、アドバンスセグメントでやろうとするものです。 ちょっとズルですが、APIでデータを取得するのが前提です。 APIでのデータの取得は、実は簡単で、 Date Feed Explorerを使う(日本語だと止まるので、IDを直接入れる必要がある。) http://excellentanalytics.com/ を使う。 http://abc-analytics.com/data-feeds-query-explorer-in-windows-applicationを使う。 で出来ます。他にも、色々なツールがあります。 今回は、Cの自作ツールを使ってデータを取得しておきます。 閲覧開始ページ、キーワード、開始数、直帰数を取ります。 で、タイトルの話のエクセルの貼り付けます。ここから、本題です。 コピペしたあとは、テーブルにします。 テーブル名を英語にします。大事です。 一行目に数字を入れるので、空けておきます。 もう少し、下ごしらえが続きます。 直帰数になっているので、直帰率をいれます。 一行目に集計値を出すようにします。 ここで、テーブル機能が行きます。 entrancesの集計値は、下図のようにススメます。 (テーブル名が英語だと補完が効いて、マウス無しで＾＾です) 式は、=SUBTOTAL(9,table1[entrances])　になります。 同じようにbounces(直帰数)も計算します。=subtotal(9,table1[bounces]) ですね。 bounceRate(直帰率)は、この２つを割り算します。 ここで、もう一回、画像。 ここから、本当の本題であった、加重ソートを入れます。 前提として、100回以上セッションがあった、キーワード＋ページは、そのまま。ソレ以下のものを、全体の平均値と按分する方針です。 B1に 分かれ目の数字、100を入れておいて、TrueBounceRateの列を作りましょう。 上の数式を説明します。 entrancesが１００以上なら、その列のBounceRateのまま。なので [@BounceRate] 以下なら、全体の平均値(E1)と[@BounceRate]を　全体のEntrances(C1)と列のentrances([@enttances])で按分する。 ([@bounces]/$B$1 * &#8230; <a href="http://abc-analytics.com/weighted_sort_on_advanced_segment_by_excel_table_function">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<link>http://abc-analytics.com/weighted_sort_on_advanced_segment_by_excel_table_function</link>
			</item>
	<item>
		<title>plyrで集計 ggplot2でグラフ化</title>
		<description><![CDATA[Table of Contents 複数の指標を時系列で並べる コード(認証) コード(クエリー、集計、グラフ化) 結果 ページ別セッション数の累計表示 期間効果(曜日)を考慮する 考え方 まずはセッション数。 平均滞在時間も曜日効果を見る 分布を見る。滞在時間分布(セグメントデータとして)を見る 考え方 月間別 メディア別 月とメディア別でクロス キーワード + ランディングページ別のセッション滞在時間 ドット表示 + ファセット(ランディングページ) キーワードグループ別滞在時間 Rを使ったアクセスデータの集計(1) plyrとggplotを使ってます。(*)Rを勉強し始めたら、早めにplyrとggplot2を覚えるのが吉。見通しがよくなると思います。アクセス数値の集計というより、Rの勉強エントリ。 複数の指標を時系列で並べる アクセスの基本的な数値を集計して、同じ時間軸で並べます。以下のものを図示します。まず下準備。認証まで コード(認証) #RGoogleAnalyticsをファイル内にダウンロードしておいて使う。 source("/home/shirai/ga/r/RGoogleAnalytics/R/RGoogleAnalytics.R") source("/home/shirai/ga/r/RGoogleAnalytics/R/QueryBuilder.R") #今回の目的のggplot2、同時に plyrとreshapeもloadされる。 library(ggplot2) #オブジェクト的な使い方? dataframeの要素に関数がある ga &#60;- RGoogleAnalytics() &#8230; <a href="http://abc-analytics.com/plyr_ggplot2">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<link>http://abc-analytics.com/plyr_ggplot2</link>
			</item>
	<item>
		<title>RでGoogle Analtyics: 時間帯別グラフ</title>
		<description><![CDATA[Rという統計用？言語でData Export Apiを使うscriptを書きました(コードはこちら) (2010/12/10 追記 )どうやら googleの中の人も R用のライブラリーを出したみたいです。テストもついてるし、サンプル誤差もついてくるので、僕自身もあっちを使うつもり。account系のデータ、ゴールとかも取れるといいなと思う 統計用言語なのですが、グラフ出力も充実しており、latticeというパッケージを使うと分類した上でのグラフ表示が一行でだせます（マニュアル見る時間がかかるけど)。なので、グラフを図示していきます。 下のような感じでデータを取得します。 #認証tokenを取得 auth &#60;- getAuth(email, password) #アカウント＋プロファイル情報を取得 acs &#60;- getAccounts(auth) &#62;str(acs) str(ac) 'data.frame': 45 obs. of 4 variables: $ ac.ids : chr "xxxx";,"xxxx" ... $ ac.names: chr "名前1" ,"名前2" ... $ &#8230; <a href="http://abc-analytics.com/gnur-with-google-analytics">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<link>http://abc-analytics.com/gnur-with-google-analytics</link>
			</item>
	<item>
		<title>マルチトラッキング(複数cookie)について考える</title>
		<description><![CDATA[*2010/09/10 追記を入れました。 *2010/09/14 _linkでアドレスバーからcookieにデータを取り込む際、日本語データがある（検索ワードなど)と、うまくデータの引継ぎができないと思います。（フォーラムに質問した)。使う方は気をつけて(?)ください。chrome, firefoxの場合。IEはOK。　エンコードしてればよかった。 僕自身はあまりマルチトラッキングについて馴染みがないのですが、時々、マルチトラッキング絡みの質問を、フォームから受けるようになってきたので、いろいろと頭の中を整理しました。読んでください。 また、マルチトラッキングがニーズとなるのは、ドメインやディレクトリで分けてデータを収集したいということなので、具体例も画像付きで書きました。下の方。 全体の仕組み 大まかな前提を。 google analyticsはビーコン型のアクセス解析ツールです。gifリクエストをサーバーに飛ばして、データを収集してレポートしてくれます。モバイル計測の場合を除き、javascriptで操作します。トラッカーオブジェクトを作り、データ置き場としてのcookieを操作しつつ、gifリクエストを発行します。 同じ情報を複数アカウントに ですので、同一情報を複数のアカウントに送りたい場合は、トラッカーオブジェクトを複数発行して、このオブジェクトにアカウント情報をそれぞれいれてやって、送信すればいいだけです。 公式サイトには英語のものしかないですが、用例があります。http://code.google.com/intl/ja/apis/analytics/docs/tracking/asyncUsageGuide.html#MultipleCommands ただ、ドメイン別・ディレクトリ別に情報を取って、専用のプロファイルに送りたいですよね。 ３つのパターン。サブドメイン、クロスドメイン、サブディレクトリの場合を見ていきます。 ただ、もう少し、講釈を続けます。 複数cookieを実現する設定 ＊これは、僕自身の考えに基づいて書いています。計測がうまく行かないかもしれないので、うまく行かない場合は、ダメじゃないか！と怒るか、もしくは、ぜひ連絡ください。 ケース: aaa.xxx.comというサイトと、bbb.xxx.comというサイトを管理していて、この二つの横断的な情報を収集しつつ、aaa, bbb個別の情報を得たい場合です。 通常の方法としては、 _gaq.push([“_setAccount”,”UA-xxxxxx-yy”]); _gaq.push([“_setDomainName”,”.xxx.com”]); _gaq.push([“_trackPageview”]) .csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; &#8230; <a href="http://abc-analytics.com/multi-cookie-tracking">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<link>http://abc-analytics.com/multi-cookie-tracking</link>
			</item>
	<item>
		<title>訪問回数別セッション数(vs 参照元)の残存率を見る</title>
		<description><![CDATA[リファラー情報の扱いは、他のアクセス解析ツールと違う仕様 Google Analyticsの、他のサービスと違う有名な仕様として、外部リファラーが無い場合のリピーターのリファラー情報は、前回のリファラー情報とするというのがあります。 直接訪問は前回のリファラー情報でレポートとして上がるという事です。最初からノーリファラーなら、ノーリファラーですが。 僕は、他のアクセス解析サービスはよく知らないので、どちらが有用なデータ表示方法かは分からないのですが、GAの仕様を決定した人は、こっちが良いと思ってそうしたんだと思います。 この方法で良いなと思える点 本当は、ユーザー単位で、トラフィック情報の変遷を見ることが出来れば、万事解決なのですが、GAは大きな会社のサービスなので、いろんな事に配慮しなければならず、ユーザー単位のトラフィック情報を見ることはできません。ユーザーグループを作って、カスタム変数に記録すれば、グループ単位では見られるようになりますが、それは置いておきます。 それで良い点はというと、直接訪問を必ず、どこかの参照元の情報に帰属させてる点です。アクセス解析の目的は、コンバージョンの向上にあるわけで、その要因となる流入元情報の寄与を割り振ってるわけです。２，３回目は、bookmarkから来たんだろうけど、一回目は、、、というデータ処理を省くことができるわけです。 もちろん、リピーターは、複数の外部サイトからやってることも多いわけで、その場合は上書きされていくので、きちんとした？データにはならないわけですが。 参照元別の残存率 = コア化するユーザー率を見る 訪問回数と参照元情報をディメンジョンに、セッション数を指標にします。 &#160; データは、仮想の数字です。サイトの数字を参考にして、乱数を降った擬似的なデータです。 縦軸（Y軸)は、１０の対数です。４なら１万。2なら100。 ２，３回目までくるのは、1%とかの世界ですね。１以下で10以下です。 あと、データ集計期間の長さによってデータが偏るので、そこも注意した方が良いです。その集計期間の訪問回数というのは、Google Analyticsでは出せないです。出る数字は、全ての測定期間で、何回目の訪問だったかです。 参照元別で残存率が違う場合、主要な参照元の５回目残存率なんかは、気にしても良いかもしれません。この場合だと、Eなんかは2.8(630くらい)から1.8(63くらい)くらいと、１０％くらいは残ってくれてます。ほかは、Dなんかは、５回目で、3(1000以上)から１以下(10)になります。 最終的には、コンバージョン率と絡めて、数字を吟味する必要はあるのですが、参照元によって残存率が違う、訪問回数が進むにつれ、1/10, 1/100になっていくけど、参照元に依っては生き残る率が高いのがあるのを気にするのもいいかもしれません。 Google Analyticsのノーリファラーを前回のリファーラー情報に割り振る仕様も、こういう見方をする場合は、データ処理が楽だと思います。 もちろん、あるユーザーの二回目セッションは参照元がAで、三回目はBという事もあるので、訪問回数の残存＝ ユーザーの残存率 とはならないですが、ある程度は類似するはずです。また、このデータ集計期間に、一回目が入らずに二回目から登場のパターンもありえます。GAは、ある期間内で、何回目の訪問だったかは教えてくれません。 ということで、参照元別に訪問回数別のセッション数を見て、この参照元はコアのユーザーに成ってくれやすい。 裏を言えばリピートしない、というのを把握する話でした。 実はどこかのサイトのデータ整理をしてて、対数グラフにしたら、それなりに見えたので、blogを書きました。 底を求める方法が分からず、何回か検索した。中学生の僕が見たら、僕を殴りに来たかも、、、630 =&#62; 10^2.8 は、頭に出なかった、、、]]></description>
		<link>http://abc-analytics.com/find_suvival_rate_par_visitscount_against_referrer</link>
			</item>
	<item>
		<title>ページ遷移レポートの自動配信を実現する</title>
		<description><![CDATA[前回、スクロール計測のレポートを自動配信する話を書いたのですが、今回は、Google Analtyicsのページ遷移データをグラフ化してメール配信する話です。 同じく、google apps script + google chart api でのメールによるレポート配信です。 AuthSubでの作成も作りました。試してみてください。 Google Analyticsにおけるページ遷移のデータ あるページにおける、遷移上の前後のページは、WEBのレポート画面で見ることができます。ナビゲーションサマリーですね。ナビゲーションサマリーの数字の見方は、以前Wikiの方に書きました。 WEB上のレポート画面では、重複ページの回数を抜いて、パーセンテージにして表示してます。(移動先のデータ(nextPage)のデータがよく分かってないのですが、、) 今回は、Data Export APIでデータを持ってくるので、重複ページを抜かないとと思っていたら、uniquePageviewの数字がそのままの数字なので、端折って、uniquePageviewの数字を使いました。uniquePageviewを使う妥当性について、Forumなどで質問があったみたいですが、数値を見る分には大丈夫そうなので、uniquePageviewを使います。単に重複を抜くためだけですが。(もう少し考えてみた。けっこう注意が必要かも) とにかく、ディメンジョンに, “priviousPagepath”と”nextPagePath”。指標に uniquePageviewを使います。 Google Chart APIの GraphViz Chart 前回のデータを表示する時に、chart apiの文書を見てたら、おもしろいチャートの種類を見つけました。 Connectivity graphsとかいてあります。日本語だと 連結グラフ？ これも、パラメータを指定するだけで、グラフをimageにして返してくれます。またしても、パラメータの設定が難しかったのですが、PDFの説明書みたいなのを見ながら設定してみました。微妙に chart apiでの記述と、h本家の記述と違う部分もあると思います。subGraphも設定できるみたいで、それでクラスター表示みたいなのをしようと思ったけど、Google Chart Api側で、動くように設定する方法がわかりませんでした。(* google chart apiでの方法を知っていたら教えてください。) 前回も書きましたが、http://code.google.com/apis/chart/docs/chart_playground.htmlでできるチャート図を確認しながら、設定をいじれるので、便利です。 &#8230; <a href="http://abc-analytics.com/automate_visualizing_pages_transitions">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<link>http://abc-analytics.com/automate_visualizing_pages_transitions</link>
			</item>
	<item>
		<title>google apps scriptと chart apiを使ったレポート自動化</title>
		<description><![CDATA[google apps scriptを使ってGoogle Analyticsのデータを取得、加工、メール配信をする。数値データはgoogle chart apiを使ってグラフしておき、ＨＴＭＬメールとして送る。 <a href="http://abc-analytics.com/automate_reporting_google_apps_script">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<link>http://abc-analytics.com/automate_reporting_google_apps_script</link>
			</item>
</channel>
</rss>

