商品軸レコメンドを実施時、対象の商品が少ない場合に補完(ランキング商品)を実施する方法を記載いたします。

補完データ生成のためクエリの設定を行う

  • Datahub管理画面→「クエリ」画面に遷移します。

  • 左上の「作成」→「コレクションから作成」を押下

  • やりたいことから探す→「ランキングを表示したい」から「商品購入数のランキング」を選択

  • パラメータ設定から以下を設定する

https://storage.googleapis.com/support_img/uploads/d65b14513f0a409ff8e18905c361d069.png

  • 右上の「クエリを実行」して結果が返ってくるか確認します。

ご注意ください

クエリの結果が20万レコード以内になっていることを確認してください。(アクションテーブルのレコード数上限が20万レコードとなってるので、20万レコードを超えている場合はアクションテーブルにデータをエクスポートできません。)

クエリの結果が返ってこない場合のチェックポイント

  • KARTEのタグで送っているイベント名、スキーマが正しく設定されているか?

    • レコメンドを実現するにあたり、view_itembuy イベントがKARTEに正しく送られている必要がございます。

      • グローバルメニュー「顧客を知る」→「イベント」よりイベントが正しく送られているかご確認ください。

  • 商品マスタのフォーマットに従っているか?

    • フィールド名やデータ型がフォーマット通りに連携できているかご確認ください。

      • 商品マスタのフォーマットはこちら

  • 連携したデータの値が合っているか?

    • データセット→取り込んだテーブルの「プレビュー」「テーブル情報」などから取り込んだデータを確認することができます。

補完データを格納するアクションテーブルを作成する

  • グローバルメニューのアクションテーブル画面右上の「作成」→「空のテーブルを作成」をクリック

  • 以下の設定を行い、「作成」をクリック

    • テーブルID:任意のテーブル名を指定(例では、ranking_weekly)

    • スキーマ設定:クエリ結果のスキーマを以下のように指定します

    • 権限:今回は参照のみなので「ウィジェットからの参照」にチェック

    • モード:

      • フィルタリングをしない、または単一の条件でフィルタリングをかける場合:general

      • 複数の条件でフィルタリングをかける場合:flexible

アクションテーブルのスキーマ設定

フィールド名
item_id(主キー)文字列
name文字列
brand_name文字列
price数値
display_price文字列
image文字列
url文字列
l_category_cd文字列
s_category_cd文字列
brand_cd文字列
sex_cd文字列
quantity_rank数値
amount_rank数値
expired_atタイムスタンプ

アクションテーブルにクエリ結果をエクスポートする

  • グローバルメニューのジョブフロー画面右上の「作成」をクリック

  • ジョブ設定画面から以下を設定し、右上の「保存して完了」をクリック

ジョブの設定

項目内容
ジョブ名週次ランキング結果をアクションテーブルへ
ジョブタイプデータテーブルからインポート
エクスポート元先ほど作成したクエリ結果
エクスポート先先ほど作成したアクションテーブルを選択

実行方法を選択

  • 「スケジュール実行を有効にする」にチェック

  • 「繰り返し実行を有効にする」にチェック

  • 実行頻度の設定を行う

    • 連携頻度は週次程度を推奨しています。

https://storage.googleapis.com/support_img/uploads/814e9dd5fa7c6dac5c8342cdd73c2963.png

ジョブフローの設定

  • 「ジョブ実行終了後にアーカイブ」チェックなし

  • ジョブフロー名:任意

    • ジョブが一つの場合は「先頭のジョブ名を流用」するのを推奨しています。

  • 右上の「今すぐ実行」をクリックするとジョブが実行されます。

    • ※ジョブの終了までに5分ほど時間がかかります。

  • ジョブが「実行済み」になっていることを確認します。

アクションテーブルクエリを作成する

  • 作成したアクションテーブルを選択し、画面右上の「作成」をクリック

  • 以下の設定を行う

  • クエリ名:任意

  • 抽出条件:

    • Limit: 20

    • Filter: フィルタリングしたい条件を任意で指定してください。

      • 例:ブランドのみでフィルタリングしたい場合

        • brand_cd = #{brand_cd}

      • 例:ブランド、大カテゴリ、少カテゴリ、性別でフィルタリングしたい場合

        • brand_cd = #{brand_cd}

        • l_category_cd = #{l_category_cd}

        • s_category_cd = #{s_category_cd}

        • sex_cd = #{sex_cd}

        • ※複数の条件でフィルタリングしたい場合は、アクションテーブルのモードを「flexible」に設定してください。

    • Sort:quantity_rank or amount_rank

      • 昇順

これでアクションテーブルクエリの作成は完了です。

https://storage.googleapis.com/support_img/uploads/8be1c0bdc2a03942077c03e4cbc65706.png

レコメンドアクションに対し補完設定を実施にする

  • 設定済みのレコメンドアクションの詳細画面の「ベーシック」から以下を設定します。

    • ランキングデータでの補完を有効にする:

      • チェックボックスをON

    • アクションテーブル:

      • アクションテーブル名:上記で作成したアクションテーブルを指定

      • アクションテーブルクエリ名:上記で作成したアクションテーブルクエリ名を指定

- フィルタリング:
    - アクションテーブルの枠に絞り込みを実施したい各項目(ブランド、子カテゴリ、親カテゴリ、性別)に値を直接入力するか**ユーザー情報変数**で設定した変数を入力する
      -  例:ブランドの値:brand12345で絞り込む場合

      -  例:view_itemイベントのbrand_cdで絞り込む場合
         - ユーザー情報変数 

         - フィルター


- フィルタリング項目を変更したい場合
- 上記④アクションテーブルクエリを作成する で設定した抽出条件>Filterで変更ください。
- 例:ブランドbrand_cdのフィールド参照をTESTtest_cdに変更したい場合
- brand_cd = #{test_cd}

ご注意ください

フィルタリング項目は文字列型での指定を想定して作られております。文字列以外のデータ型でフィルタリングを行いたい場合は、テンプレート内のロジックを直接書き換えてください。

主な設定は以上で完了になります。