「利用者数」は何を数えたか:指標の定義と期間・単位のずれを確かめる方法
AIを使いこなすClaudeで執筆し、GPTで自動校閲・修正しています。

「A社の利用者数は300万、B社は120万」と並んでいても、そのまま比べてはいけません。「利用者数」という名前が同じでも、数えているものが違うことが多いからです。 「利用者数」が何を数えたかは、名前だけでは分かりません。比較する前に、まず次の5点を確認します。 1. 数える単位(人、アカウント、端末、利用回数のどれか) 2. 対象(登録しただけの人を含むか、実際に使った人だけか) 3. 期間(日・週・月・累計のどれか) 4. 重複の扱い(期間内に何回使っても1と数えるか) 5. 出所と時点(誰がいつ公表した数字か) 定義や期間の長さなどが食い違うなら、条件をそろえられるか確認します。出所や対象時点は、比較の目的に応じて違っていても構いませんが、その違いを明示します。この記事では、5点を並べて確認する比較シート、ずれの具体例、AIに下書きを任せるときの依頼文、判定表を順に示します。
比較シート:2つの数字を並べて確認する
資料の本文、注記、用語解説から、次の表の空欄を埋めます。「注記に書かれていない」こと自体も記録します。書かれていない項目は、一致しているとみなさず「不明」と書いてください。
- 指標の名称(原文のまま)、数字Aの記入欄:、数字Bの記入欄:、ずれたときの影響:名前が同じでも中身は同じとは限らない
- 数える単位、数字Aの記入欄:、数字Bの記入欄:、ずれたときの影響:1人が複数アカウントや端末を持てば、数字が膨らむ
- 対象、数字Aの記入欄:、数字Bの記入欄:、ずれたときの影響:登録者を含むか、利用実績のある人だけかで桁が変わる
- 期間(日・週・月・累計/期間か時点か)、数字Aの記入欄:、数字Bの記入欄:、ずれたときの影響:同じ条件で対象期間を広げると、重複を除いた人数は減らない
- 重複の扱い、数字Aの記入欄:、数字Bの記入欄:、ずれたときの影響:延べ数と実人数では意味が違う
- 利用の条件(ログイン、1回の操作、有料契約など)、数字Aの記入欄:、数字Bの記入欄:、ずれたときの影響:条件が緩いほど数字は大きくなる
- 集計方法(全数か標本か、推計か)、数字Aの記入欄:、数字Bの記入欄:、ずれたときの影響:標本調査では、差が標本誤差の範囲内か確認が必要
- 出所・公表日・対象期間の末日、数字Aの記入欄:、数字Bの記入欄:、ずれたときの影響:時点が違えば、増減ではなく時期の差かもしれない
記入のコツは、「利用者数」という語を要約せず、定義文を原文のまま写すことです。要約した時点で、ずれを見落としやすくなります。
ずれの具体例
公的統計の例:同じ「就業者」でも基準の週が違う
総務省統計局の労働力調査と国勢調査は、どちらも「就業者」を扱います。次は、それぞれの公式解説で確認できた範囲の整理です。
- 基準の期間、労働力調査:調査週間は月末の1週間。12月のみ20〜26日、国勢調査(2010年の利用者向け解説):調査年の9月24〜30日の1週間
- 対象年齢、労働力調査:15歳以上、国勢調査(2010年の利用者向け解説):15歳以上
- 就業者の考え方、労働力調査:調査週間中に収入を伴う仕事を1時間以上した者と、仕事を持ちながら一時的に休んでいた者。無給の家族従業者も含む、国勢調査(2010年の利用者向け解説):調査週間中に収入を伴う仕事を少しでもした人と、一定の条件を満たす休業者。無給で自家営業を手伝った家族も含む
出典は統計局の労働力調査に関するQ&A、労働力調査の概要、国勢調査(2010年)の労働・就業の状態に関する用語です。労働力調査は、全国の調査区から選んだ世帯を対象とする標本調査で、毎月実施されます。
読み取れるのは、定義の骨格は似ていても、基準の週と調査の設計が違うということです。就業者数を月次と国勢調査で比べるときは、「同じ名前だから」ではなく、基準週と集計方法を確認したうえで、差の意味を慎重に読む必要があります。国勢調査の最新回の定義は、この記事では確認していないので、使う回の解説を直接見てください。
説明用の例:週間・月間・累計の利用者数
次は、実在しない数字による説明用の例です。
- A「累計利用者数 300万」:登録したアカウントの累計。退会者や、一度も使っていない人を含む可能性があります。
- B「月間利用者数 120万」:その月に1回以上ログインしたアカウントの重複なし件数。
- C「週間利用者数 80万」:その週に1回以上ログインしたアカウントの重複なし件数。
AとBは、数える対象(登録か利用か)と期間が違います。BとCも、「週間80万が4週あるから月間320万」とは言えません。月内にログインしたのが毎週同じ80万アカウントだけなら、月間も80万だからです。重複なしの人数は、期間を足し算できません。
手元のデータで確かめる(pandas)
自分のログで確かめるなら、重複を除く数え方を明示します。pandasのSeries.nuniqueは、既定でNaNを数えません(dropna=True)。ユーザーIDの欠損を数えるかどうかも、定義の一部です。この例は、日付だけを記録した同じ月内のログを使います。週次集計には、Series.dt.isocalendarが返すISO年と週番号を組み合わせ、別年の同じ週番号が混ざるのを防ぎます。
import pandas as pd
# 説明用の小さなログ(架空)
df = pd.DataFrame({
"user_id": ["u1", "u1", "u2", "u1", "u3", "u2"],
"date": pd.to_datetime([
"2026-09-01", "2026-09-02", "2026-09-02",
"2026-09-09", "2026-09-10", "2026-09-20",
]),
})
daily = df.groupby("date")["user_id"].nunique()
iso = df["date"].dt.isocalendar()
weekly = df.groupby([iso["year"], iso["week"]])["user_id"].nunique()
print("日次の合計:", daily.sum())
print("週次の合計:", weekly.sum())
print("月間(重複なし):", df["user_id"].nunique())手計算では、日次の合計が6、週次の合計が5、月間が3になるはずです。このコードは実行して確認したものではないので、お手元の環境で動かして一致を見てください。ポイントは、同じログから3通りの「利用者数」が出ることです。
AIに任せる作業と、人が確認する作業
AIには、資料から定義を拾って比較シートの下書きを作る作業を任せられます。一方で、定義が資料に書かれているか、書かれていないかの最終判断は人が行います。AIは書かれていない項目を、もっともらしく補ってしまうことがあるためです。
渡すのは、定義や注記の該当部分の文章です。社内の機密データやログそのものは貼らず、必要なら架空の値に置き換えます。
依頼文の例です。
次の2つの資料の抜粋から、「利用者数」の定義を比較してください。
条件:
- 抜粋に書かれていることだけを使い、書かれていない項目は「記載なし」と書く
- 項目は「指標名/数える単位/対象/期間/重複の扱い/利用の条件/集計方法/出所と時点」
- 各項目に、根拠となる抜粋の語句を1つ添える
- 最後に、一致・不一致・不明を項目ごとに表で示す
- 推測が必要な点は、確認すべき質問として別に列挙する
【資料A】(ここに定義と注記を貼る)
【資料B】(ここに定義と注記を貼る)人が確認するのは次の3点です。
- 「根拠の語句」が、実際に抜粋の中にあるか。
- 「記載なし」とされた項目を、原典の注記や用語集で探し直したか。
- 時点(公表日と対象期間の末日)を、AIの出力ではなく原典で確かめたか。
判定表:比較してよいか
比較シートが埋まったら、次の表で判断します。
- 定義・期間の長さ・集計方法などが比較の目的に合う、判定:誤差や時期の影響も確認して比較する、書き方の例:「同じ定義で比較すると」
- 単位と対象は同じで、期間だけ違う、判定:条件付き。期間をそろえられるなら比較する、書き方の例:「週間と月間で定義が異なり、直接の比較はできない」
- 単位、対象、重複の扱いのいずれかが違う、判定:数字の大小は比べない、書き方の例:「それぞれ別の指標として紹介する」
- 定義が不明な項目がある、判定:比較しない。出所に問い合わせるか、保留にする、書き方の例:「確認した資料では定義が分からず比較を保留する」
- 同じ出所で、定義が時期の途中で変わった、判定:同じ基準で再集計された系列などがなければ、前後をそのままつなげない、書き方の例:「定義変更の前後で連続していない」
過去の数字と今の数字を比べるときは、定義の変更履歴もあわせて確認します。「増えた」と言う前に、数え方が変わっていないかを調べるのが、最も効果の大きい確認です。
比較が難しい場合も、無理に結論を出す必要はありません。「Aは累計の登録数、Bは月間の利用実績」と並べて、別の指標だと明記するだけでも、読む人にとっては有用な情報になります。

