how to calculate reputation

S

Surya Kasturi

Hi all, this seems to be quite stupid question but I am "confused"..
We set the initial value to 0, +1 for up-vote and -1 for down-vote! nice.

I have a list of bool values True, False (True for up vote, False for
down-vote).. submitted by users.

[True, False, False, True....]

Now to calculate the total reputation

should I take True = +1, False=0 [or] True = +1, False=-1 ?? for adding
all.

I am missing something here.. and that's clear.. anyone please help me on
it?

Thanks
 
T

Tobiah

Hi all, this seems to be quite stupid question but I am "confused"..
We set the initial value to 0, +1 for up-vote and -1 for down-vote! nice.

I have a list of bool values True, False (True for up vote, False for down-vote).. submitted by users.

[True, False, False, True....]

Now to calculate the total reputation

should I take True = +1, False=0 [or] True = +1, False=-1 ?? for adding all.

I am missing something here.. and that's clear.. anyone please help me on it?

Thanks

for vote in bool_votes:

reputation += 2 * vote - 1


Tobiah
 
S

Surya Kasturi

Hi all, this seems to be quite stupid question but I am "confused"..
We set the initial value to 0, +1 for up-vote and -1 for down-vote! nice.

I have a list of bool values True, False (True for up vote, False for
down-vote).. submitted by users.

[True, False, False, True....]

Now to calculate the total reputation

should I take True = +1, False=0 [or] True = +1, False=-1 ?? for adding
all.

I am missing something here.. and that's clear.. anyone please help me on
it?

Thanks
for vote in bool_votes:

reputation += 2 * vote - 1


Tobiah


I think I didnt explain it clearly.. let me make it clear..

1. The database we are using is having BooleanField for it!! so, cant do
anything
2. I am not looking for sorting algorithms .. just simple math :) It sounds
crazy but let me describe my confusion

lets have 3 users with

[null, null, null]
reputation = 0

[T, - - ]
rept = 1

[T T T]
rept = 3

[T T F]
rept = 1 (its jumping from 3 to 1 -->but generally, we observe only
decrease in 1 right?)

[T T F]
rept = 3 (its jumping from 1 to 3)

These jumpings are common? or my logic is going any wrong?
 
I

Ian Kelly

I think I didnt explain it clearly.. let me make it clear..

1. The database we are using is having BooleanField for it!! so, cant do
anything
2. I am not looking for sorting algorithms .. just simple math :) It sounds
crazy but let me describe my confusion

Nobody has suggested a *sorting* algorithm.
lets have 3 users with

[null, null, null]
reputation = 0

[T, - - ]
rept = 1

[T T T]
rept = 3

[T T F]
rept = 1 (its jumping from 3 to 1 -->but generally, we observe only decrease
in 1 right?)

I'm with you so far. You see the reputation drop by 2 here because
you have both removed an up-vote and added a down-vote. Each of these
things individually will cause the sum to drop by 1.
[T T F]
rept = 3 (its jumping from 1 to 3)

These jumpings are common? or my logic is going any wrong?

This is the same scenario as the previous one, so I don't understand
why you identify the reputation sum as 3 here.
 
S

Steven D'Aprano

Hi all, this seems to be quite stupid question but I am "confused".. We
set the initial value to 0, +1 for up-vote and -1 for down-vote! nice.

I have a list of bool values True, False (True for up vote, False for
down-vote).. submitted by users.

[True, False, False, True....]

Now to calculate the total reputation

should I take True = +1, False=0 [or] True = +1, False=-1 ?? for adding
all.

You can work this out for yourself by doing a couple of tests. Suppose
you have somebody who gets one Upvote and five Downvotes:

[True, False, False, False, False, False]

What reputation would you expect them to have? We can't answer that, only
you can answer that.

With True=+1 and False=0, the sum is +1.

With True=+1 and False=-1, the sum is -4.

Upvotes and downvotes don't have to be weighted the same:

With True=+5 and False=-1, the sum is 0.

With True=+1 and False=-5, the sum is -24.


*You* have to decide how you want the reputation system to work, then
program it to work that way.

For a real web app, you almost certainly do not want something this
simple. Perhaps new accounts with low reputation themselves should be
weighted less than old, established accounts with high reputation. There
is no standard for counting reputation, and so every web site that does
something like this does it differently, and most get it wrong, including
some really big, well-known sites like Amazon.

It's very easy to come up with lousy algorithms for calculating
reputation, much harder to come up with good algorithms. I second Joshua
Landau's recommendation that you read:

http://www.evanmiller.org/how-not-to-sort-by-average-rating.html

and I bring to your attention that this doesn't necessarily have anything
to do with *sorting*. The Ruby function given returns a number between 0
and 1. You don't have to sort on that number, you can use that as your
reputation.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,999
Messages
2,570,246
Members
46,839
Latest member
MartinaBur

Latest Threads

Top