Wzór na ranking najlepszych

1

Od dłuższego czasu zastanawiam się jaki wzór zastosować.

Mam stronę, gdzie userzy mogą głosować w skali 1-10 na artykuły. Jest też spis najlepszych artykułów ze względu na oceny userów i właśnie nie wiem jaki wzór zastosować bo średnia matematyczna to pomysł średni :) Czemu? No, bo artykuł, na który głosowało 30 osób i jego średnia to np. 9 jest niżej od arta, na który głosował tylko jego autor i wystawił mu dyszkę. Czy jest jakiś wzór, który uwzględnia też popularność, liczbę głosów itp?

0

możesz zobaczyć np. jak inni to zrobili:
http://blog.linkibol.com/2010/05/07/how-to-build-a-popularity-algorithm-you-can-be-proud-of/

(ten pierwszy lin chyba to pokrywa, ale nie chciało mi się całego czytać)
http://amix.dk/blog/post/19588

0

Tu chyba nie ma co dumać - wystarczy dodać faktor "wsparcia średniej" i średnią ważoną
http://pl.wikipedia.org/wiki/%C5%9Arednia_wa%C5%BCona

Przypadek 1

1 głos = 10 pkt:
n - liczba głosów
nPkt = 10
WS = 1 - 1/(1 + n) = 1 - 1/2 = 1/2
nC = liczba całkowita głosów

Wynik = suma(nPkt * WS) /(suma(WS)) = 10 * 0.5 / 0.5 = 10

Przypadek 2

Grupa 1: 20 głosów 10 pkt
WS = 1 - 1/(1 + 20) = 1 - 1/21 = 0.95

Grupa 2: 10 głosów 9 pkt
WS = 1 - 1/(1 + 10) = 1 - 1/11 = 0.90

WynikLicznik = 10 * 0.95 + 9 * 0.90 = 9.5 + 8.1 = 17.6
Wynik = WynikLicznik / 1.85 = 9.51

0

Użyłem w końcu wzoru na weightet rating z imdb.com. Oto on:

weighted rating (WR) = (v ÷ (v+m)) × R + (m ÷ (v+m)) × C

where:

R = average for the movie (mean) = (Rating)
v = number of votes for the movie = (votes)
m = minimum votes required to be listed in the Top 250 (currently 3000)
C = the mean vote across the whole report (currently 6.9)

1 użytkowników online, w tym zalogowanych: 0, gości: 1