1. ホーム
  2. ニュース・コラム
  3. 新商品がレコメンドに出ないのは、なぜか

AI・レコメンド

新商品がレコメンドに出ないのは、なぜか

結論:新商品がレコメンドに出ないのは、行動から学ぶ仕組みが「行動の記録が無い商品」を出しにくいから

新商品を登録し、商品ページも公開した。それなのに「あなたへのおすすめ」にも「この商品を見た人はこちらも」にも、その商品が出てこない。この話は珍しくありません。定番の商品が出ているなら、レコメンドの本線は動いています。

新商品がレコメンドに出ないのは、行動から学ぶ型のレコメンドには、行動の記録が無い商品を出す手がかりが無いからです。Amazon Personalizeは、モデルの型の1つであるUser-Personalization-v2について「インタラクションデータのある既存アイテムをより頻繁に推薦する」と書いています(原文[1])。インタラクションとは、閲覧・クリック・購入といった利用者の反応の記録のことです。

レコメンドのコールドスタートとは、行動の記録がまだ無い商品や利用者に対して、レコメンドが手がかりを持てない状態のことです。コールドスタートはレコメンドの分野で広く使われている呼び方ですが、この定義の文言は私たちのもので、引用した各ページは取得した範囲ではこの語を使っていません。この記事で扱うのは商品側です。行動ではなく商品の属性(タイトルや説明文)を手がかりにする方式もあり、そちらは行動の記録が少なくても動きます。

解くのは、次の3つです。

  1. ── 推薦結果の一定割合を新商品に割り当てる。Amazon Personalizeでは「プロモーション」という機能です
  2. 属性 ── タイトルや説明文を手がかりにする方式を足す。Algoliaでは「コンテンツベースフィルタリング」と呼びます
  3. 作成日 ── 商品マスタに作成日(タイムスタンプ)を入れ、どれが新商品かをツールに分からせる

順番は、③作成日が先です(この順番は私たちの見方です)。

具体:新商品が出るまでの3つの道 ── 枠・属性・作成日

行動から学ぶ本線(協調フィルタリングなど) 既存商品(行動の記録あり) 関連性が高いと判定される → 出やすい 新商品(行動の記録なし) 手がかりが無い → 出にくい 新商品が入る3つの道(私たちの整理) ① 枠 プロモーション(Amazon Personalize) 推薦の一定割合を 作成日が指定日以降の商品に 割り当てる ② 属性 コンテンツベース(Algolia)・説明文(Amazon Personalize) タイトル・説明文を手がかりに 商品を探す 行動が少なくても出せる ③ 作成日 タイムスタンプ(Amazon Personalize) 商品マスタに作成日を入れる 無いと、最初の反応の日が 作成日とみなされる 私たちの見方:③ 作成日を入れてから、① 枠と ② 属性を足す
図1 新商品がレコメンドに出る3つの道 ── 枠・属性・作成日(私たちの整理)

たとえば、秋の新作アウターを登録した週を考えます(作例)。行動から学ぶ方式(協調フィルタリングなど)は、同じ人たちが見た商品どうし、買った商品どうしを関連づけます。定番が上位に並び、新作は手がかりが無いので、その列に入る理由がありません。学習データを足すのは自然な手です。ただ、足されるのは既存商品の行動で、新作の手がかりは増えません(この読み方は私たちのものです)。

何をするかどのツールの、どの機能か動くのに要るもの
① 枠推薦結果の一定割合を、作成日が指定日以降の商品に割り当てるAmazon Personalize のプロモーション(User-Personalization-v2 などで使える)商品マスタの作成日と、割り当てる割合の指定
② 属性タイトルや説明文を手がかりに商品を探す。行動が少なくても出せるAlgolia のコンテンツベースフィルタリング(Related Content)/Amazon Personalize の説明文(非構造テキスト)Algolia の Related Content は、属性を持つ商品が最低10件。Amazon Personalize は説明文のテキスト項目(1つまで)
③ 作成日商品マスタに作成日を入れ、商品の「年齢」をツールに計算させるAmazon Personalize の Items データセット(作成タイムスタンプ)Unixエポック時刻(秒単位)で入れた作成日

「3つの道」という整理は私たちのものです。機能名と件数は、Amazon Web Services「Amazon Personalize Developer Guide」とAlgolia公式ドキュメント「Algolia Recommend」(URL末尾 overview)の記述で、日本語は私たちの訳です。

打ち手1:新商品の枠を、割合で確保する(プロモーション)

