0

ユーザーをパーセンテージで降順で表示する PHP/MySQL のリーダー ボードがあります。私はパーセンテージを計算します:

$percentage = ($correct / $total) * 100

私の質問は、試行回数 (リスク) をどのように考慮して、100% で 1 人中 1 人のユーザーが、93.8% で 80 人中 75 人であるユーザーを上回っていないとしましょう。

何か案は?

4

3 に答える 3

1

これは、結果を並べ替える方法の一部にすぎません

SELECT (correct / $total) * 100 AS percent FROM table ORDER BY percent DESC, attempts ASC;
于 2012-09-17T00:41:22.500 に答える
1

リスク要因がどれだけ大きな影響を与えるかによって異なります。ここで推測するだけですが、合計で割らないと非常に大きな数になると思いますので、さまざまな解決策を実装できます。いくつかの提案は、結果に (1 + ($total / 100)) を掛けるか、新しい試行ごとに (1 + (sqrt($total) / 100)) を掛けることができます - 他の値を試してみてください。100 は単なる例として、またはログのような他の非線形関数として使用されました。

于 2012-09-17T00:46:45.843 に答える
0

平均的なユーザーの割合を計算し、各ユーザーに 10 回の平均試行のベースラインを与えます (ある値は 10)。

平均が50%だったとしましょう。次に、 を計算し$percentage = ($correct+5)/($total+10)*100ます。一貫して良い成績を収めているユーザーは、最終的にはトップに立つでしょう (なぜなら、彼らの成功はあなたが始めた平均スコアを圧倒するからです。しかし、良いスタートを切ったユーザーはトップに飛び上がることはありません)。

たとえば、このシステムでは、最初のユーザーのスコアは に6/11 = 54%なり、2 番目のユーザーのスコアは になります80 / 90 = 88%

于 2012-09-17T00:47:01.860 に答える