クロス集計

英語名 Cross Tabulation
読み方 クロス タビュレーション
難易度
所要時間 30分〜1時間
提唱者 統計学の基本手法(カール・ピアソンのχ²検定と関連)
目次

ひとことで言うと
#

2つの変数を**縦軸と横軸に配置した表(クロス表)**を作り、それぞれの組み合わせでデータの件数や割合を集計する手法。「性別×購入商品」「年代×満足度」のように掛け合わせることで、単純集計では見えない関係性やパターンが浮かび上がる。

押さえておきたい用語
#

押さえておきたい用語
クロス表(Cross Table)
2つの変数を行と列に配置して、各セルにデータの件数や割合を集計した表のこと。ピボットテーブルで簡単に作成できる。
構成比(Composition Ratio)
各セルの値を列合計や行合計で割った割合のこと。実数だけでは比較できないため、構成比に変換して初めてセグメント間の差が見える。
カイ二乗検定(Chi-Square Test)
クロス表で見つかった差が偶然ではなく統計的に有意かを検証する手法のこと。p値が0.05未満なら有意差ありと判断する。
単純集計(Simple Tabulation)
1つの変数だけを集計すること。全体の平均や合計はわかるが、属性ごとの違いが見えない。クロス集計はこの限界を補う。

クロス集計の全体像
#

クロス集計:2つの変数を掛け合わせてパターンを発見する
変数を選ぶ横軸=属性(年代など)縦軸=行動(購入など)クロス表を作成2変数を掛け合わせて件数をセルに集計する構成比に変換実数→割合に変換してセグメント間の差を比較有意差を検証カイ二乗検定で偶然でないことを確認示唆→アクションセグメント別に施策を設計Excel ピボットテーブル / pandas
クロス集計の進め方フロー
1
2変数を選定
仮説に基づき属性×行動
2
クロス表を作成
件数をセルに集計する
3
構成比で比較
%に変換し差を可視化
アクションへ
セグメント別に施策を実行

こんな悩みに効く
#

  • アンケート結果を集計したが、全体の平均値だけでは特徴がつかめない
  • 「若い人と年配の人で傾向が違うのでは?」という仮説を検証したい
  • データはあるが、どう切り口を作ればいいかわからない

基本の使い方
#

ステップ1: クロスする2つの変数を選ぶ

分析の目的に応じて、掛け合わせる2つの変数を選ぶ。

基本ルール:

  • 横軸(列): 原因・属性にあたる変数(性別、年代、地域など)
  • 縦軸(行): 結果・行動にあたる変数(購入有無、満足度、利用頻度など)

よくある掛け合わせ:

横軸(属性)縦軸(行動・結果)知りたいこと
年代購入チャネル年代によって購入経路が違うか?
性別商品カテゴリ性別で売れる商品が違うか?
利用頻度満足度ヘビーユーザーの方が満足度が高いか?
流入経路コンバージョン率どの経路が最も成果につながるか?
ステップ2: クロス集計表を作成する

2つの変数を掛け合わせた表を作る。

例:「年代 × サービスの認知経路」のクロス集計

認知経路\年代20代30代40代50代以上合計
SNS85人45人12人3人145人
Web検索30人60人50人25人165人
テレビCM5人20人40人55人120人
口コミ15人25人18人12人70人
合計135人150人120人95人500人

ツール: Excelのピボットテーブル、Googleスプレッドシート、Python(pandas.crosstab)、BIツール。

ステップ3: 構成比(%)に変換して比較する

実数だけでは各セグメントの規模が異なるため比較しにくい。列方向の構成比に変換する。

認知経路\年代20代30代40代50代以上
SNS63%30%10%3%
Web検索22%40%42%26%
テレビCM4%13%33%58%
口コミ11%17%15%13%

一目で年代ごとの認知経路の違いが見える:

  • 20代はSNSが圧倒的(63%)
  • 30〜40代はWeb検索が主力
  • 50代以上はテレビCMが最大(58%)
ステップ4: 差が統計的に有意かを検証し、示唆を導く

クロス表の差が「偶然ではない」ことを確認するために、**カイ二乗検定(χ²検定)**を行う。

  • p値 < 0.05 → 年代と認知経路には統計的に有意な関連がある
  • p値 ≥ 0.05 → 偶然の誤差かもしれない(サンプルを増やして再検証)

