1. ホーム
  2. ニュース・コラム
  3. レコメンドの精度が上がっても、売上が動かない理由

AI・レコメンド

レコメンドの精度が上がっても、売上が動かない理由

レコメンドの精度が上がっても売上が動かないのは、測っている場所が違うからです。Amazon Personalizeの公式ドキュメントは、指標を2つに分けています。学習時に製品側が自動で出すオフライン指標と、実際のユーザーの反応から観測するオンライン指標です。そして「オンライン指標を生成し記録する責任は、利用者側にあります」と書いています。精度の数字は学習のたびに出ますが、売上に効いたかどうかの数字は、利用者側で用意するものとして役割が分かれています。同じページは、学習時に出る指標を読むときの比較の相手として、人気順(最も人気のある上位K件を推薦する方式)を使うことも推奨しています。精度が上がったかに、人気順との差を並べて初めて読める数字になる、というのが私たちの読み方です。

このリードの出典:Amazon Web Services公式ドキュメント「Evaluating an Amazon Personalize solution version with metrics」(2026年8月28日取得)。本稿の事実は、このページ1つから取っています。Amazon Personalizeという特定の製品のドキュメントであり、レコメンド全般の共通仕様ではありません。本稿でもそのように扱います。本稿に金額は出てきません。このページに料金の記載はありません。日本語はすべて私たちの訳です。

レコメンドを入れたあと、私たちが入る案件で報告に上がってくるのは、たいてい精度の数字です。数字が上がっていれば、改善は進んでいます。モデルを差し替え、データを足し、指標が良くなったのなら、それは前に進んでいる状態です。

ただ、売上の会議で「で、いくら増えたのか」と聞かれたときに、手元の数字がその問いに答えられる種類のものではない、という場面があります。精度の話をしているのに、聞かれているのは別のことだからです。

結論から言うと、精度の数字と、売上に効いたかの数字は、別の場所にあります。これまで積み上げてきた精度の記録は、そのまま比較の土台になります。作り直す話ではなく、並べる数字を1つ足す話です。

レコメンドの「精度」とは、何を測った数字なのか

precision at K(プレシジョン・アット・ケー)とは、上位K件のレコメンドのうち、ユーザーが実際に反応したものが何件あったかの割合です(出典:Amazon Web Services「Evaluating an Amazon Personalize solution version with metrics」/2026年8月28日取得。この1文は、同ページの説明と計算例を私たちが1文にまとめたものです。原文はこの下に引用しました)。

For example, if you recommend 10 items to a user, and the user interacts with 3 of them, the precision at K is 3 correctly predicted items divided by the total 10 recommended items: 3 / 10 = .30

── Amazon Web Services公式ドキュメント(2026年8月28日取得。訳:たとえば10件をユーザーに推薦し、ユーザーがそのうち3件に反応した場合、precision at Kは、正しく予測できた3件を推薦した10件で割った値、つまり 3 / 10 = .30 になります)

分かりやすい数字です。そして、この数字がどう作られているかを見ると、売上と結びつかない理由が見えてきます。Amazon Personalizeの公式ドキュメントは、評価用にデータをこう分けると書いています。分割の比率はレシピの種類によって異なり、USER_SEGMENTATIONでは80%と20%です。以下は、それ以外のレシピについての記述です)

Amazon Personalize then gives the new solution version the oldest 90% of each user’s data from the testing set as input. Amazon Personalize then calculates metrics by comparing the recommendations the solution version generates to the actual interactions in the newest 10% of each user’s data from the testing set.

── Amazon Web Services公式ドキュメント(2026年8月28日取得。訳:テストセットの各ユーザーについて、古いほうから90%のデータを入力として与えます。そして生成されたレコメンドを、そのユーザーの新しいほうの10%の実際のインタラクションと突き合わせて、指標を計算します)

入力に使わず取り置いた、新しいほうの10%のデータと、どれだけ一致したかを測っています。ここで出てくる solution version とは、学習させたモデルの版のことです(この補足は私たちのものです)。ユーザーがすでに取った行動が答えです。「出さなかったら買わなかったのか」は、この測り方の中に入っていません(この読み方は私たちのものです)。

なぜ精度が上がっても、売上が動かないのか

公式ドキュメントは、指標を2種類に分けたうえで、どちらを誰が作るのかまで書いています。

Online metrics are the empirical results you observe in your users’ interactions with real-time recommendations. For example, you might record your users’ click-through rate as they browse your catalog. You are responsible for generating and recording any online metrics.

