離反要因の仮説構築
「LTVの分析は素晴らしい。だが、データに飛びつく前に、まず仮説を立てることが大事だ。」
田中VPoEがホワイトボードにマーカーで書き始める。
「なぜ顧客は離反するのか?業界知識とビジネスロジックから仮説を立て、それをデータで検証する。逆のアプローチでは、ノイズに溺れるだけだ。」
あなたは仮説ドリブンなアプローチで離反要因を整理することにした。
仮説ドリブンアプローチ
データ分析において、仮説なしにデータを眺めるのは非効率だ。業務知識から仮説を構築し、データで検証する流れが重要となる。
仮説ドリブン分析の流れ:
1. 業務理解 → ドメイン知識を活用
2. 仮説構築 → 「〇〇が△△だと離反しやすい」の形で仮説を立てる
3. データ収集 → 仮説検証に必要なデータを特定
4. 検証・分析 → 統計的に仮説を検証
5. 仮説更新 → 結果に基づき仮説を更新・追加
業界別の離反パターン
通信業界(Telcoデータセットの対象)
| カテゴリ | 離反要因 | 典型的なシグナル |
|---|---|---|
| 契約条件 | 月額料金の高さ | 高額プラン契約者の離反率が高い |
| 契約形態 | 短期契約 | Month-to-month契約者は離反しやすい |
| サービス利用 | 付加サービス未利用 | セキュリティ等のオプション未契約 |
| サポート体験 | 問い合わせ頻度 | サポート件数が多い顧客 |
| 競合 | 乗り換えキャンペーン | 競合の魅力的なオファー |
| ライフイベント | 転居・ライフステージ変化 | 利用環境の変化 |
共通する離反シグナル
# 離反シグナルの分類
churn_signals = {
"行動シグナル": [
"利用頻度の低下",
"ログイン回数の減少",
"サポート問い合わせの増加",
"支払い遅延の発生",
],
"契約シグナル": [
"短期契約(月契約)",
"高額プラン",
"オプション未加入",
"契約更新時期の接近",
],
"満足度シグナル": [
"NPS低スコア",
"クレーム履歴",
"アンケート未回答",
],
"属性シグナル": [
"利用期間が短い(新規顧客)",
"単身世帯",
"高齢層",
],
}
仮説ツリーの構築
Telco Customer Churnデータセットに対する仮説ツリーを構築する。
離反の主要因
├── 契約条件
│ ├── H1: Month-to-month契約は離反率が高い
│ ├── H2: 月額料金が高い顧客は離反しやすい
│ └── H3: 電子請求(Paperless billing)顧客は離反しやすい
│
├── サービス構成
│ ├── H4: インターネットサービスがFiber opticの顧客は離反率が高い
│ ├── H5: オンラインセキュリティ未加入者は離反しやすい
│ └── H6: テックサポート未加入者は離反しやすい
│
├── 顧客属性
│ ├── H7: 利用期間(tenure)が短い顧客は離反しやすい
│ ├── H8: 高齢者(SeniorCitizen)は離反率が異なる
│ └── H9: 単身(Partner/Dependentsなし)は離反しやすい
│
└── 支払い
├── H10: 電子小切手(Electronic check)支払いは離反率が高い
└── H11: 総支払額(TotalCharges)が低い顧客は離反しやすい
仮説の優先順位付け
すべての仮説を一度に検証するのではなく、インパクトと検証容易性で優先順位をつける。
import pandas as pd
hypotheses = pd.DataFrame({
'仮説ID': ['H1', 'H2', 'H3', 'H4', 'H5', 'H7', 'H10'],
'仮説': [
'Month-to-month契約は離反率が高い',
'月額料金が高い顧客は離反しやすい',
'Paperless billing顧客は離反しやすい',
'Fiber optic顧客は離反率が高い',
'オンラインセキュリティ未加入者は離反しやすい',
'利用期間が短い顧客は離反しやすい',
'電子小切手支払いは離反率が高い',
],
'ビジネスインパクト': ['高', '高', '中', '高', '中', '高', '中'],
'検証容易性': ['高', '高', '高', '高', '高', '高', '高'],
'対応するカラム': [
'Contract', 'MonthlyCharges', 'PaperlessBilling',
'InternetService', 'OnlineSecurity', 'tenure',
'PaymentMethod'
],
})
print(hypotheses.to_string(index=False))
仮説検証の計画
各仮説に対して、検証方法を事前に決めておく。
| 仮説 | 検証方法 | 期待される結果 |
|---|---|---|
| H1: 契約形態 | 契約形態別の離反率比較 | Month-to-month > Two year |
| H2: 月額料金 | 離反/非離反の月額料金分布比較 | 離反者の中央値が高い |
| H7: 利用期間 | tenure vs 離反率のプロット | 短期間で離反率が高い |
| H10: 支払い方法 | 支払い方法別の離反率比較 | Electronic checkが最高 |
まとめ
| 項目 | ポイント |
|---|---|
| アプローチ | データの前に仮説を立てる |
| 仮説の形 | 「〇〇が△△だと離反しやすい」 |
| 仮説ツリー | 契約条件・サービス・属性・支払いの4軸 |
| 優先順位 | ビジネスインパクト × 検証容易性 |
| 検証計画 | 仮説ごとに検証方法と期待結果を定義 |
チェックリスト
- 仮説ドリブンアプローチの重要性を説明できる
- 通信業界の主な離反要因を3つ以上挙げられる
- 仮説ツリーを構築できる
- 仮説の優先順位付けができる
- 各仮説に対する検証計画を立てられる
次のステップへ
仮説ツリーが構築できたところで、次は演習で実際に離反分析フレームワークを設計し、自分の手で整理してみよう。
推定読了時間: 30分