views:

98

answers:

6

I want to award points whenever someone edits a wiki page. Not all changes are equal, however. Creating the first revision of a document from a blank page is surely more valuable than inserting a missed comma.

What are the mechanism that I can use to determine when a change between two document revisions is significant? Would a percent difference suffice or are there better methods? How would one even calculate percent difference between two texts? What would be the threshold of significance? 5% change? 10%?

The programmer in me says that you can give points in proportion to the percent change. For example, out of possible 10 points you would get 3 point for a 10% change, 6 points for 20% change, and say all 10 points for anything over 30% change. The writer in me says that it's probably not as clear cut.

In general I'm open to other solutions to the problem of giving a fair reward based on a level of contribution. This is very important to me, so please forgive the open ended nature of the question.

EDIT: Please consider other models except stackoverflow. The model of a single wiki with many authors is very different from a model of a question with many answers. Thanks to everyone who answered so far.

+11  A: 

I would steer clear of automated points awards and go with a system by which other users reward the author/editors via a voting system, similar to this site. Awarding points by how much of the document was changed only awards people for making massive edits, not for improving articles.

Erik Forbes
Exactly. Beat me to it.
PeterAllenWebb
Agreed, you should think about how people will game the system to get points. Will they just go through adding whitespace, or swapping out words for synonyms?
pkaeding
I see two problems with this approach when applied to a wiki. On this site, for example, it is very clear which contribution belong to which user. In a case of a single editable page, people would have to dig down into revision history and determine what each individual user changed and then "vote up" that user or change.In addition, granting points on edit gives instant gratification, while waiting for someone to "vote up" what you did on a site with less traffic might defeat the purpose of giving out points.Thoughts?
Nick
+4  A: 

This is a very difficult problem to solve mechanically. If your wiki is going to be large enough to have an active user-base which participates actively, consider allowing users to up-vote and down-vote each others changes. Sound familiar?

PeterAllenWebb
Up-voting to prove a point ;)
ThisSuitIsBlackNot
Wiki is different from stackoverflow.There are no answers that you can up vote.No one will go through a list of changes to determining who did most to a page to give that user points.
Nick
+2  A: 

Interesting question. One thing that comes to mind is how the "Related" questions over there on the right appear. Jeff has mentioned that in order to find related question, they parse out all common words like the and and. Here are two hundred of them. http://www.teacherjoe.us/Vocab200.html I would base my percent changes based off of that.

Going down this road is a tricky one though, what happens if a user inserts spam? Are you going to then take away points? I think a voting system like what is used here might be more useful.

Bob
Spam is a very real concern for me. However, this community has been successfully moderated by a team.I'm hoping that we can ban such users and undo their changes. We've gotten very good at preventing spammer registration and undoing their effects. Normally such people simply give up.
Nick
A: 

Edits are very context sensitive; it would be difficult to come up with an algorithm that determined the relative quality of an edit, because the computer would have to "understand" what it was reading. I don't think the relative amount of change is a valid indicator; you will get a score, but it won't reflect the actual value of the edit.

Robert Harvey
+1  A: 

People will game such a mechanic by creating spam pages and replacing page content with copypasta. As soon as you put a moderation / metamodetation scheme in place to prevent this, you could just use that to produce the scoring directly - cf. Stack Overflow.

moonshadow
It is very hard to create multiple accounts on our website. Such people will be banned permanently on first offense. This approach has worked for moderating our message board. Generally, I can guarantee that a user is a unique person. This makes spam accounts a very transient problem.
Nick
A: 

I know instant gratification is good, but if you truly want to reward users on how meaningful their change is give each page a rank. New pages rank at 0 so creating a page gives you no points. Then allow people that view the page to give the page an up vote or down vote. So then you get a a ranking for the page. Lets say 60% of users vote up on the page. Now when someone makes a change to that page the former success rate is recorded. You then tally all incoming votes to a new total. If the approval rate increases say to 65%, you can award the changer 5 points. If it drops to 50% the changer gets -10 points.

No matter what your system is keep it secret. If Google page rank has taught us anything its that an unknown game is harder to play than a game where you know all the rules.

Good Luck

Lumpy