コーホート分析は、同じ年に生まれた人の集まり(コーホート)を時間軸で追い、意識や消費の変化が「年をとったせい」なのか「その年の景気や制度のせい」なのか「その世代が育った時代の刻印」なのかを切り分ける手法です。3つの効果を並べるところまでは多くの用語集が書いていますが、実務でつまずくのはその先、3効果が数値として一意に定まらない識別問題のほうです。定義から識別問題への対処、将来人口推計に使うコーホート要因法までを一次資料の数値で追います。
まとめ:コーホート分析の要点
- コーホート分析は、継続調査のデータを年齢効果・時代効果・コーホート(世代)効果の3つに分解する手法です。
- 年齢i歳と出生年kを足すと調査年tになる(i+k=t)ため3因子は線形従属で、最小二乗法では解が一つに決まりません。これが識別問題です。
- 日本の実務標準は中村隆氏が1982年に発表したベイズ型コウホートモデルで、効果がゆるやかにしか変化しないという付加条件で解を絞ります。
- 将来人口を出すコーホート要因法(人口コーホート法)は別系統の手法です。国立社会保障・人口問題研究所の令和5年推計は、2020年国勢調査を基準に2021〜2070年を9本の仮定で推計しています。
- GA4などで使う「コホート分析」はリテンション(継続率)の測定で、本記事の手法とは別物です。ツール選定はコホート分析ツール比較|GA4・Amplitude・Mixpanelの上限と選び方で扱っています。
以下、3効果の定義と読み方から順に見ていきます。
コーホート分析の定義と3つの効果
コーホート(cohort)は、同じ出来事を同じ時期に経験した集団を指します。人口学と社会調査では出生年で括った出生コーホートを使い、「1986〜1990年生まれ」のようにひとかたまりとして扱います。この集団を複数の調査時点で追いかけ、観測された値の違いを3つの効果に分解するのがコーホート分析です。
年齢効果・時代効果・コーホート効果の切り分け
| 効果 | 変化の源 | 表れ方 | 例 |
|---|---|---|---|
| 年齢効果 | 加齢そのもの | どの世代も同じ年齢で同水準 | 中高年ほど果物を多く食べる |
| 時代効果 | 調査時点の景気・制度・流行 | 全年齢が同じ年に動く | 増税や制度変更のあった年の反応 |
| コーホート効果 | 生まれ育った時代の刻印 | 特定の生年層に生涯残る | 昭和10年前後生まれはむし歯が少ない |
むし歯の例は統計数理研究所の中村隆氏がコウホート分析で示したもので、昭和10年前後に生まれた人は相対的にむし歯が少なく、理由は子どものころ戦争で砂糖が手に入らなかったことにあります。加齢でも調査年でもなく生年で説明がつく、コーホート効果の典型例です。
ただし表は、3つの効果がきれいに分かれて見えたとしたらこう見える、という整理にすぎません。実際の1列目の果物の例は、森宏氏らが「世代の効果と年齢効果が混交しているのである」と書いた、まさに分けられない例として挙げたものです。生データを見ただけでは、中高年が多く食べるのは加齢のせいなのか、その世代が果物を食べる習慣のなかで育ったせいなのか判定できません。ここが次章の識別問題につながります。
標準コーホート表の読み方
年齢階級の刻みと調査の間隔が一致する集計表を標準コーホート表と呼びます。5歳刻みの年齢階級を5年おきに調査した表がこれにあたり、左上から右下へ向かう対角線上に同じ出生コーホートが並びます。
| 調査年 | 20〜24歳 | 25〜29歳 | 30〜34歳 |
|---|---|---|---|
| 2010年 | 1986〜1990年生 | 1981〜1985年生 | 1976〜1980年生 |
| 2015年 | 1991〜1995年生 | 1986〜1990年生 | 1981〜1985年生 |
| 2020年 | 1996〜2000年生 | 1991〜1995年生 | 1986〜1990年生 |
1986〜1990年生まれは、2010年に20〜24歳、2015年に25〜29歳、2020年に30〜34歳のセルへ現れます。表を横に読めば同じ調査年の年齢差(年齢効果と世代効果の混在)、縦に読めば同じ年齢での時代差、斜めに読めば同じ世代の加齢が見えます。この3方向の読み分けがコーホート表の基本で、集計表そのものの作り方はクロス集計とは?表の見方・作り方から分析・カイ二乗検定まで解説で扱っています。
3効果が一意に定まらない識別問題
コーホート分析が長く難物とされてきたのは、3つの効果を同時に推定しようとすると解が一つに決まらないためです。統計数理研究所ではこれを「コウホート分析の識別問題」と呼んできました。
年齢+生年=調査年という線形従属
専修大学社会科学年報 第42号に載った森宏・三枝義清・川口雅正「コウホート分析における識別問題への対処」は、原因をこう書いています。「年齢i歳と出生時k年を足すと,調査年tになる(i+k=t)。データを説明する3つの因子の間に,線形の従属関係が常に存在し,互いの独立性は成立しない」。3因子で説明しているつもりでも、実質は2因子で説明しているのと変わりません。
データが足りないから解けないわけではない点に注意が必要です。同論文が挙げる例では、年齢10階級×調査6時点で観測値は60個あり、推定するパラメータは総平均効果を含めて31個です。自由度には余裕がありますが、それでも最小二乗解は一意に定まりません。「サンプルを増やせば解決する」という直感が通じない種類の問題です。
ベイズ型コウホートモデルによる克服
この行き詰まりを動かしたのが、統計数理研究所の中村隆氏が1982年に発表した「ベイズ型コウホート・モデル―標準コウホート表への適用―」(統計数理研究所彙報 29巻2号 77〜97ページ)です。赤池弘次氏らのベイズ型季節調整プログラムBAYSEAを下敷きに、隣り合う年齢・時代・世代の効果はゆるやかにしか変化しないという漸進的変化の条件を加え、その条件のもとで解を一つに絞ります。コーホート表は、調査間隔と年齢区分幅が一致する標準コーホート表と、それ以外の一般コーホート表に分かれます。1986年の Annals of the Institute of Statistical Mathematics 38巻2号Bでこのモデルは一般コーホート表へ拡張され、5年おきの調査を10歳刻みで集計したような表も、デザイン行列を組み替えることで扱えるようになりました(中村隆「コウホート分析における交互作用効果モデル再考」統計数理 53巻1号 105ページ)。
ここで押さえるべきは、中村氏自身が識別問題について「解決ではないが、『克服』できる」という言い方をしていることです。出力される3効果は付加条件つきの推定値であり、条件を変えれば数値も動きます。分析結果を社内で共有するときは、世代効果の数値だけを取り出して断定せず、どのモデルとどの仮定で出したのかを併記してください。ここを省いた「この世代は○○な傾向」という一文が、コーホート分析でもっともよく起きる誤用です。
コーホート要因法による将来人口の推計
ここまでは調査データから3効果を取り出す話でしたが、「人口コーホート法」として検索されるのは別系統の手法です。将来人口を出すためのコーホート要因法を指します。国立社会保障・人口問題研究所は「日本の将来推計人口(令和5年推計)」でこれを「年齢別人口の加齢にともなって生ずる年々の変化をその要因(死亡、出生、国際人口移動)ごとに計算して将来の人口を求める方法」と定義しています。すでに生存する人口には死亡と国際人口移動を反映させ、新たに生まれる人口は15〜49歳の女性人口に生じる出生数から算出して翌年の0歳人口に組み入れます。
推計には男女年齢別の基準人口、将来の出生率と出生性比、将来の生残率、将来の国際人口移動率(数)という4種類の仮定が要ります。令和5年推計は2020年国勢調査の不詳補完結果を基準人口とし、2021年から2070年までを推計しました。出生3仮定と死亡3仮定の組み合わせで9本の「基本推計」を出しているのが特徴です。
| 仮定 | 合計特殊出生率 | 2070年の総人口 | 2070年の高齢化率 |
|---|---|---|---|
| 出生中位(死亡中位) | 1.36 | 8,700万人 | 38.7% |
| 出生高位(死亡中位) | 1.64 | 9,549万人 | 35.3% |
| 出生低位(死亡中位) | 1.13 | 8,024万人 | 42.0% |
出発点の2020年は総人口1億2,615万人、高齢化率28.6%です。中位推計でも50年で総人口は約7割に減り、高齢化率は38.7%へ上がります。合計特殊出生率の長期的投影水準は前回(平成29年)推計の1.44(2065年)から1.36(2070年)へ下がりました。表の幅は予測の誤差ではなく、置いた仮定の違いが生む幅です。事業計画で1本の数字だけを引くと、仮定の名前が落ちて根拠を検証できなくなります。市場規模の前提に使うなら、どの仮定の値かを必ず添えてください。
マーケティングリサーチでの使い方
消費行動の分析にコーホート分析を持ち込むと、「若者の果物離れ」のような話を、加齢で説明できる部分と世代固有の部分に分けて検討できます。ただし手法の前提を満たすデータがないと、出てくるのは分解された数字の形をした思い込みです。
データ要件は同一設問の長期継続調査
統計数理研究所の「日本人の国民性調査」は1953年から5年ごとに続き、結果が公表されている最新回は第14次です。2018年10月下旬から11月末に、全国の満20歳〜84歳6,400名を住民基本台帳から層化二段無作為抽出し、調査員の個別訪問面接法で実施されました。この継続年数と設計が、コーホート分析が成り立つデータの姿です。
自社調査で代替する場合は、設問文・選択肢・年齢区分を途中で変えないことが条件になります。選択肢を1つ足しただけで回答分布は動き、その変化が時代効果として推定値に紛れ込みます。年齢区分の刻みも、調査間隔と揃えておくと標準コーホート表として扱えます。
コーホート分析を選ぶべきでない場面
次のような場合は、別の手法のほうが答えが速く出ます。
- 調査が3〜4時点しかない。1コーホートあたり観測が2点前後では、加齢と世代差を分けるだけの情報がありません。
- 週次・月次で施策の良し悪しを判定したい。時間の粒度が数十年の手法ではなく、継続率の測定が守備範囲です。
- 購買層の厚みを把握したいだけ。金額順の分位で足りるならデシル分析とは?エクセルでの手順とABC分析・RFM分析との違いの手順のほうが実装が軽くなります。
- 属性を掛け合わせた傾向を見たい。3つ以上の軸で見るなら多重クロス集計とは?3重・4重クロスの読み方とExcel・スプレッドシートでの作り方が向きます。
逆に、10年20年のスパンで需要構造そのものが動く商材(食品、住宅、金融商品など)では、加齢で戻る需要なのか世代とともに消える需要なのかで打ち手が正反対になります。ここはコーホート分析でしか判断できません。
「コホート分析」と呼ばれる3つの別物
検索結果には表記もカタカナ表記も異なる3系統が混ざって出てきます。読んでいる記事がどれを指しているかは、時間軸の粒度を見れば判別できます。
| 系統 | 集団の括り | 時間の粒度 | 主な道具 |
|---|---|---|---|
| コーホート分析(社会調査・人口学) | 出生年 | 5年〜数十年 | ベイズ型コウホートモデル |
| コホート分析(プロダクト・Web) | 初回利用月など | 日〜月 | GA4・Amplitude・Mixpanel |
| コホート研究(疫学) | 要因への曝露の有無 | 年〜数十年 | 追跡調査 |
2番目は初回利用月ごとにユーザーを束ねて継続率の推移を見るもので、本記事の3効果は登場しません。ツールごとのデータ保持期間や上限はコホート分析ツール比較|GA4・Amplitude・Mixpanelの上限と選び方にまとめています。継続率から売上を見積もる段になればLTVの計算方法|基本式からSaaS・サブスク(解約率)の算出までが接続点になります。3番目は国立がん研究センターの多目的コホート研究(JPHC Study)のように、集団を将来へ追跡して疾病の発生を比べる観察研究で、目的も設計も別系統です。
よくある質問
コーホート分析とは何ですか?
同じ年に生まれた集団(出生コーホート)を複数の調査時点で追い、観測された違いを年齢効果・時代効果・コーホート効果の3つに分解する手法です。同じ人を追う必要はなく、同じ設計の調査を繰り返した反復横断調査のデータで実施します。
コーホート分析のやり方は?
年齢階級を行、調査年を列に取ったコーホート表を作り、対角線上に同じ出生コーホートが並ぶ形にします。次にその表へ年齢・時代・コーホートの効果を含むモデルを当てはめますが、i+k=tの線形従属があるため通常の最小二乗法では解が定まりません。ベイズ型コウホートモデルのように付加条件を置く方法で推定します。
人口コーホート法では何がわかりますか?
将来の人口規模と年齢構成がわかります。国立社会保障・人口問題研究所の令和5年推計は、出生中位・死亡中位で2070年の総人口8,700万人、高齢化率38.7%としています。出生高位なら9,549万人・35.3%、低位なら8,024万人・42.0%で、仮定によって幅が出ます。
コーホート効果と世代効果は違うものですか?
本記事では同じものとして扱います。出生コーホートに固有の効果という意味でコーホート効果、生まれ育った時代の共通体験に注目する文脈で世代効果と呼ばれ、文献では出生世代効果という表記も使われます。ただし社会学では、世代効果をより広い文化的な世代論の意味で使う立場もあります。
コホート研究とコホート分析は同じですか?
別物です。コホート研究は疫学の研究デザインで、要因に曝露された集団とされていない集団を将来へ追跡し、疾病の発生率を比べます。コーホート分析は継続調査データから3効果を分離する統計手法で、集団の括りも目的も異なります。