会員ログの活用法 第25回

施策の前後で、以前からの会員の利用状況を比べる

7月から利用した会員は増えているが、4月より前からの会員だけで見ると、ほぼ横ばい。

よくある状況

施策の報告では、始める前と後の数字が並びます。7月に特集を始めて、そのあと利用した会員が増えていれば、特集の効果のように見えます。

ただ、その間にも新しい会員は毎月登録しています。新しく登録した会員は、最初のうちはよく利用するので、それだけで利用した会員の数は増えます。施策の効果を見たいなら、もともといた会員の動きが変わったかどうかを見る必要があります。

会員IDで名簿の登録日とアクセスログをつなぐと、利用した会員を「以前からの会員」と「期間中に登録した会員」に分けて、月ごとの動きを比べられます。

月ごとに、全体と以前からの会員で、利用した会員の人数が分かるグラフ

全体では、6月の402人から9月の485人へ増えている。4月より前からの会員は、6月263人、9月274人で、ほぼ横ばい。

このグラフの数え方

  • 利用した会員:その月にログインしてページを1回以上閲覧した会員の人数
  • 以前からの会員:2026年3月以前に登録していた会員
  • 施策:7月1日に特集を始めた想定
  • 言えないこと:以前からの会員が横ばいでも、施策がなければもっと減っていた可能性は残る。施策の案内を送らなかった会員など、比べる相手を用意すると、もう一歩確かめられる

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

これが分かると

  • 施策の効果を、新しい会員が増えた分と切り分けて報告できます。
  • もともといた会員に効く施策と、新しい会員に効く施策を分けて考えられます。
  • 前後で比べるときは母数をそろえる、という報告の決まりにできます。

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

試してみる

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

集計SQL件数と割合だけを出します
select to_char(a.accessed_at, 'YYYY-MM') as month,
       count(distinct a.member_id) as visitors,
       count(distinct case when m.registered_at < '2026-04-01' then a.member_id end) as visitors_existing
from access_log a
join member m on m.member_id = a.member_id
where a.accessed_at >= '2026-04-01' and a.accessed_at < '2026-10-01'  -- 期間。実際には集計する期間に差し替える
group by 1
order by 1;
AIプロンプト集計結果を貼るだけです
次の表は、会員サイトの月ごとの、サイトを利用した(ログインしてページを見た)会員数です。7月1日から特集を始めています。
month=月、visitors=その月に利用した会員数(全体)、visitors_existing=そのうち4月より前に登録していた会員の数です。
個人を特定できる列は含めていません。

1. 月ごとに visitors と visitors_existing を並べた折れ線グラフを、画像で描いてください。7月に特集を始めたことが分かるように印を付けてください。
2. 次の点を読み取って、3行程度で教えてください。
   ・特集を始める前と後で、全体の利用した会員はどう変わったか
   ・4月より前からの会員だけで見ると、どう変わったか
   ・この結果から、特集の効果をどう判断すべきか

(ここに集計結果を貼る)

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

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

試せなかったら

アクセスログと名簿の登録日が、会員IDでつながっていないと、この問いには答えられません。
利用した人数の合計だけでは、新しく登録した会員による増加と、もともといた会員の変化を分けられないからです。

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

次に読む

会員ログの活用法 一覧へ