EXERCISE 60分

演習:推薦システムの要件定義をしよう

「ここまでの知識を整理して、NetShop社の推薦システムの要件定義をまとめてくれ。来週の経営会議で使う。」

田中VPoEが真剣な表情であなたに語りかける。

「ビジネスケース、技術選定、KPI設計の3つを1時間でまとめてほしい。」

ミッション概要

NetShop社のパーソナライズ推薦プロジェクトの要件定義を作成する演習である。ビジネスケースの策定、推薦手法の選定、KPI設計までを一貫して行う。


Mission 1: ビジネスケースの策定(20分)

NetShop社のデータを使って、推薦システム導入のビジネスケースを策定せよ。

データ:

  • 月間アクティブユーザー: 500,000人
  • 月間新規ユーザー: 50,000人(全体の10%)
  • 推薦枠表示回数: 1,500,000回/月
  • 現状CTR: 2.0%
  • 現状CVR: 3.0%
  • 平均注文額: 5,000円
  • 商品カタログ数: 50,000 SKU
  • 開発チーム人件費: 月400万円(3名x4ヶ月想定)
  • インフラ費: 月30万円
  • 運用費: 月50万円

タスク:

  1. 現状の推薦枠経由月間売上を算出する
  2. パーソナライズ推薦導入後の売上予測を3シナリオ(楽観・標準・悲観)で算出する
  3. 各シナリオの投資回収期間を計算する
  4. 経営陣向けの1枚サマリーを作成する
解答例
# 現状
impressions = 1_500_000
current_ctr = 0.02
current_cvr = 0.03
avg_order = 5000

current_revenue = impressions * current_ctr * current_cvr * avg_order
print(f"現状月間売上: ¥{current_revenue:,.0f}")
# 現状月間売上: ¥4,500,000

# 3シナリオ
scenarios = {
    "悲観": {"ctr": 0.035, "cvr": 0.035, "aov": 5200},
    "標準": {"ctr": 0.05,  "cvr": 0.04,  "aov": 5500},
    "楽観": {"ctr": 0.07,  "cvr": 0.05,  "aov": 6000},
}

dev_cost = 4_000_000 * 4       # 開発費: 1,600万円
monthly_ops = 300_000 + 500_000  # 月間運用費: 80万円

for name, s in scenarios.items():
    new_revenue = impressions * s["ctr"] * s["cvr"] * s["aov"]
    monthly_gain = new_revenue - current_revenue - monthly_ops
    payback = dev_cost / monthly_gain if monthly_gain > 0 else float("inf")
    annual_roi = (monthly_gain * 12 - dev_cost) / dev_cost * 100
    print(f"\n{name}シナリオ】")
    print(f"  月間売上: ¥{new_revenue:,.0f}")
    print(f"  月間増分: ¥{new_revenue - current_revenue:,.0f}")
    print(f"  回収期間: {payback:.1f}ヶ月")
    print(f"  年間ROI: {annual_roi:.0f}%")

Mission 2: 推薦手法の選定(20分)

NetShop社の状況に最適な推薦手法を選定し、技術設計の方針を示せ。

制約条件:

  • 月間新規ユーザー比率: 10%
  • 商品の入れ替え頻度: 月500SKU追加、300SKU廃止
  • 推薦レイテンシ要件: 200ms以内
  • チームのML経験: 中程度(scikit-learn経験あり、深層学習は未経験)

タスク:

  1. 各推薦枠(トップページ、商品詳細、カート、メール)で採用する推薦手法を選定する
  2. Cold Start対策を新規ユーザー・新規商品それぞれについて設計する
  3. システムアーキテクチャの概要図を作成する(テキストで可)
  4. 技術的リスクと対策を3つ以上挙げる
解答例
推薦手法の選定:

