アクセス解析を品質向上に利用する取り組み

はじめまして、宇田川と申します。
現在、開発部でサーバ管理、監視を担当しております。

今回は開発部で取り組んでいるアクセス解析を品質向上に利用する取り組みについてお話させていただきたいと思います。

弊社は社外に製品、サービスをリリースする前、必ず社内運用を行います。
社内運用時、弊社のデヂエという製品を用い、バグの登録、UI を変えた方がいいなどの要望を蓄積する要望箱 (「ダメ箱」と言ったりもします ) が作られます。

ここで問題になるのがバグ、要望についての対処の優先度付けです。

例えば「トップ画面の○○へのリンクが分かりにくい」という書き込みがあったとします。

この対処が非常に解釈の入りやすいところです。あの人が言っているから直した方がいい。開発者が実際触ってみて言われてみると分かりにくいかなぁという判断により変更した結果、「前の方が良かった。」「何で変えたの?」なんて声が他から上がったりもします。結局、元に戻しその分の作業時間が無駄になったということも弊社では過去ありました。

また、すべての人がこの要望箱に登録してくれるわけではありません。結構、毎回登録してくれる人って数人に限られてきます。ほとんどの人が使えない、イケてないと思っても登録せずにそのままにしておく人の方が多いです。これを聞いて協力的では無いと思う方もいらっしゃるかもしれませんがこれが現実。当然、各々タスクを持っていますので、要望箱への登録まで時間が避けないといったこともあるのでしょう。

だからと言って開発側としてはこれも無視してはならないことです。ユーザの声無き要望も汲み取る。そのためにもアクセス解析は重要であると言えます。

ただ闇雲にアクセス解析のソフトを入れて、データを取るだけでは全く意味がありません。 まずはそのサービスの目的、どのデータを重要視するかを明確にしておく必要があります。 またアクセス解析にも種類がありそれぞれ取るデータ、運用方法によってどれを選択するかも変わってきます。

ここで主要な 4 つの方法について簡単に説明しておきます。

サーバログ型

サーバが出力するログを集計する。analog や WebAnalyzer が有名なところ。
もっとも多く用いられている手法ですが、ログのデータ量が多い場合、集計に時間がかかりリアルタイムに情報を参照できないという欠点もあります。また集計中にサーバに高負荷がかかりやすいといったこともあります。

Web ビーコン型

データ集計に対し、以下の手順でデータの収集が行われます。
アクセスを収集したいサイト内のページにタグプログラムを組み込み、 ユーザがそのページにアクセスすると JavaScript などで書かれたタグプログラムにより解析サーバにアクセス情報が送られ、 解析サーバ上でアクセス情報をデータベース化して記録されます。 リアルタイムにサイトの状況が見たい。ショッピングサイトなど Web マーケティングで使用する場合強みを発揮します。

パケットキャプチャ型

ネットワークに流れているパケットを取得し、対象となる Web サーバにアクセスしてきたものを集計する方法です。 パケットをそのまま集計するので一番リアルタイムに集計できます。 ただ、ネットワーク環境の設定変更も必要となる可能性もあることから、手軽にできるものではなく上級者向けの方法です。

サーバエージェント型

Web サーバにモジュールを組み込み、1 セッションごとにパラメータを自動的に付与し、 アクセスする毎に解析サーバにアクセス情報が送られ、データベース化して記録します。 制限の多い携帯端末のアクセス解析には適していると言えます。

サービスの目的、どのデータを重要視するか、また運用のしやすさなどを含めて解析方法を選ぶ必要があります。 開発中は常にリアルタイムなデータを必要とします。その場合 Web ビーコン型のアクセス解析を使用するのが良いでしょう。

一例として Web ビーコン型のアクセス解析ソフトの phpMyVisites と HeatMap を導入してみたいと思います。この phpMyVisites は日本語されており、また PDF 出力というレポーティング機能や、HeatMap ツールである Clickheat がプラグインとして組み込まれているので開発時にとても役に立つと言えます。

使用したバージョンは 2.3 で Clickheat がプラグインとして組み込まれているものをインストールしました。

以下のページからダウンロードできます。

phpMyVisites Downloads
http://www.phpmyvisites.us/downloads.html
※ 今回はインストール方法については割愛させていただきます

では、phpMyVisitores から見てみましょう。社内運用のサービスを一定時間計測してみました。 例として OS とブラウザについて計測結果を表示します。

使用 OS とブラウザの集計結果
図 1 : 使用 OS とブラウザの集計

最近、弊社の製品でも Ajax を使用することにより動的なページを製品に組み込むことが多くなっております。それが故、ブラウザごとの表示の差異、動作の違いに大いに悩まされます。

そこで、このようなユーザがどのような環境を使っているかというデータを踏まえ、要望やバグの対処時に優先度の設定を行います。

この他、表示できるデータは以下の通りです。 1 時間ごとのアクセス数分布を見て、社内システムのアップデート、メンテナンス時間を決めるなんてこともできますね。

アクセス
  • 統計
  • 指定期間の概要
  • 統計概要
  • 長期間統計概要
  • 訪問者滞在時間の分布
  • 1 時間ごとのアクセス数分布 ( サーバ時間 )
  • 1 時間ごとのアクセス数分布 ( ローカル時間 )
周期
  • 統計
  • 新規および 2 度目以上の訪問者数
  • 新規と 2 度目以上の比較グラフ
  • 訪問者当たりのアクセス数のグラフ
ページビュー
  • ページごとの閲覧時間
  • 1 ページ当たりのアクセス数グラフ
  • ClickHeat - Visualisation des clics des visiteurs
    ※ 管理ページでプラグインを有効にする必要があります
追跡
  • 入ったページ
  • 出たページ
  • 特定の1ページのみのアクセス数
アクセス元
  • 世界地図
  • 国ごとの概要
  • プロバイダ
ユーザ環境
  • 環境
  • OS
  • ブラウザ ( 種類別 )
  • ブラウザ
  • プラグイン
  • 画面解像度
  • 通常/ワイド
検索
  • 検索での訪問図
  • 検索エンジン
  • キーワード
  • ウェブサイト
  • パートナー
  • ニュースレター
  • 直接アクセス

PDF は以下のような形式で出力されます。
定期的に会議で資料を作成する場合などいちいち編集する必要がないので重宝します。

アクセス状況概要
図 2 : アクセス状況概要 ( 画像クリックで拡大表示 )

次に HeatMap 機能について見てみます。
弊社、製品の「ガルーン 2」でスケジュール機能を一定時間監視し、どこがよくクリックされているのか測定してみました。

HeatMap
図 3 : 「ガルーン 2」は、どこがよくクリックされているのか ( 画像クリックで拡大表示 )

このように視覚化することにより、どこが頻繁にクリックされた箇所なのかが一目瞭然です。 また全てのユーザのクリック情報が取得できるので、ユーザの声無き要望も汲み取ることができます。

先にも述べましたが要望箱から対処の優先度を決定する場合、このようなデータが無ければ優先度付けに非常に迷います。 これらを参考にしながら自分たちの解釈だけでなく、事実に基づき UI を修正していきます。 このデータは次のバージョンの新機能などをつけるときの判断材料にもなります。

今回は簡単ではありますがアクセス解析を品質向上に利用する取り組みついてご紹介しました。 今後も開発方法を改善しながらお客様にとってより良い製品を目指していきたいと思います。

関連するエントリー