

Need Help in Designing Ranking Algorithm - abhishekdesai

Hey Guys,
I have this site called http://rivals4ever.com. In one line it is "Community based on Rivalries". You can create your own rivalries on this site and invite your friends to join and have kinda virtual fight with each other.<p>Now we need help in divising proper algorithm for the homepage listing of Rivalries. We tried 2-3 so far but none is giving satisfactory result.<p>We want something like this site where news on homepage constantly gets changed everytime you refresh or something like reddit or digg. But in our case there are many more parameters which can be considered while designing the algorithm.<p>1) creator rating
2) number of videos/images/weapons/weakness
3) quantity and quality of content etc
etc etc.<p>Can anyone please guide me on this ? I want the best rivalries on homepage same as this site where best news are on homepage.<p>Any kind of help is greatly, sincerely appreciated :)<p>Abhishek
======
michael_dorfman
I'm not completely sure I understand the problem-space, so excuse me if this
if way off-base:

It appears to me that what you are looking for is not really an algorithm per
se, but a formula. If you have a series of parameters, and you want to weight
them to create an overall ranking, the challenge is really one of choosing the
appropriate weights.

So, to use your example:

RANK = (X * CreatorRanking) + (Y * NumberOfVideosEtc) + (Z *
QuantityOfContent)

where X, Y, and Z are chosen to emphasize whatever factors you think are most
important to determining the "best" rivalry.

Is that what you had in mind, or am I missing something?

~~~
abhishekdesai
Yes you are right, I am talking about Formula only. Sorry for using the wrong
word here. Can we have some formula which gives most interesting rivalries
everytime on homepage ?

~~~
ejs
Well if the formula you need is as given in this thread then the only thing
you need to define is the parameters X,Y, and Z...

The method you use to find these parameters would then be the problem

~~~
abhishekdesai
the only problem with this kind of formula is that it does not get rid of
older rivalries from homepage because they will be having maximum fans,
contents etc. for e.g. pepsi vs coke. I dont want this rivalry to be on the
homepage everytime someone gives a visit.

~~~
michael_dorfman
In that case, you make "time since creation" one of your parameters, and
assign that an appropriate weight.

~~~
abhishekdesai
That formula is already applied in the site but I think time variable should
be less now

~~~
michael_dorfman
Well, there you go. You're really the only one who can decide what the
appropriate weights are, based on your own individual preferences.

------
rozim
It would be interesting to hear you enumerate all signals you're considering,
as one part of the problem will be to consider what other signals should be
used.

Also, do you need the formula to be resistant to spam?

\-- Dave

~~~
abhishekdesai
Yes Dave it should be spam resistant. I am looking at to utilize quality and
quantity of contents to rank a rivalry. Contents are in form of weapons,
weaknesses, images, videos, passion talk and news. Other sub contents can be
comments on each of these contents. We can have number of fans on each side
into consideration. Plus ranking and loyalties of those fans. So there are
many things we can take into account but the problem is how we can make sure
that homepage has good amount of variations in terms of rivalries it displays.

I hope I am clear here.

------
mattdennewitz
do you want the organic-style "cream of the crop rises to the top"-style
ranking that the digg and reddit front pages use?

what have you tried so far?

~~~
abhishekdesai
yes cream of the crop rises to the top style ranking will be better but that
does not mean we dont give proper exposure to new rivalries which are being
added. We have tried this kind of ranking before but in that case old
rivalries remain on top because they have the maximum contents, fans etc. We
dont want that. We want dynamism on the homepage.

~~~
mattdennewitz
have you tried adding a simple decay (exponential might be too sharp - i start
with logarithmic and tweak from there) based on the amount of time that the
rivalry has existed?

hotness could be as simple as starting with #votes/time alive and playing
around with the variables from there.

~~~
abhishekdesai
Time is a factor right now but it is linear factor which i guess is not
working right now. Need to make it logarithmic.

------
lazyant
this book may help: <http://www.oreilly.com/catalog/9780596529321/>

~~~
abhishekdesai
Thanks :) looks cool

~~~
mattdennewitz
good book