── Amazon Web Services公式ドキュメント(2026年8月28日取得。訳:オンライン指標とは、実時間のレコメンドに対するユーザーの反応として観測される経験的な結果です。たとえば、カタログを見て回るユーザーのクリック率を記録する、といったものです。オンライン指標を生成し記録する責任は、利用者側にあります)

「You are responsible(責任は利用者側にあります)」と書かれています。オフライン指標は学習のたびに製品側が自動で出します。オンライン指標は、利用者側で用意するもの、という役割分担になっています。意識して設計しない限り、レコメンドの評価としては片側だけが残ります。

精度の数字と、売上に効いたかの数字は別の場所にある(対比の整理は私たちのもの) オフライン指標 学習させると、自動で出る 例:precision at K、coverage など 取り置いた新しい10%のデータと どれだけ一致したかを測る → モデルを比べるための数字(私たちの読み) オンライン指標 実際のユーザーの反応を観測する 公式の例:カタログを見るユーザーのクリック率 公式:生成し記録する責任は    利用者側にある → 作らない限り、存在しない 「You are responsible for generating and recording any online metrics.」 ── AWS Docs「Evaluating an Amazon Personalize solution version with metrics」(2026年8月28日取得)
図1 オフライン指標は学習のたびに自動で生成されます。オンライン指標について、公式ドキュメントは「実時間のレコメンドに対するユーザーの反応として観測される経験的な結果」と定義し、「オンライン指標を生成し記録する責任は、利用者側にあります」と書いています(出典:Amazon Web Services公式ドキュメント「Evaluating an Amazon Personalize solution version with metrics」/2026年8月28日取得)。「自動で出る/作らないと存在しない」という2列の対比は私たちの整理で、このページがこの対比をしているわけではありません。

ここが「精度は上がったのに」の正体です。報告に上がっているのは自動で出る側の数字で、会議で聞かれているのは自分で作る側の数字です。片方しか無い状態で議論すると、噛み合いません(この整理は私たちのものです)。

同じ「精度が上がった」でも、中身が違うことがある

もう1つ、公式ドキュメントが名指しで警告している誤読があります。

Avoid comparing metrics of different solution versions trained with different data. The difference in metrics might be from the difference in data rather than model performance. For example, you might have a dataset group with sparse purchase event data for each user, and another with robust view event data. Based on metrics like precision at K, the solution version trained on the view event data might incorrectly appear to perform better due to the higher number of interactions.

── Amazon Web Services公式ドキュメント(2026年8月28日取得。訳:異なるデータで学習したsolution version同士の指標を比べるのは避けてください。指標の差は、モデルの性能ではなくデータの差から来ている可能性があります。たとえば、ユーザーごとの購買イベントが疎なデータセットグループと、閲覧イベントが潤沢なデータセットグループがあるとします。precision at Kのような指標では、閲覧イベントで学習したsolution versionのほうが、インタラクション数が多いという理由で、誤って性能が良く見えることがあります)

「might incorrectly appear to perform better(誤って性能が良く見えることがあります)」という書き方です。インタラクションとは、閲覧や購買といったユーザーの反応の記録のことです。閲覧イベントは購買イベントより数が多くなります。数の多いデータで学習させると、指標は上がりやすくなります。モデルが賢くなったとは限りません(この言い換えは私たちのものです)。

データを足して精度が上がったとき、その上がり方がどちらなのかは、公式ドキュメントの言い方では区別がつきません。「前回より上がった」は、学習に使ったデータが同じかどうかを添えて初めて読める数字になります(この読み方は私たちのものです)。

では、何と比べればよいのか

Amazon Personalizeの公式ドキュメントは、比較のためのベースラインとして人気順を使うことを推奨しています。

To generate a baseline for comparison purposes, we recommend using the Popularity-Count recipe, which recommends the top K most popular items.

── Amazon Web Services公式ドキュメント(2026年8月28日取得。訳:比較のためのベースラインを作るには、最も人気のある上位K件のアイテムを推薦するPopularity-Countレシピを使うことを推奨します)

人気順です。レシピとは、Amazon Personalizeでどの方式を使うかの選択肢のことで、ベースラインとは比較の基準にする相手のことです(この2つの補足は私たちのものです)。売れている順に並べるだけの、機械学習を使わない出し方が基準になります。パーソナライズしたモデルの数字は、これを上回って初めて読める、というのが私たちの読み方です。

