SINKCAPITAL
SINKCAPITAL
Comapny Blog
アクセスログを可視化しGAのデータを直感的に理解できる型態にする試み(ネットワーク型)
techdataAnalytics

背景

 技術的な高度さがビジネスにおいてより高い価値貢献を行うケースは稀であり、 データ利活用においてはそこから得られる示唆の大きさが一番大きな要因だと考えています。 そのため理解を手助けするビジュアライズはとても重要だと言えます。 今回は日頃よく利用するアクセスデータ(Google Analytics)に関して、 デフォルトにある可視化に加えてネットワーク型で見ることでより直感的に理解できるのではないかと考え試してみました。

ネットワーク型

設計意図

 アクセスデータ基礎分析において重要な要素は主に以下三つだと考えています。

  • 人の流れと大きさ: 流入回遊 ・離脱
  • 人の属性:性別・年齢・ロイヤリティ
  • コンバージョンへの寄与:CVR

今回はその中の 流入と回遊 に注力をし、より「ページごとの流入・回遊の比較ができる」可視化としてネットワーク型を考えました。 ネットワーク型を検討した理由としては点を線で繋ぐことで、 「回遊の繋がり」を可視化できることに大きなメリットを感じたためです。

  • 円の大きさ:流入の大きさ
  • 線の向き:回遊の繋がり
  • 線の大きさ:回遊の大きさ

離脱や流入経路、回遊の向きなど削り落ちた情報も多いですが、 全体概要の直感的理解においては一つ優れた手法だと考えています。

弊社サイトで出来上がったもの

グラフ

ネットワーク

示唆

 上記グラフは弊社サイトのものですが、 これを見るだけでも以下のような示唆が浮かび上がってきます。

  • 流入が大きい(円が大きい)のにサイトへの流入につながっていないブログがいくつか存在
  • サイトとの回遊が多いブログから、サイトにくるユーザー層は「firebaseやNuxt周りの技術興味ありor相談したい」と「経営者個人を知りたい層」の2つがありそう
  • 「ブログからのサイト流入が太い箇所の向きや属性情報をGA側で確認することでCVを増やせそう」といった深掘りの戦略

当然概要を見ているだけのため精度が低かったり仮説に留まるものですが、 概要を理解する上ではとても役に立つように思えます。

過去案件に沿ったユースケース検討

 では実際に過去ご担当した案件などに照らし合わせてユースケースを考えると、 以下のようなケースで利用価値があるのではないかと感じました。

  • ブログ流入からCVを目標とされていたケース:弊社における仮説同様に初期分析で深掘り箇所の特定に利用
  • SaaSのカスタマーサクセスでのケース:課題解決に向けて誘導したいページに誘導できているかを判断(お客様が迷っていないか)
  • GAを入れたが未活用のケース:直感的に理解の手助けとして利用し、今後のデータ利活用を検討する際の共通言語に利用

感想

 今回実は「ネットワーク型はなんとなく綺麗でそれっぽい(が使い道がない)」にとどまってしまうだろうという予想があったのですが、 想像よりも使い道がありそうでとても良い結果だったと感じました。 今後円の大きさや棒の太さの意味を変えることで、 UUや時系列といった様々なケースにおいて利用ができるのではないかと感じています。 ただ文中でも述べている通り削ぎ落とした情報も多く、 得られるしさは仮説程度のものなので解釈には注意が必要だと感じました。
 最後になりますがもしこういった初期分析を行いたいと言う方がいらっしゃれば、 気軽にご相談をいただけると幸いです!数ヶ月後にはこのブログから弊社サイトへ太い線(流入)が引かれていることを願っています...笑

+α:技術的な話

最後に技術的な話を簡単に載せておきます。

動作環境

 今回利用した環境・ライブラリ等は以下になります。

元データ準備

元データとてはGA4のデータのみなので、 [GA4] BigQuery Export のセットアップ を参考にデータを準備しました。 クエリはUNNEST等が必要なため少し工夫が必要です。

データ前処理