プロモーションとは、Amazon Personalizeで、推薦結果のうち指定した割合に追加の条件を当てる機能です。推薦のうち一定の割合を、作成日が指定した日以降の商品に割り当てる、と指定できます(原文[2]原文[3])。精度と、新商品の露出が、別の層に分かれている設計です(この言い方は私たちのものです)。

打ち手2:属性で動く道を足す(コンテンツベース)

コンテンツベースフィルタリングとは、タイトルや説明文といった商品の属性を手がかりにして、似た商品を探す方式です。Algoliaは、この方式なら行動の記録が少ない商品にもレコメンドが付くと書いています(原文[8])。AlgoliaのRelated Content(コンテンツベースで動く型)は、属性を持つ商品が最低10件から動きます(原文[9]。行動を使う型との差はレコメンドとサジェストは、何が違うのかにあります)。Amazon Personalizeは、商品の説明文(非構造テキスト)を「特にアイテムが新しいかインタラクションデータが少ないとき」に使うと書いています原文[7])。

打ち手3:商品マスタに作成日を入れる(タイムスタンプ)

タイムスタンプとは、日時を数値で記録したもので、ここでは商品の作成日時のことです。Amazon Personalizeは作成日から商品の「年齢」を計算します。作成日は必須項目ではなく、無い商品は最初のインタラクションの時刻を作成日とみなして学習を続けます。作成日が無く、かつインタラクションも1件も無い商品は、新しいアイテムとして扱われます(原文[6])。

作成日は、入っていなくても気づきにくい項目です。そのうえで、入れていないと「新しいかどうか」が行動の有無で決まります。学習データに反応が1件も残っていない旧商品も新しいアイテムとして扱われ、新商品の枠に入り込みます(この読み方は私たちのものです)。打ち手1の枠は、商品マスタの作成日が入っていて初めて新商品に向きます。説明文(打ち手2)も、アイテムが新しいときに特に使われると書かれているので、作成日を先に入れる。これが私たちの順番です。

根拠:Amazon PersonalizeとAlgoliaは、新商品について何と書いているか

既存アイテムが出やすい(Amazon Personalize User-Personalization-v2)

要点は「既存アイテムをより頻繁に推薦する。新しいアイテムはプロモーションで含める」です。

User-Personalization-v2は、あなたのデータに基づいて最も関連性の高いアイテムをユーザーに推薦するため、インタラクションデータのある既存アイテムをより頻繁に推薦します。推薦に新しいアイテムを確実に含めるには、作成タイムスタンプに基づいて一部のアイテムを含めるプロモーションを使えます