【推薦枠別の手法選定】
| 推薦枠       | 手法                    | 理由                           |
|-------------|------------------------|-------------------------------|
| トップページ  | ハイブリッド(CF+コンテンツ) | 既存ユーザーはCF、新規はコンテンツ |
| 商品詳細     | アイテムベースCF           | 「この商品を買った人は〜」        |
| カート内      | アソシエーションルール+CF    | 補完商品のクロスセル             |
| メール       | ユーザーベースCF           | バッチ処理で精度重視             |

【Cold Start対策】
新規ユーザー:
  Phase 1(初回訪問): 人気ランキング + カテゴリ別人気
  Phase 2(3アクション以降): コンテンツベース推薦開始
  Phase 3(10アクション以降): 協調フィルタリング併用

新規商品:
  1. 商品属性(カテゴリ、ブランド、価格帯)で類似商品を特定
  2. 類似商品の推薦スコアを転用
  3. 新商品ブースト期間(7日間)で露出を保証

【システムアーキテクチャ】
ユーザーリクエスト
  → API Gateway
    → 推薦サービス(レイテンシ: <200ms)
      → オンライン特徴量ストア(Redis)
      → 事前計算済みスコアキャッシュ
    → リランキング層(ビジネスルール適用)
    → レスポンス

バッチパイプライン(日次):
  → データ収集(行動ログ、商品マスタ)
    → 特徴量エンジニアリング
      → モデル学習・更新
        → スコア事前計算
          → キャッシュ更新

Mission 3: KPI設計(20分)

推薦システムのKPIダッシュボードを設計せよ。

タスク:

  1. オフライン評価指標を4つ以上定義し、ベースライン値と目標値を設定する
  2. オンライン評価指標を4つ以上定義し、モニタリング方法を示す
  3. ビジネスKPIを3つ以上定義し、経営報告用のフォーマットを作成する
  4. 指標間の因果関係を示す(例: NDCG改善→CTR改善→売上増加)
解答例
推薦システムKPIダッシュボード:

【オフライン評価指標】
| 指標         | 定義                    | ベースライン | 目標値  | 測定頻度 |
|-------------|------------------------|------------|---------|---------|
| NDCG@10     | 上位10件のランキング精度   | 0.15       | 0.35    | 週次    |
| MAP@10      | 平均適合率               | 0.08       | 0.20    | 週次    |
| Hit Rate@10 | 上位10件中に正解が含まれる率| 0.25       | 0.50    | 週次    |
| Coverage    | カタログ中の推薦対象率     | 0.10       | 0.40    | 月次    |

【オンライン評価指標】
| 指標              | 現状   | 目標    | モニタリング方法           |
|------------------|--------|---------|--------------------------|
| CTR              | 2.0%   | 5.0%    | リアルタイムダッシュボード    |
| カート追加率       | 0.8%   | 2.0%    | イベントログ集計            |
| セッション滞在時間  | 3.5分  | 5.0分   | GA連携                   |
| 推薦枠ページビュー  | 4.2    | 6.0     | アクセスログ              |

【ビジネスKPI】
| KPI          | 現状      | 目標        | 報告頻度 |
|-------------|----------|------------|---------|
| 推薦経由CVR   | 3.0%     | 4.5%       | 週次    |
| 推薦経由売上   | 450万円/月| 1,650万円/月| 月次    |
| 推薦経由客単価 | 5,000円  | 5,500円    | 月次    |

【因果関係マップ】
NDCG改善 → ランキング精度向上
  → CTR改善 → カート追加率改善
    → CVR改善 → 推薦経由売上増加
Coverage改善 → ロングテール商品の露出増
  → 在庫回転率改善 → 利益率向上

達成度チェック

  • 3シナリオでビジネスケースを策定し、ROIを算出できた
  • 推薦枠別に適切な手法を選定し、理由を説明できた
  • Cold Start対策を新規ユーザー・新規商品それぞれ設計できた
  • システムアーキテクチャの概要を示せた
  • オフライン・オンライン・ビジネスKPIを体系的に設計できた
  • KPI間の因果関係を説明できた

推定所要時間: 60分