メインコンテンツへスキップ
ブログ一覧に戻る
統計・データサイエンス

Web担当者のための統計学入門:基本指標の読み解き方とよくある誤解

2025年10月17日
最終更新: 2026年10月8日
9分で読めます

この記事でわかること

PV・ユーザー・セッション・CVRの分子と分母をGA4の公式定義で確認します。直帰と離脱の違い、同じ平均3分でも中央値が異なる架空24件、率をまとめる際の重みを図・表・Pythonで具体化。滞在時間と成果の相関から原因を断定せず、逆因果・第三の要因・計測変更を分け、次の調査や実験へ進む条件を整理します。

2026年10月8日にGA4のSession、ユーザー、エンゲージメント、直帰率本文を再確認した。ページビュー、ユーザー、セッション、CVRは対象・期間・分母・重複排除をそろえないと比較できない。GA4のセッションは開始とタイムアウト、エンゲージメントは定義された条件に依存し、直帰率と離脱率も同じではない。指標の差だけで原因や施策の因果効果を決めない。

PVが増えた週に、問い合わせは減った。平均滞在時間は同じなのに、担当者の見立てが違う。そんなときは、指標を追加する前に「何を1件と数え、何で割ったか」を確認します。数値の変化と、その原因の説明は別の仕事です。

30秒で要点

  • PV・ユーザー・セッション・イベントは単位が違います。期間、対象ページ、流入、計測条件をそろえて比較します。
  • GA4の直帰率は「1ページだけ見た割合」ではありません。エンゲージメントのなかったセッションの割合です。
  • 平均だけで利用状況を代表させず、中央値と分布を確認します。高い数値が良い体験とは限りません。
  • 相関は原因を確定しません。逆方向の関係、第三の要因、偶然や計測変更を候補に残します。

表が収まらない場合は、横にスクロールできます

用語この記事での意味
PVページ表示の回数。同じ人の再表示も数える
UU一定期間の重複を除いたユーザーを指す慣用表現。ツールの具体的な指標名を併記する
CV問い合わせや購入など、業務で決めた成果
CVR成果の率。イベント回数・成果のあるセッション・成果のあるユーザーのどれを数えるかを明記する
A/Bテスト対象を条件へ割り付け、定義済みの指標を比較する実験

最初にそろえるのは単位・期間・計測条件

GA4の指標名を例に整理します。別の解析ツールに同じ略語があっても、定義が同じとは限りません。Data APIの指標定義と、実際のレポートで選んだ指標を突き合わせてください。

表が収まらない場合は、横にスクロールできます

見たいものGA4で確認する指標・数え方読み違えやすい点
表示の量ウェブのページ表示。APIのviewsは画面表示も含むため対象を確認再表示が増えても、訪問者が増えたとは限らない
利用ユーザー総ユーザー数はイベントを記録した異なるユーザー。アクティブユーザー数とは別端末・識別方法・同意や計測の範囲に依存し、現実の人数と必ず一致しない
訪問のまとまりセッション数はsession_startで始まったセッション1ユーザーが複数セッションを持てる。PVと同じ単位ではない
成果計測上のキーイベントと業務のCVの対応を決める1セッション内で同じ成果イベントが複数回起こることがある
直帰エンゲージメントのなかったセッションの割合1ページだけ見たセッションでも、直帰とは限らない
離脱そのページ・画面でセッションの最後のイベントが記録された回数直帰したセッション数とは異なる。離脱だけで失敗とは判断しない
ユーザー指標の説明では総ユーザーとアクティブユーザーを区別しています。「UUが増えた」と報告するなら、どちらを使ったかも残します。レポートのしきい値処理で表示が変わる場合もあるため、画面に出た値を無条件に全利用者の実数としません。 GA4の直帰率の基本定義では、10秒を超える、キーイベントがある、ページまたは画面表示が2回以上、のいずれかに当たるセッションをエンゲージメントのあったセッションとします。したがって、1ページで答えを読み、十分に利用した人を「1ページだから直帰」とは数えません。設定も確認したうえで、同じ定義の期間を比較します。 入り口と離脱はセッションの最初・最後のイベントに関わる指標です。購入完了ページの離脱は自然な終了かもしれません。「離脱率」を自分で計算するなら、離脱数をページ表示数で割るのか、対象セッションで割るのかまで定義します。期間境界などで入り口と離脱の集計が一致しない場合もあります。

CVRは、分子と分母を一組で書く

次は計算のための架空の1週間です。100セッション、80ユーザーがあり、キーイベントが30回起きたとします。そのイベントを1回以上起こしたのは20セッション、15ユーザーです。同じデータから、次の異なる値が出ます。

表が収まらない場合は、横にスクロールできます

集計したい値分子 / 分母架空例の結果
セッションキーイベント率キーイベントのあった20セッション / 全100セッション20%
ユーザーキーイベント率キーイベントのあった15ユーザー / 全80ユーザー18.75%
1セッション当たりイベント回数イベント30回 / 全100セッション0.30回/セッション

最後の0.30を、成果のあるセッションが30%だと読み替えてはいけません。GA4のsessionKeyEventRateとuserKeyEventRateは、イベントの回数そのものを分子にしていません。旧来の CV数 / セッション数 や CV数 / UU数 という略式を使う場合も、CV数が何を数えたものかを明示します。

