I have an application where users can vote on the accuracy of certain item information. For example, users could vote on if the address/location of an organization is correct or not.

Users can also edit the information that is available. So now the problem is that say a lot of people vote down an object, and then a user edits the information to make it correct. What can I do to make sure the vote/score stays useful?

One idea would be resetting voting after an edit. Are there any other techniques, and what are their pros and cons?

  • How many votes do items on your site realistically expect to get? If you don't reset the votes, would it be realistic based on your usage expectations for subsequent positive votes to overwhelm any early negative votes?
    – Kit Grose
    Apr 30, 2014 at 4:23
  • You may also want to consider the risk that resetting the score may discourage edits in the case of the author realising a mistake despite the voting audience giving it a positive score.
    – Kit Grose
    Apr 30, 2014 at 4:23

3 Answers 3


I think Apple's app store shows "overall ratings" and "ratings for this version." That might be one solution.

Another idea would be to lock the submissions. If they want to correct their answer, they need to submit a new entry/answer. Maybe allow editing within 60 seconds in case they see a typo right after submitting.

As always, it depends on the type of information. For a reddit or stakeoverflow post, I'd say it should keep the ratings. For metadata like "price of this apple" or "phone number for this business" the information is very precise and discrete, so when you change the data you are fundamentally changing the correctness of it. I'd go for forcing a new submission (or perhaps resetting as you suggest).


Evaluate the unix timestamp t_i of the votes and let them disappear after a timespan after the last edit t_e.

If you have only few votes v_i, you can improve the statistic by defining a weight function tw():

tw(t, t_e) -> 1, if t == t_e 
         0, if t - t_e > max life time of a vote
         (0..1), else 

UPVALUE = SUM_i( v_i * tw(t_i, t_e(t_i)) )
          // sum over all votes, weighted with their age

One could even calculate difference in bytes d between two edits and create a steeper curve for large d values in tw(t, t_e, d)


Look at reddit. It gives a good case study for commenting and down voting.

I would say don't reset, but to down vote, you have to comment or give some reason for downvoting. This might really clash with your user paradigm tho...

You could also just treat something that is edited like it is a new item and put and edited icon on it.

I have no idea what the context of this is (in a larger picture) so it is hard for me to really make any sort of judgment call :( sorry.

  • re: Down vote comments - this isn't instituted here on stack exchange in order to prevent flaming and be understanding that sometimes people don't have time at the moment to respond. If you have access to meta, I asked that related question here: meta.ux.stackexchange.com/questions/1600/…
    – Pdxd
    Mar 31, 2014 at 14:02
  • Reddit also adds an asterisk to comments that have been edited so any clear discrepancy between a comment and its replies can be assumed to be due to an edit.
    – Kit Grose
    Apr 30, 2014 at 4:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.