商品軸レコメンドを実施時、対象の商品が少ない場合に補完(ランキング商品)を実施する方法を記載いたします。
- レコメンドの設定がされていることが前提になります。 - 商品軸レコメンドの設定がまだの場合はこちらの記事を参考に、レコメンドの設定をお願いします。
 
- すでにランキングデータを利用済みの場合には、「手順⑤レコメンドアクションに対し補完設定を実施にする」のみ実施してください。 
補完データ生成のためクエリの設定を行う
- Datahub管理画面→「クエリ」画面に遷移します。
- 左上の「作成」→「コレクションから作成」を押下
- やりたいことから探す→「ランキングを表示したい」から「商品購入数のランキング」を選択
- パラメータ設定から以下を設定する- 抽出期間(デフォルトは7日間)
- 商品マスタのデータセットID
- 商品マスタのテーブルID
- アクションテーブル連携時のレコード生存期間(h)(デフォルトは24時間)
 

- 右上の「クエリを実行」して結果が返ってくるか確認します。
ご注意ください
クエリの結果が20万レコード以内になっていることを確認してください。(アクションテーブルのレコード数上限が20万レコードとなってるので、20万レコードを超えている場合はアクションテーブルにデータをエクスポートできません。)
クエリの結果が返ってこない場合のチェックポイント
- KARTEのタグで送っているイベント名、スキーマが正しく設定されているか?- レコメンドを実現するにあたり、view_item、buyイベントが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 | タイムスタンプ | 
アクションテーブルにクエリ結果をエクスポートする
- グローバルメニューのジョブフロー画面右上の「作成」をクリック
- ジョブ設定画面から以下を設定し、右上の「保存して完了」をクリック
ジョブの設定
| 項目 | 内容 | 
|---|---|
| ジョブ名 | 週次ランキング結果をアクションテーブルへ | 
| ジョブタイプ | データテーブルからインポート | 
| エクスポート元 | 先ほど作成したクエリ結果 | 
| エクスポート先 | 先ほど作成したアクションテーブルを選択 | 
実行方法を選択
- 「スケジュール実行を有効にする」にチェック
- 「繰り返し実行を有効にする」にチェック
- 実行頻度の設定を行う- 連携頻度は週次程度を推奨しています。
 

ジョブフローの設定
- 「ジョブ実行終了後にアーカイブ」チェックなし
- ジョブフロー名:任意- ジョブが一つの場合は「先頭のジョブ名を流用」するのを推奨しています。
 
- 右上の「今すぐ実行」をクリックするとジョブが実行されます。- ※ジョブの終了までに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_rankoramount_rank- 昇順
 
 
これでアクションテーブルクエリの作成は完了です。
 
- アクションテーブルクエリの細かい仕様は以下ドキュメントもご確認ください。
レコメンドアクションに対し補完設定を実施にする
- 設定済みのレコメンドアクションの詳細画面の「ベーシック」から以下を設定します。 - ランキングデータでの補完を有効にする: - チェックボックスをON
 
- アクションテーブル: - アクションテーブル名:上記で作成したアクションテーブルを指定
- アクションテーブルクエリ名:上記で作成したアクションテーブルクエリ名を指定 
 
- フィルタリング: - アクションテーブルの枠に絞り込みを実施したい各項目(ブランド、子カテゴリ、親カテゴリ、性別)に値を直接入力するかユーザー情報変数で設定した変数を入力する - 例:ブランドの値:brand12345で絞り込む場合  
- 例:view_itemイベントのbrand_cdで絞り込む場合 - ユーザー情報変数  
- フィルター  
 
 
- フィルタリング項目を変更したい場合 - 上記④アクションテーブルクエリを作成する
で設定した抽出条件>Filterで変更ください。- 例:ブランドbrand_cdのフィールド参照をTESTtest_cdに変更したい場合- brand_cd = #{test_cd}
 
 
- 例:ブランド
 
- 上記④アクションテーブルクエリを作成する
で設定した抽出条件>Filterで変更ください。
 
 
ご注意ください
フィルタリング項目は文字列型での指定を想定して作られております。文字列以外のデータ型でフィルタリングを行いたい場合は、テンプレート内のロジックを直接書き換えてください。
主な設定は以上で完了になります。
 
 