率をまとめるときも分母を戻します。架空の広告Aは10セッション中2件、Bは90セッション中9件が成果のあるセッションでした。率の単純平均は15%ですが、全体は11/100で11%です。流入構成が変われば全体の率も動きます。まず同じ条件の層を比較し、その後に全体を見ます。

PV増加と直帰率上昇が同時に起きたとき、検索意図とのずれは候補の一つです。ただし、新しい流入の構成やイベント設定の変更も調べます。ユーザー増加とCVR低下でも、訪問者の質や導線が悪化したと即断せず、分母と計測、流入別の変化を順に確認します。

平均3分は、同じ利用状況を意味しない

ここではGA4の自動集計値から離れ、著者が設定した各12件の観測時間(秒)を使います。Aは120、150、150、180、180、180、180、180、180、210、210、240。Bは10が11件と2050が1件です。GA4のエンゲージメント時間は前面での利用時間に関わる別の指標なので、この教材の観測時間と同一視しません。

表が収まらない場合は、横にスクロールできます

架空データ件数合計平均中央値最頻値
A122160秒180秒(3分)180秒180秒
B122160秒180秒(3分)10秒10秒
架空の各12件は平均180秒で同じだが、Aの中央値は180秒、Bは10秒。Bは10秒11件と2050秒1件。3区分の棒は件数
著者の架空24件。各群12件・合計2160秒。棒の横幅は件数で、区分幅が不均一なため面積で密度を読まない。GA4の実測値でなく、全数値は本文とコードに掲載。
NISTの位置の指標が説明するように、平均・中央値・最頻値は異なる特徴を表します。Bの平均は1件の2050秒(34分10秒)に引っ張られます。これは計測誤りかもしれず、実際に長く利用した値かもしれません。平均を都合よくするために削除せず、発生理由を確認します。

図は3区分ごとの件数の棒です。区間幅が異なるため、面積で密度を読むヒストグラムではありません。細かい分布を見るときは区間を定義したヒストグラムや並べた観測値を使い、ビン幅と外れ値の扱いも残します。中央値が安定していても、長時間利用の負荷や売上合計が課題なら平均・合計も必要です。

架空例をPythonで数え直す

外部通信のない標準ライブラリだけの教材です。実サイトの観測や実験結果ではありません。

from statistics import mean, median, multimode
from fractions import Fraction

a = [120, 150, 150, 180, 180, 180, 180, 180, 180, 210, 210, 240]
b = [10] * 11 + [2050]
for name, values in [("A", a), ("B", b)]:
    print(name, len(values), sum(values), mean(values), median(values), multimode(values))
assert sum(a) == sum(b) == 2160
assert mean(a) == mean(b) == 180
assert median(a) == 180 and median(b) == 10
session_rate = Fraction(20, 100)
user_rate = Fraction(15, 80)
events_per_session = Fraction(30, 100)
pooled_rate = Fraction(2 + 9, 10 + 90)
unweighted_rate = (Fraction(2, 10) + Fraction(9, 90)) / 2
print(session_rate, user_rate, events_per_session, pooled_rate, unweighted_rate)
assert pooled_rate == Fraction(11, 100)
assert unweighted_rate == Fraction(15, 100)

滞在時間とCVRが一緒に上がっても、原因はまだ決まらない

「長く滞在した利用者ほど成果が多い」という関連を見つけたとしても、「滞在時間を延ばせば成果が増える」とは限りません。旧来の例にある四つの説明を分けます。

表が収まらない場合は、横にスクロールできます

説明の候補この例で考えること次に確認すること
コンテンツが理解を助けた内容を読んだことが成果につながった可能性何を変更したか、対象をどう割り付けたか
成果に近い意図が先にある購入意向の高い人が長く読んだ可能性流入・既存顧客・検討段階などの違い
第三の要因がある商品、価格、ページ設計などが両方に関係した可能性同時期の変更や層別の結果
偶然や計測の変化少数件の揺れ、イベントや時間の定義変更件数、期間、計測履歴、再現性

長い時間が、迷っている時間である可能性もあります。完全無作為化の考え方を踏まえたA/Bテストでは、割付単位と主要指標を先に決め、同じユーザーの混在、欠測、途中の繰り返し判定などを管理します。ランダムに割り付けたという一言だけで、すべての運用上の偏りが消えるわけではありません。

明日のレポートで残す五つの項目

  1. 指標の正式名と単位、分子・分母。
  2. 比較する期間、対象ページ、流入、計測設定。
  3. 件数と率、平均と中央値・分布。
  4. 観測された変化と、まだ検証していない原因の仮説。
  5. 次に確認するデータ、または実験の条件。

数字を一つの評価へ急いで変換せず、どこまで確かめたかを残します。社内や専門家へ相談するときも、これらを添えると、指標の読み違いと施策そのものの課題を分けて話せます。

よくある質問(FAQ)

この記事の関連リンク

このテーマの入口

GA4の正しい見方と使い方

判断軸として

First byte Method 完全ガイド

AI×心理学×統計学で判断の質を高める実践的手法