今回BQに連携された analytics_********.events_* のデータを元データとし、 以下の処理によってデータ前処理を行いました。

  • ラベルに利用するためURLからパスの部分を抽出(/blogs/firebase_lt/など)
  • セッション毎に回遊したページをリストに入れる
  • 各ラベルと出現回数を辞書形入れる

データ可視化

 みやすくするため以下のような調整を行なっています。

  • add_nodes_from:各ページのノード(点)を追加
  • add_edge:各ページのつながり(線)を追加(線の太さも定義)
  • 特定の量以下のつながりを削除
  • draw_networkx_nodes:大きさを指定しノードを描写する
  • draw_networkx_edges:太さを指定しつながりを描写する
  • draw_networkx_labels:ラベルを追加

参考リンク

Nuxt上でのd3を利用した散布図の作成方法
櫻井 裕司
2021/10/29 櫻井 裕司
techdataAnalytics
クリック可能な散布図をNuxtjs上で作成する場合にd3.jsが汎用性が高く便利でした。利用するにあたって難しかった点などを備考録としてまとめています。
代表櫻井による特別講演会が白陵高等学校で開かれました
櫻井 裕司
2021/07/31 櫻井 裕司
eventpersonal
2021年の夏に兵庫県の私立白陵高等学校において、代表櫻井による特別講演会を開催いたしました。今振り返って高校の頃の自分に伝えたいことについてお話しました。
Nuxtで動的ページを随時追加する場合にNot Foundとなる
櫻井 裕司
2021/05/31 櫻井 裕司
tech
Nuxtで動的ページを登録する方法はありますが、登録後に随時コンテンツが追加される際はNot Foundとなってしまうので、そう言った際の対処方法について
GKEをやめてCloud Runを始めてみました
櫻井 裕司
2021/04/19 櫻井 裕司
tech
firebaseで構築したシステムの裏で動かすバッチの負荷が大きく、cloud functionsで終わらなかったためCloud Runを利用してみました。動作確認までの知見等を雑多にまとめてみました。
AWSをやめてfirebaseを使い始めて感じたメリットやデメリットとそれの対応策(LT登壇内容)
櫻井 裕司
2021/03/26 櫻井 裕司
techeventpersonal
みそかつウェブ・GDG Nagoya主催の「around firebase」とCloud Native Nagoya主演の「Cloud Native Nagoya」にてfirebaseのLTをさせていただきました。そこで会話させていただいたfirebaseを使い始めて感じたメリット・デメリットについてまとめています。
PWA+SPAのwebアプリ作成にnuxtjs+firebaseがめちゃ便利だった
櫻井 裕司
2021/01/16 櫻井 裕司
tech
PWA+SPAのwebアプリを作る際にnuxt.js+firebaseを合わせて利用すると便利だったので知見を書き留めています
s3のhostingでPWAを導入する方法
櫻井 裕司
2020/12/19 櫻井 裕司
tech
アプリ作成時にpwaが比較されることが多かったですが、実際にpwaを実装した経験がなかったため今回自社サイトをPWA化してみました。
dockerでseleniumを動かしてみる(chrome_headless)
櫻井 裕司
2020/12/06 櫻井 裕司
tech
seleniumの相談をいただくことが増えたため、seleniumの勉強もかねてdockerでの実行テストを行いました
THE DECKのイベントにお邪魔させていただきました
本林 秀和
2020/12/05 本林 秀和
eventpersonal
大学コンソーシアム大阪のイベント@The DECK にお邪魔してきました
flutter(dart)を触ってみた感想
櫻井 裕司
2020/11/18 櫻井 裕司
tech
android向けアプリへの対応も考慮してflutter(dart)を触ってみたので、感想をまとめておこうと思います。理解が深まっていく中で定期的にまとめていければと思います。
代表本林による特別講演会が滝高校で開かれました
本林 秀和
2020/11/07 本林 秀和
eventpersonal
2020年11月7日(土)愛知県の私立滝高校において、代表本林による特別講演会を開催いたしました。IT業界やデータサイエンスについてお話しました。
AWS・GCPを選ぶ際の観点
櫻井 裕司
2020/10/28 櫻井 裕司
tech
AWSかGCPを選ぶ際の観点について書き留めておこうと思います
CloudFormationとterraformの比較
櫻井 裕司
2020/10/04 櫻井 裕司
tech
AWS CloudFormationとterraformの両方を使ってみて感じた違いをまとめてみました。
iosのcallkit周りでできること
櫻井 裕司
2020/08/24 櫻井 裕司
tech
新規事業を検討する上でios(swift)の電話周りでできることを調査したため、調査結果をブログとして残しています。
【個人ブログ】CTOの株運用ブログ_順調な滑り出し
櫻井 裕司
2020/07/19 櫻井 裕司
personalstock
長年放置してた株に少し手を出してみました。自分なりに少し情報整理と分析と予想をしたので記事にしてみます。
総務省特定サービス産業実態調査のデータ分析
櫻井 裕司
2020/07/18 櫻井 裕司
techdataAnalytics
総務省がAPIで市場データを公開しており、分析技術向上と市場感を養うことを目的に定期的に分析を行なっていこうと思います。今回は「特定サービス産業実態調査」について見ていこうと思います。
「お絵かきつみ木バトル」をリリースしました
櫻井 裕司
2020/07/12 櫻井 裕司
techapp
タスク管理を二次元的に行うアプリ「お絵かきつみ木バトル」をリリースしました。SinkCapitalはデータコンサルですが、知見蓄積のため様々な媒体での実験的開発を行っています
総務省工業統計調査のデータ分析
櫻井 裕司
2020/07/11 櫻井 裕司
techdataAnalytics
総務省がAPIで市場データを公開しており、分析技術向上と市場感を養うことを目的に定期的に分析を行なっていこうと思います。今回は「工業統計調査」について見ていこうと思います。
【個人ブログ】CTOが個人的に株をはじめました
櫻井 裕司
2020/07/08 櫻井 裕司
personalstock
長年放置してた株に少し手を出してみました。自分なりに少し情報整理と分析と予想をしたので記事にしてみます。
総務省サービス産業動向調査のデータ分析
櫻井 裕司
2020/07/08 櫻井 裕司
techdataAnalytics
総務省がAPIで市場データを公開しており、分析技術向上と市場感を養うことを目的に定期的に分析を行なっていこうと思います。初回は「サービス産業動向調査」について見ていこうと思います。
タスク管理アプリ「タスククロス」をリリースしました
櫻井 裕司
2020/04/08 櫻井 裕司
techapp
タスク管理を二次元的に行うアプリ「タスククロス」をリリースしました。SinkCapitalはデータコンサルですが、知見蓄積のため様々な媒体での実験的開発を行っています
【terraform】gcpでcicd環境を構築する方法
櫻井 裕司
2020/01/04 櫻井 裕司
tech
企業サイトはAWSを利用しているのですが、要件によってはGCPの方が適している場合もあるため、GCPでのcicd構築も行いました。AWSと比較しつつ説明しているため是非ご参考にしてみてください。
【合格体験記】GCP_Cloud_Archtectに受かりました
櫻井 裕司
2019/12/23 櫻井 裕司
personalqualification
Google Professional Cloud Architectに合格したので、勉強法別のコスパをまとめてみました。
AWSでサブドメインなし(wwwなし)からサブドメインあり(wwwあり)へのリダイレクト設定
櫻井 裕司
2019/12/23 櫻井 裕司
tech
もともと企業サイトがサブドメインありで公開していたが、サブドメインなしでもエラーなく接続できるように設計。terraformで作成しているので是非ご参考ください。
マークダウンで記事を書けるようにしてみた
櫻井 裕司
2019/12/16 櫻井 裕司
tech
ホームページのブログをマークダウンを使用してかけるようにしました。gatsbyなどもありますが、今回はお手製cicd+pythonを使用してライトに作成しました。