Precision@2 と nDCG@10― 指標が割れたとき、推薦ロジック改善はどう意思決定するべきか ―
ECサイトの推薦ロジック改善では「ホーム画面」と「一覧画面」でユーザー行動が大きく異なる。ホーム画面は上位2件などの“極めて小さい枠”で一瞬の注意で判断され、即時クリックや購入につながりやすい。一方で一覧画面は10件以上が並ぶ“探索型”の画面で、ユーザーは複数商品を比較しながらスクロールし、長期的満足度やLTVに寄与する。この2つの性質の違いが、Precision@2とnDCG@10の最適化方向を分ける前提である。
前回記事でECサイトの「あなたにおすすめ」改善はPrecision@2を軸にビジネスインパクトを可視化することで大きく前進した。しかし実運用に近づくと、モデルAはPrecision@2が高いがnDCG@10が低く、モデルBはnDCG@10が高いがPrecision@2が悪化するという、典型的な評価指標の“割れ”が発生した。どちらを採用すべきか。ここからが推薦エンジニアリングの本領である。
1. Precision@2 と nDCG@10 は“何を最適化するか”が違う
Precision@2は「ユーザーが実際に購入した商品が上位2件に入っているか」のみを評価する。ホーム画面のように表示枠が小さく、一瞬で判断されるケースに最適で、即効性の高いクリック・購入に効く。
対してnDCG@10は「上位10件のランキング全体の順位の良さ」を評価し、一覧ページなど探索型画面に対応する。多様性やランキング構造の総合的な質が反映されるため、ユーザーの探索体験や長期的ロイヤルティに影響する。
Precision@2=即時成果
nDCG@10=広義の推奨体験
評価が割れるのは目的が違うため自然である。
2. 評価の割れ方には三つのパターンがある
パターン1:Precision@2 ↑、nDCG@10 ↓
上位2件の“当たり商品”は増えるが、3〜10位の品質が乱れるケース。
原因として多いのは、単発の購買確率に寄りすぎてランキングの多様性が損なわれることや、特定カテゴリに偏りすぎること。ホーム画面のCVRは上がるが一覧の滞在時間が下がり、結果的にLTVが悪化する可能性がある。
改善策としては以下が有効である。
- ホームと一覧でロジックを分離する
- 一覧の10件ランキングに多様性を強制する(MMRやxQuAD)
- ※MMR(Maximal Marginal Relevance):関連性と多様性のバランスを最適化する手法
- ※xQuAD(Explicit Query Aspect Diversification):検索意図の複数側面を考慮し、多様な観点の商品を選ぶ手法
- Precisionを維持しつつnDCGを安定させる二段階モデル(pointwise → listwise)
パターン2:Precision@2 ↓、nDCG@10 ↑
上位2件の当たり率は落ちるものの、10件全体の並びは良くなるケースである。embeddingベースのモデルは“全体のバランス”を取りやすく、関連度の高い商品を幅広く拾ってくれる。そのため10件のランキングはきれいに整う。しかしその副作用として、トップ2に置きたい「最も購入可能性の高い商品」が、他の商品と同じように扱われて順位を押されてしまうことがある。必ずしもこれが原因と断定できるわけではないが、この現象はこのパターンでよく見られる。
この場合、ホーム画面のクリックは減少しうるが、一覧ページの探索は改善し、体験価値が向上する。対策としては以下が定石である。
- トップ2だけpointwiseモデルで再スコアリング(“最後に当てにいく”)
- ホームはPrecision重視
- 一覧はnDCG重視
- UXごとにモデル選択を完全に分離する
パターン3:PrecisionもnDCGも改善しているのに売上が動かない
このとき初めて「評価指標がビジネス行動を説明できていない」という問題が浮上する。視認されていない、商品価格帯が低い、購入行動が検索主体などが理由となる。
ここで有効なのが売上寄与を直接反映する指標であるMAP@k、Recall@k、Expected GMVなどである。
- ※MAP@k:上位k件に“実際に購入した商品”がどれだけ入っているかを平均で評価→実購買との整合性が高い
- ※Recall@k:購入された商品のうち、推薦が何件拾えているか→“売れた商品を取りこぼさない”という売上視点に直結
- ※Expected GMV:商品ごとの購買確率×単価で算出→単価が高い商品ほどスコアが高くなり、売上面に直接効く
他には、Shapley値分析を用いると、導線寄与度を“公平に”分配できる。これは協力ゲーム理論に基づき、複数の接触点(ホーム、一覧、検索、レコメンドなど)が売上にどれだけ寄与したかを計算する手法であり、数あるアトリビューション分析の中の1つにすぎないが、因果寄与の透明性が高い。
3. 最終的な意思決定プロセス:指標ではなく“ユースケース”で選ぶ
最終的には次の基準に整理できる。
■ ホーム画面(2枠)
Precision@2が最優先。一瞬で判断され枠も少なく、CTRと売上に直結する。
■ おすすめ一覧(10件枠)
nDCG@10が最優先。スクロール型で全体構造の良さや多様性が重要。
■ モデルは複数同居が前提
1.ホーム:Precision最適モデル
2.一覧:Listwise最適モデル
ペルソナ・文脈でサービングを分岐
単一モデルで全体最適を狙うより、ユースケース別最適化のほうが確実に成果が出る。
4. 経営層への説明で使ったメッセージ
私は次のように説明した。
「Precision@2とnDCG@10が割れるのは自然です。ホームで求められる即時性と一覧で求められる探索性は異なるからです」「単一指標で全体を最適化するのではなく、ユースケース別にモデルを切り替えることで全体の売上を最大化します」。
これにより“評価が割れる”状況が問題ではなく設計として当然だと理解してもらえた。
まとめ:評価が割れるのは問題ではない
問題は「どの指標がどのUXを支えるのか」が定義されていないことである。どのページでどの行動を促し、どの指標がその行動と相関するのかを明確にすることで、Precision@2とnDCG@10という2つの異なるレンズを使い分けることができる。推薦最適化の成功条件は、この“レンズの使い分け”にある。
Discussion