私はアマチュア ミュージシャン向けの音楽ウェブサイトを運営しており、そこでは 10 点満点のスコアに基づく評価システムがあり、それが 100 点満点の総合スコアに計算されます。平均スコアに直接影響するユーザー向けの「信頼性」ポイント システムがあります。次のステップは、このデータを効果的に使用するチャート システムを実装することです。
私がどのデータを自由に使用できるかを確認できるように、すべてがどのように機能するかを正確に説明します。
- サイト メンバーが 1 から 10 の間でトラックを評価します。
- そのサイト メンバーには「信頼性」スコアがあります。これは、サイト周辺のさまざまなアクティビティに対して蓄積されたポイントの合計です。たとえば、ユーザーは評価を与えることで 100 ポイントを獲得するため、より多くの評価を与えるほど、「信頼性」スコアが高くなります。信頼度スコアの合計のみがデータベースに保存され、ユーザーがポイント報酬付きのアクティビティを実行するたびに更新されます。これらの個々のアクティビティは保存されません。
- トラックを評価した他のユーザーと比較したこのユーザーの信頼度に基づいて、トラックの加重平均が計算され、トラック テーブルに 1 ~ 100 の数値として格納されます。
- トラック テーブルには、トラックが再生された回数 (再生回数) も合計として格納されます。
したがって、使用する必要があるデータは次のとおりです。
- トラックの総合評価 (1 から 100 までの数字)
- トラックの評価数
- トラックの再生回数
チャート システムでは、上記の 3 つのデータ セットを使用して、品質(全体的な評価、評価数で正規化) と人気(再生数) の間の公正なバランスを作成するランキングを作成したいと考えています。ただし、システムは人気よりも品質を重視する必要があります。たとえば、品質面は正規化されたランキングの 75% を占め、人気度は 25% を占めます。
このサイトで検索した結果、品質面を理解するのに役立つIMDB ベイジアン スタイルのシステムを見つけましたが、人気 (再生数) を追加して、希望する方法でバランスを取るにはどうすればよいですか?
このサイトは PHP と MySQL で書かれています。
編集: タイトルには「クリック数」と書かれていますが、これは基本的に「再生数」に直接相当します。