how to calculate reputation

Discussion in 'Python' started by Surya Kasturi, Jul 2, 2013.

  1. 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
     
    Surya Kasturi, Jul 2, 2013
    #1
    1. Advertising

  2. Surya Kasturi

    Tobiah Guest

    On 07/02/2013 02:43 PM, Surya Kasturi wrote:
    > 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
     
    Tobiah, Jul 2, 2013
    #2
    1. Advertising

  3. On Tue, Jul 2, 2013 at 11:59 PM, Tobiah <> wrote:

    > On 07/02/2013 02:43 PM, Surya Kasturi wrote:
    >
    >> 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
    > --
    > http://mail.python.org/**mailman/listinfo/python-list<http://mail.python.org/mailman/listinfo/python-list>
    >



    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?
     
    Surya Kasturi, Jul 2, 2013
    #3
  4. On 2 July 2013 23:19, Surya Kasturi <> wrote:
    >
    > I think I didnt explain it clearly.. let me make it clear..


    Yeah... I don't get it.
     
    Joshua Landau, Jul 2, 2013
    #4
  5. Surya Kasturi

    Ian Kelly Guest

    On Tue, Jul 2, 2013 at 4:19 PM, Surya Kasturi <> wrote:
    > 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.
     
    Ian Kelly, Jul 2, 2013
    #5
  6. On Tue, 02 Jul 2013 23:43:51 +0200, Surya Kasturi wrote:

    > 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.


    --
    Steven
     
    Steven D'Aprano, Jul 3, 2013
    #6
    1. Advertising

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

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Replies:
    3
    Views:
    312
    Earl Purple
    May 17, 2006
  2. Mike
    Replies:
    1
    Views:
    533
  3. Ian Kelly

    Re: how to calculate reputation

    Ian Kelly, Jul 2, 2013, in forum: Python
    Replies:
    0
    Views:
    99
    Ian Kelly
    Jul 2, 2013
  4. Joshua Landau

    Re: how to calculate reputation

    Joshua Landau, Jul 2, 2013, in forum: Python
    Replies:
    0
    Views:
    102
    Joshua Landau
    Jul 2, 2013
  5. Mark Janssen

    Re: how to calculate reputation

    Mark Janssen, Jul 3, 2013, in forum: Python
    Replies:
    1
    Views:
    102
Loading...

Share This Page