📋 このステップで学ぶこと
- セグメンテーションの基本原則(STP戦略)
- セグメント別KPIの設定
- 施策の優先順位付け
- ROIに基づく資源配分
- 実行可能な施策への落とし込み
学習時間の目安:3時間
🔍 1. セグメンテーションの基本原則
STP戦略とは
📌 STP = Segmentation → Targeting → Positioning
1. Segmentation(セグメンテーション)
市場を似た特性を持つグループに分ける
例:RFM分析、クラスター分析の結果
2. Targeting(ターゲティング)
どのセグメントに注力するか決める
例:LTVが高いセグメントを優先
3. Positioning(ポジショニング)
選んだセグメントにどう訴求するか決める
例:VIP向けには限定感、若年層にはコスパ
良いセグメンテーションの条件
| 条件 |
説明 |
悪い例 |
| 測定可能性 |
セグメントのサイズ・特性を測定できる |
「なんとなく良い顧客」 |
| 到達可能性 |
セグメントにアプローチできる |
連絡先がない顧客群 |
| 差別化可能性 |
施策への反応が異なる |
どのセグメントも同じ反応 |
| 実行可能性 |
実際に施策を実行できる |
リソースがない施策 |
| 収益性 |
十分な収益が見込める |
顧客数が少なすぎる |
セグメンテーションの軸
📊 行動変数(Behavioral)
・購買頻度
・購買金額
・最終購買日
・利用機能
・エンゲージメント
最も重要!
実際の行動に基づく
👤 デモグラフィック
・年齢
・性別
・職業
・収入
・居住地
取得しやすい
行動と組み合わせて使用
💭 サイコグラフィック
・価値観
・ライフスタイル
・趣味・嗜好
・パーソナリティ
深い理解に有効
取得が難しい
🏢 B2B変数
・業種
・企業規模
・決裁者
・導入フェーズ
法人向けで重要
商談プロセスに影響
📊 2. セグメント別KPIの設定
セグメントごとに異なるKPIを設定
💡 なぜセグメント別KPIが必要か?
全顧客共通のKPIの問題点:
・「売上20%増」→ どのセグメントで達成?
・「解約率5%以下」→ VIPと一般で同じ目標?
・リソース配分が曖昧になる
セグメント別KPIのメリット:
・具体的なアクションに繋がる
・施策の効果測定が明確
・リソース配分を最適化できる
Pythonでの実装:セグメント別KPI設計
# ============================================
# セグメント別KPI設計システム
# ============================================
# セグメント別KPIとは?
# → 顧客グループごとに異なる目標を設定
# → VIP顧客、成長顧客、休眠顧客で別々のKPIを持つ
# → 施策の効果測定が明確になる
import pandas as pd
import numpy as np
class SegmentKPIDesigner:
“””
セグメント別KPIを設計するクラス
使い方:
1. セグメントを定義(define_segment)
2. 各セグメントにKPIを設定(set_kpi)
3. レポートを生成(generate_report)
“””
def __init__(self):
self.segments = {} # セグメント情報を格納
self.kpis = {} # KPI情報を格納
def define_segment(self, name, characteristics, size, current_metrics):
“””
セグメントを定義
Parameters:
———–
name : str – セグメント名(例: “VIP顧客”)
characteristics : str – セグメントの特徴
size : int – 顧客数
current_metrics : dict – 現在の指標値
“””
self.segments[name] = {
‘characteristics’: characteristics,
‘size’: size,
‘current’: current_metrics
}
def set_kpi(self, segment_name, kpi_name, current, target,
timeframe, priority):
“””
セグメント別KPIを設定
Parameters:
———–
segment_name : str – 対象セグメント名
kpi_name : str – KPI名(例: “解約率”)
current : float – 現在値
target : float – 目標値
timeframe : str – 達成期間(例: “6ヶ月”)
priority : int – 優先度(1が最高)
“””
if segment_name not in self.kpis:
self.kpis[segment_name] = []
# 改善率を計算(目標が現在より低い場合はマイナス)
improvement = ((target – current) / current) * 100
self.kpis[segment_name].append({
‘kpi_name’: kpi_name,
‘current’: current,
‘target’: target,
‘improvement’: improvement,
‘timeframe’: timeframe,
‘priority’: priority
})
def generate_report(self):
“””
KPIレポートを生成
登録されたすべてのセグメントとKPIを
見やすい形式で出力する
“””
print(“=” * 70)
print(“セグメント別KPI設計レポート”)
print(“=” * 70)
# .items(): 辞書のキーと値をペアで取得
for seg_name, seg_info in self.segments.items():
print(f”\n{‘─’ * 70}”)
print(f”◆ {seg_name}”)
print(f”{‘─’ * 70}”)
print(f”特徴: {seg_info[‘characteristics’]}”)
print(f”顧客数: {seg_info[‘size’]:,}人”)
# このセグメントにKPIが設定されている場合
if seg_name in self.kpis:
print(f”\n【KPI一覧】”)
# sorted(): 優先度順にソート
# key=lambda x: x[‘priority’]: ソートキーを指定
for kpi in sorted(self.kpis[seg_name],
key=lambda x: x[‘priority’]):
print(f”\n {kpi[‘kpi_name’]}:”)
print(f” 現状: {kpi[‘current’]:,.1f}”)
print(f” 目標: {kpi[‘target’]:,.1f}”)
# :+.1f: 正の数には+を表示
print(f” 改善率: {kpi[‘improvement’]:+.1f}%”)
print(f” 期間: {kpi[‘timeframe’]}”)
# ‘★’ * n: 文字列をn回繰り返し
print(f” 優先度: {‘★’ * kpi[‘priority’]}”)
# ============================================
# 実行例:セグメント別KPI設計
# ============================================
# 1. インスタンスを作成
designer = SegmentKPIDesigner()
# ============================================
# 2. セグメントを定義
# ============================================
# 各セグメントの特徴と規模を登録
# VIP顧客:最も価値の高い顧客層
designer.define_segment(
name=”VIP顧客”,
characteristics=”高LTV、低解約率、高頻度購入”,
size=500,
current_metrics={‘ltv’: 500000, ‘churn’: 2, ‘frequency’: 12}
)
# 成長顧客:VIPに育てたい顧客層
designer.define_segment(
name=”成長顧客”,
characteristics=”中LTV、伸びしろあり、アクティブ”,
size=2000,
current_metrics={‘ltv’: 150000, ‘churn’: 5, ‘frequency’: 6}
)
# 休眠顧客:再活性化したい顧客層
designer.define_segment(
name=”休眠顧客”,
characteristics=”過去購入あり、最近アクティブでない”,
size=3000,
current_metrics={‘ltv’: 50000, ‘churn’: 15, ‘frequency’: 1}
)
# ============================================
# 3. セグメント別にKPIを設定
# ============================================
# set_kpi(セグメント名, KPI名, 現状値, 目標値, 期間, 優先度)
# VIP顧客のKPI:維持と拡大が目的
designer.set_kpi(“VIP顧客”, “解約率”, 2.0, 1.5, “6ヶ月”, 1) # 最優先
designer.set_kpi(“VIP顧客”, “客単価”, 50000, 60000, “12ヶ月”, 2)
designer.set_kpi(“VIP顧客”, “紹介数”, 0.5, 1.0, “12ヶ月”, 3)
# 成長顧客のKPI:VIPへの育成が目的
designer.set_kpi(“成長顧客”, “購買頻度”, 6, 8, “6ヶ月”, 1) # 最優先
designer.set_kpi(“成長顧客”, “LTV”, 150000, 200000, “12ヶ月”, 2)
designer.set_kpi(“成長顧客”, “解約率”, 5.0, 4.0, “6ヶ月”, 3)
# 休眠顧客のKPI:再活性化が目的
designer.set_kpi(“休眠顧客”, “復活率”, 5.0, 15.0, “3ヶ月”, 1) # 最優先
designer.set_kpi(“休眠顧客”, “再購入金額”, 10000, 20000, “6ヶ月”, 2)
# ============================================
# 4. レポート生成
# ============================================
designer.generate_report()
# 出力例
======================================================================
セグメント別KPI設計レポート
======================================================================
──────────────────────────────────────────────────────────────────────
◆ VIP顧客
──────────────────────────────────────────────────────────────────────
特徴: 高LTV、低解約率、高頻度購入
顧客数: 500人
【KPI一覧】
解約率:
現状: 2.0
目標: 1.5
改善率: -25.0%
期間: 6ヶ月
優先度: ★
客単価:
現状: 50,000.0
目標: 60,000.0
改善率: +20.0%
期間: 12ヶ月
優先度: ★★
紹介数:
現状: 0.5
目標: 1.0
改善率: +100.0%
期間: 12ヶ月
優先度: ★★★
──────────────────────────────────────────────────────────────────────
◆ 成長顧客
──────────────────────────────────────────────────────────────────────
特徴: 中LTV、伸びしろあり、アクティブ
顧客数: 2,000人
【KPI一覧】
購買頻度:
現状: 6.0
目標: 8.0
改善率: +33.3%
期間: 6ヶ月
優先度: ★
LTV:
現状: 150,000.0
目標: 200,000.0
改善率: +33.3%
期間: 12ヶ月
優先度: ★★
──────────────────────────────────────────────────────────────────────
◆ 休眠顧客
──────────────────────────────────────────────────────────────────────
特徴: 過去購入あり、最近アクティブでない
顧客数: 3,000人
【KPI一覧】
復活率:
現状: 5.0
目標: 15.0
改善率: +200.0%
期間: 3ヶ月
優先度: ★
🎯 3. 施策の優先順位付け
Impact × Effort マトリクス
📌 優先順位付けのフレームワーク
縦軸:Impact(効果)
・売上・利益への貢献度
・LTV向上への寄与
・解約率低減効果
横軸:Effort(工数)
・実装コスト
・必要な人員・時間
・システム改修の有無
4象限の優先順位:
1. Quick Wins(高Impact × 低Effort)→ 最優先
2. Major Projects(高Impact × 高Effort)→ 計画的に
3. Fill-ins(低Impact × 低Effort)→ 余裕があれば
4. Thankless Tasks(低Impact × 高Effort)→ やらない
Pythonでの施策優先度分析
# 施策の優先順位付けシステム
class StrategyPrioritizer:
“””施策の優先順位を決定するクラス”””
def __init__(self):
self.strategies = []
def add_strategy(self, segment, name, impact_score, effort_score,
expected_revenue, cost, timeframe):
“””施策を追加(impact/effortは1-10のスコア)”””
roi = ((expected_revenue – cost) / cost) * 100 if cost > 0 else 0
# 優先度スコア = Impact / Effort
priority_score = impact_score / effort_score
# 象限の判定
if impact_score >= 6 and effort_score <= 5:
quadrant = "Quick Wins"
recommendation = "最優先で実施"
elif impact_score >= 6 and effort_score > 5:
quadrant = “Major Projects”
recommendation = “計画的に実施”
elif impact_score < 6 and effort_score <= 5:
quadrant = "Fill-ins"
recommendation = "余裕があれば"
else:
quadrant = "Thankless Tasks"
recommendation = "実施を見送り"
self.strategies.append({
'segment': segment,
'name': name,
'impact': impact_score,
'effort': effort_score,
'expected_revenue': expected_revenue,
'cost': cost,
'roi': roi,
'priority_score': priority_score,
'quadrant': quadrant,
'recommendation': recommendation,
'timeframe': timeframe
})
def get_prioritized_list(self):
"""優先度順にソートしたリストを返す"""
return sorted(self.strategies,
key=lambda x: x['priority_score'],
reverse=True)
def generate_action_plan(self):
"""アクションプランを生成"""
print("=" * 70)
print("施策優先順位アクションプラン")
print("=" * 70)
# 象限別に分類
quadrants = {
"Quick Wins": [],
"Major Projects": [],
"Fill-ins": [],
"Thankless Tasks": []
}
for s in self.strategies:
quadrants[s['quadrant']].append(s)
# 象限ごとに表示
for quadrant, strategies in quadrants.items():
if strategies:
print(f"\n{'─' * 70}")
print(f"【{quadrant}】")
print(f"{'─' * 70}")
for s in sorted(strategies,
key=lambda x: x['priority_score'],
reverse=True):
print(f"\n◆ [{s['segment']}] {s['name']}")
print(f" Impact: {s['impact']}/10 Effort: {s['effort']}/10")
print(f" 期待収益: ¥{s['expected_revenue']:,.0f}")
print(f" コスト: ¥{s['cost']:,.0f}")
print(f" ROI: {s['roi']:.0f}%")
print(f" 期間: {s['timeframe']}")
print(f" → {s['recommendation']}")
# サマリー
total_revenue = sum(s['expected_revenue'] for s in self.strategies
if s['quadrant'] in ['Quick Wins', 'Major Projects'])
total_cost = sum(s['cost'] for s in self.strategies
if s['quadrant'] in ['Quick Wins', 'Major Projects'])
print(f"\n{'=' * 70}")
print("【実施推奨施策のサマリー】")
print(f" 対象施策数: {len([s for s in self.strategies if s['quadrant'] in ['Quick Wins', 'Major Projects']])}件")
print(f" 期待総収益: ¥{total_revenue:,.0f}")
print(f" 総コスト: ¥{total_cost:,.0f}")
print(f" 総合ROI: {((total_revenue-total_cost)/total_cost)*100:.0f}%")
# 実行例
prioritizer = StrategyPrioritizer()
# VIP顧客向け施策
prioritizer.add_strategy(
segment="VIP顧客",
name="専用コンシェルジュサービス",
impact_score=8, effort_score=4,
expected_revenue=5000000, cost=1000000,
timeframe="3ヶ月"
)
prioritizer.add_strategy(
segment="VIP顧客",
name="限定商品先行販売",
impact_score=7, effort_score=3,
expected_revenue=3000000, cost=500000,
timeframe="1ヶ月"
)
# 成長顧客向け施策
prioritizer.add_strategy(
segment="成長顧客",
name="ポイント2倍キャンペーン",
impact_score=6, effort_score=2,
expected_revenue=8000000, cost=2000000,
timeframe="1ヶ月"
)
prioritizer.add_strategy(
segment="成長顧客",
name="パーソナライズドレコメンド",
impact_score=8, effort_score=7,
expected_revenue=15000000, cost=5000000,
timeframe="6ヶ月"
)
# 休眠顧客向け施策
prioritizer.add_strategy(
segment="休眠顧客",
name="復活割引クーポン",
impact_score=5, effort_score=2,
expected_revenue=2000000, cost=500000,
timeframe="1ヶ月"
)
prioritizer.add_strategy(
segment="休眠顧客",
name="大規模リエンゲージメント",
impact_score=4, effort_score=8,
expected_revenue=3000000, cost=2000000,
timeframe="6ヶ月"
)
# アクションプラン生成
prioritizer.generate_action_plan()
# 出力例
======================================================================
施策優先順位アクションプラン
======================================================================
──────────────────────────────────────────────────────────────────────
【Quick Wins】
──────────────────────────────────────────────────────────────────────
◆ [成長顧客] ポイント2倍キャンペーン
Impact: 6/10 Effort: 2/10
期待収益: ¥8,000,000
コスト: ¥2,000,000
ROI: 300%
期間: 1ヶ月
→ 最優先で実施
◆ [VIP顧客] 限定商品先行販売
Impact: 7/10 Effort: 3/10
期待収益: ¥3,000,000
コスト: ¥500,000
ROI: 500%
期間: 1ヶ月
→ 最優先で実施
◆ [VIP顧客] 専用コンシェルジュサービス
Impact: 8/10 Effort: 4/10
期待収益: ¥5,000,000
コスト: ¥1,000,000
ROI: 400%
期間: 3ヶ月
→ 最優先で実施
──────────────────────────────────────────────────────────────────────
【Major Projects】
──────────────────────────────────────────────────────────────────────
◆ [成長顧客] パーソナライズドレコメンド
Impact: 8/10 Effort: 7/10
期待収益: ¥15,000,000
コスト: ¥5,000,000
ROI: 200%
期間: 6ヶ月
→ 計画的に実施
──────────────────────────────────────────────────────────────────────
【Fill-ins】
──────────────────────────────────────────────────────────────────────
◆ [休眠顧客] 復活割引クーポン
Impact: 5/10 Effort: 2/10
期待収益: ¥2,000,000
コスト: ¥500,000
ROI: 300%
期間: 1ヶ月
→ 余裕があれば
──────────────────────────────────────────────────────────────────────
【Thankless Tasks】
──────────────────────────────────────────────────────────────────────
◆ [休眠顧客] 大規模リエンゲージメント
Impact: 4/10 Effort: 8/10
期待収益: ¥3,000,000
コスト: ¥2,000,000
ROI: 50%
期間: 6ヶ月
→ 実施を見送り
======================================================================
【実施推奨施策のサマリー】
対象施策数: 4件
期待総収益: ¥31,000,000
総コスト: ¥8,500,000
総合ROI: 265%
💰 4. ROIに基づく資源配分
セグメント別の投資配分
# セグメント別投資配分の最適化
def calculate_optimal_allocation(segments, total_budget):
“””
セグメント別の最適投資配分を計算
ROIが高いセグメントに優先的に配分
“””
print(“=” * 60)
print(“セグメント別投資配分分析”)
print(“=” * 60)
print(f”\n総予算: ¥{total_budget:,.0f}”)
# ROI順にソート
sorted_segments = sorted(segments,
key=lambda x: x[‘expected_roi’],
reverse=True)
# 基本配分(ROI比例)
total_roi = sum(s[‘expected_roi’] for s in segments)
print(“\n【セグメント別分析】”)
print(“-” * 60)
allocations = []
for seg in sorted_segments:
# ROI比例配分
base_allocation = (seg[‘expected_roi’] / total_roi) * total_budget
# 顧客数を考慮した調整
# 大きいセグメントには最低限の配分を保証
min_allocation = seg[‘customer_count’] * 100 # 1人あたり100円最低
final_allocation = max(base_allocation, min_allocation)
per_customer = final_allocation / seg[‘customer_count’]
expected_return = final_allocation * (1 + seg[‘expected_roi’]/100)
allocations.append({
‘name’: seg[‘name’],
‘allocation’: final_allocation,
‘per_customer’: per_customer,
‘expected_return’: expected_return,
‘roi’: seg[‘expected_roi’]
})
print(f”\n◆ {seg[‘name’]}”)
print(f” 顧客数: {seg[‘customer_count’]:,}人”)
print(f” 期待ROI: {seg[‘expected_roi’]}%”)
print(f” 配分額: ¥{final_allocation:,.0f}”)
print(f” 1人あたり: ¥{per_customer:,.0f}”)
print(f” 期待リターン: ¥{expected_return:,.0f}”)
# 配分調整(総予算に合わせる)
total_allocated = sum(a[‘allocation’] for a in allocations)
adjustment_ratio = total_budget / total_allocated
print(“\n” + “=” * 60)
print(“【最終配分】”)
print(“-” * 60)
total_return = 0
for a in allocations:
adjusted = a[‘allocation’] * adjustment_ratio
adjusted_return = adjusted * (1 + a[‘roi’]/100)
total_return += adjusted_return
pct = (adjusted / total_budget) * 100
print(f”{a[‘name’]}: ¥{adjusted:,.0f} ({pct:.1f}%)”)
overall_roi = ((total_return – total_budget) / total_budget) * 100
print(f”\n期待総リターン: ¥{total_return:,.0f}”)
print(f”総合ROI: {overall_roi:.1f}%”)
return allocations
# 実行例
segments = [
{
‘name’: ‘VIP顧客’,
‘customer_count’: 500,
‘expected_roi’: 400 # 400%のROI
},
{
‘name’: ‘成長顧客’,
‘customer_count’: 2000,
‘expected_roi’: 200 # 200%のROI
},
{
‘name’: ‘一般顧客’,
‘customer_count’: 5000,
‘expected_roi’: 100 # 100%のROI
},
{
‘name’: ‘休眠顧客’,
‘customer_count’: 3000,
‘expected_roi’: 50 # 50%のROI
}
]
allocations = calculate_optimal_allocation(segments, 10000000)
# 出力例
============================================================
セグメント別投資配分分析
============================================================
総予算: ¥10,000,000
【セグメント別分析】
————————————————————
◆ VIP顧客
顧客数: 500人
期待ROI: 400%
配分額: ¥5,333,333
1人あたり: ¥10,667
期待リターン: ¥26,666,667
◆ 成長顧客
顧客数: 2,000人
期待ROI: 200%
配分額: ¥2,666,667
1人あたり: ¥1,333
期待リターン: ¥8,000,000
◆ 一般顧客
顧客数: 5,000人
期待ROI: 100%
配分額: ¥1,333,333
1人あたり: ¥267
期待リターン: ¥2,666,667
◆ 休眠顧客
顧客数: 3,000人
期待ROI: 50%
配分額: ¥666,667
1人あたり: ¥222
期待リターン: ¥1,000,000
============================================================
【最終配分】
————————————————————
VIP顧客: ¥5,333,333 (53.3%)
成長顧客: ¥2,666,667 (26.7%)
一般顧客: ¥1,333,333 (13.3%)
休眠顧客: ¥666,667 (6.7%)
期待総リターン: ¥38,333,333
総合ROI: 283.3%
⚠️ 投資配分の注意点
1. ROIだけで判断しない
・VIPだけに投資すると成長顧客が育たない
・長期的な視点も必要
2. 最低投資額を確保
・各セグメントに最低限の施策は実施
・完全にゼロにしない
3. テストと学習
・一部予算は実験に使う
・新しい施策の効果を検証
📋 5. 実行計画への落とし込み
セグメント別施策シート
| セグメント |
目的 |
施策 |
KPI |
担当 |
| VIP顧客 |
維持・深耕 |
専用サポート、限定商品 |
解約率1.5%以下 |
CS部門 |
| 成長顧客 |
育成・アップセル |
ポイント施策、レコメンド |
購買頻度+30% |
マーケ部門 |
| 一般顧客 |
エンゲージメント向上 |
メルマガ、SNS |
開封率25% |
マーケ部門 |
| 休眠顧客 |
復活 |
復活クーポン、リマインド |
復活率15% |
営業部門 |
Excel用:施策管理テンプレート
【施策管理シートの構成】
■ シート1:セグメント定義
─────────────────────────────────────
A列: セグメント名
B列: 定義(条件)
C列: 顧客数
D列: 売上構成比
E列: LTV平均
■ シート2:KPI管理
─────────────────────────────────────
A列: セグメント名
B列: KPI名
C列: 現状値
D列: 目標値
E列: 期限
F列: 進捗率 =(C列-D列)/(C列-D列)
G列: ステータス(自動判定)
■ シート3:施策一覧
─────────────────────────────────────
A列: 施策ID
B列: 対象セグメント
C列: 施策名
D列: 目的
E列: 開始日
F列: 終了日
G列: 予算
H列: 期待効果
I列: 実績
J列: ROI =(I列-G列)/G列
K列: ステータス
■ シート4:ダッシュボード
─────────────────────────────────────
・セグメント別売上推移グラフ
・KPI達成状況
・施策ROIランキング
・次月アクション一覧
📝 STEP 30 のまとめ
✅ このステップで学んだこと
1. STP戦略
- Segmentation → Targeting → Positioning
- 分析から施策への橋渡し
2. セグメント別KPI
- セグメントごとに異なる目標を設定
- 具体的で測定可能なKPI
3. 優先順位付け
- Impact × Effort マトリクス
- Quick Winsから着手
4. ROIベースの資源配分
💡 最も大切なポイント
セグメンテーションの価値は、実際の施策に落とし込んで初めて生まれます!
成功のコツ:
・分析で終わらせず、アクションまで設計する
・セグメントごとに異なるKPIを設定
・Quick Winsから始めて成功体験を作る
・ROIを測定し、次の施策に活かす
よくある失敗:
・分析レポートを作って満足してしまう
・全セグメントに同じ施策を適用
・効果測定をせずに次の施策へ
・現場が実行できない計画を立てる
次のSTEP 31では、「時系列分析の基礎」を学びます!
📝 練習問題
問題 1
基礎
STP戦略の3つの要素(S・T・P)をそれぞれ説明し、顧客分析との関係を述べてください。
【解答】
S = Segmentation(セグメンテーション)
・市場を似た特性を持つグループに分ける
・RFM分析やクラスター分析の結果がこれにあたる
・例:「VIP顧客」「一般顧客」「休眠顧客」
T = Targeting(ターゲティング)
・どのセグメントに注力するか決める
・LTVやROIに基づいて優先順位を付ける
・例:「VIP顧客の維持を最優先」
P = Positioning(ポジショニング)
・選んだセグメントにどう訴求するか決める
・セグメントの特性に合わせたメッセージ設計
・例:「VIPには限定感、若年層にはコスパ」
顧客分析との関係:
・RFM分析、クラスター分析 → Segmentationの基礎
・LTV分析、ROI分析 → Targetingの判断材料
・顧客特性の理解 → Positioningの設計
問題 2
基礎
Impact × Effort マトリクスの4象限を説明し、それぞれの推奨アクションを述べてください。
【解答】
1. Quick Wins(高Impact × 低Effort)
・効果が高く、工数が低い施策
・推奨:最優先で実施
・例:メール文面の改善、ポイント施策
2. Major Projects(高Impact × 高Effort)
・効果は高いが、工数も高い施策
・推奨:計画的に実施
・例:システム改修、新サービス開発
3. Fill-ins(低Impact × 低Effort)
・効果は低いが、工数も低い施策
・推奨:余裕があれば実施
・例:軽微なUI改善、定型業務の自動化
4. Thankless Tasks(低Impact × 高Effort)
・効果が低く、工数が高い施策
・推奨:実施を見送り
・例:効果不明な大規模リニューアル
問題 3
応用
以下の3つのセグメントに対して、それぞれ適切なKPIを1つずつ設定し、その理由を説明してください。
セグメントA:VIP顧客(LTV高、解約率低、購買頻度高)
セグメントB:成長顧客(LTV中、購買頻度低、最近アクティブ)
セグメントC:休眠顧客(過去購入あり、6ヶ月以上購入なし)
【解答】
セグメントA:VIP顧客
KPI:解約率を2%→1.5%に低減
理由:
・すでにLTVが高く、購買頻度も高い
・最大のリスクは解約
・1人の解約損失が大きいため維持が最優先
・解約率0.5%改善 × 高LTV = 大きなインパクト
セグメントB:成長顧客
KPI:購買頻度を年4回→6回に向上
理由:
・LTVは中程度だが伸びしろがある
・最近アクティブなので離脱リスクは低い
・頻度向上がLTV向上に直結
・将来のVIP候補を育成する意味でも重要
セグメントC:休眠顧客
KPI:復活率を5%→15%に向上
理由:
・現状は購入がゼロなので、まず復活させることが目標
・新規獲得より低コストで売上が期待できる
・頻度やLTVは復活後に考える段階的アプローチ
・復活施策の効果測定がしやすい
問題 4
応用
マーケティング予算1,000万円を以下の3セグメントに配分します。ROIに基づいて配分額を決定し、その根拠を説明してください。
VIP顧客:500人、期待ROI 300%
成長顧客:2,000人、期待ROI 150%
休眠顧客:5,000人、期待ROI 50%
【解答】
ROI比例配分の計算:
総ROI = 300 + 150 + 50 = 500
VIP顧客:300/500 × 1,000万円 = 600万円
成長顧客:150/500 × 1,000万円 = 300万円
休眠顧客:50/500 × 1,000万円 = 100万円
期待リターンの計算:
VIP顧客:600万円 × (1 + 300%) = 2,400万円
成長顧客:300万円 × (1 + 150%) = 750万円
休眠顧客:100万円 × (1 + 50%) = 150万円
総リターン:3,300万円
総合ROI:(3,300 – 1,000) / 1,000 = 230%
配分の根拠:
・高ROIセグメントに優先配分することで総合ROIを最大化
・VIP顧客は人数が少なくても投資効率が最も高い
・休眠顧客は人数が多いがROIが低いため配分を抑制
・ただし、成長顧客への投資も重要(将来のVIP候補)
問題 5
実践
あなたはECサイトのマーケティング責任者です。以下の状況で、セグメンテーション戦略を立案してください。
【状況】
・年間売上10億円、顧客数10万人
・RFM分析でChampions(5%)、Loyal(15%)、At Risk(20%)、Hibernating(30%)、その他(30%)
・年間マーケティング予算5,000万円
・来期目標:売上15%増、解約率20%減
各セグメントへの施策と予算配分を提案してください。
【解答例】
セグメント別戦略:
1. Champions(5,000人・5%)
目的:維持・紹介促進
施策:VIP専用サポート、限定商品先行販売、紹介プログラム
KPI:解約率1%以下、紹介1人/年
予算:1,500万円(30%)
理由:売上の40%を占める最重要層、解約防止が最優先
2. Loyal(15,000人・15%)
目的:育成・VIP化
施策:ポイント2倍、パーソナライズドレコメンド、アップセル
KPI:客単価+20%、Champions移行10%
予算:1,500万円(30%)
理由:VIP候補として重点投資、売上増の主要ドライバー
3. At Risk(20,000人・20%)
目的:離脱防止
施策:特別クーポン、満足度調査、CS強化
KPI:解約率30%減、再購入率50%
予算:1,000万円(20%)
理由:解約率20%減の目標達成に直結
4. Hibernating(30,000人・30%)
目的:復活
施策:復活割引、リマインドメール、限定オファー
KPI:復活率10%
予算:500万円(10%)
理由:低コスト施策で一定の売上回復を狙う
5. その他(30,000人・30%)
目的:エンゲージメント向上
施策:メルマガ最適化、SNS施策
KPI:開封率25%、2回目購入率30%
予算:500万円(10%)
理由:低コストで裾野を広げる
期待効果:
・Champions維持:▲5%の解約防止 = +2,000万円
・Loyal育成:客単価+20% = +6,000万円
・At Risk防止:解約30%減 = +3,000万円
・Hibernating復活:10%復活 = +3,000万円
・その他活性化:2回目購入 = +1,000万円
合計:+1.5億円(15%増達成)
❓ よくある質問
Q1: セグメント数はいくつが適切ですか?
3〜7セグメントが実務的に扱いやすいです。
少なすぎる場合(2以下):
・セグメント内の多様性が高すぎる
・「一般」vs「VIP」だけでは施策が粗い
多すぎる場合(8以上):
・施策が分散して効果が薄まる
・管理コストが増大
・各セグメントの人数が少なくなる
推奨:
・初めは3〜4セグメントで始める
・必要に応じて細分化
・実行可能性を最優先に考える
Q2: セグメンテーションはどのくらいの頻度で見直すべきですか?
四半期〜半年ごとの見直しを推奨します。
見直しのトリガー:
・定期的(四半期/半年)
・大きなキャンペーン後
・商品ラインナップ変更後
・市場環境の変化時
・施策効果が低下した時
見直す内容:
・セグメントの定義(閾値)
・各セグメントの顧客数
・施策の効果
・KPIの妥当性
Q3: 小さいセグメントは無視していいですか?
必ずしも無視すべきではありません。
無視できるケース:
・LTVが低く、成長見込みもない
・アプローチ手段がない
・コストに見合わない
注目すべきケース:
・LTVが非常に高い(VIPは少数でも重要)
・成長市場の先行指標になる
・競合との差別化になる
・将来のVIP候補
判断基準:
・売上/利益への貢献度
・戦略的重要性
・アプローチコスト
Q4: セグメント間で顧客が移動した場合、どう対応すべきですか?
移動を前提とした設計と定期的な更新が重要です。
設計時のポイント:
・セグメント移動は自然なこと
・移動を促進する施策を設計
・移動パターンを分析
運用のポイント:
・月次/四半期でセグメント再計算
・移動したら施策も切り替え
・移動率をKPIに含める
例:
・At Risk → Loyal への移動率を目標にする
・Loyal → Champions への育成パスを設計
Q5: 分析結果を社内で共有する際のコツは?
アクションに繋がる形で伝えることが重要です。
良い共有方法:
1. 名前をつける:「クラスター2」→「若年アクティブ層」
2. ペルソナを描く:「30代女性、月2回購入、SNS好き」
3. 施策に紐づける:「このセグメントにはこの施策」
4. KPIを明確に:「目標は解約率を1%下げること」
避けるべきこと:
・統計用語の多用
・分析手法の詳細説明
・施策なしの分析レポート
・複雑すぎる図表
Q6: ROIが低いセグメントに投資する意味はありますか?
長期的な視点では意味があることも多いです。
短期ROIが低くても投資すべきケース:
1. 将来のVIP候補
・新規顧客は最初はROIが低い
・育成投資として捉える
2. 市場拡大のため
・新しいセグメントの開拓
・競合に先んじる
3. データ収集のため
・効果が不明な施策のテスト
・学習投資として割り切る
4. ブランディング
・幅広い顧客層への認知
・口コミ効果
ポイント:
・予算の10〜20%は実験枠として確保
・低ROI施策でも学びを得る
・長期と短期のバランスを取る