会員ログの活用法 第5回

ログインしても1ページで帰る会員の割合

3回以上利用した会員の3人に1人は、訪問の半分以上を1ページで終えている。

よくある状況

会員サイトの報告では、ログインした会員の数が並びます。ログインまでしてくれているなら、会員はサイトを使ってくれているように見えます。

ただ、ログインしたあとに何ページ見たかは、ログインの数からは分かりません。マイページを開いただけで帰る、目当ての1ページだけ見て帰る、という会員もいます。直帰率はサイト全体の数字なので、どの会員がそうなのかまでは分かりません。

会員IDでアクセスログを訪問ごとにまとめると、会員ごとに「1ページで終わった訪問が何割あるか」を数えられます。

1ページで終わった訪問の割合ごとに、会員の人数が分かるグラフ

3回以上訪問した会員657人のうち、訪問の半分以上を1ページで終えている会員が3割(215人)。毎回1ページで終える会員も1割近く(51人)いる。

このグラフの数え方

  • 対象:2026年4〜9月に、ログインした訪問が3回以上ある会員(657人)
  • 「訪問」:ひと続きの閲覧(セッション)。ページ数は、ログインしてから見たページの数
  • 割合:その会員の訪問のうち、1ページで終わった訪問の割合
  • 言えないこと:1ページで目的を果たしたのか、見たいものがなかったのかは区別できない

架空のサンプルデータで集計した例です。

これが分かると

  • 毎回1ページで帰る会員が、どのページで帰っているかを調べるきっかけになります。
  • マイページやトップに、次に見てほしいページへの導線を置くかどうかを判断できます。
  • 「ログインした会員数」を、使ってくれている会員の数と読み違えずに済みます。

ここに挙げた使い方は一例です。サンプルの数字は架空のもので、実際の結果や施策の効果を約束するものではありません。

試してみる

ここから先は、システム担当者に渡してください。集計SQLで出た結果を、AIプロンプトと一緒にAIへ貼ると、上のようなグラフと読み取りが返ってきます。

集計SQL件数と割合だけを出します
with s as (
  select session_id, max(member_id) as member_id, count(*) as pages
  from access_log
  where member_id is not null
    and accessed_at >= '2026-04-01' and accessed_at < '2026-10-01'  -- 期間。実際には集計する期間に差し替える
  group by session_id
),
m as (
  select member_id,
         count(*) as visits,
         sum(case when pages = 1 then 1 else 0 end) as one_page
  from s
  group by member_id
  having count(*) >= 3
)
select case
         when one_page = visits then '4 毎回1ページ'
         when one_page * 2 >= visits then '3 半分以上'
         when one_page > 0 then '2 半分未満'
         else '1 一度もない'
       end as one_page_share,
       count(*) as members
from m
group by 1
order by 1;
AIプロンプト集計結果を貼るだけです
次の表は、会員サイトに3回以上訪問した会員を、ログインした訪問のうち1ページで終わった訪問の割合で分けた集計です。
one_page_share=1ページで終わった訪問の割合(先頭の数字は並び順)、members=会員数です。
個人を特定できる列は含めていません。

1. one_page_share ごとの members を棒グラフにして、画像で描いてください。各区分に、全体に占める割合を添えてください。
2. 次の点を読み取って、3行程度で教えてください。
   ・訪問の半分以上を1ページで終えている会員は何割か
   ・毎回1ページで帰る会員は何割か
   ・「ログインした会員数」をそのまま利用状況として報告してよいか

(ここに集計結果を貼る)
社内用SQL会員IDの一覧が出ます。社外のサービスやAIには貼らないでください
-- 社内用:会員IDの一覧が出ます。社外のサービスやAIには貼らないでください
with s as (
  select session_id, max(member_id) as member_id, count(*) as pages
  from access_log
  where member_id is not null
    and accessed_at >= '2026-04-01' and accessed_at < '2026-10-01'  -- 期間。実際には集計する期間に差し替える
  group by session_id
)
select member_id, count(*) as visits
from s
group by member_id
having count(*) >= 3
   and sum(case when pages = 1 then 1 else 0 end) = count(*)
order by visits desc;

SQLとプロンプトは、準備編の汎用テーブルを前提にした例です。実際のテーブル名・列名に合わせて書き換えてください。動作や結果を保証するものではありません。

使う表: access_log(アクセスログ) (表の形は準備編)

試せなかったら

アクセスログに会員IDが残っていないと、この問いには答えられません。
アクセス解析の直帰率はサイト全体の数字で、「どの会員が、毎回1ページで帰っているか」は出せないからです。

writeWiredでは、会員IDの付いたアクセスログとメール・フォームの記録が最初から同じ場所に揃っています。会員サイトCMSとしてのwriteWired

次に読む

会員ログの活用法 一覧へ