── Amazon Web Services「Amazon Personalize Developer Guide」の「User-Personalization-v2 recipe」(2026年9月16日取得/原文[1])。

  • User-Personalization-v2とは、Amazon Personalizeのモデルの型(レシピ)の1つで、「あなたへのおすすめ」を出すもので、使うには最低1,000件のアイテムインタラクションが要ります(原文[5]

新しいアイテムは「枠」で入れる(Amazon Personalize プロモーション)

要点は「指定した割合に追加の条件を当てる。足りなければ、あるだけ入る」です。

プロモーションは、推薦されるアイテムのうち設定可能な一部に適用する、追加のビジネスルールを定義します。(中略)推薦の応答では、プロモーションされたアイテムは他の推薦アイテムに対してランダムな位置に置かれますが、プロモーションされたアイテム同士では並び順が保たれます。(中略)プロモーションの条件を満たすアイテムが足りない場合、結果にはできるだけ多くのプロモーションアイテムが含まれます

中略は2箇所とも文単位です。── Amazon Web Services「Amazon Personalize Developer Guide」の「Promoting items in real-time recommendations」(2026年9月16日取得/原文[2])。

  • ビジネスルールとは、モデルの計算とは別に運営側が決める条件のことです

作成日が無いときの扱い(Amazon Personalize Items データセット)

要点は「作成日が無ければ最初の反応の時刻を使う。作成日が無く、反応も無い商品は新しいアイテムとみなす」です。

1つ以上のアイテムで作成タイムスタンプのデータが欠けている場合、Amazon Personalizeはインタラクションデータがあればそこからこの情報を推定し、そのアイテムの最も古いインタラクションデータのタイムスタンプを、アイテムの作成タイムスタンプとして使います。アイテムにインタラクションデータが無い場合、その作成タイムスタンプは学習セット内の最新のインタラクションのタイムスタンプに設定され、Amazon Personalizeはそれを新しいアイテムとみなします

訳は原文の2文目からです(1文目は原文欄)。── Amazon Web Services「Amazon Personalize Developer Guide」の「Preparing item metadata for training」(2026年9月16日取得/原文[6])。

  • Unixエポック時刻とは、日時を1つの整数(秒数)で表す形式のことです

属性で動く方式(Algolia コンテンツベースフィルタリング)

要点は「コンテンツベースは商品の属性で動き、行動の記録が少ない商品にもレコメンドが付く」です。引用文中の「Recommend」は、Algoliaのレコメンド製品名(Algolia Recommend)です。

クリックやコンバージョンのイベントが十分に無いときにレコメンドを表示できるようになります。コンテンツベースフィルタリングを使えば、カタログのカバレッジを高められ、インタラクションデータが少ないアイテムにもレコメンドが付くようになります。コンテンツベースと協調フィルタリングの両方を使う場合、Recommendは両モデルからのレコメンドをマージした集合を返します

訳は原文の2文目からです(1文目は原文欄)。── Algolia公式ドキュメント「Algolia Recommend」(2026年8月28日取得/原文[8])。

  • カバレッジとは、カタログのうちどれだけの商品に推薦が付いているか、の割合のことです

よくある質問

レコメンドのコールドスタートとは、何ですか?

行動の記録がまだ無い商品や利用者に対して、レコメンドが手がかりを持てない状態のことです。この定義の文言は私たちのものです。Amazon Personalizeは、User-Personalization-v2について「インタラクションデータのある既存アイテムをより頻繁に推薦する」と書いています。新しいアイテムは、作成タイムスタンプに基づくプロモーションで含めるよう案内しています。この記事は商品側だけを扱い、新しい利用者側は扱っていません。(出典:Amazon Web Services「Amazon Personalize Developer Guide」の「User-Personalization-v2 recipe」/2026年9月16日取得)

新しく登録した商品がレコメンドに表示されないのは、なぜですか?

行動の記録が無い商品には、行動から学ぶレコメンドが出す手がかりが無いからです。Amazon Personalizeは、User-Personalization-v2について、既存アイテムをより頻繁に推薦すると書いています。関連性を高めるほど、行動の記録がある商品が選ばれやすくなる、というのが私たちの読み方です。解くのは、枠(プロモーション)・属性(コンテンツベース)・作成日(タイムスタンプ)の3つです(この整理は私たちのものです)。(出典:Amazon Web Services「Amazon Personalize Developer Guide」の「User-Personalization-v2 recipe」/Algolia公式ドキュメント「Algolia Recommend」)

レコメンドのプロモーションとは、何ですか?

Amazon Personalizeで、推薦結果のうち指定した割合に追加の条件(ビジネスルール)を当てる機能です。枠に入った商品は他の推薦の中にランダムな位置に置かれ、条件を満たす商品が足りなければあるだけ入ります。(出典:Amazon Web Services「Amazon Personalize Developer Guide」の「Promoting items in real-time recommendations」)

商品の作成日(タイムスタンプ)を入れていないと、どうなりますか?

Amazon Personalizeでは、作成日が無い商品は最初のインタラクションの時刻が作成日とみなされます。作成日が無く、かつインタラクションも1件も無い商品は、新しいアイテムとして扱われます。作成日を入れていないと、「新しいかどうか」が行動の有無で決まる、と私たちは読んでいます(学習データに反応が1件も残っていない旧商品が新しいアイテムの枠に入り込む、も私たちの読み方です)。(出典:Amazon Web Services「Amazon Personalize Developer Guide」の「Preparing item metadata for training」)

行動のデータが少なくても、レコメンドは動きますか?

商品の属性を手がかりにする方式なら動きます。Algoliaはコンテンツベースフィルタリングについて「インタラクションデータが少ないアイテムにもレコメンドが付く」と書いています。Amazon Personalizeも、商品の説明文(非構造テキスト)を「特にアイテムが新しいかインタラクションデータが少ないとき」に使うと書いています。AlgoliaのRelated Contentは、属性を持つ商品が10件あれば動きます。(出典:Amazon Web Services「Amazon Personalize Developer Guide」の「Preparing item metadata for training」/Algolia公式ドキュメント「Algolia Recommend」)

出典と、書けなかったこと

出典と注記を開く

出典

・Amazon Web Services「Amazon Personalize Developer Guide」の「User-Personalization-v2 recipe」ページを見る ── 「インタラクションデータのある既存アイテムをより頻繁に推薦する」/新しいアイテムは作成タイムスタンプに基づくプロモーションで含める/探索(インタラクションが少ない、または関連性の低い商品も推薦に混ぜる働き)の設定はAmazon Personalize側が行う/最新のモデルを2時間ごとに自動で更新する(原文[4])/最低1,000件のアイテムインタラクション。2026年9月16日に取得
・Amazon Web Services「Amazon Personalize Developer Guide」の「Promoting items in real-time recommendations」ページを見る ── プロモーションの定義/割合と条件の指定/ランダムな位置への配置/条件を満たすアイテムが足りないときはあるだけ入る/新しいアイテムの条件式/プロモーションが使えるレシピの一覧。2026年9月16日に取得
・Amazon Web Services「Amazon Personalize Developer Guide」の「Preparing item metadata for training」ページを見る ── 作成タイムスタンプが無いときの扱い/非構造テキストは新しいアイテムに特に使われる/テキスト項目は1つまで。2026年9月16日に取得
・Algolia公式ドキュメント「Algolia Recommend」ページを見る ── コンテンツベースフィルタリングは行動の記録が少ないアイテムにも推薦を付ける/両方使うと結果を混ぜて返す/Related Content は属性を持つアイテムが最低10件。2026年8月28日に取得(ページの最終更新表記は2026年4月27日)
① 書けなかったこと
※ プロモーションで指定できる割合の数値の幅。今回取得した範囲では「割合」という書き方で、数値の幅は含まれていません。
※ User-Personalization-v2 の料金。「他のレシピと異なる料金モデル」という書き方で(原文[10])、金額はこの記事に出てきません。
※ 新しい利用者側のコールドスタート(履歴の無い利用者に何を出すか)。この記事は商品側だけを扱っています。
※ 最低1,000件で、どの程度の精度になるか。1,000件は使うための下限として書かれている数で、精度の目安として書かれた数ではありません。
※ Algoliaのコンテンツベースフィルタリングが内部で何をしているか(意味の近さか、語の一致か)。「タイトルや説明文といったアイテムの主要な属性を分析する」という書き方です(原文[11])。
※ 「コールドスタート」はレコメンドの分野で一般に使われる語です。引用した各ページ(Amazon Personalize 3ページ・Algolia 1ページ)は、取得した範囲ではこの語を使っていないため、この記事の定義文は私たちの文言です。

② 取得の方法
※ Amazon Personalize の3ページは、curl で raw HTML を取得してテキスト化しました。要約する仕組み(WebFetch)は経由していません。URLは3つとも、リダイレクトなしで200が返ることを確認しています。
※ Algolia のページは、curl で raw HTML を取得してテキスト化しました。
※ 原文はすべて英語です。日本語はすべて私たちの訳で、判断に関わる箇所は末尾に原文を併記しました。

③ 私たちの見方(各社のページに書かれていないもの)
※ 「3つの道 ── 枠・属性・作成日」という整理、「作成日を入れてから枠と属性を足す」という順番、「精度と、新商品の露出が、別の層に分かれている設計」「関連性を高めるほど、行動の記録がある商品が選ばれやすくなる」「足されるのは既存商品の行動で、新作の手がかりは増えない」「学習データに反応が1件も残っていない旧商品も新しいアイテムとして扱われ、新商品の枠に入り込む」「作成日を先に入れる」は、私たちの読み方です。各社がこう書いているわけではありません。
※ 「レコメンドのコールドスタートとは」の定義文の文言は、この記事のものです(語そのものは一般の用語です)。
※ 秋の新作アウターの例は作例です。

引用した原文

原文を開く(11本)

[原文]訳の元になった文

本文には日本語だけを載せ、訳の元になった英文をここに置きました。日本語は私たちの訳です。この欄に太字はありません。

[1]Amazon Personalize ── 既存アイテムをより頻繁に推薦する
Because User-Personalization-v2 recommends the most relevant items to users based on your data, it more frequently recommends existing items with interactions data. To make sure recommendations include new items, you can use a promotion that includes some items based on creation timestamp.
── Amazon Web Services「Amazon Personalize Developer Guide」の「User-Personalization-v2 recipe」(2026年9月16日取得)

[2]Amazon Personalize ── プロモーションの定義・割合と条件・配置・足りないとき
A promotion defines additional business rules that apply to a configurable subset of recommended items. (…) To apply a promotion, you specify the following in your recommendation request: The percentage of recommended items to apply the promotion filter to. A filter that specifies the promotion criteria. (…) In the recommendation response, promoted items are positioned randomly relative to other recommended items, but in sorted order relative to other promoted items. (…) If there aren’t enough items that meet the promotion criteria, the result will contain as many promoted items as possible.
── Amazon Web Services「Amazon Personalize Developer Guide」の「Promoting items in real-time recommendations」(2026年9月16日取得)

[3]Amazon Personalize ── 新しいアイテムのプロモーションと、フィルター式
If you use the User-Personalization-v2 recipe, Amazon Personalize recommends the most relevant items to users and more frequently recommends existing items with interactions data. To make sure recommendations include some new items, you can apply a promotion to recommendation requests that includes items based on creation timestamp. If you don’t already use a promotion, your filter expression can promote items created after a certain date: INCLUDE ItemID WHERE Items.CREATION_TIMESTAMP > $DATE
── Amazon Web Services「Amazon Personalize Developer Guide」の「Promoting items in real-time recommendations」(2026年9月16日取得)

[4]Amazon Personalize ── 探索の設定はAmazon Personalize側が行う、更新は2時間ごと
Exploration – With exploration, recommendations include items with less interactions data or relevance to the user. With User-Personalization-v2, Amazon Personalize handles exploration configuration for you. To make sure recommendations include new items, you can use promotions to include new items based on their creation timestamp. Automatic updates – With automatic updates, Amazon Personalize automatically updates the latest model (solution version) every two hours to consider new items for recommendations.
── Amazon Web Services「Amazon Personalize Developer Guide」の「User-Personalization-v2 recipe」(2026年9月16日取得)

[5]Amazon Personalize ── 最低1,000件のインタラクション
To use the User-Personalization-v2, you must create an Item interactions dataset and import at minimum 1000 item interactions. Amazon Personalize generates recommendations primarily based on item interaction data.
── Amazon Web Services「Amazon Personalize Developer Guide」の「User-Personalization-v2 recipe」(2026年9月16日取得)

[6]Amazon Personalize ── 作成タイムスタンプが無いときの扱い
Amazon Personalize uses creation timestamp data (in Unix epoch time format, in seconds) to calculate the age of an item and adjust recommendations accordingly. If creation timestamp data is missing for one or more items, Amazon Personalize infers this information from interaction data, if any, and uses the timestamp of the item’s oldest interaction data as the item’s creation timestamp. If an item has no interaction data, its creation timestamp is set as the timestamp of the latest interaction in the training set and Amazon Personalize considers it a new item.
── Amazon Web Services「Amazon Personalize Developer Guide」の「Preparing item metadata for training」(2026年9月16日取得)

[7]Amazon Personalize ── 説明文(非構造テキスト)は新しいアイテムに特に使われる
Amazon Personalize uses unstructured text to identify relevant items for your users, particularly when items are new or have less interactions data. You can add at most 1 textual field.
── Amazon Web Services「Amazon Personalize Developer Guide」の「Preparing item metadata for training」(2026年9月16日取得)

[8]Algolia ── コンテンツベースフィルタリングは、行動が少ないアイテムにも推薦を付ける
Content-based filtering can improve relevance compared to using only collaborative filtering. It lets you show recommendations when you don’t have enough click and conversion events. With content-based filtering, you can increase catalog coverage so that users get recommendations for items with little interaction data. When you use both content-based and collaborative filtering, Recommend returns a merged set of recommendations from both models.
── Algolia公式ドキュメント「Algolia Recommend」(2026年8月28日取得)

[9]Algolia ── 各モデルに要るデータ量と、Related Content の行
To create relevant recommendations, each model needs a minimum number of events or items with attributes. (…) Related Content | Items with values in their content-based attributes | 10 | 1,500,000
── Algolia公式ドキュメント「Algolia Recommend」の表「Events requirements for the models」(2026年8月28日取得。表の1行を、列の区切りを縦線にして書き写しました)

[10]Amazon Personalize ── 料金は「他のレシピと異なる料金モデル」とだけ
User-Personalization-v2 uses a different pricing model than other recipes.
── Amazon Web Services「Amazon Personalize Developer Guide」の「User-Personalization-v2 recipe」(2026年9月16日取得)

[11]Algolia ── コンテンツベースフィルタリングは、タイトルや説明文といった主要な属性を分析する
Content-based filtering analyzes key attributes of items, such as titles or descriptions, to find similarities.
── Algolia公式ドキュメント「Algolia Recommend」(2026年8月28日取得)

執筆者

永野 陽平

お問い合わせ

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

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