私は Web ショップを構築しようとしていますが、ユーザー情報を追跡するソリューションを考え出す必要があります。これに基づいて、ユーザーが好む可能性のある製品を提案し、個々のユーザー プロファイル (ユーザーの好み) を構築します。
アルゴリズムで追跡/使用される情報には、次のものを含める必要があると思いました。
- 過去の注文
- ウィッシュリスト/ブックマーク/お気に入り...
- 入力した検索語
- 表示された製品 (ここでは、ユーザーがサイトを閉じる/すぐに戻るか、他の写真を見る/下にスクロールする (ビューポート) などを意味する「ドロップオフ」の見積もりも追跡して検討します)
製品には、色、タグなどのさまざまな属性だけでなく、カテゴリが割り当てられます。テーブルは、、などproduct
と関係があります。color
category
商品
ID_商品
価格
タイムスタンプ_追加色
id_color
...product_color
id_product_color
id_product
id_color
質問は次のとおりです。
1) 閲覧した製品などを追跡するデータベースをどのように構築しますか? このようにする必要がありますか?:
product_viewed
id_product_viewed
id_product
id_user
タイムスタンプ
2) たとえば、ユーザーが購入した商品の色、ウィッシュ リストに追加した商品、ブックマークした商品、閲覧した商品の色に基づいて、ユーザーの好きな色のトップ 3 を計算したい場合: パフォーマンスの観点から、どの製品を推奨する必要があるかを計算できますか?毎回データベースにクエリを実行するときにこれに?それとも、ユーザー プロファイルを時々更新し、追跡データに基づいてその時点で既に計算された好きな色のみを保存し、保存された計算データを使用して、この情報に一致する製品を見つけますか?
フェイスブック、アマゾン、ピンタレストなどの大規模サイトはどのようにこれを行っているのでしょうか? pinterest では、以前にクリックした項目に基づいて、好みの項目の提案が表示されます。彼らはこれをどのように処理しますか?