ただし、この推奨は、学習時に出る指標を読むときの比較の相手としての記述です。実際のユーザーの反応で人気順と比べるには、別の手順が要ります。同ページはその先としてA/Bテストの解説ページを案内していますが、そのリンク先を本稿では取得していないため、手順は扱っていません。

公式ドキュメントには、出力の例として次の数値が載っています。

指標公式ドキュメントの出力例この指標が答えている問い
precision_at_50.0136上位5件のうち、実際に反応があったのは何割か
normalized_discounted_cumulative_gain_at_50.0405反応のあったものが、上のほうに並んでいたか
mean_reciprocal_rank_at_250.0379反応があったもののうち最も上位のものが、何番目にあったか
coverage0.27カタログのうち、どれだけを推薦しうるか

出典:Amazon Web Services公式ドキュメント「Evaluating an Amazon Personalize solution version with metrics」(2026年8月28日取得)。これはUser-Personalizationレシピの出力例として公式に掲載されている数値で、目標値でも業界平均でもありません。同ページに、これらの数値が良いのか悪いのかの判断基準は書かれていません。「この指標が答えている問い」の列は私たちの整理で、公式ドキュメントに書かれているものではありません。NDCGとは、反応のあったものがリストの上のほうに並んでいたかを測る指標の略称です。なお同ページは「For each metric, higher numbers (closer to 1) are better」(どの指標も、1に近いほど良い)としています。日本語は私たちの訳です。

coverageを一緒に見る意味は、ここにあります。公式ドキュメントは「A higher coverage score means Amazon Personalize recommends more of your catalog, rather than the records same repeatedly」(coverageのスコアが高いほど、同じものを繰り返し推薦するのではなく、カタログのより多くを推薦していることを意味します)と書いています(出典:同ページ。この一文は原文の語順が乱れていますが、原文のまま引用しています)。精度だけを追うと、売れ筋を出し続けるモデルが有利になります(この指摘は私たちのものです)。

レコメンドの評価は、どこから決めればよいのか

ここからは私たちの進め方です。すでに動かしている場合も、決め直せます。3つあります。

  • 人気順を、比較の相手として先に用意する。公式が比較用のベースラインとして挙げているのがこれです。精度の数字に、人気順との差を1行足した形にします
  • オンライン指標を、出す前に1つ決める。公式の例はクリック率です。自動で出る指標とは別に、記録する仕組みを用意することになります。出す前の期間を後から作ることはできません。ただし、いまから記録を始めれば、次にモデルを入れ替えるときの前後は比べられます
  • 精度と一緒に、coverageを見る。精度だけを追うと、売れ筋を繰り返し出すモデルが有利になります。カタログのどれだけを推せているかを並べて見ると、その偏りが見えます

モデルより先に、比較の相手と記録の置き場所に判断が寄ります。止まったことを読むにはイベントが要る、という話はBrazeを使いこなせないのは、機能の問題ではないで、何を資産と呼ぶかを先に決める順序は顧客資産化の設計順序で扱いました。

よくある質問

レコメンドの精度が上がったのに、売上が動かないのはなぜですか?

測っている場所が違うためです。Amazon Personalizeの公式ドキュメントは指標を2種類に分け、オンライン指標について「You are responsible for generating and recording any online metrics」(オンライン指標を生成し記録する責任は、利用者側にあります)と書いています。オフライン指標は学習のたびに自動で生成されますが、実際のユーザーの反応を測るオンライン指標は、自分で設計して記録しない限り存在しません。報告に上がっている数字と、会議で聞かれている数字が別のものになっている、というのが私たちの読み方です。(出典:Amazon Web Services公式ドキュメント/2026年8月28日取得)

precision at K とは、何を測った数字ですか?

上位K件のレコメンドのうち、ユーザーが実際に反応したものの割合です。Amazon Personalizeの公式ドキュメントは「if you recommend 10 items to a user, and the user interacts with 3 of them, the precision at K is 3 correctly predicted items divided by the total 10 recommended items: 3 / 10 = .30」(10件を推薦し、ユーザーがそのうち3件に反応した場合、正しく予測できた3件を推薦した10件で割って 3 / 10 = .30 になります)という例を挙げています。Amazon Personalizeでは、Kは5、10、25のいずれかとされています。他の製品や自社開発でKがこの3つに限られるわけではありません。(出典:Amazon Web Services公式ドキュメント/2026年8月28日取得)