有意な差が確認できたら、アクションにつなげる

  • 20代向けの施策はSNSに集中投下する
  • 50代以上の開拓にはテレビCMが最も効率的
  • 30〜40代はSEO対策の強化が有効

具体例
#

例1:ECサイトが800人のアンケートで不満顧客の特徴を特定する

状況: ECサイトの利用者満足度アンケート(回答者800人)。全体の満足度は75%だが、「どの属性の顧客が不満を持っているか」を特定したい。

クロス集計1: 利用歴 × 満足度

満足度\利用歴半年未満半年〜1年1年以上
満足60%78%88%
普通25%15%10%
不満15%7%2%

→ 利用歴が短いほど不満率が高い。新規ユーザーのオンボーディングに問題がある

クロス集計2: デバイス × 満足度

満足度\デバイスPCスマホタブレット
満足82%68%80%
普通12%20%14%
不満6%12%6%

→ スマホユーザーの不満率が倍。スマホ版のUI/UXに課題がある

3重クロス: 利用歴半年未満×スマホの不満率は22%(最も高い)。

施策と結果: スマホ版UI改善後、スマホ新規ユーザーの不満率が22%→10%に改善。全体満足度が75%→82%に向上。

例2:人材紹介会社が応募経路×職種で採用効率を最適化する

状況: 年間応募者3,200名の人材紹介会社。採用単価を下げるため、応募経路と職種の関係を分析。

クロス集計: 応募経路 × 職種(構成比)

応募経路\職種エンジニア営業事務デザイナー
求人サイト25%55%60%20%
SNS広告45%15%10%50%
社員紹介20%25%20%15%
自社サイト10%5%10%15%

発見: エンジニアとデザイナーはSNS広告経由が最多だが、営業と事務は求人サイトが圧倒的。

アクション: 職種別に広告予算を再配分。エンジニア採用のSNS広告費を2倍にし、営業採用の求人サイト掲載を強化。採用単価が平均42万円→31万円に削減、年間で約3,500万円のコスト削減。

例3:飲食チェーンが時間帯×メニューで売上構成を把握し仕入れを改善する

状況: 50店舗の飲食チェーン。月間売上1.2億円のメニュー構成を最適化するため、POSデータ30万件を時間帯×メニューカテゴリでクロス集計。

クロス集計結果(構成比):

メニュー\時間帯11-13時13-17時17-20時20-23時
定食65%20%30%10%
単品15%30%25%45%
ドリンク5%35%20%35%
デザート15%15%25%10%

発見: ランチは定食が65%を占めるが、夜は単品とドリンクが80%。にもかかわらず、仕入れはランチ・ディナー同じ比率で行っていた。

アクション: 時間帯別の売上構成に合わせて仕入れ量を調整。定食用食材の仕入れを朝に集中、単品食材は夕方の追加発注に変更。食材廃棄率が12%→5%に改善、年間約2,800万円のコスト削減。

やりがちな失敗パターン
#

  1. 掛け合わせを闇雲に増やす — 変数が5つあると10通りのクロスが可能だが、全部作っても意味がない。仮説を先に立てて、検証に必要なクロスだけを作る
  2. 実数だけで比較する — 「20代のSNS経由が85人で最多」と言っても、20代のサンプルが多いだけかもしれない。必ず構成比(%)に変換して比較する
  3. サンプルが少ないセルの結果を信じる — クロスの各セルに入るサンプル数が少ない(30未満)と、偶然による偏りが大きい。セルあたり30以上のサンプルを確保するか、カテゴリを統合する
  4. 「差がある」と見えても統計検定をしない — 5ポイント程度の差は偶然の可能性がある。カイ二乗検定で有意差を確認してからアクションに移す

まとめ
#

クロス集計は、2つの変数を掛け合わせてデータの関係性を発見する、データ分析の最も基本的で強力な手法。Excelのピボットテーブルだけで実行でき、特別なツールは不要。「全体の数字」だけでは見えない発見が、クロスの切り口を変えるだけで次々と出てくる。まずは「属性×行動」のクロスを1つ作ることから始めよう。