前のモデルより精度が上がっていれば、良くなったと言えますか?

Amazon Personalizeの公式ドキュメントは、異なるデータで学習したもの同士の比較を避けるように書いています。裏を返せば同じデータ同士なら比べられる、というのは私たちの読み方で、公式ドキュメントがそう書いているわけではありません。原文は「Avoid comparing metrics of different solution versions trained with different data」(異なるデータで学習したsolution version同士の指標を比べるのは避けてください)とし、「The difference in metrics might be from the difference in data rather than model performance」(指標の差は、モデルの性能ではなくデータの差から来ている可能性があります)と書いています。閲覧イベントのようにインタラクション数の多いデータで学習すると、precision at Kのような指標は「誤って性能が良く見えることがある」とも書かれています。(出典:Amazon Web Services公式ドキュメント/2026年8月28日取得)

レコメンドの効果は、何と比べれば分かりますか?

Amazon Personalizeの公式ドキュメントは、比較用のベースラインとして人気順を挙げています。「To generate a baseline for comparison purposes, we recommend using the Popularity-Count recipe, which recommends the top K most popular items」(比較のためのベースラインを作るには、最も人気のある上位K件のアイテムを推薦するPopularity-Countレシピを使うことを推奨します)と書かれています。パーソナライズしたモデルは、人気順を上回って初めて効いていると言える、というのが私たちの読み方です。(出典:Amazon Web Services公式ドキュメント/2026年8月28日取得)

精度の数字は、いくつあれば合格ですか?

合格ラインは、Amazon Personalizeのこのページには書かれていません。公式ドキュメントは「For each metric, higher numbers (closer to 1) are better」(どの指標も、1に近いほど良い)としているだけで、目標値も業界平均も示していません。掲載されている出力例では precision_at_5 が 0.0136、coverage が 0.27 です。これはUser-Personalizationレシピの例として載っている数値で、目標値ではありません。絶対値ではなく、同じデータで学習した人気順のベースラインと比べる形にするのが、私たちの進め方です。(出典:Amazon Web Services公式ドキュメント/2026年8月28日取得)

出典

・Amazon Web Services公式ドキュメント「Evaluating an Amazon Personalize solution version with metrics」ページを見る ── オンライン指標とオフライン指標の定義/「オンライン指標を生成し記録する責任は利用者側にある」/異なるデータで学習したsolution version同士を比べない/閲覧イベントで学習したほうが誤って良く見えることがある/比較のベースラインとしてPopularity-Countを推奨/評価用のデータ分割(古い90%を入力・新しい10%と突合)/precision at Kの定義と計算例(3 / 10 = .30)/coverageの定義/どの指標も1に近いほど良い/出力例の数値。2026年8月28日に取得
本稿の事実は、上記1ページから取っています。他ページの記述を根拠にした箇所はありません。
これはAmazon Personalizeという特定の製品のドキュメントです。レコメンド全般の共通仕様ではありません。他の製品や自社開発では、指標の出方も分割の仕方も異なります。
本稿に金額は出てきません。このページに料金の記載はありません。
掲載した数値(precision_at_5 = 0.0136、coverage = 0.27 など)は、公式ドキュメントに出力例として載っているものです。目標値でも業界平均でもありません。同ページに、これらが良いのか悪いのかの判断基準は書かれていません。
「人気順に勝てて初めて効いていると言える」「精度だけを追うと売れ筋を繰り返すモデルが有利になる」「出す前に記録の仕組みを用意する」は私たちの読み方・進め方です。公式ドキュメントがこう書いているわけではありません。
※ coverageの引用文は原文の語順が乱れていますが(`the records same repeatedly`)、書き換えずに原文のまま引用しています。2026年8月28日に再取得して、AWS側の表記であることを確認しました。語順が乱れているため、訳は文意から補ったものです。
※ Popularity-Countの引用について、原文はリンクのための角括弧が付いています(`the [Popularity-Count] recipe`)。角括弧は外して引用しました。
※ 同ページはオフライン指標の先にA/Bテストの解説ページを案内していますが、そのリンク先は本稿では取得していません。そのため本稿ではA/Bテストの具体的な手順を扱っていません。
※ 日本語はすべて私たちの訳です。判断に関わる箇所は原文を併記しました。

執筆者

永野 陽平

お問い合わせ

御社の現在地を教えてください。

7つの質問で、御社の顧客がいま資産に変わっているかが分かります。
3分・登録不要。結果を見てからご相談いただけます。